Bläddra i källkod

aps-开工修改,锁定过滤备料第一道工序

sucheng 8 månader sedan
förälder
incheckning
74dd03b949

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

@@ -3310,7 +3310,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         preparematerialbatchnoList.addAll(addBatchNumberList);
         ApsBlankOrderDo updateBlank = new ApsBlankOrderDo();
         updateBlank.setId(apsBlankOrderDo.getId());
-        updateBlank.setPreparematerialbatchno(String.join(",", preparematerialbatchnoList));
+//        updateBlank.setPreparematerialbatchno(String.join(",", preparematerialbatchnoList));
         this.updateById(updateBlank);
 
         /**

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

@@ -353,24 +353,27 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             if (apsProcessOperationProcessEquDo.getPlanprocessrall() - apsProcessOperationProcessEquDo.getReportroll() - apsProcessOperationProcessEquDo.getCancelroll() <= 0) {
                 return R.error("此作业已全部开工完毕,请刷新列表后重试");
             }
-            if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
-                if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess())) {
-                    List<String> list1 = Arrays.asList(req.getInputBatchNumber().split(","));
-                    List<String> list2 = Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(","));
-                    for (String s : list1) {
-                        if (!list2.contains(s)) {
-                            return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
+            //查询坯料计划的详情
+            ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderService.getById(apsProcessOperationProcessEquDo.getBlankid());
+            //如果 不是备料计划 或 不是第一道工序作业明细,则不校验待加工料卷批次号
+            if (!apsBlankOrderDo.getPreparematerial().equals("是") || ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getPreviousprocessesids())) {
+                if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
+                    if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess())) {
+                        List<String> list1 = Arrays.asList(req.getInputBatchNumber().split(","));
+                        List<String> list2 = Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(","));
+                        for (String s : list1) {
+                            if (!list2.contains(s)) {
+                                return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
+                            }
                         }
+                    } else {
+                        return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
                     }
-                } else {
-                    return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
                 }
             }
 
             //查询工序作业的详情
             ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
-            //查询坯料计划的详情
-            ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderService.getById(apsProcessOperationDo.getBlankid());
             //查询订单的详情
             ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
 
@@ -972,12 +975,12 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
 
             //更新作业明细报工料卷批次号,如果输入物料有批次号,报工料卷批次号后面拼接{输入物料批次号}
             String reportBatchNumber = apsProcessOperationProcessEquDo.getReportbatchnumber();
-            if (StringUtils.isNotBlank(nowReportRecordsDo.getBatchnumber())){
-                if (StringUtils.isNotBlank(reportBatchNumber)){
-                    if (!reportBatchNumber.contains(nowReportRecordsDo.getBatchnumber())){
-                        reportBatchNumber = reportBatchNumber+","+nowReportRecordsDo.getBatchnumber();
+            if (StringUtils.isNotBlank(nowReportRecordsDo.getBatchnumber())) {
+                if (StringUtils.isNotBlank(reportBatchNumber)) {
+                    if (!reportBatchNumber.contains(nowReportRecordsDo.getBatchnumber())) {
+                        reportBatchNumber = reportBatchNumber + "," + nowReportRecordsDo.getBatchnumber();
                     }
-                }else {
+                } else {
                     reportBatchNumber = nowReportRecordsDo.getBatchnumber();
                 }
                 processEquWrapper.set(ApsProcessOperationProcessEquDo::getReportbatchnumber, reportBatchNumber);
@@ -987,17 +990,17 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
              * 如果作业是否坯料工序=是,则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输出物料批次号。
              * 如果作业是否坯料工序=否,则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输入物料批次号。
              */
-            if (StringUtils.isBlank(apsProcessOperationProcessEquDo.getPreviousprocessesids())){
+            if (StringUtils.isBlank(apsProcessOperationProcessEquDo.getPreviousprocessesids())) {
                 //取出当前报工记录的输出物料编号列表
                 List<String> outputNumbers = apsReportOutputDoList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
                 String outPutNumber = "";
-                if (!outputNumbers.isEmpty()){
-                    outPutNumber = String.join(",",outputNumbers);
-                    if (StringUtils.isNotBlank(apsProcessOperationDo.getIfblankprocess()) && "是".equals(apsProcessOperationDo.getIfblankprocess())){
+                if (!outputNumbers.isEmpty()) {
+                    outPutNumber = String.join(",", outputNumbers);
+                    if (StringUtils.isNotBlank(apsProcessOperationDo.getIfblankprocess()) && "是".equals(apsProcessOperationDo.getIfblankprocess())) {
                         processEquWrapper.set(ApsProcessOperationProcessEquDo::getBlankbatchnumber, outPutNumber);
                     }
                 }
-                updateAfterBlankByBatchAndOutPutNumber(apsProcessOperationDo,nowReportRecordsDo,apsProcessOperationProcessEquDo,outPutNumber);
+                updateAfterBlankByBatchAndOutPutNumber(apsProcessOperationDo, nowReportRecordsDo, apsProcessOperationProcessEquDo, outPutNumber);
             }
             //更新
             apsProcessOperationProcessEquService.update(processEquWrapper);
@@ -1833,25 +1836,26 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
 
     /**
      * 递归所有后道工序作业明细
+     *
      * @param apsProcessOperationDo
      * @param nowReportRecordsDo
      * @param processOperationProcessEquDo
      */
-    private void updateAfterBlankByBatchAndOutPutNumber(ApsProcessOperationDo apsProcessOperationDo,ApsReportRecordsDo nowReportRecordsDo,ApsProcessOperationProcessEquDo processOperationProcessEquDo,String outPutNumber) {
+    private void updateAfterBlankByBatchAndOutPutNumber(ApsProcessOperationDo apsProcessOperationDo, ApsReportRecordsDo nowReportRecordsDo, ApsProcessOperationProcessEquDo processOperationProcessEquDo, String outPutNumber) {
         if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
             List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqusByNextIds(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
             for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
-                if (StringUtils.isNotBlank(apsProcessOperationDo.getIfblankprocess()) && "是".equals(apsProcessOperationDo.getIfblankprocess())){
+                if (StringUtils.isNotBlank(apsProcessOperationDo.getIfblankprocess()) && "是".equals(apsProcessOperationDo.getIfblankprocess())) {
                     //是否坯料工序为是则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输出物料批次号。
-                    if (StringUtils.isNotBlank(outPutNumber)){
+                    if (StringUtils.isNotBlank(outPutNumber)) {
                         processOperationEquDo.setBlankbatchnumber(outPutNumber);
                     }
-                }else {
+                } else {
                     //是否坯料工序为否则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输入物料批次号。
                     processOperationEquDo.setBlankbatchnumber(nowReportRecordsDo.getBatchnumber());
                 }
                 apsProcessOperationProcessEquService.updateById(processOperationEquDo);
-                updateAfterBlankByBatchAndOutPutNumber(apsProcessOperationDo,nowReportRecordsDo,processOperationEquDo,outPutNumber);
+                updateAfterBlankByBatchAndOutPutNumber(apsProcessOperationDo, nowReportRecordsDo, processOperationEquDo, outPutNumber);
             }
         }
     }