Ver código fonte

aps-坯料计划被借调之后,撤回流程

sucheng 1 ano atrás
pai
commit
4e8f94fb49

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

@@ -1,5 +1,6 @@
 package com.rongwei.bscommon.sys.service;
 
+import com.rongwei.bsentity.domain.ApsProductionOrderDo;
 import com.rongwei.rwcommon.base.R;
 
 /**
@@ -11,4 +12,6 @@ import com.rongwei.rwcommon.base.R;
 public interface ReportCheckService {
 
     R updateRelevantInformation(String id);
+
+    void goBackWf(String processOperationEquId, String blankId, ApsProductionOrderDo productionOrderDo);
 }

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

@@ -105,6 +105,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     private ApsProcessOperationBackupService apsProcessOperationBackupService;
     @Autowired
     private ApsProcessOperationProcessEquBackupService apsProcessOperationProcessEquBackupService;
+    @Autowired
+    private ReportCheckService reportCheckService;
 
     public static String removeExtraZerosAndDecimal(BigDecimal bd) {
         bd = bd.stripTrailingZeros();
@@ -1937,6 +1939,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     if (!r.getCode().equals("200")) {
                         throw new CustomException(r.getMsg());
                     }
+
+                    //撤回订单
+                    //被撤回的作业明细
+                    ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(processoperationequid);
+                    //被撤回的坯料计划
+                    ApsBlankOrderDo changeBlankOrder = apsBlankOrderService.getById(apsProcessOperationProcessEquDo.getBlankid());
+                    //被撤回的订单信息
+                    ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(changeBlankOrder.getProductionorderid());
+                    reportCheckService.goBackWf(processoperationequid, apsProcessOperationProcessEquDo.getBlankid(), apsProductionOrderDo);
                 }
 
 

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

@@ -178,49 +178,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 .in(ApsReportOutputDo::getId, reportOutputDos.stream().map(ApsReportOutputDo::getId).collect(Collectors.toList()))
                 .set(ApsReportOutputDo::getCheckstatus, VERIFIED));
         if (reportOutputDos.stream().anyMatch(info -> NO.equals(info.getQualified()))) {
-
-            // 更新坯料计划的作业状态
-            CommonUpdateProductionStatusReq req = new CommonUpdateProductionStatusReq();
-            req.setProcessOperationEquId(processOperationEquId);
-            req.setProcessOperationId(currentProcessOperationMainDo.getId());
-            req.setOrderId(productionOrderDo.getId());
-            req.setBlankId(blankId);
-            // 更新
-            apsProcessOperationProcessEquService.updateProductionStatus(req);
-            // 备份
-            apsProductionOrderService.saveHistoryInfo(productionOrderDo.getId());
-            // 坯料计划撤回发布
-            apsBlankOrderService.publishCancel(Arrays.asList(blankId));
-            productionOrderDo.setAuditstatus("待排程");
-            productionOrderDo.setChangedate(new Date());
-            productionOrderDo.setIsback("是");
-            productionOrderDo.setChangecomment("");
-            apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
-                    .eq(ApsProductionOrderDo::getId, productionOrderDo.getId())
-                    .set(ApsProductionOrderDo::getChangedate, new Date())
-                    .set(ApsProductionOrderDo::getIsback, "是")
-                    .set(ApsProductionOrderDo::getChangecomment, null));
-
-            String processinstid = productionOrderDo.getProcessinstid();
-            RunTaskDo runTaskDo = runTaskService.getOne(new LambdaQueryWrapper<RunTaskDo>().eq(BaseDo::getDeleted, "0")
-                    .eq(RunTaskDo::getProcessinstid, processinstid)
-                    .in(RunTaskDo::getTaskstatus, "10", "20")
-                    .orderByDesc(BaseDo::getCreatedate), false);
-            RunTaskVo runTaskVo = new RunTaskVo();
-            BeanUtils.copyProperties(runTaskDo, runTaskVo);
-            runTaskVo.setProcessInstId(processinstid);
-            runTaskVo.setBusinesstableid(productionOrderDo.getId());
-            runTaskVo.setProcesstitle("订单评审");
-            runTaskVo.setProcessdefid("order_review");
-            runTaskVo.setAuditoperation("10");
-            runTaskVo.setTaskstatusname("待处理");
-            try {
-                workFlowService.runTask(runTaskVo, true);
-            } catch (Exception e) {
-                log.error("流程更新失败");
-                throw new RuntimeException(e);
-            }
-
+            goBackWf(processOperationEquId, blankId, productionOrderDo);
         }
         ;
         return R.ok();
@@ -348,6 +306,53 @@ public class ReportCheckServiceImpl implements ReportCheckService {
 //        return R.ok();
     }
 
+    /**
+     *撤回
+     */
+    public void goBackWf(String processOperationEquId, String blankId, ApsProductionOrderDo productionOrderDo){
+        // 更新坯料计划的作业状态
+        CommonUpdateProductionStatusReq req = new CommonUpdateProductionStatusReq();
+        req.setProcessOperationEquId(processOperationEquId);
+//        req.setProcessOperationId(currentProcessOperationMainDo.getId());
+//        req.setOrderId(productionOrderDo.getId());
+//        req.setBlankId(blankId);
+        // 更新
+        apsProcessOperationProcessEquService.updateProductionStatus(req);
+        // 备份
+        apsProductionOrderService.saveHistoryInfo(productionOrderDo.getId());
+        // 坯料计划撤回发布
+        apsBlankOrderService.publishCancel(Arrays.asList(blankId));
+        productionOrderDo.setAuditstatus("待排程");
+        productionOrderDo.setChangedate(new Date());
+        productionOrderDo.setIsback("是");
+        productionOrderDo.setChangecomment("");
+        apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
+                .eq(ApsProductionOrderDo::getId, productionOrderDo.getId())
+                .set(ApsProductionOrderDo::getChangedate, new Date())
+                .set(ApsProductionOrderDo::getIsback, "是")
+                .set(ApsProductionOrderDo::getChangecomment, null));
+
+        String processinstid = productionOrderDo.getProcessinstid();
+        RunTaskDo runTaskDo = runTaskService.getOne(new LambdaQueryWrapper<RunTaskDo>().eq(BaseDo::getDeleted, "0")
+                .eq(RunTaskDo::getProcessinstid, processinstid)
+                .in(RunTaskDo::getTaskstatus, "10", "20")
+                .orderByDesc(BaseDo::getCreatedate), false);
+        RunTaskVo runTaskVo = new RunTaskVo();
+        BeanUtils.copyProperties(runTaskDo, runTaskVo);
+        runTaskVo.setProcessInstId(processinstid);
+        runTaskVo.setBusinesstableid(productionOrderDo.getId());
+        runTaskVo.setProcesstitle("订单评审");
+        runTaskVo.setProcessdefid("order_review");
+        runTaskVo.setAuditoperation("10");
+        runTaskVo.setTaskstatusname("待处理");
+        try {
+            workFlowService.runTask(runTaskVo, true);
+        } catch (Exception e) {
+            log.error("流程更新失败");
+            throw new RuntimeException(e);
+        }
+    }
+
     /**
      * 更新工序作业对应的输出物料信息
      *