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:
+8
-23
@@ -139,6 +139,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
private PlanItemMapper planItemMapper;
|
||||
|
||||
private static final String FIELD_ORDER_ID = "orderId";
|
||||
private static final String FIELD_PLATE_ID = "plateId";
|
||||
private static final String FIELD_PLAN_ID = "planId";
|
||||
private static final String FIELD_GOODS_ID = "goodsId";
|
||||
private static final String FIELD_SORT = " order by createTime desc ";
|
||||
@@ -520,8 +521,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
// 造型数据的尺寸长度
|
||||
Integer orderModelSize = plateDOS.size();
|
||||
|
||||
List<Long> plateIdList = plateDOS.stream().map(PlateDetailRespVO::getPlateId).distinct().toList();
|
||||
|
||||
List<OrderModelDO> orderModelDOS = esUtils.getEsDocument(FIELD_ORDER_ID, orderId, orderModelSize, OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class);
|
||||
List<OrderModelDO> orderModelDOS = esUtils.getEsDocument(FIELD_ORDER_ID,FIELD_PLATE_ID, orderId,plateIdList, orderModelSize, OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class);
|
||||
|
||||
|
||||
AssertUtils.notEmpty(orderModelDOS,ORDER_PLATE_MODEL_DATE_ERROR);
|
||||
@@ -611,7 +613,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
// 需要查询小板造型信息的板材ID
|
||||
List<Long> plateIds = plateDetailRespVOS.stream().map(PlateDetailRespVO::getPlateId).toList();
|
||||
|
||||
List<OrderModelDO> orderModelDOS = esUtils.getEsDocument("plateId", plateIds, orderModelSize, OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class);
|
||||
List<OrderModelDO> orderModelDOS = esUtils.getEsDocument(FIELD_PLATE_ID, plateIds, orderModelSize, OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class);
|
||||
|
||||
AssertUtils.notEmpty(orderModelDOS,ORDER_PLAN_PLATE_MODEL_DATE_ERROR);
|
||||
|
||||
@@ -698,7 +700,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
}
|
||||
|
||||
esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PROCESS_ID, planId, req.getProcessId(), ORDER_OPTIMIZE_PLATE_MODEL);
|
||||
if(boardModelDO.getProcessId() == null) {
|
||||
esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PROCESS_ID, planId, req.getProcessId(), ORDER_OPTIMIZE_PLATE_MODEL);
|
||||
}
|
||||
|
||||
}else {
|
||||
|
||||
@@ -801,22 +805,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
// 如果方案组ID不相等,就删除旧的方案组信息,再保存新的加工方案组ID
|
||||
if(!planDO.getProcessId().equals(processId)){
|
||||
|
||||
// validatePlanStatus(planDO,isLocks);
|
||||
|
||||
if(planDO.getStatus().equals(PlanStatusEnum.OPENING.getStatus()) || planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
||||
throw exception(THIS_PLAN_PLATE_IS_CUT);
|
||||
}
|
||||
|
||||
|
||||
// todo 是否全部执行的判断,需要等前端完善加工方案那边的逻辑后,再判断
|
||||
// Integer processSize = systemConfigApi.getProcessSizeByIds(Collections.singletonList(planDO.getProcessId())).getCheckedData();
|
||||
//
|
||||
// List<SaveProcessSchemeModelDO> processSchemeModelDOS = esUtils.getEsDocument(FIELD_PLAN_ID, planId, processSize, PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL, SaveProcessSchemeModelDO.class);
|
||||
//
|
||||
// if(CollUtil.isNotEmpty(processSchemeModelDOS) && processSize == processSchemeModelDOS.size()){
|
||||
// throw exception(THIS_PLAN_SCHEME_OPTIMIZE_SIZE_ERROR);
|
||||
// }
|
||||
|
||||
planMapper.updateById(planDO.setProcessId(processId));
|
||||
|
||||
|
||||
@@ -837,8 +830,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
esUtils.saveEsDocument(PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL,schemeModelDOS);
|
||||
|
||||
// esUtils.refresh(PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -883,12 +874,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
planProcessSchemeList.setProcessSchemeList(schemeDTOList);
|
||||
|
||||
|
||||
validatePlanExists(planId);
|
||||
|
||||
// 查询排单对应的方案组信息
|
||||
// List<SaveProcessSchemeModelDO> saveProcessSchemeReqVOS = Optional.ofNullable(esUtils.getEsDocument(FIELD_PLAN_ID, planId, PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL, SaveProcessSchemeModelDO.class)).orElse(new ArrayList<>());
|
||||
|
||||
List<SaveProcessSchemeModelDO> saveProcessSchemeReqVOS = esUtils.getEsDocument(FIELD_PLAN_ID, planId, PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL, SaveProcessSchemeModelDO.class);
|
||||
|
||||
|
||||
@@ -913,12 +901,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
planProcessSchemeList.setSaveProcessSchemeReqVOS(saveProcessSchemeReqVOS);
|
||||
|
||||
|
||||
@@ -1039,7 +1025,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
// 需要查询的小板造型信息的板材ID
|
||||
List<Long> plateIds = plateDetailRespVOS.stream().map(PlateDetailRespVO::getPlateId).toList();
|
||||
|
||||
List<OrderModelDO> orderModelDOS = esUtils.getEsDocument("plateId", plateIds, orderModelSize, OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class);
|
||||
List<OrderModelDO> orderModelDOS = esUtils.getEsDocument(FIELD_PLATE_ID, plateIds, orderModelSize, OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class);
|
||||
|
||||
AssertUtils.notEmpty(plateDetailRespVOS,ORDER_PLATE_MODEL_DATE_ERROR);
|
||||
|
||||
@@ -1131,7 +1117,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
|
||||
|
||||
|
||||
if(CharSequenceUtil.isNotBlank(modelDataFilter)){
|
||||
|
||||
Map<Long, List<OrderPlateModel>> orderPlateModelMap = getOrderPlateModelList(conversion(orderIdLists.toString()), null, logicalOperator, modelDataFilter, pageReqVO,FIELD_ORDER_ID);
|
||||
|
||||
+33
@@ -219,6 +219,39 @@ public class EsUtils {
|
||||
}
|
||||
|
||||
|
||||
public <T> List<T> getEsDocument(String filedName1,String filedName2, Long value1,List<Long> value2,Integer size, String index, Class<T> targetClass) {
|
||||
|
||||
List<FieldValue> fieldValues2 = value2.stream().map(FieldValue::of).toList();
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
|
||||
builder.query(q->q.bool(b->b.filter(f->{
|
||||
f.term(t->t.field(filedName1).value(value1));
|
||||
f.terms(t->t.field(filedName2).terms(e->e.value(fieldValues2)));
|
||||
return f;
|
||||
})));
|
||||
|
||||
try {
|
||||
SearchResponse<T> search = elasticsearchClient.search(builder.build(), targetClass);
|
||||
List<Hit<T>> hits = search.hits().hits();
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).toList();
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}catch (JsonpMappingException e){
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(ORDER_DATA_ERROR);
|
||||
}catch (IOException | ElasticsearchException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(DATA_DATA_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ES 文档删除
|
||||
public void deleteEsDocument(String filedName,Long value, String index) {
|
||||
|
||||
+5
-5
@@ -304,24 +304,22 @@ public class ErrorCodeConstants {
|
||||
|
||||
//=========== 断言提示信息 1-002-041-000 ============
|
||||
public static final ErrorCode ORDER_DATE_ERROR = new ErrorCode(1_002_041_001, "生产单信息不存在,请重新进入或切换生产单");
|
||||
public static final ErrorCode ORDER_PLATE_ERROR = new ErrorCode(1_002_041_002, "生产单对应的板材数据为空,请检查是否为空单或重新导入生产单,或联系客服");
|
||||
public static final ErrorCode ORDER_PLATE_ERROR = new ErrorCode(1_002_041_002, "生产单对应的板材数据为空,请检查是否为空单或重新导入生产单");
|
||||
public static final ErrorCode ORDER_PLAN_DATE_ERROR = new ErrorCode(1_002_041_004, "排单信息不存在,请重新进入或切换排单");
|
||||
public static final ErrorCode ORDER_PLAN_OPTIMIZE_ERROR = new ErrorCode(1_002_041_005, "当前排单对应的优化数据为空,请重新进行优化");
|
||||
public static final ErrorCode ORDER_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_006, "生产单对应的板材造型数据为空,请重新导入生产单");
|
||||
public static final ErrorCode ORDER_PLAN_PLATE_ERROR = new ErrorCode(1_002_041_007, "当前排单对应的板材数据有异常,请查看板材信息");
|
||||
public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_002_041_008, "当前排单对应的生产单数据为空,请删掉排单并重新创建排单");
|
||||
public static final ErrorCode ORDER_PLAN_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_009, "当前排单对应的板材造型数据为空,请重新导入生产单并排单");
|
||||
public static final ErrorCode ORDER_GOODS_DATA_ERROR = new ErrorCode(1_002_041_010, "当前大板数据异常,请检查大板信息或者联系客服");
|
||||
public static final ErrorCode ORDER_PACK_DATA_NULL_ERROR = new ErrorCode(1_002_041_011, "当前包裹数据为空,请重新查看包裹数据或联系客服");
|
||||
public static final ErrorCode ORDER_GOODS_DATA_ERROR = new ErrorCode(1_002_041_010, "当前大板数据异常,请重新导入该生产单");
|
||||
public static final ErrorCode ORDER_PACK_DATA_NULL_ERROR = new ErrorCode(1_002_041_011, "当前包裹数据为空,请重新查看包裹数据");
|
||||
public static final ErrorCode ORDER_PLAN_NO_OPTIMIZE_UPDATE_ERROR = new ErrorCode(1_002_041_014, "当前排单还未保存优化结果,无法对开料结果进行修改");
|
||||
public static final ErrorCode ORDER_NO_DATA_ERROR = new ErrorCode(1_002_041_015, "生产单信息为空,请检查生产单信息");
|
||||
public static final ErrorCode ORDER_PACK_ERROR = new ErrorCode(1_002_041_018, "当前生产单信息有误,请重新选择包裹");
|
||||
public static final ErrorCode ORDER_PACK_DATA_ERROR = new ErrorCode(1_002_041_019, "当前包裹信息有误,请重新选择包裹");
|
||||
public static final ErrorCode PLAN_BODY_DATA_ERROR = new ErrorCode(1_002_041_019, "当前排单的生产单对应的柜体数据异常,请查看柜体数据或联系客服");
|
||||
public static final ErrorCode ADVANCED_SCREENING_CONFIG_ERROR = new ErrorCode(1_002_041_024, "当前筛选的配置有误,请重新进行配置");
|
||||
public static final ErrorCode PLAN_GOODS_DATA_ERROR = new ErrorCode(1_002_041_027, "当前排单未保存大板和小板信息,请重新进行排单");
|
||||
public static final ErrorCode PLAN_PLATE_IS_CUTTED = new ErrorCode(1_002_041_028, "当前删除的小板中已有小板开料,无法删除!");
|
||||
public static final ErrorCode PLAN_NO_ACTUAL_PLATE = new ErrorCode(1_002_041_030, "当前排单未选择实际开料的大板信息,无法保存优化结果");
|
||||
public static final ErrorCode PROCESS_CONFIG_DEFAULT_DATA_ERROR = new ErrorCode(1_002_041_031, "当前组织没有默认的加工方案组,请在系统配置中进行配置");
|
||||
public static final ErrorCode THIS_PROCESS_CONFIG_DATA_ERROR = new ErrorCode(1_002_041_032, "当前选择的加工方案组配置有误,请选择其他方案组或重新配置该方案组");
|
||||
public static final ErrorCode CREAT_PLAN_PLATE_DATA_ERROR = new ErrorCode(1_002_041_033, "当前板材已有小板创建板材,请重新查询生产单信息再创建");
|
||||
@@ -342,6 +340,8 @@ public class ErrorCodeConstants {
|
||||
public static final ErrorCode THIS_PLATE_IS_OPTIMIZE = new ErrorCode(1_002_041_049, "小板:{},已开料,无法删除,请重新选择小板再删除");
|
||||
public static final ErrorCode PLAN_INSERT_PLATE_ERROR = new ErrorCode(1_002_041_050, "当前排单无法新增自增小板,请删除排单重新创建");
|
||||
public static final ErrorCode PART_PACK_DATA_ERROR = new ErrorCode(1_002_041_051, "当前包裹数据为空,无法进行操作,请删除包裹");
|
||||
public static final ErrorCode PLAN_IS_OPERATOR = new ErrorCode(1_002_041_052, "当前排单正在被用户:{} 操作,无法继续操作");
|
||||
public static final ErrorCode PLAN_IS_OPERATOR_NOT = new ErrorCode(1_002_041_053, "排单:{} ,正在被用户:{} 操作,无法继续操作");
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user