Browse Source

aps-取消开工系统该设备该月炉次号减1逻辑修改

sucheng 4 months ago
parent
commit
1b37c82c49

+ 24 - 23
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportRecordsServiceImpl.java

@@ -283,20 +283,29 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
 //        set.eq(ApsProcessOperationProcessEquDo::getId, equDo.getId());
 //        apsProcessOperationProcessEquService.update(set);
 
-        //如果没有输入批次号,取消开工需要还原
-        if (ObjectUtil.isEmpty(recordsDo.getBatchnumber())) {
-            //如果开工时间是当前月,需要取消流水号
-            if (DateUtil.month(recordsDo.getStartworktime()) == DateUtil.month(DateUtil.date())) {
+
+        //如果报工记录的创建时间是本月,则需要减少炉次号
+        if (DateUtil.isSameMonth(recordsDo.getCreatedate(), DateUtil.date())) {
+            //如果没有输入批次号,取消开工需要还原
+            if (ObjectUtil.isEmpty(recordsDo.getBatchnumber())) {
                 //如果是铸轧,需要减去 输出物料的单卷数合计
                 this.cancelNumber(equDo);
             }
-        }
-        // 如果作业的加工方式是合并加工,
-        // 并且没有其他同设备同炉次的报工记录已经开工或报工,
-        // 则报工记录对应开工时间的月份,加工设备对应熔炉的该月该熔炉的炉次号减1
-        if (apsProcessOperationDo.getProcessway().equals("合并加工")) {
-            List<ApsProcessOperationProcessEquDo> equDoMergeStartingList = this.baseMapper.selectOtherMergeProcessEquByHeat(equDo.getId(), equDo.getProcessdeviceid(), recordsDo.getHeatnumber(), DateUtil.format(recordsDo.getStartworktime(), "yyyy-MM"));
-            if (equDoMergeStartingList.size() <= 0) {
+
+            // 如果作业的加工方式是合并加工,
+            // 并且没有其他同设备同炉次的报工记录已经开工或报工,
+            // 则报工记录对应开工时间的月份,加工设备对应熔炉的该月该熔炉的炉次号减1
+            if (apsProcessOperationDo.getProcessway().equals("合并加工")) {
+                List<ApsProcessOperationProcessEquDo> equDoMergeStartingList = this.baseMapper.selectOtherMergeProcessEquByHeat(equDo.getId(), equDo.getProcessdeviceid(), recordsDo.getHeatnumber(), DateUtil.format(recordsDo.getStartworktime(), "yyyy-MM"));
+                if (equDoMergeStartingList.size() <= 0) {
+                    //炉号-1
+                    //加工设备ID
+                    String processdeviceid = equDo.getProcessdeviceid();
+                    //在流水表中的 标识
+                    String moduleCode = "aps_report_output_heat_" + processdeviceid;
+                    apsProcessOperationProcessEquDao.updateSerialNumber(moduleCode, 1);
+                }
+            } else {
                 //炉号-1
                 //加工设备ID
                 String processdeviceid = equDo.getProcessdeviceid();
@@ -304,15 +313,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                 String moduleCode = "aps_report_output_heat_" + processdeviceid;
                 apsProcessOperationProcessEquDao.updateSerialNumber(moduleCode, 1);
             }
-        } else {
-            //炉号-1
-            //加工设备ID
-            String processdeviceid = equDo.getProcessdeviceid();
-            //在流水表中的 标识
-            String moduleCode = "aps_report_output_heat_" + processdeviceid;
-            apsProcessOperationProcessEquDao.updateSerialNumber(moduleCode, 1);
         }
-
         //更新其余信息
         CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
         commonUpdateProductionStatusReq.setProcessOperationEquId(equDo.getId());
@@ -449,10 +450,10 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             String equparames = "";
             //获取可选设备
             LinkedList<String> canChooseDeviceIdList = new LinkedList<>(Arrays.asList(apsProcessOperationDo.getCanchoosedeviceid().split(",")));
-            if (canChooseDeviceIdList.contains(apsProcessOperationProcessEquDo.getProcessdeviceid())){
+            if (canChooseDeviceIdList.contains(apsProcessOperationProcessEquDo.getProcessdeviceid())) {
                 //查询可选设备及其资源组对应设备
                 List<CanChooseDeviceVo> canChooseDeviceVoList = this.baseMapper.selectCanChooseDeviceList(apsProcessOperationDo.getId());
-                if (!canChooseDeviceVoList.isEmpty()){
+                if (!canChooseDeviceVoList.isEmpty()) {
                     CanChooseDeviceVo canChooseDeviceVo = canChooseDeviceVoList.stream().filter(item -> item.getDeviceId().equals(apsProcessOperationProcessEquDo.getProcessdeviceid())).findFirst().orElse(null);
                     if (canChooseDeviceVo != null) {
                         equparames = canChooseDeviceVo.getDeviceParam();
@@ -1568,10 +1569,10 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             String equparames = "";
             //获取可选设备
             LinkedList<String> canChooseDeviceIdList = new LinkedList<>(Arrays.asList(apsProcessOperationDo.getCanchoosedeviceid().split(",")));
-            if (canChooseDeviceIdList.contains(apsProcessOperationProcessEquDo.getProcessdeviceid())){
+            if (canChooseDeviceIdList.contains(apsProcessOperationProcessEquDo.getProcessdeviceid())) {
                 //查询可选设备及其资源组对应设备
                 List<CanChooseDeviceVo> canChooseDeviceVoList = this.baseMapper.selectCanChooseDeviceList(apsProcessOperationDo.getId());
-                if (!canChooseDeviceVoList.isEmpty()){
+                if (!canChooseDeviceVoList.isEmpty()) {
                     CanChooseDeviceVo canChooseDeviceVo = canChooseDeviceVoList.stream().filter(item -> item.getDeviceId().equals(apsProcessOperationProcessEquDo.getProcessdeviceid())).findFirst().orElse(null);
                     if (canChooseDeviceVo != null) {
                         equparames = canChooseDeviceVo.getDeviceParam();