Prechádzať zdrojové kódy

排程数据组装优化

fangpy 10 mesiacov pred
rodič
commit
fa2096b336

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

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.ApsAnnealingDifferenceDo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 退火组炉度差 Mapper 接口
+ * </p>
+ *
+ * @author fpy
+ * @since 2024-09-25
+ */
+public interface ApsAnnealingDifferenceDao extends BaseMapper<ApsAnnealingDifferenceDo> {
+
+}

+ 16 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsAnnealingDifferenceService.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.rongwei.bsentity.domain.ApsAnnealingDifferenceDo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 退火组炉度差 服务类
+ * </p>
+ *
+ * @author fpy
+ * @since 2024-09-25
+ */
+public interface ApsAnnealingDifferenceService extends IService<ApsAnnealingDifferenceDo> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.rongwei.bsentity.domain.ApsAnnealingDifferenceDo;
+import com.rongwei.bscommon.sys.dao.ApsAnnealingDifferenceDao;
+import com.rongwei.bscommon.sys.service.ApsAnnealingDifferenceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 退火组炉度差 服务实现类
+ * </p>
+ *
+ * @author fpy
+ * @since 2024-09-25
+ */
+@Service
+public class ApsAnnealingDifferenceServiceImpl extends ServiceImpl<ApsAnnealingDifferenceDao, ApsAnnealingDifferenceDo> implements ApsAnnealingDifferenceService {
+
+}

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

@@ -74,6 +74,8 @@ public class ApsServiceImpl implements ApsService {
     private ApsMergeFurnaceService apsMergeFurnaceService;
     @Autowired
     private ApsProductionOrderService apsProductionOrderService;
+    @Autowired
+    private ApsAnnealingDifferenceService apsAnnealingDifferenceService;
 
     /**
      * Aps排程
@@ -644,6 +646,8 @@ public class ApsServiceImpl implements ApsService {
             if(productionScheduleVo.getStandingyield() == null){
                 productionScheduleVo.setStandingyield(60);
             }
+            productionScheduleVo.setMiddifference(apsScheduleConfig.getMiddifference());
+            productionScheduleVo.setFurnacedifference(apsScheduleConfig.getFurnacedifference());
         } else {
             throw new CustomException("排程参数缺失");
         }
@@ -656,6 +660,9 @@ public class ApsServiceImpl implements ApsService {
         // 小卷退火兼容
         List<ApsMergeFurnaceDo> mergeFurnaceDos = apsMergeFurnaceService.list();
         productionScheduleVo.setMergeFurnaces(mergeFurnaceDos);
+        // 退火合并厚差配置数据
+        List<ApsAnnealingDifferenceDo> apsAnnealingDifferenceDos = apsAnnealingDifferenceService.list();
+        productionScheduleVo.setApsAnnealingDifferences(apsAnnealingDifferenceDos);
         return productionScheduleVo;
     }
 
@@ -844,6 +851,9 @@ public class ApsServiceImpl implements ApsService {
                             String lbtj = null;
                             for (int i = 0; i < lastpros.size(); i++) {
                                 ApsProcessOperationDo apo = lastopsMap.get(lastpros.get(i).getProcessid());
+                                if(apo == null){
+                                    int aaa = 1;
+                                }
                                 String thislbtj = apo.getMetal() + "^_^" + apo.getProducttype() + "^_^" + apo.getProwidth();
                                 if(hasLbs == null){
                                     hasLbs = apo.getSinglerollweight();

+ 72 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsAnnealingDifferenceDo.java

@@ -0,0 +1,72 @@
+package com.rongwei.bsentity.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 退火组炉度差
+ * </p>
+ *
+ * @author fpy
+ * @since 2024-09-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("aps_annealing_difference")
+public class ApsAnnealingDifferenceDo extends BaseDo {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId("ID")
+    private String id;
+    /**
+     * 租户ID
+     */
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * 厚度起
+     */
+    @TableField("STARTTHICKNESS")
+    private BigDecimal startthickness;
+    /**
+     * 厚度止
+     */
+    @TableField("ENDTHICKNESS")
+    private BigDecimal endthickness;
+    /**
+     * 中退厚差
+     */
+    @TableField("MODERATEDIFFERENCE")
+    private BigDecimal moderatedifference;
+    /**
+     * 成退厚差
+     */
+    @TableField("DECLINEDIFFERENCE")
+    private BigDecimal declinedifference;
+    /**
+     * 主表ID
+     */
+    @TableField("MAINID")
+    private String mainid;
+
+
+}

+ 14 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ApsOverallConfig.java

@@ -1,6 +1,7 @@
 package com.rongwei.bsentity.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.rongwei.bsentity.domain.ApsAnnealingDifferenceDo;
 import com.rongwei.bsentity.domain.ApsFurnaceInstallationDo;
 import com.rongwei.bsentity.domain.ApsMergeFurnaceDo;
 import lombok.Data;
@@ -46,6 +47,11 @@ public class ApsOverallConfig implements Serializable {
      */
     private List<ApsMergeFurnaceDo> mergeFurnaces;
 
+    /**
+     * 退火合炉厚差配置表
+     */
+    private List<ApsAnnealingDifferenceDo> apsAnnealingDifferences;
+
     /**
      * 洗炉时间(小时)
      */
@@ -62,5 +68,13 @@ public class ApsOverallConfig implements Serializable {
      * 松散度
      */
     private BigDecimal looseness;
+    /**
+     * 中退组炉宽差,默认:250mm
+     */
+    private Integer middifference;
+    /**
+     * 成退组炉宽差,默认:200mm
+     */
+    private Integer furnacedifference;
 
 }

+ 14 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ProductionScheduleVo.java

@@ -3,6 +3,7 @@ package com.rongwei.bsentity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.rongwei.bsentity.domain.ApsAnnealingDifferenceDo;
 import com.rongwei.bsentity.domain.ApsFurnaceInstallationDo;
 import com.rongwei.bsentity.domain.ApsMergeFurnaceDo;
 import lombok.Data;
@@ -67,6 +68,11 @@ public class ProductionScheduleVo {
      */
     private List<ApsMergeFurnaceDo> mergeFurnaces;
 
+    /**
+     * 退火合炉厚差配置表
+     */
+    private List<ApsAnnealingDifferenceDo> apsAnnealingDifferences;
+
     /**
      * 洗炉时间(小时)
      */
@@ -93,5 +99,13 @@ public class ProductionScheduleVo {
      * 除铸轧外期望交货天数
      */
     private Integer expecteddays;
+    /**
+     * 中退组炉宽差,默认:250mm
+     */
+    private Integer middifference;
+    /**
+     * 成退组炉宽差,默认:200mm
+     */
+    private Integer furnacedifference;
 
 }