From 99968f83982943669af3829ea6bc3bbe745cada4 Mon Sep 17 00:00:00 2001 From: zhangfeng <1603559716@qq.com> Date: 星期一, 21 十一月 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