Ver código fonte

aps-订单的评审状态为 待排程、待交期评审、待回复交期或已发布计划,保存坯料计划时将对应的工序作业的输出物料的产品明细ID赋值

sucheng 8 meses atrás
pai
commit
60b8843164

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

@@ -2017,6 +2017,32 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             apsProcessOutputProductService.saveOrUpdateBatch(apsProcessOutputProductDoList);
         }
 
+        //如果订单的评审状态为 待排程、待交期评审、待回复交期或已发布计划,将对应的工序作业的输出物料的产品明细ID赋值
+        ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
+        if (ObjectUtil.isNotEmpty(apsProductionOrderDo)
+                && ObjectUtil.isNotEmpty(apsProductionOrderDo.getAuditstatus())
+                && Arrays.asList("待排程", "待交期评审", "待回复交期", "已发布计划").contains(apsProductionOrderDo.getAuditstatus())) {
+            List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = apsProcessOperationOutMaterService.list(new LambdaQueryWrapper<ApsProcessOperationOutMaterDo>()
+                    .eq(ApsProcessOperationOutMaterDo::getBlankid, apsBlankOrderDo.getId())
+                    .ne(ApsProcessOperationOutMaterDo::getOutputfinishproduct, "")
+                    .isNotNull(ApsProcessOperationOutMaterDo::getOutputfinishproduct));
+            List<ApsProcessOperationOutMaterDo> needUpdateProcessOperationOutMaterList = new LinkedList<>();
+            for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDoList) {
+                for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
+                    if (apsProcessOperationOutMaterDo.getOutputfinishproduct().equals(apsProcessOutputProductDo.getOutputresult())) {
+                        ApsProcessOperationOutMaterDo needUpdate = new ApsProcessOperationOutMaterDo();
+                        needUpdate.setId(apsProcessOperationOutMaterDo.getId());
+                        needUpdate.setOrderdetailid(apsProcessOutputProductDo.getProductid());
+                        needUpdateProcessOperationOutMaterList.add(needUpdate);
+                        break;
+                    }
+                }
+            }
+            if (!needUpdateProcessOperationOutMaterList.isEmpty()) {
+                apsProcessOperationOutMaterService.updateBatchById(needUpdateProcessOperationOutMaterList);
+            }
+        }
+
         //如果在制品不为空,并且为新增备料
         if (ObjectUtil.isNotEmpty(req.getProgressId()) && apsBlankOrderDo.getPreparematerial().equals("是")) {
             //将对应备料库(在制品库存表【aps_work_in_progress_inventory表】)中的备料计划ID(PLANMATERIALID)字段设置为坯料计划的ID

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

@@ -333,6 +333,11 @@ public class ApsProcessOperationOutMaterDo extends BaseDo implements Serializabl
      */
     private Integer splittrainno;
 
+    /**
+     * 产品明细ID
+     */
+    private String orderdetailid;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }

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

@@ -332,6 +332,11 @@ public class ApsProcessOperationOutMaterHistoryDo extends BaseDo implements Seri
      */
     private Integer splittrainno;
 
+    /**
+     * 产品明细ID
+     */
+    private String orderdetailid;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }