浏览代码

aps-扫码开工校验批次号不区分大小写/报工检验在制品状态更改前计算订单类型testin1822/1870

zhoudazhuang 7 月之前
父节点
当前提交
424139cc7b

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

@@ -393,8 +393,11 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                     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)) {
+                        //扫码开工输入批次号,系统校验批次号不要区分大小写,应该都可以开工
+                        List<String> upCaseList = list1.stream().map(String::toUpperCase).collect(Collectors.toList());
+                        List<String> upTarget = list2.stream().map(String::toUpperCase).collect(Collectors.toList());
+                        for (String s : upCaseList) {
+                            if (!upTarget.contains(s)) {
                                 return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
                             }
                         }
@@ -637,7 +640,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                 String bachmaterialprocess = apsProcessOperationProcessEquDo.getBachmaterialprocess();
                 //如果存在被使用的批次号,则删除此批次号
                 if (ObjectUtil.isNotEmpty(bachmaterialprocess)) {
-                    LinkedList<String> strings = new LinkedList<>(Arrays.asList(bachmaterialprocess.split(",")));
+                    List<String> batchNumberList = Arrays.asList(bachmaterialprocess.split(","));
+                    LinkedList<String> strings = batchNumberList.stream().map(String::toUpperCase).collect(Collectors.toCollection(LinkedList::new));
                     if (strings.contains(req.getInputBatchNumber())) {
                         strings.remove(req.getInputBatchNumber());
                         ApsProcessOperationProcessEquDo equDo = new ApsProcessOperationProcessEquDo();
@@ -1453,8 +1457,11 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                 if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess())) {
                     List<String> list1 = req.getInputBatchNumberList();
                     List<String> list2 = Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(","));
-                    for (String s : list1) {
-                        if (!list2.contains(s)) {
+                    //扫码开工输入批次号,系统校验批次号不要区分大小写,应该都可以开工
+                    List<String> upCaseList = list1.stream().map(String::toUpperCase).collect(Collectors.toList());
+                    List<String> upCaseTarget = list2.stream().map(String::toUpperCase).collect(Collectors.toList());
+                    for (String s : upCaseList) {
+                        if (!upCaseTarget.contains(s)) {
                             return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
                         }
                     }
@@ -1806,7 +1813,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             List<String> oldList = new LinkedList<>();
             //原待加工批次号不为空
             if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess())) {
-                oldList = new LinkedList<>(Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",")));
+                List<String> batchNumberList = Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(","));
+                oldList = batchNumberList.stream().map(String::toUpperCase).collect(Collectors.toCollection(LinkedList::new));
                 oldList.removeAll(inputBatchNumberList);
                 String newBatch = String.join(",", oldList);
                 ApsProcessOperationProcessEquDo needUpdate = new ApsProcessOperationProcessEquDo();

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

@@ -4,9 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.rongwei.bscommon.sys.service.ApsBlankOrderService;
-import com.rongwei.bscommon.sys.service.ApsReportRecordsService;
-import com.rongwei.bscommon.sys.service.ReportCheckService;
+import com.rongwei.bscommon.sys.service.*;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.CancelProcessOperationVo;
 import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
