mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
排单保存优化接口参数修改
This commit is contained in:
+3
-4
@@ -6,7 +6,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -18,11 +17,11 @@ public class SavePlanPlateResultReqVO {
|
|||||||
private List<OptimizeBoardModelDO> optimizeBoardModelDOS;
|
private List<OptimizeBoardModelDO> optimizeBoardModelDOS;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "方案组的配置项ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "方案组的配置项ID")
|
||||||
@NotNull(message = "方案组的配置项ID不能为空")
|
// @NotNull(message = "方案组的配置项ID不能为空")
|
||||||
private Long planConfigId;
|
private Long planConfigId;
|
||||||
|
|
||||||
@Schema(description = "方案组的ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "方案组的ID")
|
||||||
// @NotNull(message = "方案组的ID不能为空")
|
// @NotNull(message = "方案组的ID不能为空")
|
||||||
private Long processId;
|
private Long processId;
|
||||||
|
|
||||||
|
|||||||
+4
@@ -31,6 +31,10 @@ public class OptimizeBoardModelDO extends ESDocument {
|
|||||||
private List<Long> orderId;
|
private List<Long> orderId;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "方案组的ID")
|
||||||
|
private Long processId;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "方案组的配置项ID")
|
@Schema(description = "方案组的配置项ID")
|
||||||
private Long planConfigId;
|
private Long planConfigId;
|
||||||
|
|
||||||
|
|||||||
+51
-48
@@ -25,6 +25,7 @@ import com.cf.imes.framework.common.exception.ServiceException;
|
|||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
import com.cf.imes.framework.common.util.Assert.AssertUtils;
|
import com.cf.imes.framework.common.util.Assert.AssertUtils;
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
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.es.core.service.ESDocumentService;
|
||||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||||
import com.cf.imes.framework.security.core.LoginUser;
|
import com.cf.imes.framework.security.core.LoginUser;
|
||||||
@@ -144,6 +145,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
private static final String FIELD_SORT = " order by createTime desc ";
|
private static final String FIELD_SORT = " order by createTime desc ";
|
||||||
private static final String FIELD_IS_OPTIMIZED = " op.is_optimized";
|
private static final String FIELD_IS_OPTIMIZED = " op.is_optimized";
|
||||||
private static final String FIELD_PLAN_CONFIG_ID = "planConfigId";
|
private static final String FIELD_PLAN_CONFIG_ID = "planConfigId";
|
||||||
|
private static final String FIELD_PROCESS_ID = "processId";
|
||||||
private static final String FIELD_UPDATETIME = "updateTime";
|
private static final String FIELD_UPDATETIME = "updateTime";
|
||||||
|
|
||||||
private static final String ES_ORDER_MODEL_DATA_ERROR = "生产单板材造型信息ES文档查询数据异常: ";
|
private static final String ES_ORDER_MODEL_DATA_ERROR = "生产单板材造型信息ES文档查询数据异常: ";
|
||||||
@@ -575,7 +577,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
|
|
||||||
List<Long> orderIds = JSON.parseArray(orderNos).toJavaList(Long.class).stream().distinct().toList();
|
List<Long> orderIds = JSON.parseArray(orderNos).toJavaList(Long.class).stream().distinct().toList();
|
||||||
|
|
||||||
// List<Long> orderIds = goodsDOS.stream().map(GoodsReqVO::getOrderId).distinct().toList();
|
|
||||||
|
|
||||||
List<Long> ids = goodsDOS.stream().map(GoodsReqVO::getId).toList();
|
List<Long> ids = goodsDOS.stream().map(GoodsReqVO::getId).toList();
|
||||||
|
|
||||||
@@ -603,7 +604,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
|
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
|
||||||
|
|
||||||
AssertUtils.notEmpty(orderDOS,ORDER_PLAN_ERROR);
|
AssertUtils.notEmpty(orderDOS,ORDER_PLAN_ERROR);
|
||||||
//
|
|
||||||
|
|
||||||
// 造型数据的尺寸长度
|
// 造型数据的尺寸长度
|
||||||
Integer orderModelSize = plateDetailRespVOS.size();
|
Integer orderModelSize = plateDetailRespVOS.size();
|
||||||
@@ -625,12 +626,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
// 获取混单时选择的实际开料的大板信息
|
// 获取混单时选择的实际开料的大板信息
|
||||||
List<PlanActualGoodsModelDO> planActualGoodsModelDOS = esUtils.getEsDocument(FIELD_PLAN_ID, planId, PLAN_ACTUAL_GOODS_MODEL, PlanActualGoodsModelDO.class);
|
List<PlanActualGoodsModelDO> planActualGoodsModelDOS = esUtils.getEsDocument(FIELD_PLAN_ID, planId, PLAN_ACTUAL_GOODS_MODEL, PlanActualGoodsModelDO.class);
|
||||||
|
|
||||||
// PlanActualGoodsModelDO planActualGoodsModelDO = new PlanActualGoodsModelDO();
|
|
||||||
//
|
|
||||||
// if(CollUtil.isNotEmpty(planActualGoodsModelDOS)){
|
|
||||||
//
|
|
||||||
// planActualGoodsModelDO = planActualGoodsModelDOS.get(0);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 查询生产单对应的配件信息
|
// 查询生产单对应的配件信息
|
||||||
List<PrintOrderPartsRespVO> printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId());
|
List<PrintOrderPartsRespVO> printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId());
|
||||||
@@ -678,45 +673,49 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
|
|
||||||
OptimizeBoardModelDO boardModelDO = req.getOptimizeBoardModelDOS().get(0);
|
OptimizeBoardModelDO boardModelDO = req.getOptimizeBoardModelDOS().get(0);
|
||||||
|
|
||||||
Long processId = req.getProcessId();
|
|
||||||
|
|
||||||
// List<ActualGoodsList> actualGoodsLists = Optional.ofNullable(boardModelDO.getActualGoodsList()).orElse(new ArrayList<>());
|
|
||||||
//
|
|
||||||
// AssertUtils.notEmpty(actualGoodsLists,PLAN_NO_ACTUAL_PLATE);
|
|
||||||
|
|
||||||
Long planId = boardModelDO.getPlanId();
|
Long planId = boardModelDO.getPlanId();
|
||||||
|
|
||||||
|
|
||||||
|
// // 延长操作用户的缓存时间
|
||||||
|
// redisInsertPlanCreator(planId);
|
||||||
|
//
|
||||||
|
// // 校验是否当前登陆的用户操作排单
|
||||||
|
// validatePlanCreator(planId);
|
||||||
|
|
||||||
|
|
||||||
PlanDO planDO = planMapper.selectById(planId);
|
PlanDO planDO = planMapper.selectById(planId);
|
||||||
|
|
||||||
AssertUtils.notEmpty(planDO,ORDER_PLAN_DATE_ERROR);
|
AssertUtils.notEmpty(planDO,ORDER_PLAN_DATE_ERROR);
|
||||||
|
|
||||||
List<OptimizeBoardModelDO> optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLAN_CONFIG_ID,FIELD_PLAN_ID,req.getPlanConfigId(), planId, ORDER_OPTIMIZE_PLATE_MODEL, OptimizeBoardModelDO.class);
|
boardModelDO.setProcessId(req.getProcessId());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List<OptimizeBoardModelDO> optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLAN_CONFIG_ID,FIELD_PLAN_ID,req.getPlanConfigId(), planId, ORDER_OPTIMIZE_PLATE_MODEL, OptimizeBoardModelDO.class);
|
||||||
|
|
||||||
// List<Boolean> isLocks = new ArrayList<>();
|
|
||||||
|
|
||||||
// 查询原优化信息然后进行判断
|
// 查询原优化信息然后进行判断
|
||||||
if(CollUtil.isNotEmpty(optimizeBoardModelDOS)){
|
// if(CollUtil.isNotEmpty(optimizeBoardModelDOS)){
|
||||||
|
//
|
||||||
if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
// if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
||||||
throw exception(THIS_PLAN_OPTIMIZE_DATA_ERROR);
|
// throw exception(THIS_PLAN_OPTIMIZE_DATA_ERROR);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// isLocks.addAll(optimizeBoardModelDOS.stream().map(OptimizeBoardModelDO::getIsLock).distinct().toList());
|
//
|
||||||
|
// OptimizeBoardModelDO optimizeBoardModelDO = optimizeBoardModelDOS.get(0);
|
||||||
OptimizeBoardModelDO optimizeBoardModelDO = optimizeBoardModelDOS.get(0);
|
//
|
||||||
|
// Boolean isLock = Optional.ofNullable(optimizeBoardModelDO.getIsLock()).orElse(false);
|
||||||
Boolean isLock = Optional.ofNullable(optimizeBoardModelDO.getIsLock()).orElse(false);
|
//
|
||||||
|
// LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
// assert loginUser != null;
|
||||||
assert loginUser != null;
|
//
|
||||||
|
// Boolean data = permissionApi.hasAnyPermissions(loginUser.getId(), "placeorder:list").getCheckedData();
|
||||||
Boolean data = permissionApi.hasAnyPermissions(loginUser.getId(), "placeorder:list").getCheckedData();
|
//
|
||||||
|
// if(Boolean.TRUE.equals(isLock) && planDO.getIsScheduled().equals(true) && Boolean.FALSE.equals(data)){
|
||||||
if(Boolean.TRUE.equals(isLock) && planDO.getIsScheduled().equals(true) && Boolean.FALSE.equals(data)){
|
// throw exception(THIS_PLAN_OPTIMIZE_IS_LOCK);
|
||||||
throw exception(THIS_PLAN_OPTIMIZE_IS_LOCK);
|
// }
|
||||||
}
|
//
|
||||||
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
List<PlateDO> plateDOS = planItemMapper.selectOrderPlanPlateListByPlanId(planId,getUserOrganId());
|
List<PlateDO> plateDOS = planItemMapper.selectOrderPlanPlateListByPlanId(planId,getUserOrganId());
|
||||||
@@ -730,19 +729,23 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
plateMapper.updateBatch(plateDOS);
|
plateMapper.updateBatch(plateDOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 这个逻辑暂时先不用,等后面方案组逻辑完善后可加入
|
if(!planDO.getProcessId().equals(req.getProcessId())) {
|
||||||
// if(processId != null && !planDO.getProcessId().equals(processId)) {
|
|
||||||
//
|
|
||||||
// validatePlanStatus(planDO,isLocks);
|
|
||||||
//
|
|
||||||
// planMapper.updateById(planDO.setProcessId(processId));
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
esUtils.deleteEsDocument(FIELD_PLAN_ID,FIELD_PLAN_CONFIG_ID,planId,req.getPlanConfigId(),ORDER_OPTIMIZE_PLATE_MODEL);
|
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,req.getOptimizeBoardModelDOS());
|
esUtils.saveEsDocument(ORDER_OPTIMIZE_PLATE_MODEL, (List<? extends ESDocument>) boardModelDO);
|
||||||
|
|
||||||
|
|
||||||
// ES文档数据刷新
|
// ES文档数据刷新
|
||||||
|
|||||||
Reference in New Issue
Block a user