Browse Source

aps-订单评审、坯料计划保存校验修改,坯料计划校验增加校验等级

sucheng 1 year ago
parent
commit
5032da16c1

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

@@ -1389,6 +1389,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     @Override
     @Transactional
     public R checkAndSaveOrUpdateBlank(CheckAndSaveOrUpdateBlankReq req) {
+        //获取校验级别
+        Integer checkLevel = req.getCheckLevel();
+
         //获取坯料计划内容
         ApsBlankOrderDo apsBlankOrderDo = req.getApsBlankOrderDo();
         //获取当前用户信息
@@ -1410,22 +1413,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 }
             }
         }
-        //==============拼接工艺路线输出成品==============
-        //查询坯料计划对应工艺路线的输出成品
-        List<String> processOutputList = this.baseMapper.selectProcessByBlankId(apsBlankOrderDo.getId());
-        if (processOutputList != null && processOutputList.size() > 0) {
-            String outputProcessMaterial = "";
-            //排序
-            processOutputList.sort(String::compareTo);
-            for (int i = 0; i < processOutputList.size(); i++) {
-                outputProcessMaterial += "[" + (i + 1) + "]" + processOutputList.get(i);
-                if (i < processOutputList.size() - 1) {
-                    outputProcessMaterial += ",\r\n";
+        if (checkLevel == 3) {
+            //==============拼接工艺路线输出成品==============
+            //查询坯料计划对应工艺路线的输出成品
+            List<String> processOutputList = this.baseMapper.selectProcessByBlankId(apsBlankOrderDo.getId());
+            if (processOutputList != null && processOutputList.size() > 0) {
+                String outputProcessMaterial = "";
+                //排序
+                processOutputList.sort(String::compareTo);
+                for (int i = 0; i < processOutputList.size(); i++) {
+                    outputProcessMaterial += "[" + (i + 1) + "]" + processOutputList.get(i);
+                    if (i < processOutputList.size() - 1) {
+                        outputProcessMaterial += ",\r\n";
+                    }
                 }
+                apsBlankOrderDo.setOutputmaterial(outputProcessMaterial);
+            } else {
+                return R.error("工艺路线没有输出成品");
             }
-            apsBlankOrderDo.setOutputmaterial(outputProcessMaterial);
-        } else {
-            return R.error("工艺路线没有输出成品");
         }
 
         //=============校验输出成品==============
@@ -1570,33 +1575,40 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             }
         }
 
-        //============校验工艺路线=============
-        //如果坯料需求的坯料输出成品字段值不等于坯料需求的工艺输出成品字段值,错误提示:工艺路线输出成品与坯料输出成品不一致
-        if (!apsBlankOrderDo.getOutputfinishproduct().equals(apsBlankOrderDo.getOutputmaterial())) {
-            return R.error("工艺路线输出成品" + apsBlankOrderDo.getOutputmaterial() + "与坯料输出成品" + apsBlankOrderDo.getOutputfinishproduct() + "不一致");
+        if (checkLevel == 3) {
+            //============校验工艺路线=============
+            //如果坯料需求的坯料输出成品字段值不等于坯料需求的工艺输出成品字段值,错误提示:工艺路线输出成品与坯料输出成品不一致
+            if (!apsBlankOrderDo.getOutputfinishproduct().equals(apsBlankOrderDo.getOutputmaterial())) {
+                return R.error("工艺路线输出成品" + apsBlankOrderDo.getOutputmaterial() + "与坯料输出成品" + apsBlankOrderDo.getOutputfinishproduct() + "不一致");
+            }
         }
-        //如果坯料需求的是否备料=是,并且首道工序作业的是否坯料工序=是,错误提示:工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料
-        //是否备料
-        if (apsBlankOrderDo.getPreparematerial().equals("是")) {
-            //查询坯料计划的工序作业
-            List<ApsProcessOperationDo> processOperationList = apsProcessOperationService.list(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, apsBlankOrderDo.getId()));
-            for (ApsProcessOperationDo processOperationDo : processOperationList) {
-                //没有前道工序作业ID
-                if (ObjectUtil.isEmpty(processOperationDo.getPreviousprocessid())) {
-                    if (processOperationDo.getIfblankprocess().equals("是")) {
-                        return R.error("工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料");
+
+        if (checkLevel == 2 || checkLevel == 3) {
+            //如果坯料需求的是否备料=是,并且首道工序作业的是否坯料工序=是,错误提示:工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料
+            //是否备料
+            if (apsBlankOrderDo.getPreparematerial().equals("是")) {
+                //查询坯料计划的工序作业
+                List<ApsProcessOperationDo> processOperationList = apsProcessOperationService.list(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, apsBlankOrderDo.getId()));
+                for (ApsProcessOperationDo processOperationDo : processOperationList) {
+                    //没有前道工序作业ID
+                    if (ObjectUtil.isEmpty(processOperationDo.getPreviousprocessid())) {
+                        if (processOperationDo.getIfblankprocess().equals("是")) {
+                            return R.error("工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料");
+                        }
+                        break;
                     }
-                    break;
                 }
             }
         }
 
-        //============校验工序作业=============
-        Map<String, Object> params = new HashMap<>();
-        params.put("BLANKID", apsBlankOrderDo.getId());
-        R r = apsProcessOperationService.checkOperation(params);
-        if (!(r.getCode().equals("200"))) {
-            return R.error(r.getMsg());
+        if (checkLevel == 3) {
+            //============校验工序作业=============
+            Map<String, Object> params = new HashMap<>();
+            params.put("BLANKID", apsBlankOrderDo.getId());
+            R r = apsProcessOperationService.checkOperation(params);
+            if (!(r.getCode().equals("200"))) {
+                return R.error(r.getMsg());
+            }
         }
 
         //更新或保存坯料计划和输出成品

+ 1 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java

@@ -154,7 +154,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
         }
         for (int i = 0; i < apsBlankOrderDoList.size(); i++) {
             if (apsBlankOrderDoList.get(i).getIsstag().equals("是")) {
-                return R.error("第" + (i + 1) + "个坯料计划为暂存数据,请先保存再提交");
+                return R.error("第" + (i + 1) + "个坯料计划未提交坯料计划,请先提交坯料计划,再提交流程");
             }
         }
 

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

@@ -27,4 +27,7 @@ public class CheckAndSaveOrUpdateBlankReq {
 
     //是否需要检验坯料计划的工序作业的加工设备
     private Boolean checkDevice = false;
+
+    //检验级别 默认最高级别(1:校验坯料需求,2:校验坯料需求和工艺路线【不校验分卷数量和重量】,3:全部校验)
+    private Integer checkLevel = 3;
 }