@@ -88,6 +86,10 @@ public class ReportCheckServiceImpl implements ReportCheckService {
     private RunTaskService runTaskService;
     @Autowired
     private RedisService redisService;
+    @Autowired
+    private ApsProductDetailService apsProductDetailService;
+    @Autowired
+    private ApsProductionMergeOrderService apsProductionMergeOrderService;
 
     /**
      * 保存检验结果后更新相关信息
@@ -346,6 +348,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         }
         List<ApsProcessOperationProcessEquDo> nextProcessOperationProcessEquDos = new ArrayList<>();
         List<ApsProcessOperationDo> nextProcessList = new ArrayList<>();
+        List<ApsProductionMergeOrderDo> apsProductionMergeOrderDoList = apsProductionMergeOrderService.list(new LambdaQueryWrapper<ApsProductionMergeOrderDo>().eq(BaseDo::getDeleted, NO_DELETED));
+        List<ApsProductDetailDo> apsProductDetailDoList = apsProductDetailService.list(new LambdaQueryWrapper<ApsProductDetailDo>().eq(BaseDo::getDeleted, NO_DELETED));
         if (StringUtils.isNotBlank(nextProcessesIds)) {
             // 被流转的工序作业明细
             nextProcessOperationProcessEquDos = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
@@ -553,7 +557,28 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                     // 添加需要流转的编号信息
                     toBeProcessedDataMap.put(outputId, outputNumbers);
                 }
-                if (MATERIAL_PREPARATION_ORDER.equals(productionOrderDo.getOrdertype())) {
+                /**
+                 * 新增需求:临时计算订单类型,如果输出物料的产品明细ID对应产品明细的合并订单号不为空,则订单类型=该合并订单的订单类型;否则订单类型=订单的订单类型
+                 */
+                String temporaryOrderType = "";
+                List<ApsProductDetailDo> queryProductDetailList= apsProductDetailDoList.stream().filter(info -> info.getId().equals(apsProcessOperationOutMaterDo.getOrderdetailid())).collect(Collectors.toList());
+                if (!queryProductDetailList.isEmpty()){
+                    ApsProductDetailDo queryProductDetailDo = queryProductDetailList.get(0);
+                    if (queryProductDetailDo!= null&&ObjectUtil.isNotEmpty(queryProductDetailDo.getMergeordernumber())){
+                        List<ApsProductionMergeOrderDo> queryProductionMergeOrderList = apsProductionMergeOrderDoList.stream().filter(data->(data.getOrderno().equals(queryProductDetailDo.getMergeordernumber()))).collect(Collectors.toList());
+                        if (!queryProductionMergeOrderList.isEmpty()){
+                            ApsProductionMergeOrderDo queryProductMergeOrderDo = queryProductionMergeOrderList.get(0);
+                            temporaryOrderType = queryProductMergeOrderDo.getOrdertype();
+                        }else {
+                            temporaryOrderType = productionOrderDo.getOrdertype();
+                        }
+                    }else {
+                        temporaryOrderType = productionOrderDo.getOrdertype();
+                    }
+                }else {
+                    temporaryOrderType = productionOrderDo.getOrdertype();
+                }
+                if (MATERIAL_PREPARATION_ORDER.equals(temporaryOrderType)) {
                     log.debug("订单类型为备料");
                     // 更新成品的在制品状态
                     updateWorkInProgressInventoryStatus(blScNum + lzScNum, cpScNum, YES,
@@ -1214,44 +1239,44 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         List<SysDictDo> defectTypes = apsReportOutputService.getQualityDefectsDictsByType();
         apsReportOutputDos.forEach(apsReportOutputDo -> {
             workInProgressInventoryDos.stream()
-                    .filter(inventory -> apsReportOutputDo.getOutputnumber().equals(inventory.getBatchnumber()))
-                    .collect(Collectors.toList()).forEach(data -> {
-                        if ("是".equals(ifblankprocess)) {
-                            data.setBlankname(apsReportOutputDo.getOutputdesc());
+            .filter(inventory -> apsReportOutputDo.getOutputnumber().equals(inventory.getBatchnumber()))
+            .collect(Collectors.toList()).forEach(data -> {
+                if ("是".equals(ifblankprocess)) {
+                    data.setBlankname(apsReportOutputDo.getOutputdesc());
+                }
+                data.setWorkinprocess(apsReportOutputDo.getOutputdesc());
+                data.setInspectionlevel(apsReportOutputDo.getInsepctionlevel());
+                data.setIsqualified(apsReportOutputDo.getQualified());
+                String formatMajor = handleDefect(apsReportOutputDo.getMajor(), defectTypes);
+                String formatMinor = handleDefect(apsReportOutputDo.getMinor(), defectTypes);
+                if (StringUtils.isNotBlank(formatMajor) && StringUtils.isNotBlank(formatMinor)) {
+                    if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
+                        data.setRemark("主要缺陷:" + formatMajor + ";次要缺陷:" + formatMinor + ";检验备注:" + apsReportOutputDo.getCheckremark() + ";");
+                    } else {
+                        data.setRemark("主要缺陷:" + formatMajor + ";次要缺陷:" + formatMinor + ";");
+                    }
+                } else {
+                    if (StringUtils.isNotBlank(formatMajor)) {
+                        if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
+                            data.setRemark("主要缺陷:" + formatMajor + ";检验备注:" + apsReportOutputDo.getCheckremark() + ";");
+                        } else {
+                            data.setRemark("主要缺陷:" + formatMajor + ";");
                         }
-                        data.setWorkinprocess(apsReportOutputDo.getOutputdesc());
-                        data.setInspectionlevel(apsReportOutputDo.getInsepctionlevel());
-                        data.setIsqualified(apsReportOutputDo.getQualified());
-                        String formatMajor = handleDefect(apsReportOutputDo.getMajor(), defectTypes);
-                        String formatMinor = handleDefect(apsReportOutputDo.getMinor(), defectTypes);
-                        if (StringUtils.isNotBlank(formatMajor) && StringUtils.isNotBlank(formatMinor)) {
+                    } else {
+                        if (StringUtils.isNotBlank(formatMinor)) {
                             if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
-                                data.setRemark("主要缺陷:" + formatMajor + ";次要缺陷:" + formatMinor + ";检验备注:" + apsReportOutputDo.getCheckremark() + ";");
+                                data.setRemark("次要缺陷:" + formatMinor + ";检验备注:" + apsReportOutputDo.getCheckremark() + ";");
                             } else {
-                                data.setRemark("主要缺陷:" + formatMajor + ";次要缺陷:" + formatMinor + ";");
+                                data.setRemark("次要缺陷:" + formatMinor + ";");
                             }
                         } else {
-                            if (StringUtils.isNotBlank(formatMajor)) {
-                                if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
-                                    data.setRemark("主要缺陷:" + formatMajor + ";检验备注:" + apsReportOutputDo.getCheckremark() + ";");
-                                } else {
-                                    data.setRemark("主要缺陷:" + formatMajor + ";");
-                                }
-                            } else {
-                                if (StringUtils.isNotBlank(formatMinor)) {
-                                    if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
-                                        data.setRemark("次要缺陷:" + formatMinor + ";检验备注:" + apsReportOutputDo.getCheckremark() + ";");
-                                    } else {
-                                        data.setRemark("次要缺陷:" + formatMinor + ";");
-                                    }
-                                } else {
-                                    if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
-                                        data.setRemark("检验备注:" + apsReportOutputDo.getCheckremark() + ";");
-                                    }
-                                }
+                            if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
+                                data.setRemark("检验备注:" + apsReportOutputDo.getCheckremark() + ";");
                             }
                         }
-                    });
+                    }
+                }
+            });
         });
     }
 

+ 1 - 1
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsReportRecordController.java

@@ -33,7 +33,7 @@ public class ApsReportRecordController {
     private ApsReportRecordsService apsReportRecordsService;
 
     /**
-     * 取消
+     * 取消
      *
      * @param req
      * @return