Explorar o código

aps-备料借调修改

sucheng hai 3 meses
pai
achega
fac31b0097

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

@@ -2248,8 +2248,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         //(即:坯料的是否备料=是,并且所选在制品的备料计划ID不为空,并且不是该备料计划ID),
         //则错误提示:所选在制品已被其他备料计划使用
         ApsWorkInProgressInventoryDo progressWork = null;
-        if (apsBlankOrderDo.getPreparematerial().equals("是") && ObjectUtil.isNotEmpty(req.getProgressId())) {
-            progressWork = apsWorkInProgressInventoryService.getById(req.getProgressId());
+        if (apsBlankOrderDo.getPreparematerial().equals("是") && ObjectUtil.isNotEmpty(apsBlankOrderDo.getPreparematerialbatchno())) {
+            List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new LambdaQueryWrapper<ApsWorkInProgressInventoryDo>()
+                    .eq(ApsWorkInProgressInventoryDo::getBatchnumber, apsBlankOrderDo.getPreparematerialbatchno()));
+            if (apsWorkInProgressInventoryDos.isEmpty()) {
+                throw new CustomException("未在在制品库存中找到该批次号");
+            }
+            progressWork = apsWorkInProgressInventoryDos.get(0);
             if (ObjectUtil.isNotEmpty(progressWork.getPlanmaterialid())) {
                 return R.error("所选在制品已被其他备料计划使用");
             }
@@ -2473,19 +2478,20 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         }
 
         //如果在制品不为空,并且为新增备料
-        if (ObjectUtil.isNotEmpty(req.getProgressId()) && apsBlankOrderDo.getPreparematerial().equals("是")) {
+        if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getPreparematerialbatchno()) && apsBlankOrderDo.getPreparematerial().equals("是") && progressWork != null) {
             //将对应备料库(在制品库存表【aps_work_in_progress_inventory表】)中的备料计划ID(PLANMATERIALID)字段设置为坯料计划的ID
 //            ApsWorkInProgressInventoryDo apsWorkInProgressInventoryDo = new ApsWorkInProgressInventoryDo();
 //            apsWorkInProgressInventoryDo.setId(req.getProgressId());
 //            apsWorkInProgressInventoryDo.setPlanmaterialid(apsBlankOrderDo.getId());
 //            apsWorkInProgressInventoryDo.setWorkinprocessstatus(SaveConstans.WorkInProgressStatus.WAIT_WORK);
 //            apsWorkInProgressInventoryService.updateById(apsWorkInProgressInventoryDo);
+            String progressId = progressWork.getId();
             apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
                     .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, apsBlankOrderDo.getId())
                     .setSql("PREVIOUSWORKINPROCESSSTATUS = WORKINPROCESSSTATUS")
                     .set(ApsWorkInProgressInventoryDo::getWorkinprocessstatus, SaveConstans.WorkInProgressStatus.WAIT_WORK)
                     .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
-                    .eq(ApsWorkInProgressInventoryDo::getId, req.getProgressId()));
+                    .eq(ApsWorkInProgressInventoryDo::getId, progressId));
 
             //借调逻辑
             borrowBlank(progressWork);