mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
1、cad拆单支持造型数据压缩存入mysql;2、未排单数据、计算用板量、优化生产接口支持mysql造型数据替换es造型数据;
This commit is contained in:
+2
-1
@@ -220,5 +220,6 @@ public class PlateDetailRespVO {
|
||||
@Schema(description = "加工组名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<ProcessGroupList> processGroupLists;
|
||||
|
||||
|
||||
@Schema(description = "造型数据")
|
||||
private String modelData;
|
||||
}
|
||||
|
||||
+25
-20
@@ -1,7 +1,6 @@
|
||||
package com.cf.imes.module.executor.service.optimizeplan;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.PageUtil;
|
||||
@@ -20,6 +19,7 @@ import co.elastic.clients.elasticsearch.sql.TranslateRequest;
|
||||
import co.elastic.clients.elasticsearch.sql.TranslateResponse;
|
||||
import co.elastic.clients.json.JsonData;
|
||||
import co.elastic.clients.json.JsonpMappingException;
|
||||
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -32,6 +32,7 @@ import com.cf.imes.framework.common.enums.PlanTypeEnum;
|
||||
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.json.JsonUtils;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||
@@ -308,10 +309,14 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
AssertUtils.notEmpty(plateDOS, ORDER_PLATE_EMPTY);
|
||||
|
||||
List<OrderModelDO> orderModelDOS = getOrderModels(ListUtil.of(orderId), goodsDOS.stream().map(GoodsReqVO::getId).collect(Collectors.toList()));
|
||||
|
||||
AssertUtils.notEmpty(orderModelDOS,ORDER_PLATE_MODEL_DATE_ERROR);
|
||||
List<OrderModelDO> models =
|
||||
plateDOS.stream()
|
||||
.map(PlateDetailRespVO::getModelData)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.map(json -> JsonUtils.parseObject(json, OrderModelDO.class))
|
||||
.toList();
|
||||
|
||||
AssertUtils.notEmpty(models, ORDER_PLATE_MODEL_DATE_ERROR);
|
||||
|
||||
// 查询订单对应的配件信息
|
||||
List<PrintOrderPartsRespVO> printOrderPartsRespVOS = orderPartsMapper.selectPartList(Collections.singletonList(orderId), getUserOrganId());
|
||||
@@ -338,7 +343,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
.orderList(Collections.singletonList(orderDO))
|
||||
.goodsList(goodsDOS)
|
||||
.plateList(plateDOS)
|
||||
.plateModels(orderModelDOS)
|
||||
.plateModels(models)
|
||||
.orderPartsRespVOS(printOrderPartsRespVOS)
|
||||
.orderPartsRemarks(orderPartsRemarks)
|
||||
.orderPackReqVOS(printOrderPackReqVOS)
|
||||
@@ -389,18 +394,14 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
AssertUtils.notEmpty(orderDOS, ORDER_PLAN_ORDERS_EMPTY);
|
||||
|
||||
// 需要查询小板造型信息的板材ID
|
||||
List<Long> plateIds = plateDetailRespVOS.stream().map(PlateDetailRespVO::getPlateId).toList();
|
||||
List<OrderModelDO> models =
|
||||
plateDetailRespVOS.stream()
|
||||
.map(PlateDetailRespVO::getModelData)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.map(json -> JsonUtils.parseObject(json, OrderModelDO.class))
|
||||
.toList();
|
||||
|
||||
// 每一千块查询一次es
|
||||
List<List<Long>> batchPlateIdsList = batchProcess(plateIds);
|
||||
|
||||
List<OrderModelDO> orderModelDOS = new ArrayList<>();
|
||||
for (List<Long> plateIdsList : batchPlateIdsList) {
|
||||
orderModelDOS.addAll(esUtils.getEsDocument(FIELD_PLATE_ID, plateIdsList, plateIdsList.size(), ORDER_PLATE_MODEL.getIndex(), OrderModelDO.class));
|
||||
}
|
||||
|
||||
AssertUtils.notEmpty(orderModelDOS, ORDER_PLAN_PLATE_MODEL_DATE_ERROR);
|
||||
AssertUtils.notEmpty(models, ORDER_PLAN_PLATE_MODEL_DATE_ERROR);
|
||||
|
||||
|
||||
List<RemainPlateDO> remainPlateDOS = remainPlateMapper.selectByPlanId(planId,getUserOrganId());
|
||||
@@ -446,7 +447,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
.plan(planDO)
|
||||
.goodsList(goodsDOS)
|
||||
.plateList(plateDetailRespVOS)
|
||||
.plateModels(orderModelDOS)
|
||||
.plateModels(models)
|
||||
.planActualGoodsModelDO(planActualGoodsModelDO)
|
||||
.optimizeRemainPlates(optimizeRemainPlates)
|
||||
.orderPartsRespVOS(printOrderPartsRespVOS)
|
||||
@@ -791,8 +792,12 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
AssertUtils.notEmpty(plateDetailRespVOS, ORDER_PLATE_EMPTY);
|
||||
|
||||
// todo 数据结构改后,可以增加排单ID作为筛选,只查为 0 的
|
||||
// List<OrderModelDO> orderModelDOS = getOrderModels(orderIds, orderGoodsIds);
|
||||
List<OrderModelDO> models =
|
||||
plateDetailRespVOS.stream()
|
||||
.map(PlateDetailRespVO::getModelData)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.map(json -> JsonUtils.parseObject(json, OrderModelDO.class))
|
||||
.toList();
|
||||
|
||||
AssertUtils.notEmpty(plateDetailRespVOS,ORDER_PLATE_MODEL_DATE_ERROR);
|
||||
|
||||
@@ -800,7 +805,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
.orderList(buildTree(orderDOS))
|
||||
.goodsList(goodsReqVOS)
|
||||
.plateList(plateDetailRespVOS)
|
||||
.plateModels(Collections.emptyList())
|
||||
.plateModels(models)
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
+3
-1
@@ -405,6 +405,7 @@
|
||||
<result property="isSideSculpt" column="isSideSculpt"/>
|
||||
<result property="is2v" column="is2v"/>
|
||||
<result property="isSide2v" column="isSide2v"/>
|
||||
<result property="modelData" column="modelData" typeHandler="com.cf.imes.framework.mybatis.core.type.CompressByteTypeHandler"/>
|
||||
|
||||
<collection property="processGroupLists" javaType="java.util.List" ofType="com.cf.imes.module.executor.controller.admin.plan.bo.ProcessGroupList" >
|
||||
|
||||
@@ -453,7 +454,8 @@
|
||||
op.open_door_type as openDoorType,
|
||||
op.is_special_shaped as isSpecialShaped,
|
||||
op.is_sculpt as isSculpt,
|
||||
op.remark as remark
|
||||
op.remark as remark,
|
||||
op.model_data as modelData
|
||||
|
||||
from order_plate op
|
||||
left join order_goods ogs on op.organ_id = ogs.organ_id and op.order_id = ogs.order_id and op.goods_id = ogs.id
|
||||
|
||||
+6
-2
@@ -76,6 +76,7 @@
|
||||
<result property="isSideSculpt" column="isSideSculpt"/>
|
||||
<result property="is2v" column="is2v"/>
|
||||
<result property="isSide2v" column="isSide2v"/>
|
||||
<result property="modelData" column="modelData" typeHandler="com.cf.imes.framework.mybatis.core.type.CompressByteTypeHandler"/>
|
||||
|
||||
<collection property="processGroupLists" javaType="java.util.List" ofType="com.cf.imes.module.executor.controller.admin.plan.bo.ProcessGroupList" >
|
||||
|
||||
@@ -379,6 +380,7 @@
|
||||
<result property="offsetY" column="offsetY"/>
|
||||
<result property="isSpecialShaped" column="isSpecialShaped"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="modelData" column="modelData" typeHandler="com.cf.imes.framework.mybatis.core.type.CompressByteTypeHandler"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectPlateListByGoodsIds"
|
||||
@@ -409,7 +411,8 @@
|
||||
op.hole_face as holeFace,
|
||||
op.open_door_type as openDoorType,
|
||||
op.is_special_shaped as isSpecialShaped,
|
||||
op.remark as remark
|
||||
op.remark as remark,
|
||||
op.model_data as modelData
|
||||
|
||||
from order_plate op
|
||||
join order_goods ogs on op.organ_id = ogs.organ_id and op.order_id = ogs.order_id and op.goods_id = ogs.id
|
||||
@@ -463,7 +466,8 @@
|
||||
op.is_special_shaped as isSpecialShaped,
|
||||
op.is_sculpt as isSculpt,
|
||||
op.is_row_hole as hasHole,
|
||||
op.remark as remark
|
||||
op.remark as remark,
|
||||
op.model_data as modelData
|
||||
|
||||
from order_plate op
|
||||
join order_goods ogs on op.organ_id = ogs.organ_id and op.order_id = ogs.order_id and op.goods_id = ogs.id
|
||||
|
||||
Reference in New Issue
Block a user