Ver código fonte

aps-检验出现两次问题修复

sucheng 2 semanas atrás
pai
commit
0430544be2

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

@@ -1,6 +1,7 @@
 package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ApsProductionOrderDo;
+import com.rongwei.bsentity.vo.CheckReportReq;
 import com.rongwei.rwcommon.base.R;
 
 /**
@@ -16,4 +17,6 @@ public interface ReportCheckService {
     void goBackWf(String processOperationEquId, String blankId, ApsProductionOrderDo productionOrderDo);
 
     R preSaveCheck(String id);
+
+    R checkReport(CheckReportReq req);
 }

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

@@ -9,6 +9,7 @@ import com.rongwei.bscommon.sys.service.*;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.CancelOperationProcessEquVo;
 import com.rongwei.bsentity.vo.CancelProcessOperationVo;
+import com.rongwei.bsentity.vo.CheckReportReq;
 import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
 import com.rongwei.commonservice.service.RedisService;
 import com.rongwei.rwadmincommon.system.domain.SysDictDo;
@@ -91,6 +92,10 @@ public class ReportCheckServiceImpl implements ReportCheckService {
     private ApsProductDetailService apsProductDetailService;
     @Autowired
     private ApsProductionMergeOrderService apsProductionMergeOrderService;
+    @Autowired
+    private ApsReportCheckoutService apsReportCheckoutService;
+    @Autowired
+    private ApsReportBlankCompentService apsReportBlankCompentService;
 
     /**
      * 保存检验结果后更新相关信息
@@ -240,6 +245,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
             // 更新当前工序作业和作业明细的已检验卷数
 
             // 当前工序名为小圈成退 检验卷数为 报工记录的BATCHNUMBER 数量
+            log.info("明细检验卷数赋值开始,检验卷数为:{}",currentProcessOperationEqu.getCancelroll());
             if (SMALL_CIRCLE_PROCESSING_PROCESS_NAME.contains(currentProcessOperationMainDo.getProcess())) {
                 String batchnumber = reportRecordsDo.getBatchnumber();
                 if (StringUtils.isBlank(batchnumber)) {
@@ -254,6 +260,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 currentProcessOperationMainDo.setCheckoutroll(currentProcessOperationMainDo.getCheckoutroll() + 1);
                 currentProcessOperationEqu.setCheckoutroll(currentProcessOperationEqu.getCheckoutroll() + 1);
             }
+            log.info("明细检验卷数赋值结束,检验卷数为:{}",currentProcessOperationEqu.getCancelroll());
 //            项目经理确认取消:报工检验去掉完工状态赋值
 //            if (StringUtils.isBlank(currentProcessOperationEqu.getBachmaterialprocess())) {
 //                currentProcessOperationEqu.setWorkstatus(JOBSTATUS_TO_BE_END);
@@ -693,7 +700,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                         .filter(info -> apsProcessOperationProcessEquDo.getProcessid().equals(info.getId()))
                         .findFirst()
                         .orElse(null);
-                apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
+//                apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
                 if (apsProcessOperationDo == null) {
                     log.error("无法根据id:{}获取工序作业信息", apsProcessOperationProcessEquDo.getProcessid());
                     throw new CustomException("无法获取工序作业信息");
@@ -1394,4 +1401,37 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 .collect(Collectors.joining("-"));
         return parts[0] + '-' + joinedString;
     }
+
+    @Transactional
+    public R checkReport(CheckReportReq req) {
+        ApsReportRecordsDo apsReportRecordsDo = req.getApsReportRecordsDo();
+        List<ApsReportCheckoutDo> apsReportCheckoutDoList = req.getApsReportCheckoutDoList();
+        List<ApsReportBlankCompentDo> apsReportBlankCompentDoList = req.getApsReportBlankCompentDoList();
+        if (apsReportRecordsDo == null){
+            return R.error("报工记录不能为空");
+        }
+        String reportId = apsReportRecordsDo.getId();
+        if (StringUtils.isBlank(reportId)) {
+            return R.error("报工记录ID不能为空");
+        }
+        //============检验===========
+        R r = this.preSaveCheck(reportId);
+        if (!"200".equals(r.getCode())){
+            return r;
+        }
+        //============保存===========
+        apsReportRecordsService.updateById(apsReportRecordsDo);
+        if (!apsReportCheckoutDoList.isEmpty()){
+            apsReportCheckoutService.updateBatchById(apsReportCheckoutDoList);
+        }
+        if (!apsReportBlankCompentDoList.isEmpty()){
+            apsReportBlankCompentService.updateBatchById(apsReportBlankCompentDoList);
+        }
+        //============检验之后===========
+        R r2 = this.updateRelevantInformation(reportId);
+        if (!"200".equals(r2.getCode())){
+            return r2;
+        }
+        return R.ok();
+    }
 }

+ 20 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/CheckReportReq.java

@@ -0,0 +1,20 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.*;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author :sc
+ * @since :2025/7/21
+ */
+@Data
+public class CheckReportReq {
+    //报工记录主表
+    private ApsReportRecordsDo apsReportRecordsDo;
+    //检测参数
+    private List<ApsReportCheckoutDo> apsReportCheckoutDoList;
+    //报工记录坯料成分子表
+    private List<ApsReportBlankCompentDo> apsReportBlankCompentDoList;
+}

+ 14 - 5
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ReportCheckController.java

@@ -1,15 +1,14 @@
 package com.rongwei.bsserver.controller;
 
+import com.rongwei.bscommon.sys.service.ReportCheckService;
 import com.rongwei.bscommon.sys.service.impl.ReportCheckServiceImpl;
+import com.rongwei.bsentity.vo.CheckReportReq;
 import com.rongwei.rwcommon.base.R;
 import lombok.Synchronized;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * ReportCheckController class
@@ -23,7 +22,7 @@ public class ReportCheckController {
     private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
 
     @Autowired
-    private ReportCheckServiceImpl reportCheckService;
+    private ReportCheckService reportCheckService;
 
     /**
      * 保存检验结果后更新相关信息
@@ -33,6 +32,7 @@ public class ReportCheckController {
      */
     @PostMapping("/save/postposition")
     public R updateRelevantInformation(@RequestParam(name = "reportCheckId") String reportCheckId) {
+        log.info("开始检验之后的接口调用,入参:{}", reportCheckId);
         return reportCheckService.updateRelevantInformation(reportCheckId);
     }
 
@@ -44,4 +44,13 @@ public class ReportCheckController {
     public R preSaveCheck(@RequestParam(name = "reportCheckId") String reportCheckId){
         return reportCheckService.preSaveCheck(reportCheckId);
     }
+
+    /**
+     * 报工检验接口
+     */
+    @PostMapping("/checkReport")
+    public R checkReport(@RequestBody CheckReportReq req){
+        log.info("开始报工检验,入参:{}",req);
+        return reportCheckService.checkReport(req);
+    }
 }