Browse Source

aps-修改开工逻辑

sucheng 10 months ago
parent
commit
2943b796cd

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

@@ -494,6 +494,30 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                     this.baseMapper.updateAllProcessEquBatchNumberByIds(req.getInputBatchNumber(), join);
                 }
             }
+            /**
+             * 如果该工序作业明细没有前道工序作业明细,则该作业明细对应作业的所有作业明细的待加工料卷批次号去掉“{输入物料批次号},”
+             */
+            if (ObjectUtil.isEmpty(apsProcessOperationProcessEquDo.getPreviousprocessesids())) {
+                List<ApsProcessOperationProcessEquDo> needUpdateProcessEqus = apsProcessOperationProcessEquService.list(new QueryWrapper<ApsProcessOperationProcessEquDo>().lambda().eq(ApsProcessOperationProcessEquDo::getProcessid, apsProcessOperationProcessEquDo.getProcessid()));
+                List<ApsProcessOperationProcessEquDo> updateList = new LinkedList<>();
+                //遍历所有第一道工序的明细
+                for (ApsProcessOperationProcessEquDo updateProcessEqu : needUpdateProcessEqus) {
+                    String bachmaterialprocess = updateProcessEqu.getBachmaterialprocess();
+                    //如果存在被使用的批次号,则删除此批次号
+                    if (ObjectUtil.isNotEmpty(bachmaterialprocess)) {
+                        LinkedList<String> strings = new LinkedList<>(Arrays.asList(bachmaterialprocess.split(",")));
+                        if (strings.contains(req.getInputBatchNumber())) {
+                            strings.remove(req.getInputBatchNumber());
+                            ApsProcessOperationProcessEquDo equDo = new ApsProcessOperationProcessEquDo();
+                            equDo.setId(updateProcessEqu.getId());
+                            equDo.setBachmaterialprocess(String.join(",", strings));
+                            updateList.add(equDo);
+                        }
+                    }
+                }
+                //更新
+                apsProcessOperationProcessEquService.updateBatchById(updateList);
+            }
         }
 
         //==========输出物料子表信息============