Ver Fonte

feature 代码提交

xiahan há 1 ano atrás
pai
commit
289ac41fc4

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

@@ -75,7 +75,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         log.info("保存检验结果后更新相关信息");
         if (StringUtil.isBlank(id)) {
             log.debug("参数为空");
-            return R.ok();
+            return R.error("报工检验参数异常");
         }
         // 获取报工记录
         ApsReportRecordsDo reportRecordsDo = apsReportRecordsService.getById(id);
@@ -89,6 +89,10 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         }
         // 获取当前报工记录对应的工序作业记录
         ApsProcessOperationProcessEquDo currentProcessOperationEqu = apsProcessOperationProcessEquService.getById(reportRecordsDo.getProcessequid());
+        if(currentProcessOperationEqu==null){
+            log.error("无法找到当前报工记录对应的工序作业信息");
+            return R.error("无法找到当前报工记录对应的工序作业信息");
+        }
         String processOperationEquId = currentProcessOperationEqu.getId();
         // 获取工序作业主表信息
         ApsProcessOperationDo currentProcessOperationMainDo = apsProcessOperationService.getOne(new LambdaQueryWrapper<ApsProcessOperationDo>()
@@ -134,7 +138,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         ApsProductionOrderDo productionOrderDo = apsProductionOrderService.getById(blankOrderDo.getProductionorderid());
         if (productionOrderDo == null) {
             log.error("无法根据ID:{},获取到订单信息", blankOrderDo.getProductionorderid());
-            return R.error();
+            return R.error("无法找到订单信息");
         }
 
         // 获取检验不合格批次的数量
@@ -311,8 +315,13 @@ public class ReportCheckServiceImpl implements ReportCheckService {
          */
         List<String> qualificationNum = qualifiedOutPutList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
         int nextProcessingPlannedNum = nextProcessOperationDo.stream().mapToInt(info -> info.getPlanprocessrall() - (info.getCancelroll() == null ? 0 : info.getCancelroll())).sum();
-
+        // 判断在制品是否存在库存信息
+        List<String> collect = apsWorkInProgressInventoryDos.stream().map(ApsWorkInProgressInventoryDo::getBatchnumber).collect(Collectors.toList());
+        if(qualificationNum.stream().anyMatch(info -> !collect.contains(info))){
+            throw new RuntimeException("无法获取当前检验产品的库存信息");
+        }
         apsWorkInProgressInventoryDos.forEach(info -> {
+            // 如果当前合格的批次号在在制品中不存在 不更新在制品库存信息
             if (!qualificationNum.contains(info.getBatchnumber())) {
                 return;
             }

+ 1 - 1
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationDao.xml

@@ -5,7 +5,7 @@
 <mapper namespace="com.rongwei.bscommon.sys.dao.ApsProcessOperationDao">
     <update id="updateBachmaterialprocessByIds">
         update aps_process_operation set BACHMATERIALPROCESS = CONCAT_WS(',',BACHMATERIALPROCESS,#{batchNum}),
-                                    set INPUTUNQUALIFIEDROLL = INPUTUNQUALIFIEDROLL +#{unqualifiedQuantity}
+                                     INPUTUNQUALIFIEDROLL = INPUTUNQUALIFIEDROLL +#{unqualifiedQuantity}
         <where>
             ID in
             <foreach collection="ids" separator="," open="(" close=")" item="id">