Browse Source

工序优化

DLC 1 year ago
parent
commit
9d98feb0d5

+ 3 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationDao.java

@@ -54,4 +54,7 @@ public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo
     void updateBatchNumberByProcessId(@Param("batchnumber") String batchnumber, @Param("processoperationid") String processoperationid);
 
     void updateBatchNumberByProcessList(@Param("batchnumber") String batchnumber, @Param("processIdList") List<String> processIdList);
+
+    @Select("select ID,PLANPROCESSRALL from aps_process_operation where DELETED='0' and BLANKID=#{blankid}")
+    List<ApsProcessOperationDo> getProcessOperation(@Param("blankid") String blankid);
 }

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

@@ -206,7 +206,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             apsProcessOperationDo.setSinglerollweight(outMaterDo.getSinglerollweight());
                             Integer planInRall = outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum();
                             apsProcessOperationDo.setPlaninrall(planInRall);
-                            apsProcessOperationDo.setPlanprocessrall(planInRall);
+                            //输入物料ID对应前道工序作业输出物料只有一个后道工序作业),则不可编辑,自动计算=计划输入卷数
+                            if (apsCraftRouteStepDoList1.size() == 1) {
+                                apsProcessOperationDo.setPlanprocessrall(processVo.get(0).getPlanprocessrall());
+                            }
                             apsProcessOperationDo.setUnfinishroll(planInRall);
                             apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
                             apsProcessOperationDo.setCraftstepid(apsCraftRouteStepDo1.getId());
@@ -218,6 +221,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             previousProcessVo.setProcessId(processId);
                             previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
                             previousProcessVo.setPreviousstepid(apsCraftRouteStepDo1.getId());
+                            previousProcessVo.setPlanprocessrall(apsProcessOperationDo.getPlanprocessrall());
+
                             //本道工序的输出
                             map.put("CRAFTSTEPID", apsCraftRouteStepDo1.getId());
                             List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
@@ -355,6 +360,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                         previousProcessVo.setProcessId(processId);
                         previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
                         previousProcessVo.setPreviousstepid(apsCraftRouteStepDo.getId());
+                        previousProcessVo.setPlanprocessrall(blanckdata.getInt("ROLLNUM"));
 
                         //本道工序的输出
                         map.put("CRAFTSTEPID", apsCraftRouteStepDo.getId());
@@ -578,6 +584,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
     public List<ApsProcessOperationOutMaterDo> resetProcessOperation(List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList) {
         List<ApsProcessOperationOutMaterDo> operationOutMaterDos = new ArrayList<>();//递归的数据源
         try {
+            List<ApsProcessOperationDo> processOperationDos = apsProcessOperationDao.getProcessOperation(apsProcessOperationOutMaterDoList.get(0).getBlankid());
             List<ApsProcessOperationDo> apsProcessOperationDoList = new ArrayList<>();
             List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoNewList = new ArrayList<>();
             for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDoList) {
@@ -597,7 +604,11 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                     apsProcessOperationDo.setSinglerollweight(apsProcessOperationOutMaterDo.getSinglerollweight());
                     Integer planinrall = apsProcessOperationOutMaterDo.getPlanrollnum() - apsProcessOperationOutMaterDo.getPlanstockrollnum() - apsProcessOperationOutMaterDo.getPlanprodrollnum();
                     apsProcessOperationDo.setPlaninrall(planinrall);
-                    apsProcessOperationDo.setPlanprocessrall(planinrall);
+                    //输入物料ID对应前道工序作业输出物料只有一个后道工序作业),则不可编辑,自动计算=计划输入卷数
+                    if (apsProcessOperationDos.size() == 1) {
+                        ApsProcessOperationDo operationDo = processOperationDos.stream().filter(item -> item.getId().equals(apsProcessOperationDo.getPreviousprocessid())).findFirst().get();
+                        apsProcessOperationDo.setPlanprocessrall(operationDo.getPlanprocessrall());
+                    }
                     apsProcessOperationDo.setUnfinishroll(planinrall - apsProcessOperationDo.getCheckoutroll());
                     String meterInput = getInMeterInfo(apsProcessOperationOutMaterDo.getProducttype(), apsProcessOperationOutMaterDo.getMetal(), apsProcessOperationOutMaterDo.getMetalstate(), apsProcessOperationOutMaterDo.getThickness(), apsProcessOperationOutMaterDo.getProwidth(), apsProcessOperationOutMaterDo.getProlength());
                     apsProcessOperationDo.setPlaninput(meterInput + apsProcessOperationOutMaterDo.getSinglerollweight() + UNIT_MAP.getOrDefault(apsProcessOperationOutMaterDo.getNumunit(), ""));

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

@@ -3,11 +3,18 @@ package com.rongwei.bsentity.vo;
 import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class PreviousProcessVo {
+    //工序ID
     private String processId;
+    //工序显示名
     private String processName;
+    //工艺路线的步骤ID
     private String previousstepid;
+    //计划加工卷数
+    private Integer planprocessrall;
     //工序输出
     private ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo;
 }