Quellcode durchsuchen

选择历史工艺路线优化

DLC vor 1 Jahr
Ursprung
Commit
be94a03a69

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

@@ -646,9 +646,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
 
                         //前道工序输出
                         List<PreviousProcessVo> processVo = newProcessIds.stream().filter(pro -> pro.getPreviousstepid().equals(apsProcessOperationDo1.getPreviousprocessid())).collect(Collectors.toList());
-                        ApsProcessOperationOutMaterDo outMaterDo = processVo.get(0).getApsProcessOperationOutMaterDo();
+                        List<ApsProcessOperationOutMaterDo> outMaterDos = processVo.get(0).getApsProcessOperationOutMaterDos().stream().filter(out -> out.getRoption().equals(apsProcessOperationDo1.getPlaninputid())).collect(Collectors.toList());
                         processOperationDo.setPreviousprocessid(processVo.get(0).getProcessId());
-                        processOperationDo.setPlaninputid(outMaterDo.getId());
+                        processOperationDo.setPlaninputid(outMaterDos.get(0).getId());
 
                         //更新前道工序的后道工序
                         ApsProcessOperationDo aDo = apsProcessOperationDoList.stream().filter(qtr -> processVo.get(0).getProcessId().equals(qtr.getId())).findAny().orElse(null);
@@ -658,10 +658,6 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             aDo.setNextprocessid(aDo.getNextprocessid() + "," + processId);
                         }
 
-                        //本道工序信息
-                        previousProcessVo.setProcessId(processId);
-                        previousProcessVo.setPreviousstepid(apsProcessOperationDo1.getId());
-
                         //本道工序的输出
                         List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos1 = apsProcessOperationOutMaterDos.stream().filter(omd -> apsProcessOperationDo1.getId().equals(omd.getMainid())).collect(Collectors.toList());
                         if (apsProcessOperationOutMaterDos1.size() == 0) {
@@ -669,12 +665,18 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                         }
                         for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos1) {
                             ApsProcessOperationOutMaterDo processOperationOutMaterDo = BeanUtil.toBean(apsProcessOperationOutMaterDo, ApsProcessOperationOutMaterDo.class);
+                            processOperationOutMaterDo.setRoption(apsProcessOperationOutMaterDo.getId());
                             processOperationOutMaterDo.setId(SecurityUtil.getUUID());
                             processOperationOutMaterDo.setMainid(processId);
                             processOperationOutMaterDo.setBlankid(oldblankid);
                             apsProcessOperationOutMaterDoList.add(processOperationOutMaterDo);
                         }
 
+                        //本道工序信息
+                        previousProcessVo.setProcessId(processId);
+                        previousProcessVo.setPreviousstepid(apsProcessOperationDo1.getId());
+                        previousProcessVo.setApsProcessOperationOutMaterDos(apsProcessOperationOutMaterDoList);
+
                         //本道工序的可选设备
                         List<ApsProcessOperationEquDo> apsProcessOperationEquDos1 = apsProcessOperationEquDos.stream().filter(crse -> apsProcessOperationDo1.getId().equals(crse.getMainid())).collect(Collectors.toList());
                         for (ApsProcessOperationEquDo apsProcessOperationEquDo : apsProcessOperationEquDos1) {
@@ -722,12 +724,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                     }
                     for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos1) {
                         ApsProcessOperationOutMaterDo processOperationOutMaterDo = BeanUtil.toBean(apsProcessOperationOutMaterDo, ApsProcessOperationOutMaterDo.class);
+                        processOperationOutMaterDo.setRoption(apsProcessOperationOutMaterDo.getId());
                         processOperationOutMaterDo.setId(SecurityUtil.getUUID());
                         processOperationOutMaterDo.setMainid(processId);
                         processOperationOutMaterDo.setBlankid(oldblankid);
                         apsProcessOperationOutMaterDoList.add(processOperationOutMaterDo);
                     }
-                    previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDos1.get(0));
+                    previousProcessVo.setApsProcessOperationOutMaterDos(apsProcessOperationOutMaterDoList);
 
                     //本道工序的可选设备
                     List<ApsProcessOperationEquDo> apsProcessOperationEquDos1 = apsProcessOperationEquDos.stream().filter(omd -> apsProcessOperationDo.getId().equals(omd.getMainid())).collect(Collectors.toList());
@@ -1541,6 +1544,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
      */
     private BigDecimal changeSize(BigDecimal oldVal, String countRule, BigDecimal changeVal, BigDecimal curVal) {
         BigDecimal newVal = null;
+        if (!StringUtils.isNotBlank(countRule)) {
+            return oldVal;
+        }
         if (!countRule.equals("自定义") && oldVal != null) {
             if (countRule.equals("=")) {
                 newVal = changeVal;

+ 3 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/PreviousProcessVo.java

@@ -4,6 +4,7 @@ import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 @Data
 public class PreviousProcessVo {
@@ -17,4 +18,6 @@ public class PreviousProcessVo {
     private Integer planprocessrall;
     //工序输出
     private ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo;
+    //工序多个输出
+    private List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos;
 }