Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

xiahan vor 1 Jahr
Ursprung
Commit
05fba3dcda

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

@@ -873,4 +873,13 @@ public class SaveConstans {
          */
         public static final String WAITING_JUDGMENT = "待判";
     }
+
+    /**
+     * 外观类型
+     */
+    public static class BlankAppearanceType {
+        public static final String ALUMINUM_COIL = "铝卷";
+        public static final String ALUMINUM_PLATE = "铝板";
+        public static final String ALUMINUM_INGOT = "铝锭";
+    }
 }

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

@@ -5,6 +5,7 @@ import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionDo;
 import com.rongwei.bsentity.domain.ApsProcessOutputProductDo;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
 
@@ -16,6 +17,9 @@ public interface ApsProcessOutputProductDao extends BaseMapper<ApsProcessOutputP
     List<ApsProcessOutputProductDo> getProcessOutputProductByBlankId(@Param("blankid") String blankid);
     @Select("SELECT * FROM aps_process_output_product WHERE  DELETED = 0 AND PRODUCTID = #{productid}")
     List<ApsProcessOutputProductDo> getProcessOutputProductByProductid(@Param("productid") String productid);
+
+    @Update("update aps_process_output_product set ROLLNUM = ROLLNUM+1 where ID = #{outputid}")
+    void updateRollNumById(@Param("outputid") String outputid);
 }
 
 

+ 1 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java

@@ -65,7 +65,7 @@ public interface ApsProductionOrderDao extends BaseMapper<ApsProductionOrderDo>
             "order by po.ORDERNO,b.ID")
     List<ApsProductionOrderDo> getReportUnqualify();
 
-    @Update("update aps_production_order set AUDITSTATUS = '待计划评审', CHANGEDATE = now(), TECHNICALREVIEWERID = null,TECHNICALREVIEWERNAME = null,TECHNICALREVIEWDATE=null,QUALITYREVIEWERID=null,QUALITYREVIEWERNAME=null,QUALITYREVIEWDATE=null,REVIEWERID=null,REVIEWERNAME=null,REVIEWDATE=null where ID = #{id}")
+    @Update("update aps_production_order set AUDITSTATUS = '待提交', CHANGEDATE = now() where ID = #{id}")
     void changeOrderById(@Param("id") String id);
 
     @Select("SELECT * FROM aps_production_order WHERE DELETED = 0 AND ID = #{id}")

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

@@ -50,4 +50,7 @@ public interface ApsBlankOrderService extends IService<ApsBlankOrderDo> {
 
     R checkAndUpdateBlankAndOutput(ApsProductionTechnicalRequirementDo req);
     void updateBlankSplicingColumn(String blankId);
+
+    R checkSchedule(List<String> blankIdList);
+
 }

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

@@ -1456,18 +1456,25 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
 
         //=============校验坯料长度=================
