|
@@ -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);
|