Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

xiahan před 1 rokem
rodič
revize
3d2715dedd

+ 14 - 0
bs-common/src/main/java/com/rongwei/safecommon/utils/SaveConstans.java

@@ -508,4 +508,18 @@ public class SaveConstans {
         public static final String PROCESS_WAY_BATCH = "逐批加工";
     }
 
+    /**
+     * 工序类型
+     */
+    public static class ProcessType {
+        /**
+         * 成退
+         */
+        public static final String PROCESS_TYPE_CHENTUI = "成退";
+        /**
+         * 中退
+         */
+        public static final String PROCESS_TYPE_ZHONGTUI = "中退";
+    }
+
 }

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

@@ -204,7 +204,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         // 批次
                         processes.setProducePcNum(operationDo.getPlanprocessrall());
                         // 单次加工时长
-                        processes.setUnitProduceTime(operationDo.getPlanoncetime().intValue());
+                        processes.setUnitProduceTime(operationDo.getOnceprocessmin().intValue());
                         processes.setProduceTime(processes.getUnitProduceTime()*processes.getProducePcNum());
 
                         // 上道工序
@@ -282,24 +282,41 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         String eq = processes.getOptionalEquipments().get(0);
                         AspCheckItemsDo aspCheckItem = aspCheckItemMap.get(eq);
 
-                        // 合金和合金状态要一致
-                        if(processes.getAluminumCoils().get(0).getVolumeMetal().equals(processOperationM.getMetal())
+                        // 工序类型一致,合金和合金状态要一致
+                        if(processes.getProcessType().equals(processOperationM.getProcess()) && processes.getAluminumCoils().get(0).getVolumeMetal().equals(processOperationM.getMetal())
                                 && processes.getAluminumCoils().get(0).getVolumeMetalstate().equals(processOperationM.getMetalstate())){
                             // 宽度不超过50mm,厚度不超过0.05mm,重量不超过1吨
                             boolean bol = true;
                             BigDecimal totalWidth = null;
                             BigDecimal totalWeight = null;
+                            // 宽度、厚度、重量绝对值差限制
+                            BigDecimal knum = null;
+                            BigDecimal hnum = null;
+                            BigDecimal znum = null;
+                            if(SaveConstans.ProcessType.PROCESS_TYPE_CHENTUI.equals(processes.getProcessType())){
+                                knum = new BigDecimal("50");
+                                hnum = new BigDecimal("0.05");
+                                znum = new BigDecimal("1");
+                            } else if (SaveConstans.ProcessType.PROCESS_TYPE_ZHONGTUI.equals(processes.getProcessType())) {
+                                knum = new BigDecimal("100");
+                                hnum = new BigDecimal("0.08");
+                                znum = new BigDecimal("1");
+                            }
+                            if(knum == null || hnum == null || znum == null){
+                                continue;
+                            }
+
                             for (AluminumCoil aluminumCoil : processes.getAluminumCoils()) {
                                 // 宽度不超过50mm
-                                if(aluminumCoil.getVolumeWidth().subtract(processOperationM.getProwidth()).abs().compareTo(new BigDecimal("50"))>0){
+                                if(aluminumCoil.getVolumeWidth().subtract(processOperationM.getProwidth()).abs().compareTo(knum)>0){
                                     bol = false;
                                 }
                                 // 厚度不超过0.05mm
-                                if(aluminumCoil.getVolumeThickness().subtract(processOperationM.getThickness()).abs().compareTo(new BigDecimal("0.05"))>0){
+                                if(aluminumCoil.getVolumeThickness().subtract(processOperationM.getThickness()).abs().compareTo(hnum)>0){
                                     bol = false;
                                 }
                                 // 重量不超过1吨
-                                if(aluminumCoil.getVolumeWeight().subtract(processOperationM.getSinglerollweight()).abs().compareTo(new BigDecimal("1"))>0){
+                                if(aluminumCoil.getVolumeWeight().subtract(processOperationM.getSinglerollweight()).abs().compareTo(znum)>0){
                                     bol = false;
                                 }
                                 if(totalWidth == null){
@@ -349,14 +366,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                     }
                                     // 单次加工时长
                                     if(processes.getUnitProduceTime() == null){
-                                        processes.setUnitProduceTime(processOperationM.getPlanoncetime().intValue());
-                                        processes.setProduceTime(processOperationM.getPlanoncetime().intValue());
+                                        processes.setUnitProduceTime(processOperationM.getOnceprocessmin().intValue());
+                                        processes.setProduceTime(processOperationM.getOnceprocessmin().intValue());
                                     }
                                     // 加工时长取最大值
                                     else{
-                                        if(processes.getUnitProduceTime()<processOperationM.getPlanoncetime().intValue()){
-                                            processes.setUnitProduceTime(processOperationM.getPlanoncetime().intValue());
-                                            processes.setProduceTime(processOperationM.getPlanoncetime().intValue());
+                                        if(processes.getUnitProduceTime()<processOperationM.getOnceprocessmin().intValue()){
+                                            processes.setUnitProduceTime(processOperationM.getOnceprocessmin().intValue());
+                                            processes.setProduceTime(processOperationM.getOnceprocessmin().intValue());
                                         }
                                     }
 
@@ -395,6 +412,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                     if(haslast>0){
                                         ProductionProcesses processes = new ProductionProcesses();
                                         processes.setId(processOperationM.getId());
+                                        processes.setProcessType(processOperationM.getProcess());
                                         processes.setOptionalEquipments(Arrays.asList(new String[]{aspCheckItem.getId()}));
                                         // 坯料计划订单
                                         ProduceOrder produceOrder = new ProduceOrder(processOperationM.getApsBlankOrderVo().getId(),processOperationM.getApsBlankOrderVo().getMaterialname(),processOperationM.getApsBlankOrderVo().getDeliverydate());
@@ -414,8 +432,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                         // 批次
                                         processes.setProducePcNum(1);
                                         // 单次加工时长
-                                        processes.setUnitProduceTime(processOperationM.getPlanoncetime().intValue());
-                                        processes.setProduceTime(processOperationM.getPlanoncetime().intValue());
+                                        processes.setUnitProduceTime(processOperationM.getOnceprocessmin().intValue());
+                                        processes.setProduceTime(processOperationM.getOnceprocessmin().intValue());
                                         // 上道工序
                                         if(StringUtils.isNotBlank(processOperationM.getPreviousprocess())){
                                             processes.setPreviousProcessesIds(Arrays.asList(processOperationM.getPreviousprocess().split(",")));

+ 1 - 1
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ApsPlanVo.java

@@ -1,6 +1,5 @@
 package com.rongwei.bsentity.vo;
 
-import com.rongwei.bsentity.domain.ApsBlankOrderDo;
 import com.rongwei.bsentity.domain.ApsProductionOrderDo;
 import lombok.Data;
 import java.util.Date;
@@ -17,4 +16,5 @@ public class ApsPlanVo {
     private List<ApsBlankOrderVo> apsBlankOrderDos;
 
     private List<ApsProductionOrderDo> apsProductionOrders;
+
 }

+ 13 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ProductionProcesses.java

@@ -47,6 +47,11 @@ public class ProductionProcesses{
      */
     private Equipment equipment;
 
+    /**
+     * 工序类型
+     */
+    private String processType;
+
     /**
      * 所属的生产订单
      */
@@ -315,4 +320,12 @@ public class ProductionProcesses{
     public void setProducePcNum(Integer producePcNum) {
         this.producePcNum = producePcNum;
     }
+
+    public String getProcessType() {
+        return processType;
+    }
+
+    public void setProcessType(String processType) {
+        this.processType = processType;
+    }
 }