排单优化保存接口逻辑补全,remainBoardList 类型校验

This commit is contained in:
liuzhaotian
2025-03-26 15:22:35 +08:00
parent 183805b9c2
commit 1267ce6c63
@@ -25,7 +25,6 @@ import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.Assert.AssertUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.es.core.dal.ESDocument;
import com.cf.imes.framework.es.core.service.ESDocumentService;
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
import com.cf.imes.framework.security.core.LoginUser;
@@ -673,6 +672,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
OptimizeBoardModelDO boardModelDO = req.getOptimizeBoardModelDOS().get(0);
if (boardModelDO.getRemainBoardList() == null || (boardModelDO.getRemainBoardList().size() == 1 && boardModelDO.getRemainBoardList().get(0) == null)) {
boardModelDO.setRemainBoardList(new ArrayList<>());
}
Long planId = boardModelDO.getPlanId();
@@ -687,7 +691,61 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
AssertUtils.notEmpty(planDO,ORDER_PLAN_DATE_ERROR);
boardModelDO.setProcessId(req.getProcessId());
if(req.getProcessId() != null){
boardModelDO.setProcessId(req.getProcessId());
if(!planDO.getProcessId().equals(req.getProcessId())) {
planDO.setProcessId(req.getProcessId());
planMapper.updateById(planDO);
}
esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PROCESS_ID, planId, req.getProcessId(), ORDER_OPTIMIZE_PLATE_MODEL);
}else {
boardModelDO.setProcessId(planDO.getProcessId());
}
// List<OptimizeBoardModelDO> document = esUtils.getEsDocument(FIELD_PLAN_ID, planId, ORDER_OPTIMIZE_PLATE_MODEL, OptimizeBoardModelDO.class);
//
// List<OptimizeBoardModelDO> list = document.stream().filter(f -> f.getProcessId() == null).toList();
//
// if(CollUtil.isNotEmpty(list)){
//
// esUtils.deleteEsDocument(FIELD_PLAN_ID,planId, ORDER_OPTIMIZE_PLATE_MODEL);
// }
if(req.getPlanConfigId() != null && req.getProcessId() == null){
esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PLAN_CONFIG_ID, planId, req.getPlanConfigId(), ORDER_OPTIMIZE_PLATE_MODEL);
}
List<PlateDO> plateDOS = planItemMapper.selectOrderPlanPlateListByPlanId(planId,getUserOrganId());
if(CollUtil.isNotEmpty(plateDOS)) {
plateDOS.forEach(f -> {
f.setIsOptimized(true);
});
plateMapper.updateBatch(plateDOS);
}
// 保存优化后的大板数据
esUtils.saveEsDocument(ORDER_OPTIMIZE_PLATE_MODEL, Collections.singletonList(boardModelDO));
// ES文档数据刷新
esUtils.refresh(ORDER_OPTIMIZE_PLATE_MODEL);
@@ -718,40 +776,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// }
List<PlateDO> plateDOS = planItemMapper.selectOrderPlanPlateListByPlanId(planId,getUserOrganId());
if(CollUtil.isNotEmpty(plateDOS)) {
plateDOS.forEach(f -> {
f.setIsOptimized(true);
});
plateMapper.updateBatch(plateDOS);
}
if(!planDO.getProcessId().equals(req.getProcessId())) {
planDO.setProcessId(req.getProcessId());
planMapper.updateById(planDO);
List<OptimizeBoardModelDO> document = esUtils.getEsDocument(FIELD_PLAN_ID, planId, ORDER_OPTIMIZE_PLATE_MODEL, OptimizeBoardModelDO.class);
if(CollUtil.isNotEmpty(document)) {
List<Long> list = document.stream().filter(f -> f.getProcessId() != null).map(m -> m.getProcessId()).toList();
if(CollUtil.isNotEmpty(list)) {
esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PROCESS_ID, planId, req.getProcessId(), ORDER_OPTIMIZE_PLATE_MODEL);
}
}
}
// 保存优化后的大板数据
esUtils.saveEsDocument(ORDER_OPTIMIZE_PLATE_MODEL, Collections.singletonList(boardModelDO));
// ES文档数据刷新
esUtils.refresh(ORDER_OPTIMIZE_PLATE_MODEL);
}