Ver código fonte

设备之系统——保养检修 BUG
完善批量生成计划

hyq 1 ano atrás
pai
commit
b55d844931

+ 2 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquMaintenanceScheduleServiceImpl.java

@@ -94,7 +94,8 @@ public class EquMaintenanceScheduleServiceImpl extends ServiceImpl<EquMaintenanc
     public List<EquMaintenanceScheduleDo> getYearAndTenantIdByList(int oldYear, String tenantId) {
         LambdaQueryWrapper<EquMaintenanceScheduleDo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EquMaintenanceScheduleDo::getPlanyear,oldYear)
-                .eq(EquMaintenanceScheduleDo::getTenantid,tenantId);
+                .eq(EquMaintenanceScheduleDo::getTenantid,tenantId)
+                .eq(EquMaintenanceScheduleDo::getDeleted,0);
         return maintenanceScheduleDao.selectList(queryWrapper);
     }
 

+ 42 - 28
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/MaintenanceServiceImpl.java

@@ -135,18 +135,26 @@ public class MaintenanceServiceImpl implements MaintenanceService {
         List<String> equipmentId = Arrays.asList(batchCreate.getEquipmentId().split(","));
         //设备计划数组
         List<EquMaintenanceScheduleDo> maintenancePartList = maintenanceScheduleService.getYearAndEquipmentByList(equipmentId,batchCreate);
-        if (maintenancePartList.size()==equipmentId.size()){
-            return R.error(batchCreate.getYear()+"年"+ EquipmentTypeEnum.typeOf(Integer.parseInt(batchCreate.getPlanType()))+"以生成所有计划!");
-        }
+        List<EquMaintenanceScheduleDo> maintenanceScheduleDos = new ArrayList<>();
         if (maintenancePartList.size()!=0){
-            equipmentId = equipmentId.stream()
-                    .filter(info -> !(maintenancePartList.stream()
-                                    .map(EquMaintenanceScheduleDo::getEquipmentid)
-                                    .collect(Collectors.toList()).contains(info))
-                            ).collect(Collectors.toList());
+            maintenanceScheduleDos = maintenancePartList.stream().filter(info ->
+                    equipmentId.contains(info.getEquipmentid())
+            ).collect(Collectors.toList());
+        }
+        //判断是否选中的设备以全部生成
+        if (equipmentId.size()==maintenanceScheduleDos.size()){
+            return R.error("选中的设备已全部生成过"+batchCreate.getYear()+"年的保养计划,请勿重复生成!");
         }
-        if (equipmentId.size()==0){
-            return R.error("选中的设备已生成了"+batchCreate.getYear()+"年的计划!");
+        //如果有重复则添加警告
+        StringBuilder wrongData = new StringBuilder();
+        if (maintenanceScheduleDos.size()!=0){
+            for (int i=0;i<maintenanceScheduleDos.size();i++){
+                wrongData.append(maintenanceScheduleDos.get(i).getEquipmentname());
+                if (i!=maintenanceScheduleDos.size()-1){
+                    wrongData.append("、");
+                }
+            }
+            wrongData.append("已存在").append(batchCreate.getYear()).append("年的保养计划记录,不可重复添加,其余设备保养计划系统正常生成成功。");
         }
         List<AspCheckItems> aspCheckItems = new ArrayList<>(aspCheckItemsService.listByIds(equipmentId));
         List<EquMaintenanceScheduleDo> maintenanceScheduleList = aspCheckItems.stream().map(info -> {
@@ -157,10 +165,10 @@ public class MaintenanceServiceImpl implements MaintenanceService {
         }).collect(Collectors.toList());
         int number = maintenanceScheduleService.saveBatchList(maintenanceScheduleList);
         maintenancePartService.saveBatchList(equMaintenancePartList);
-        if (number==maintenanceScheduleList.size()){
+        if (wrongData.length()==0){
             return R.ok();
         }else {
-            return R.error("数据添加不完整,请核对数据!");
+            return R.error(wrongData.toString());
         }
     }
 
@@ -197,7 +205,7 @@ public class MaintenanceServiceImpl implements MaintenanceService {
                     .collect(Collectors.toList());
         }
         if (maintenanceScheduleList.size()==0){
-            return R.error(planYearCopy.getOldYear()+"年计划已存在与"+ planYearCopy.getNewYear()+"中,请检查后再重新添加!");
+            return R.error(PlantEnum.nameOf(planYearCopy.getTenantId())+"已存在"+ planYearCopy.getNewYear()+"年的保养计划记录,不可重复生成");
         }
 
         List<EquMaintenancePartDo> masterIdByList = maintenancePartService.getMasterIdByList(maintenanceScheduleList.stream().map(EquMaintenanceScheduleDo::getId).collect(Collectors.toList()));
@@ -248,6 +256,7 @@ public class MaintenanceServiceImpl implements MaintenanceService {
      */
     @Override
     public R uploadStandardSave(MultipartFile multipartFile) throws IOException {
+        Date date = new Date();
         EquMaintenanceStandardListener standardListener = new EquMaintenanceStandardListener();
         // 解析Excel
         EasyExcel.read(multipartFile.getInputStream(), EquMaintenanceStandardTemplate.class,standardListener).sheet().headRowNumber(4).doRead();
@@ -282,13 +291,17 @@ public class MaintenanceServiceImpl implements MaintenanceService {
             SysSerialVo sysSerialVo = new SysSerialVo();
             sysSerialVo.setModulecode("equ_maintenance_standard_aq_code_BC");
             sysSerialVo.setResetrule("date:yyyy");
-            sysSerialVo.setRuleTemplateStr(PlantEnum.addrOf(maintenanceStandard.getTenantid())+"-BYBZ-@{date:yyyyMM}@{serialNumber:#00000}");
+            sysSerialVo.setRuleTemplateStr(PlantEnum.addrOf(maintenanceStandard.getTenantid())+"-BYBZ-@{serialNumber:#00000}");
             R serialNumberCode = rwAdminFeign.getSerialNumberCode(sysSerialVo);
             if ("200".equals(serialNumberCode.getCode())){
-
                 Object data = serialNumberCode.getData();
                 maintenanceStandard.setStandardid(JSONObject.parseObject(JSONObject.toJSONString(data),Map.class).get("code").toString());
             }
+            maintenanceStandard.setTenantid(currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1])
+                    .setCreatedate(date)
+                    .setModifydate(date)
+                    .setCreateuserid(currentUser.getId())
+                    .setModifyuserid(currentUser.getId());
         }
         maintenanceStandardService.saveBatch(newMaintenanceStandardList,200);
         return R.ok("导入成功");
@@ -399,6 +412,7 @@ public class MaintenanceServiceImpl implements MaintenanceService {
                     .setStandardrequest(info.getEquipmentsupport())
                     .setMaintenancestand(info.getStandardid())
                     .setMaintenancestandid(info.getId())
+                    .setMaintenancecontent(info.getMaintenancecontext())
                     .setMasterid(id);
             return maintenancePart;
         }).collect(Collectors.toList());
@@ -428,25 +442,25 @@ public class MaintenanceServiceImpl implements MaintenanceService {
             SysSerialVo sysSerialVo = new SysSerialVo();
             sysSerialVo.setModulecode("equ_maintenance_standard_aq_code_BC");
             sysSerialVo.setResetrule("date:yyyy");
-            // sysSerialVo.setRuleTemplateStr(PlantEnum.addrOf(currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1])+"-"+maintenanceSchedule.getPlantype()+"-@{serialNumber:#00000}");
-            // R serialNumberCode = rwAdminFeign.getSerialNumberCode(sysSerialVo);
+            sysSerialVo.setRuleTemplateStr(PlantEnum.addrOf(currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1])+"-"+maintenanceSchedule.getPlantype()+"-@{date:yyyyMM}-@{serialNumber:#00000}");
+            R serialNumberCode = rwAdminFeign.getSerialNumberCode(sysSerialVo);
             EquMaintenanceTaskDo equMaintenanceTask = new EquMaintenanceTaskDo();
             BeanUtils.copyProperties( maintenanceSchedule,equMaintenanceTask);
             BeanUtils.copyProperties( maintenancePart,equMaintenanceTask);
             equMaintenanceTask.setId(SecurityUtil.getUUID())
                     .setMonth(month)
-                    // .setCreateuserid(currentUser.getId())
-                    // .setCreateusername(currentUser.getName())
+                    .setCreateuserid(currentUser.getId())
+                    .setCreateusername(currentUser.getName())
                     .setCreatedate(newDate)
-                    // .setModifyuserid(currentUser.getId())
-                    // .setModifyusername(currentUser.getName())
-                    .setModifydate(newDate);
-                    // .setTenantid(currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1]);
-            // if ("200".equals(serialNumberCode.getCode())){
-            //
-            //     Object data = serialNumberCode.getData();
-            //     equMaintenanceTask.setTaskid(JSONObject.parseObject(JSONObject.toJSONString(data),Map.class).get("code").toString());
-            // }
+                    .setModifyuserid(currentUser.getId())
+                    .setModifyusername(currentUser.getName())
+                    .setModifydate(newDate)
+                    .setTenantid(currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1]);
+            if ("200".equals(serialNumberCode.getCode())){
+
+                Object data = serialNumberCode.getData();
+                equMaintenanceTask.setTaskid(JSONObject.parseObject(JSONObject.toJSONString(data),Map.class).get("code").toString());
+            }
             maintenanceTaskList.add(equMaintenanceTask);
         }
 

+ 20 - 0
cx-equipment/cx-equipment-server/src/main/java/com/rongwei/bsserver/sys/controller/MaintenanceController.java

@@ -39,6 +39,16 @@ public class MaintenanceController {
         }
     }
 
+    /**
+     * 批量生成保养计划
+     *
+     * @param batchCreate
+     * @return {@link R}
+     * @date 2023/12/26 10:39
+     * @author shangmi
+     *
+     */
+
     @PostMapping("batchSavePlans")
     public R batchSavePlans(@RequestBody BatchCreateDTO batchCreate){
         try {
@@ -50,6 +60,16 @@ public class MaintenanceController {
         }
 
     }
+    /**
+     * 从10号开始 往后每天对计划中的任务进行识别 并生成任务
+     *
+     * @param
+     * @return {@link R}
+     * @date 2023/12/26 10:38
+     * @author shangmi
+     *
+     */
+
     @Scheduled(cron = "0 0 22 10/1 * *")
     @PostMapping("batchSavePlansTiming")
     public R batchSavePlansTiming(){