瀏覽代碼

aps-报工相关冗余字段

sucheng 3 月之前
父節點
當前提交
c976c54e8e

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

@@ -1479,6 +1479,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             workInProgressInventoryDo.setPlanblankid(apsBlankOrderDo.getId());
             workInProgressInventoryDo.setBlanknumber(apsBlankOrderDo.getBlanknumber());
             workInProgressInventoryDo.setPickingbatchnumber(apsProcessOperationProcessEquDo.getBlankbatchnumber());
+            //生产卡片ID
+            workInProgressInventoryDo.setCardid(apsProcessOperationProcessEquDo.getRoottaskid());
 
             needAddWorkInProgressInventoryList.add(workInProgressInventoryDo);
         }
@@ -2210,6 +2212,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         apsReportRecordsDo.setReportprocess(apsProcessOperationDo.getProcess());
         apsReportRecordsDo.setReportprocessname(apsProcessOperationDo.getProcessname());
         apsReportRecordsDo.setReportifblankprocess(apsProcessOperationDo.getIfblankprocess());
+        //生产卡片ID=第一道的明细ID
+        apsReportRecordsDo.setCardid(apsProcessOperationProcessEquDo.getRoottaskid());
         if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
             List<String> nextEquIds = Arrays.asList(apsProcessOperationProcessEquDo.getNextprocessesids().split(","));
             List<ApsProcessOperationProcessEquDo> nextEquDos = (List<ApsProcessOperationProcessEquDo>) apsProcessOperationProcessEquService.listByIds(nextEquIds);

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

@@ -133,25 +133,42 @@ public class ReportCheckServiceImpl implements ReportCheckService {
             }
             LambdaUpdateWrapper<ApsReportRecordsDo> reportUpdateWrapper = new LambdaUpdateWrapper<>();
             //根据输出物料信息,赋值更新报工记录的合格信息
+            //定义检验等级排序,从大->小
+            List<String> checkLevelOrder = Arrays.asList("待判", "不合格", "BC级", "B级");
+            ApsReportOutputDo minReportOutput = reportOutputDos.stream().min(Comparator.comparingInt(a -> checkLevelOrder.indexOf(a.getInsepctionlevel()))).orElse(null);
+            //检验等级
+            String checkLevel = "待判";
+            if (minReportOutput != null) {
+                checkLevel = minReportOutput.getInsepctionlevel();
+            }
+            reportUpdateWrapper.set(ApsReportRecordsDo::getChecklevel, checkLevel);
+            //如果是否坯料工序=是,坯料等级=检验等级
+            if (reportRecordsDo.getReportifblankprocess().equals("是")) {
+                reportUpdateWrapper.set(ApsReportRecordsDo::getBlanklevel, checkLevel);
+            }
             //查询不合格的输出
             List<ApsReportOutputDo> unQualifiedList = reportOutputDos.stream().filter(item -> item.getQualified().equals("否")).collect(Collectors.toList());
-            if (unQualifiedList.isEmpty()) {
-                reportUpdateWrapper.set(ApsReportRecordsDo::getQualified, "是");
-            } else {
-                reportUpdateWrapper.set(ApsReportRecordsDo::getQualified, "否");
-                String defectdesc = "";
-                for (ApsReportOutputDo apsReportOutputDo : unQualifiedList) {
-                    String mainError = "";
-                    String secondError = "";
-                    if (StringUtils.isNotBlank(apsReportOutputDo.getMajordesc())) {
-                        mainError = apsReportOutputDo.getMajordesc();
-                    }
-                    if (StringUtils.isNotBlank(apsReportOutputDo.getMinordesc())) {
-                        secondError = apsReportOutputDo.getMinordesc();
+            //查询待判的输出
+            List<ApsReportOutputDo> waitCheckList = reportOutputDos.stream().filter(item -> StringUtils.isBlank(item.getQualified()) && item.getInsepctionlevel().equals("待判")).collect(Collectors.toList());
+            if (waitCheckList.isEmpty()) {
+                if (unQualifiedList.isEmpty()) {
+                    reportUpdateWrapper.set(ApsReportRecordsDo::getQualified, "是");
+                } else {
+                    reportUpdateWrapper.set(ApsReportRecordsDo::getQualified, "否");
+                    String defectdesc = "";
+                    for (ApsReportOutputDo apsReportOutputDo : unQualifiedList) {
+                        String mainError = "";
+                        String secondError = "";
+                        if (StringUtils.isNotBlank(apsReportOutputDo.getMajordesc())) {
+                            mainError = apsReportOutputDo.getMajordesc();
+                        }
+                        if (StringUtils.isNotBlank(apsReportOutputDo.getMinordesc())) {
+                            secondError = apsReportOutputDo.getMinordesc();
+                        }
+                        defectdesc += apsReportOutputDo.getOutputnumber() + "-主要缺陷:" + mainError + ";次要缺陷:" + secondError + "。";
                     }
-                    defectdesc += apsReportOutputDo.getOutputnumber() + "-主要缺陷:" + mainError + ";次要缺陷:" + secondError + "。";
+                    reportUpdateWrapper.set(ApsReportRecordsDo::getDefectdesc, defectdesc);
                 }
-                reportUpdateWrapper.set(ApsReportRecordsDo::getDefectdesc, defectdesc);
             }
 
             apsReportRecordsService.update(reportUpdateWrapper.eq(ApsReportRecordsDo::getId, id)

+ 17 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportRecordsDo.java

@@ -274,6 +274,23 @@ public class ApsReportRecordsDo extends BaseDo implements Serializable {
      * 缺陷描述
      */
     private String defectdesc;
+    /**
+     * 坯料等级
+     */
+    private String blanklevel;
+    /**
+     * 检验等级
+     */
+    private String checklevel;
+    /**
+     * 第一道明细ID
+     */
+    private String firstprocessequid;
+    /**
+     * 生产卡片ID
+     */
+    private String cardid;
+
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;

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

@@ -193,6 +193,10 @@ public class ApsWorkInProgressInventoryDo extends BaseDo implements Serializable
      * 领料批次号
      */
     private String pickingbatchnumber;
+    /**
+     * 生产卡片ID
+     */
+    private String cardid;
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;