|
@@ -19,6 +19,7 @@ import com.rongwei.bscommon.sys.utils.ApsUtils;
|
|
|
import com.rongwei.bsentity.domain.*;
|
|
|
import com.rongwei.bsentity.vo.*;
|
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
|
+import com.rongwei.rwcommon.base.BaseDo;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.rwcommon.base.exception.CustomException;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
@@ -181,6 +182,20 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
logger.error("存在排程交货期大于承诺交货期 的订单:{}", collect);
|
|
|
return R.error(String.format(ERROR_MSG, collect));
|
|
|
}
|
|
|
+ // 获取工序作业明细信息判断是否存在 冲突或者警告
|
|
|
+ List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .in(ApsProcessOperationProcessEquDo::getBlankid, blankIds)
|
|
|
+ .eq(BaseDo::getDeleted, "0"));
|
|
|
+ if(processOperationProcessEquDos.isEmpty()){
|
|
|
+ log.error("当前坯料计划不存在工序作业明细");
|
|
|
+ return R.error("无法根据坯料计划找到工序作业明细");
|
|
|
+ }
|
|
|
+ // 判断是否存在强制冲突不为空的数据
|
|
|
+ boolean b = processOperationProcessEquDos.stream().anyMatch(info -> StringUtils.isNotBlank(info.getConflictdes()));
|
|
|
+ if(b){
|
|
|
+ log.error("存在强制冲突无法发布");
|
|
|
+ return R.error("请先解决冲突在发布");
|
|
|
+ }
|
|
|
// 更新坯料计划的生产状态为已发布
|
|
|
this.update(new LambdaUpdateWrapper<ApsBlankOrderDo>().in(ApsBlankOrderDo::getId, blankIds)
|
|
|
.set(ApsBlankOrderDo::getProductstatus, "30")
|
|
@@ -196,7 +211,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProductDetailDao.updateProductStatusByBlankId(blankIds, "30");
|
|
|
// 更新工序作业明细的生产状态为待开工
|
|
|
processOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .in(ApsProcessOperationProcessEquDo::getBlankid, blankIds)
|
|
|
+ .in(ApsProcessOperationProcessEquDo::getId, processOperationProcessEquDos.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()))
|
|
|
.set(ApsProcessOperationProcessEquDo::getLockmark, LOCKMARK_Y)
|
|
|
.set(ApsProcessOperationProcessEquDo::getWorkstatus, JOBSTATUS_TO_BE_START)
|
|
|
);
|