-        //如果坯料产品类型对应产品外观类型是铝板或板锭,并且坯料长度为空,则提示:坯料是铝板和板锭时长度必填
-        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getProducttypeid())) {
-            //目前数据字典存在3层关系,选择只能选择最后一层,二开查询最后一层的父节点对应数据的父节点,判断是否为铝板或板锭的主键ID
-            String pid = this.baseMapper.selectDictAboutProductType(apsBlankOrderDo.getProducttypeid());
-            //如果是铝板或板锭
-            if (ObjectUtil.isNotEmpty(pid) && (pid.equals(SaveConstans.ProductionType.BANDING_ID) || pid.equals(SaveConstans.ProductionType.LVBAN_ID))) {
-                //坯料长度为空
-                if (ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
-                    return R.error("坯料是铝板和板锭时长度必填");
-                }
-            }
-        }
+        //如果坯料需求的外观类型是板锭或铝板,并且坯料长度为空,则提示:坯料是板锭和铝板时长度必填
+        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getBlankappearance())
+                && Arrays.asList(SaveConstans.BlankAppearanceType.ALUMINUM_PLATE, SaveConstans.BlankAppearanceType.ALUMINUM_INGOT).contains(apsBlankOrderDo.getBlankappearance())
+                && ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
+            return R.error("坯料是铝板和铝锭时长度必填");
+        }
+
+//        //如果坯料产品类型对应产品外观类型是铝板或板锭,并且坯料长度为空,则提示:坯料是铝板和板锭时长度必填
+//        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getProducttypeid())) {
+//            //目前数据字典存在3层关系,选择只能选择最后一层,二开查询最后一层的父节点对应数据的父节点,判断是否为铝板或板锭的主键ID
+//            String pid = this.baseMapper.selectDictAboutProductType(apsBlankOrderDo.getProducttypeid());
+//            //如果是铝板或板锭
+//            if (ObjectUtil.isNotEmpty(pid) && (pid.equals(SaveConstans.ProductionType.BANDING_ID) || pid.equals(SaveConstans.ProductionType.LVBAN_ID))) {
+//                //坯料长度为空
+//                if (ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
+//                    return R.error("坯料是铝板和板锭时长度必填");
+//                }
+//            }
+//        }
         if (checkLevel == 2 || checkLevel == 3) {
             //==============拼接工艺路线输出成品和工艺输出物料规格==============
             //查询坯料计划对应工艺路线的输出成品
@@ -1776,18 +1783,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
 
         //=============校验坯料长度=================
-        //如果坯料产品类型对应产品外观类型是铝板或板锭,并且坯料长度为空,则提示:坯料是铝板和板锭时长度必填
-        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getProducttypeid())) {
-            //目前数据字典存在3层关系,选择只能选择最后一层,二开查询最后一层的父节点对应数据的父节点,判断是否为铝板或板锭的主键ID
-            String pid = this.baseMapper.selectDictAboutProductType(apsBlankOrderDo.getProducttypeid());
-            //如果是铝板或板锭
-            if (ObjectUtil.isNotEmpty(pid) && (pid.equals(SaveConstans.ProductionType.BANDING_ID) || pid.equals(SaveConstans.ProductionType.LVBAN_ID))) {
-                //坯料长度为空
-                if (ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
-                    return R.error("第" + j + "个坯料计划 坯料是铝板和板锭时长度必填");
-                }
-            }
-        }
+        //如果坯料需求的外观类型是板锭或铝板,并且坯料长度为空,则提示:坯料是板锭和铝板时长度必填
+        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getBlankappearance())
+                && Arrays.asList(SaveConstans.BlankAppearanceType.ALUMINUM_PLATE, SaveConstans.BlankAppearanceType.ALUMINUM_INGOT).contains(apsBlankOrderDo.getBlankappearance())
+                && ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
+            return R.error("第" + j + "个坯料计划 坯料是铝板和铝锭时长度必填");
+        }
+//        //如果坯料产品类型对应产品外观类型是铝板或板锭,并且坯料长度为空,则提示:坯料是铝板和板锭时长度必填
+//        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getProducttypeid())) {
+//            //目前数据字典存在3层关系,选择只能选择最后一层,二开查询最后一层的父节点对应数据的父节点,判断是否为铝板或板锭的主键ID
+//            String pid = this.baseMapper.selectDictAboutProductType(apsBlankOrderDo.getProducttypeid());
+//            //如果是铝板或板锭
+//            if (ObjectUtil.isNotEmpty(pid) && (pid.equals(SaveConstans.ProductionType.BANDING_ID) || pid.equals(SaveConstans.ProductionType.LVBAN_ID))) {
+//                //坯料长度为空
+//                if (ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
+//                    return R.error("第" + j + "个坯料计划 坯料是铝板和板锭时长度必填");
+//                }
+//            }
+//        }
         if (checkLevel == 3) {
             //==============校验交期==================
             /**
@@ -2281,4 +2294,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             throw new CustomException("没有找到该坯料计划的输出成品");
         }
     }
+
+    @Override
+    public R checkSchedule(List<String> blankIdList) {
+        //是否正在排程
+        ApsUtils.checkScheduling(null);
+
+        //
+
+        return null;
+    }
 }

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

@@ -70,6 +70,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
     private ApsCraftEquService apsCraftEquService;
     @Autowired
     private ReportCheckServiceImpl reportCheckService;
+    @Resource
+    private ApsProcessOutputProductDao apsProcessOutputProductDao;
 
     @Override
     @Transactional
@@ -605,6 +607,13 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                         apsProductionOrderDo,
                         apsBlankOrderDo);
             }
+
+            //更新物料子表 对应 工序作业输出物料 的已输出卷数
+            for (ApsReportOutputDo apsReportOutputDo : apsReportOutputDos) {
+                //需要更新(+1)的工序作业输出物料ID
+                String outputid = apsReportOutputDo.getOutputid();
+                apsProcessOutputProductDao.updateRollNumById(outputid);
+            }
         }
 
         //=========更新生产状态等=============

+ 6 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsBlankOrderDo.java

@@ -296,4 +296,10 @@ public class ApsBlankOrderDo extends BaseDo {
      */
     @TableField(value = "ROUTELENGTHEND")
     private BigDecimal routelengthend;
+
+    /**
+     * 坯料外观类型
+     */
+    @TableField(value = "BLANKAPPEARANCE")
+    private String blankappearance;
 }

+ 6 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOutputProductDo.java

@@ -4,6 +4,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.rongwei.rwcommon.base.BaseDo;
 import lombok.Data;
@@ -403,5 +404,10 @@ public class ApsProcessOutputProductDo extends BaseDo {
      */
     private String outmaterspecification;
 
+    /**
+     * 坯料外观类型
+     */
+    private String blankappearance;
+
     private static final long serialVersionUID = 1L;
 }

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionTechnicalRequirementDo.java

@@ -235,5 +235,10 @@ public class ApsProductionTechnicalRequirementDo extends BaseDo implements Seria
      */
     private String blankproducttypeid;
 
+    /**
+     * 坯料外观类型
+     */
+    private String blankappearance;
+
     private static final long serialVersionUID = 1L;
 }

+ 9 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsBlankOrderController.java

@@ -167,5 +167,14 @@ public class ApsBlankOrderController {
         }
 
     }
+
+    /**
+     * 根据坯料计划ID查询排程相关提醒
+     */
+    @PostMapping("/checkSchedule")
+    public R checkSchedule(@RequestBody List<String> blankIdList) {
+        log.info("checkSchedule 检查排程相关提醒,入参为:{}", blankIdList);
+        return apsBlankOrderService.checkSchedule(blankIdList);
+    }
 }