Przeglądaj źródła

取消作业调整

DLC 8 miesięcy temu
rodzic
commit
235b036bf0

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

@@ -52,5 +52,6 @@ public interface ApsProcessOperationService extends IService<ApsProcessOperation
     R updateProcess(Map<String, Object> params);
 
     R cancelProcessOperation(CancelProcessOperationVo cancelProcessOperationVo);
-    R cancelProcessOperationEqu(Integer curEquCancelRoll, ApsProcessOperationDo apsProcessOperationDo, ApsProcessOperationProcessEquDo processOperationProcessEquDo);
+
+    R cancelProcessOperationEqu(Integer curEquCancelRoll, ApsProcessOperationDo apsProcessOperationDo, ApsProcessOperationProcessEquDo processOperationProcessEquDo, boolean bhgCancel);
 }

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

@@ -597,9 +597,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         if (productionScheduleRetVo.getProcesses() != null && productionScheduleRetVo.getProcesses().size() > 0) {
             for (ProductionProcesses process : productionScheduleRetVo.getProcesses()) {
                 ApsProcessOperationProcessEquDo hasEqu = null;
-                if(equDos != null && equDos.size()>0){
+                if (equDos != null && equDos.size() > 0) {
                     List<ApsProcessOperationProcessEquDo> equid = equDos.stream().filter(v -> v.getId().equals(process.getId())).collect(Collectors.toList());
-                    if(equid != null && equid.size()>0){
+                    if (equid != null && equid.size() > 0) {
                         hasEqu = equid.get(0);
                     }
                 }
@@ -630,7 +630,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     apsProcessOperationProcessEqu.setPreviousprocessesids(CollUtil.join(process.getPreviousProcessesIds(), ","));
                     apsProcessOperationProcessEqu.setNextprocessesids(CollUtil.join(process.getNextProcessesIds(), ","));
                     apsProcessOperationProcessEqu.setLockmark("y");
-                    if(hasEqu != null){
+                    if (hasEqu != null) {
                         apsProcessOperationProcessEqu.setClosestatus(hasEqu.getClosestatus());
                         apsProcessOperationProcessEqu.setPlanprocessrall(hasEqu.getPlanprocessrall());
                         apsProcessOperationProcessEqu.setStartingroll(hasEqu.getStartingroll());
@@ -728,7 +728,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                             ApsBlankOrderDo blankOrder = this.getById(order.getId());
                             ApsBlankOrderDo updateBlank = new ApsBlankOrderDo();
                             updateBlank.setId(order.getId());
-                            if(StringUtils.isBlank(nowOrder.getSchedulingstatus()) || nowOrder.getSchedulingstatus().equals(TO_BE_SCHEDULED)){
+                            if (StringUtils.isBlank(nowOrder.getSchedulingstatus()) || nowOrder.getSchedulingstatus().equals(TO_BE_SCHEDULED)) {
                                 updateBlank.setSchedulingstatus(TO_BE_PUBLISHED);
                             }
                             updateBlank.setScheduledatestart(endDate);
@@ -3327,7 +3327,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                  */
                 if (secondroll > needBorrowOperationEqu.getCancelroll()) {
                     needBorrowOperationEqu.setSecondroll(secondroll);
-                    R r = apsProcessOperationService.cancelProcessOperationEqu(1, needBorrowOperation, needBorrowOperationEqu);
+                    R r = apsProcessOperationService.cancelProcessOperationEqu(1, needBorrowOperation, needBorrowOperationEqu, false);
                     if (!r.getCode().equals("200")) {
                         throw new CustomException(r.getMsg());
                     }

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

@@ -2089,6 +2089,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                     Integer nextCurCancelRoll = (int) Math.floor((double) (curcancelroll * processOperationDo.getPlanprocessrall()) / apsProcessOperationDo.getPlanprocessrall());
                     cancelProcessOperationVo1.setCurcancelroll(nextCurCancelRoll);
                     processOperationDo.setInputunqualifiedroll(processOperationDo.getInputunqualifiedroll() + nextCurCancelRoll);
+                    if (cancelProcessOperationVo.getBhgCancel()) {
+                        processOperationDo.setInputunqualifiednum(processOperationDo.getInputunqualifiednum() + nextCurCancelRoll);
+                        cancelProcessOperationVo1.setBhgCancel(true);
+                    }
                     cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
                     cancelProcessOperation(cancelProcessOperationVo1);
                 }
@@ -2111,7 +2115,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             curEquCancelRoll = tempRoll;
                         }
                         //取消和更新作业明细
-                        cancelProcessOperationEqu(curEquCancelRoll, apsProcessOperationDo, processOperationProcessEquDo);
+                        cancelProcessOperationEqu(curEquCancelRoll, apsProcessOperationDo, processOperationProcessEquDo, false);
                     } else {
                         break;
                     }
@@ -2183,8 +2187,11 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
     processOperationProcessEquDo:作业明细
      */
     @Transactional
-    public R cancelProcessOperationEqu(Integer curEquCancelRoll, ApsProcessOperationDo apsProcessOperationDo, ApsProcessOperationProcessEquDo processOperationProcessEquDo) {
+    public R cancelProcessOperationEqu(Integer curEquCancelRoll, ApsProcessOperationDo apsProcessOperationDo, ApsProcessOperationProcessEquDo processOperationProcessEquDo, boolean bhgCancel) {
         processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelroll() + curEquCancelRoll);
+        if (bhgCancel) {
+            processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
+        }
         List<String> noUpdatePlanenddateList = Arrays.asList("小卷成退", "中退", "成退");
         if (processOperationProcessEquDo.getPlanprocessrall() == processOperationProcessEquDo.getCancelroll()) {
             processOperationProcessEquDo.setProcessdevice("");
@@ -2213,7 +2220,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
             List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqus(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
             for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
-                cancelProcessOperationEqu((int) Math.floor((double) (curEquCancelRoll * processOperationEquDo.getPlanprocessrall()) / processOperationProcessEquDo.getPlanprocessrall()), apsProcessOperationDo, processOperationEquDo);
+                cancelProcessOperationEqu((int) Math.floor((double) (curEquCancelRoll * processOperationEquDo.getPlanprocessrall()) / processOperationProcessEquDo.getPlanprocessrall()), apsProcessOperationDo, processOperationEquDo, bhgCancel);
             }
         }
 

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

@@ -98,8 +98,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         log.info("保存检验结果后更新相关信息");
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
 
-        if(redisService.hasKey(id) && !redisService.getRedisCatchObj(id).equals(currentUser.getId())){
-            log.error("该作业已被其他人:{}检验",locks.get(id));
+        if (redisService.hasKey(id) && !redisService.getRedisCatchObj(id).equals(currentUser.getId())) {
+            log.error("该作业已被其他人:{}检验", locks.get(id));
             return R.error("该作业已被其他人检验");
         }
         try {
@@ -207,7 +207,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 currentProcessOperationMainDo.setCheckoutroll(currentProcessOperationMainDo.getCheckoutroll() + 1);
                 currentProcessOperationEqu.setCheckoutroll(currentProcessOperationEqu.getCheckoutroll() + 1);
             }
-            if (StringUtils.isBlank(currentProcessOperationEqu.getBachmaterialprocess())){
+            if (StringUtils.isBlank(currentProcessOperationEqu.getBachmaterialprocess())) {
                 currentProcessOperationEqu.setWorkstatus(JOBSTATUS_TO_BE_END);
                 currentProcessOperationEqu.setBachmaterialprocess("");
             }
@@ -233,7 +233,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
 //                goBackWf(processOperationEquId, blankId, productionOrderDo);
 //            }
         } finally {
-            log.debug("从map中清空当前报工记录:{}",id);
+            log.debug("从map中清空当前报工记录:{}", id);
             redisService.getRedisTemplate().delete(id);
         }
         return R.ok();
@@ -298,7 +298,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
             log.error("报工检验前校验失败,当前报工记录已被他人:{}检验", redisService.getRedisCatchObj(currentUser.getId()));
             return R.error("该作业已被其他人检验");
         }
-        redisService.redisCatchInit(id,currentUser.getId(),10);
+        redisService.redisCatchInit(id, currentUser.getId(), 10);
         // 获取报工记录
         ApsReportRecordsDo reportRecordsDo = apsReportRecordsService.getById(id);
         if (reportRecordsDo == null) {
@@ -533,7 +533,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                     ApsProcessOperationOutMaterDo::setProdleaveoutroll, cpPlanNum, -1);
             // 不合格在制品更新 //避免输出物料存在不合格而在制品没有更新在制品状态以及在制品类型
             int oldOutputUnqualifiedNum = (int) currentReportOutputs.stream().filter(reportOutputDo -> NO.equals(reportOutputDo.getQualified())).count();
-            if (currentOutputUnqualifiedNum > 0||oldOutputUnqualifiedNum>0) {
+            if (currentOutputUnqualifiedNum > 0 || oldOutputUnqualifiedNum > 0) {
                 // 更新备料的在制品状态
                 updateWorkInProgressInventoryStatus(0, currentReportOutputs.size(), NO, apsWorkInProgressInventoryDos,
                         currentReportOutputs, WAITING, REJECTS);
@@ -562,7 +562,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 }
             }
             //新增需求---更新该报工记录所有输出物料批次号对应在制品
-            updateWorkInProgressInventoryDetail(apsWorkInProgressInventoryDos,currentReportOutputs,currentProcessOperationDo.getIfblankprocess());
+            updateWorkInProgressInventoryDetail(apsWorkInProgressInventoryDos, currentReportOutputs, currentProcessOperationDo.getIfblankprocess());
         }
         log.info("开始更新在制品和工序作业输出物料信息");
         // 保存在制品
@@ -614,7 +614,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 // 改为取消方法更新作业输入已取消卷数
                 apsProcessOperationDo.setInputunqualifiedroll(cancelQty + apsProcessOperationDo.getInputunqualifiedroll());
                 //取消和更新作业明细
-                apsProcessOperationService.cancelProcessOperationEqu(cancelQty, apsProcessOperationDo, apsProcessOperationProcessEquDo);
+                apsProcessOperationService.cancelProcessOperationEqu(cancelQty, apsProcessOperationDo, apsProcessOperationProcessEquDo, true);
                 //取消和更新工序作业
                 cancelProcessOperationVo = new CancelProcessOperationVo();
                 cancelProcessOperationVo.setCraftrouteid(null);
@@ -622,6 +622,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 cancelProcessOperationVo.setApsprocessoperationdo(apsProcessOperationDo);
                 cancelProcessOperationVo.setSetincancelroll(false);
                 cancelProcessOperationVo.setUpdatecuropration(false);
+                cancelProcessOperationVo.setBhgCancel(true);
                 apsProcessOperationService.cancelProcessOperation(cancelProcessOperationVo);
                 value = value - cancelQty;
             }
@@ -713,14 +714,14 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         workInProgressInventoryDos.stream()
                 .filter(inventory -> outputNumberList.contains(inventory.getBatchnumber()))
                 .collect(Collectors.toList()).forEach(data -> {
-                    if (StringUtils.isNotBlank(workingProcessStatus)) {
-                        data.setWorkinprocessstatus(workingProcessStatus);
-                    }
-                    if (StringUtils.isNotBlank(workingProcessType)) {
-                        data.setWorkinprocesstype(workingProcessType);
-                    }
+            if (StringUtils.isNotBlank(workingProcessStatus)) {
+                data.setWorkinprocessstatus(workingProcessStatus);
+            }
+            if (StringUtils.isNotBlank(workingProcessType)) {
+                data.setWorkinprocesstype(workingProcessType);
+            }
 
-                });
+        });
         return outputNumberList;
     }
 
@@ -975,7 +976,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                     // 改为取消方法更新作业输入已取消卷数
                     apsProcessOperationDo.setInputunqualifiedroll(cancelQty + apsProcessOperationDo.getInputunqualifiedroll());
                     //取消和更新作业明细
-                    apsProcessOperationService.cancelProcessOperationEqu(cancelQty, apsProcessOperationDo, apsProcessOperationProcessEquDo);
+                    apsProcessOperationService.cancelProcessOperationEqu(cancelQty, apsProcessOperationDo, apsProcessOperationProcessEquDo, true);
                     //取消和更新工序作业
                     cancelProcessOperationVo = new CancelProcessOperationVo();
                     cancelProcessOperationVo.setCraftrouteid(null);
@@ -1143,6 +1144,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
 
     /**
      * 更新该报工记录所有输出物料批次号对应的在制品
+     *
      * @param workInProgressInventoryDos
      * @param apsReportOutputDos
      * @param ifblankprocess
@@ -1158,37 +1160,37 @@ public class ReportCheckServiceImpl implements ReportCheckService {
             workInProgressInventoryDos.stream()
                     .filter(inventory -> apsReportOutputDo.getOutputnumber().equals(inventory.getBatchnumber()))
                     .collect(Collectors.toList()).forEach(data -> {
-                if ("是".equals(ifblankprocess)){
+                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+";");
+                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+";");
+                } 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(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()+";");
+                        } else {
+                            if (StringUtils.isNotBlank(apsReportOutputDo.getCheckremark())) {
+                                data.setRemark("检验备注:" + apsReportOutputDo.getCheckremark() + ";");
                             }
                         }
                     }
@@ -1199,12 +1201,13 @@ public class ReportCheckServiceImpl implements ReportCheckService {
 
     /**
      * 处理主要缺陷/次要缺陷字典值显示为逗号分隔的文本
+     *
      * @param defect
      * @return
      */
-    private String handleDefect(String defect,List<SysDictDo> dictDos) {
+    private String handleDefect(String defect, List<SysDictDo> dictDos) {
         String result = "";
-        if (StringUtils.isNotBlank(defect)){
+        if (StringUtils.isNotBlank(defect)) {
             List<String> dictNameList = new ArrayList<>();
             String[] valuesToLookup = defect.split(",");
             for (SysDictDo sysDictDo : dictDos) {
@@ -1216,8 +1219,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                     }
                 }
             }
-            if (!dictNameList.isEmpty()){
-                result = String.join(",",dictNameList);
+            if (!dictNameList.isEmpty()) {
+                result = String.join(",", dictNameList);
             }
         }
         return result;

+ 4 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationBackupDo.java

@@ -479,6 +479,10 @@ public class ApsProcessOperationBackupDo extends BaseDo implements Serializable
      * 备份日期
      */
     private Date backupdate;
+    /**
+     * 输入不合格卷数
+     */
+    private Integer inputunqualifiednum;
 
 
 

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationDo.java

@@ -476,6 +476,11 @@ public class ApsProcessOperationDo extends BaseDo {
      */
     @TableField("FILE")
     private String file;
+    /**
+     * 输入不合格卷数
+     */
+    @TableField("INPUTUNQUALIFIEDNUM")
+    private Integer inputunqualifiednum;
 
 
 }

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationHistoryDo.java

@@ -468,6 +468,11 @@ public class ApsProcessOperationHistoryDo extends BaseDo {
      */
     @TableField("FILE")
     private String file;
+    /**
+     * 输入不合格卷数
+     */
+    @TableField("INPUTUNQUALIFIEDNUM")
+    private Integer inputunqualifiednum;
 
 
 }

+ 4 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationProcessEquBackupDo.java

@@ -168,4 +168,8 @@ public class ApsProcessOperationProcessEquBackupDo extends BaseDo implements Ser
      * 报工料卷批次号
      */
     private String reportbatchnumber;
+    /**
+     * 输入不合格卷数
+     */
+    private Integer inputunqualifiednum;
 }

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationProcessEquDo.java

@@ -194,4 +194,9 @@ public class ApsProcessOperationProcessEquDo extends BaseDo {
      */
     @TableField("REPORTBATCHNUMBER")
     private String reportbatchnumber;
+    /**
+     * 输入不合格卷数
+     */
+    @TableField("INPUTUNQUALIFIEDNUM")
+    private Integer inputunqualifiednum;
 }

+ 2 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/CancelProcessOperationVo.java

@@ -13,6 +13,8 @@ public class CancelProcessOperationVo {
     private Boolean setincancelroll = true;
     //是否更新本道作业明细
     private Boolean updatecuropration = true;
+    //是否因为检验不合格取消
+    private Boolean bhgCancel = false;
     //修改的作业
     private ApsProcessOperationDo apsprocessoperationdo;
 }