Quellcode durchsuchen

如果作业明细没有前道作业明细,并且对应坯料计划的备料批次号包含该批次号,则将该批次号从对应坯料计划的备料批次号中删除

DLC vor 7 Monaten
Ursprung
Commit
34ad2e9f7e

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

@@ -2228,7 +2228,25 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                 processOperationProcessEquDo.setBachmaterialprocess(String.join(",", newpch));
                 //将这些批次号对应在制品退回备料库
                 if (delpch.size() > 0) {
+                    //如果存在该批次号在制品,则在制品状态=备料中;在制品的备料计划ID=(空)
                     apsProcessOperationDao.updateProgressInventory(delpch);
+
+                    //如果作业明细没有前道作业明细,并且对应坯料计划的备料批次号包含该批次号,则将该批次号从对应坯料计划的备料批次号中删除
+                    if (StringUtils.isBlank(processOperationProcessEquDo.getPreviousprocessesids())) {
+                        ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderService.getById(processOperationProcessEquDo.getBlankid());
+                        if (StringUtils.isNotBlank(apsBlankOrderDo.getPreparematerialbatchno())) {
+                            List<String> newPreparematerialbatchno = new ArrayList<>();
+                            for (String delbatchno : delpch) {
+                                for (String batchno : apsBlankOrderDo.getPreparematerialbatchno().split(",")) {
+                                    if (!batchno.equals(delbatchno)) {
+                                        newPreparematerialbatchno.add(batchno);
+                                    }
+                                }
+                            }
+                            apsBlankOrderDo.setPreparematerialbatchno(String.join(",", newPreparematerialbatchno));
+                            apsBlankOrderService.save(apsBlankOrderDo);
+                        }
+                    }
                 }
             }
         }