From 99968f83982943669af3829ea6bc3bbe745cada4 Mon Sep 17 00:00:00 2001
From: zhangfeng <1603559716@qq.com>
Date: Mon, 21 Nov 2022 08:41:48 +0800
Subject: [PATCH] 安全物资和设备管理相关rpc接口
---
equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialServiceImpl.java | 134 ++++++++++++++++++--------------------------
1 files changed, 56 insertions(+), 78 deletions(-)
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialServiceImpl.java
index b2405da..c3eeab9 100644
--- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialServiceImpl.java
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialServiceImpl.java
@@ -52,30 +52,34 @@
ResultVO resultVO = null;
//获取部门信息
DepInfoRPCRespDTO depInfo = getDepInfoByDepId(req.getDepId());
-
if(null == ConsumableEnum.getByCode(req.getConsumable())){
throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"耗材类型不合法!");
}
//获取物资类型
- SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(req.getMaterialClassifyId());
+ SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(req.getSmallClassifyId());
if(null == classifyInfo){
throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"物资类型不存在!");
}
+ //判断该部门是否已经创建物资
+ boolean flag = safeMaterialInfoService.checkMaterial(req.getSmallClassifyId(), req.getDepId(), null);
+ if(flag){
+ throw new EquipmentException(EquipmentResultCodes.DATA_EXIST,"该种物资已存在不可重复创建");
+ }
+
//获取数量
int safeMaterialTotalCount = safeMaterialInfoService.getTotalCount();
SafeMaterialInfo safeMaterialInfo = new SafeMaterialInfo();
- BeanUtils.copyProperties(req,safeMaterialInfo);
+ safeMaterialInfo.setConsumable(req.getConsumable());
+ safeMaterialInfo.setDepId(req.getDepId());
+ safeMaterialInfo.setSmallClassifyId(req.getSmallClassifyId());
+ safeMaterialInfo.setMaterialName(classifyInfo.getMaterialClassifyName());
safeMaterialInfo.setDepName(depInfo.getDepName());
safeMaterialInfo.setSerialNum(this.generateSerialNum(safeMaterialTotalCount));
+ safeMaterialInfo.setBigClassifyId(req.getBigClassifyId());
//插入
- boolean flag = safeMaterialInfoService.save(safeMaterialInfo);
- if(flag){
- resultVO = new ResultVO(ResultCodes.OK);
- }else {
- resultVO = new ResultVO(ResultCodes.SERVER_ADD_ERROR);
- }
+ safeMaterialInfoService.save(safeMaterialInfo);
- return resultVO;
+ return new ResultVO(ResultCodes.OK);
}
@Override
@@ -88,22 +92,25 @@
throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"耗材类型不合法!");
}
//获取物资类型
- SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(req.getMaterialClassifyId());
+ SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(req.getSmallClassifyId());
if(null == classifyInfo){
throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"物资类型不存在!");
}
- SafeMaterialInfo safeMaterialInfo = new SafeMaterialInfo();
- BeanUtils.copyProperties(req,safeMaterialInfo);
- safeMaterialInfo.setDepName(depInfo.getDepName());
- //跟新
- boolean flag = safeMaterialInfoService.updateById(safeMaterialInfo);
+ boolean flag = safeMaterialInfoService.checkMaterial(req.getSmallClassifyId(), req.getDepId(), req.getDepId());
if(flag){
- resultVO = new ResultVO(ResultCodes.OK);
- }else {
- resultVO = new ResultVO(ResultCodes.SERVER_UPDATE_ERROR);
+ throw new EquipmentException(EquipmentResultCodes.DATA_EXIST,"该种物资已存在不可重复创建");
}
+ SafeMaterialInfo safeMaterialInfo = new SafeMaterialInfo();
+ safeMaterialInfo.setConsumable(req.getConsumable());
+ safeMaterialInfo.setDepId(req.getDepId());
+ safeMaterialInfo.setSmallClassifyId(req.getSmallClassifyId());
+ safeMaterialInfo.setMaterialName(classifyInfo.getMaterialClassifyName());
+ safeMaterialInfo.setDepName(depInfo.getDepName());
+ safeMaterialInfo.setBigClassifyId(req.getBigClassifyId());
+ //跟新
+ safeMaterialInfoService.updateById(safeMaterialInfo);
- return resultVO;
+ return new ResultVO(ResultCodes.OK);
}
@Override
@@ -114,12 +121,12 @@
SafeMaterialInfo safeMaterialInfo = safeMaterialInfoService.queryById(id);
SafeMaterialDto safeMaterialDto = new SafeMaterialDto();
if(null != safeMaterialInfo){
- SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(safeMaterialInfo.getMaterialClassifyId());
+ SafeMaterialClassifyDO classifyDO = safeMaterialClassifyInfoService.getBigAndSmallClassify(safeMaterialInfo.getSmallClassifyId());
Integer validStockCount = safeMaterialDetailInfoService.getValidStockCount(safeMaterialInfo.getId());
BeanUtils.copyProperties(safeMaterialInfo,safeMaterialDto);
- safeMaterialDto.setConsumable(ConsumableEnum.getByCode(safeMaterialInfo.getConsumable()).getCode());
- if(null != classifyInfo){
- safeMaterialDto.setMaterialClassifyName(classifyInfo.getMaterialClassifyName());
+ safeMaterialDto.setConsumableName(ConsumableEnum.getByCode(safeMaterialInfo.getConsumable()).getValue());
+ if(null != classifyDO){
+ safeMaterialDto.setBigClassifyName(classifyDO.getBigClassifyName());
}
safeMaterialDto.setValidStockCount(validStockCount);
@@ -173,27 +180,29 @@
List<DepRPCRespDTO> depInfoList = getDepInfoList();
//获取所有物资类型
List<SafeMaterialClassifyInfo> classifyInfoList = safeMaterialClassifyInfoService.getList();
- //循环物资分类
- List<MaterialClassificationDto> classificationDtoList = new ArrayList<>();
- for (SafeMaterialClassifyInfo classifyInfo:classifyInfoList){
- MaterialClassificationDto classificationDto = new MaterialClassificationDto();
- classificationDto.setMaterialClassifyId(classifyInfo.getId());
- classificationDto.setMaterialClassifyName(classifyInfo.getMaterialClassifyName());
- //循环部门
- List<MaterialDepartmentDto> departmentDtoList = new ArrayList<>();
- for (DepRPCRespDTO dep:depInfoList){
+ //循环部门
+ List<MaterialDepartmentDto> departmentDtoList = new ArrayList<>();
+ recursiveDep(depInfoList,departmentDtoList,materialInfoList,classifyInfoList);
+
+ return new ResultVO(ResultCodes.OK,departmentDtoList);
+ }
+ private void recursiveDep(List<DepRPCRespDTO> depInfoList,List<MaterialDepartmentDto> departmentDtoList,List<SafeMaterialInfo> materialInfoList,List<SafeMaterialClassifyInfo> classifyInfoList){
+ for (DepRPCRespDTO dep:depInfoList){
+ MaterialDepartmentDto materialDepartmentDto = new MaterialDepartmentDto();
+ materialDepartmentDto.setDepId(dep.getDepId());
+ materialDepartmentDto.setDepName(dep.getDepName());
+ List<MaterialClassificationDto> classificationDtoList = new ArrayList<>();
+ for (SafeMaterialClassifyInfo classifyInfo:classifyInfoList) {
+ MaterialClassificationDto classificationDto = new MaterialClassificationDto();
+ classificationDto.setMaterialClassifyName(classifyInfo.getMaterialClassifyName());
+ classificationDto.setMaterialClassifyId(classifyInfo.getId());
//过滤出物资数据
List<SafeMaterialInfo> selectMaterialList = materialInfoList
.stream()
- .filter(item -> classifyInfo.getId().equals(item.getMaterialClassifyId()) && dep.getDepId().equals(item.getDepId()))
+ .filter(item -> classifyInfo.getId().equals(item.getBigClassifyId()) && dep.getDepId().equals(item.getDepId()))
.collect(Collectors.toList());
+ List<BaseMaterialDto> baseMaterialDtoList = new ArrayList<>();
if(selectMaterialList.size()>0){
- //填充部门数据
- MaterialDepartmentDto departmentDto = new MaterialDepartmentDto();
- departmentDto.setDepId(dep.getDepId());
- departmentDto.setDepName(dep.getDepName());
-
- List<BaseMaterialDto> baseMaterialDtoList = new ArrayList<>();
//循环物资
for (SafeMaterialInfo materialInfo:selectMaterialList){
//填充基础物资数据
@@ -202,48 +211,17 @@
baseMaterialDto.setSmId(materialInfo.getId());
baseMaterialDtoList.add(baseMaterialDto);
}
- departmentDto.setBaseMaterialList(baseMaterialDtoList);
- departmentDtoList.add(departmentDto);
- }
- //子集部门
- if(!CollectionUtils.isEmpty(dep.getChildren())){
- this.recursiveDep(dep.getChildren(),departmentDtoList,materialInfoList,classifyInfo.getId());
+ classificationDto.setBaseMaterialList(baseMaterialDtoList);
+ classificationDtoList.add(classificationDto);
}
}
- classificationDto.setDepartmentList(departmentDtoList);
- classificationDtoList.add(classificationDto);
- }
-
- return new ResultVO(ResultCodes.OK,classificationDtoList);
- }
- private void recursiveDep(List<DepRPCRespDTO> depList,List<MaterialDepartmentDto> departmentDtoList,List<SafeMaterialInfo> materialInfoList,Long classifyId){
- for(DepRPCRespDTO dep:depList){
- //过滤出物资数据
- List<SafeMaterialInfo> selectMaterialList = materialInfoList
- .stream()
- .filter(item -> classifyId.equals(item.getMaterialClassifyId()) && dep.getDepId().equals(item.getDepId()))
- .collect(Collectors.toList());
- if(selectMaterialList.size()>0){
- //填充部门数据
- MaterialDepartmentDto departmentDto = new MaterialDepartmentDto();
- departmentDto.setDepId(dep.getDepId());
- departmentDto.setDepName(dep.getDepName());
-
- List<BaseMaterialDto> baseMaterialDtoList = new ArrayList<>();
- //循环物资
- for (SafeMaterialInfo materialInfo:selectMaterialList){
- //填充基础物资数据
- BaseMaterialDto baseMaterialDto = new BaseMaterialDto();
- baseMaterialDto.setMaterialName(materialInfo.getMaterialName());
- baseMaterialDto.setSmId(materialInfo.getId());
- baseMaterialDtoList.add(baseMaterialDto);
- }
- departmentDto.setBaseMaterialList(baseMaterialDtoList);
- departmentDtoList.add(departmentDto);
+ if(classificationDtoList.size()>0){
+ materialDepartmentDto.setClassificationList(classificationDtoList);
+ departmentDtoList.add(materialDepartmentDto);
}
- //子集
+ //子集部门
if(!CollectionUtils.isEmpty(dep.getChildren())){
- this.recursiveDep(dep.getChildren(),departmentDtoList,materialInfoList,classifyId);
+ this.recursiveDep(dep.getChildren(),departmentDtoList,materialInfoList,classifyInfoList);
}
}
}
--
Gitblit v1.9.2