From e4f71a9fb7b2381a4fe212ca96299ed4c16cf84c Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Wed, 25 Sep 2024 10:34:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E4=BB=B6=E7=9A=84=E5=A4=87=E6=B3=A8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E9=85=8D=E4=BB=B6=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=B1=BB=E5=9E=8B=E7=AD=89=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/bo/OrderSource.java | 8 +- .../saveOptimize/PrintOrderPartsRespVO.java | 21 +- .../admin/plan/vo/OrderGoodsResp.java | 2 + .../optimizeplan/OptimizePlanService.java | 4 + .../optimizeplan/OptimizePlanServiceImpl.java | 29 +++ .../service/order/OrderServiceImpl.java | 183 +++++++++--------- .../service/plan/PlanServiceImpl.java | 2 +- .../resources/mapper/order/OrderMapper.xml | 6 +- .../mapper/orderParts/OrderPartsMapper.xml | 48 ++++- .../dal/mysql/pack/OrderPackageMapper.java | 4 +- .../dal/mysql/pack/OrderPackageMapper.xml | 1 + .../system/enums/ErrorCodeConstants.java | 1 + 12 files changed, 198 insertions(+), 111 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java index 6e2b665fa..8cf82d1e5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java @@ -1,5 +1,6 @@ package com.cf.imes.module.executor.controller.admin.plan.bo; +import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark; import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.OptimizeRemainPlate; import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrderPackReqVO; import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrderPartsRespVO; @@ -16,8 +17,6 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; import java.util.List; /** @@ -61,6 +60,11 @@ public class OrderSource { private List orderPartsRespVOS; + @Schema(description = "生产单配件的备注信息") + private List orderPartsRemarks; + + + @Schema(description = "生产单包裹信息") private List orderPackReqVOS; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PrintOrderPartsRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PrintOrderPartsRespVO.java index 63d2929c3..0abcb3516 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PrintOrderPartsRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PrintOrderPartsRespVO.java @@ -1,25 +1,37 @@ package com.cf.imes.module.executor.controller.admin.plan.saveOptimize; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.List; + @Schema(description = "管理后台 - 标签对应的生产单配件信息") @Data public class PrintOrderPartsRespVO { + @Schema(description = "房间ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long roomId; + + @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED) private String roomName; + @Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long bodyId; + + @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED) private String bodyName; + @Schema(description = "加工组ID", requiredMode = Schema.RequiredMode.REQUIRED) + private List groupId; + + @Schema(description = "配件 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29347") - @ExcelProperty("配件 ID") private Long id; @@ -27,6 +39,7 @@ public class PrintOrderPartsRespVO { private Long orderId; + @Schema(description = "配件数量", requiredMode = Schema.RequiredMode.REQUIRED) private Long partsNum; @@ -51,4 +64,8 @@ public class PrintOrderPartsRespVO { private String factory; + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED) + private String type; + + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java index 29b51d55f..0f0f85b4a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java @@ -42,6 +42,8 @@ public class OrderGoodsResp { @Schema(description = "板件数量") private int num; + @Schema(description = "备注") + private String remark; @Schema(description = "生产单信息") private List orderList; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java index ee9b38924..e4a93e700 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java @@ -19,6 +19,10 @@ public interface OptimizePlanService { String ORDER_REMAIN_PLATE_MODEL = "imes_order_optimize_plate_model"; + + String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model"; + + List getPlateListByPlanId(Long planId); Boolean addRemain(AddRemainReqVO vo); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index bee00fa0e..13346b00f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -16,6 +16,7 @@ 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.service.ESDocumentService; import com.cf.imes.framework.security.core.LoginUser; +import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark; import com.cf.imes.module.executor.controller.admin.plan.bo.OrderSource; import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessGroupList; import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepAreaIds; @@ -607,6 +608,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // 查询生产单对应的配件信息 List printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId()); + // 查询生产单对应的配件的ES信息 + List orderPartsRemarks = buildOrderPartsByOrderId(orderIds, ORDER_PARTS_REMARK_MODEL, printOrderPartsRespVOS.size()); + // 查询生产单对应的包裹信息 List printOrderPackReqVOS = plateMapper.selectPlanPackList(ids,getUserOrganId()); @@ -631,6 +635,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { .optimizeBoardModelDOS(optimizeBoardModelDOS) .optimizeRemainPlates(optimizeRemainPlates) .orderPartsRespVOS(printOrderPartsRespVOS) + .orderPartsRemarks(orderPartsRemarks) .orderPackReqVOS(printOrderPackReqVOS) .build(); } @@ -943,6 +948,30 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { } + public List buildOrderPartsByOrderId(List orderIds, String index, Integer size) { + List fieldValues = orderIds.stream().map(FieldValue::of).toList(); + SearchRequest.Builder builder = new SearchRequest.Builder(); + builder.index(index); + builder.size(size); + builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues)))); + try { + SearchResponse search = elasticsearchClient.search(builder.build(), OrderPartsRemark.class); + List> hits = search.hits().hits(); + if (CollectionUtil.isNotEmpty(hits)) { + return hits.stream().map(Hit::source).collect(Collectors.toList()); + } + return new ArrayList<>(); + } catch (IOException e) { + log.error(e.getMessage()); + throw new ServiceException(INTERNAL_SERVER_ERROR); + } + } + + + + + + public void deleteByPlanId(List planIds, String index) { List fieldValues = planIds.stream().map(FieldValue::of).toList(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index 85bfe26d8..5088a7d51 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -274,6 +274,8 @@ public class OrderServiceImpl implements OrderService { if (bodyIds.size() != 0){ List plateDOList = plateMapper.selectPlateTypeByRoomId(orderId, bodyIds, getUserOrganId(), index); + + List plateIds = plateDOList.stream().map(PlateDO::getId).toList(); List goodsIds = plateDOList.stream().map(PlateDO::getGoodsId).distinct().toList(); @@ -284,63 +286,60 @@ public class OrderServiceImpl implements OrderService { if (!plateDOList.isEmpty()) { plateMapper.updateDeletedById(plateIds, status, getUserOrganId(), orderId);// 删小板 - } + // 删除包裹,只需删除,无需还原 + List packIds = orderItemMapper.selectPackId(bodyIds, getUserOrganId()).stream().map(OrderItemDO::getPackageId).distinct().toList(); - // 删除包裹,只需删除,无需还原 - List packIds = orderItemMapper.selectPackId(bodyIds, getUserOrganId()).stream().map(OrderItemDO::getPackageId).distinct().toList(); + orderPackageMapper.updatePackList(orderId, packIds, getUserOrganId()); - orderPackageMapper.updatePackList(orderId, packIds, getUserOrganId()); + orderItemMapper.deletePackList(orderId, packIds, getUserOrganId()); - orderItemMapper.deletePackList(orderId, packIds, getUserOrganId()); + orderPrepackagedMapper.deletePacked(orderId, getUserOrganId()); - orderPrepackagedMapper.deletePacked(orderId,getUserOrganId()); + List orderPackageDOS = orderPackageMapper.selectPackStatusList(orderId, getUserOrganId()); - List orderPackageDOS = orderPackageMapper.selectPackStatusList(orderId, getUserOrganId()); + if (orderPackageDOS.isEmpty()) { - if(orderPackageDOS.isEmpty()){ + OrderDO orderDO = orderMapper.selectById(orderId); - OrderDO orderDO = orderMapper.selectById(orderId); + orderDO.setPackaged(OrderPackageStatusEnum.UNPACKED.getStatus()); - orderDO.setPackaged(OrderPackageStatusEnum.UNPACKED.getStatus()); + orderMapper.updateById(orderDO); - orderMapper.updateById(orderDO); - - } - - - // 删除大板 - List goodsList = plateMapper.selectPlateDeletedStatus(orderId, goodsIds, getUserOrganId()); - - List goodsIdList = goodsList.stream().map(PlateDO::getGoodsId).distinct().toList(); - - List goodsIdDeleted = Stream.concat( - goodsIds.stream().filter(str -> !goodsIdList.contains(str)), - goodsIdList.stream().filter(str -> !goodsIds.contains(str))) - .toList(); - - if (goodsIdDeleted.size() > 0) { - - goodsMapper.updateDeletedById(goodsIdDeleted, status, getUserOrganId()); - - } - - - if(!planIds.isEmpty()) { - // 判断删除的柜体对应的板材是否和排单板材一样 - List goodsDOS = goodsMapper.selectPlanGoodsListByPlanIdList(planIds, getUserOrganId()); - - // 一样,同时删除排单的信息 - if(goodsDOS.isEmpty() && status.equals(1)){ - planService.deletePlan(planIds); } - // 只要有排单,不管删除的柜体的板材数和排单数一样,都要删除排单对应的优化数据(不用这种写法进行删除时,有时会报错,原因目前还没找到) - planService.deleteByPlanId(planIds, ORDER_REMAIN_PLATE_MODEL); + + // 删除大板 + List goodsList = plateMapper.selectPlateDeletedStatus(orderId, goodsIds, getUserOrganId()); + + List goodsIdList = goodsList.stream().map(PlateDO::getGoodsId).distinct().toList(); + + List goodsIdDeleted = Stream.concat( + goodsIds.stream().filter(str -> !goodsIdList.contains(str)), + goodsIdList.stream().filter(str -> !goodsIds.contains(str))) + .toList(); + + if (goodsIdDeleted.size() > 0) { + + goodsMapper.updateDeletedById(goodsIdDeleted, status, getUserOrganId()); + + } + if (!planIds.isEmpty()) { + // 判断删除的柜体对应的板材是否和排单板材一样 + List goodsDOS = goodsMapper.selectPlanGoodsListByPlanIdList(planIds, getUserOrganId()); + + // 一样,同时删除排单的信息 + if (goodsDOS.isEmpty()) { + planService.deletePlan(planIds); + } else { + // 只要有排单,不管删除的柜体的板材数和排单数一样,都要删除排单对应的优化数据(不用这种写法进行删除时,有时会报错,原因目前还没找到) + planService.deleteByPlanId(planIds, ORDER_REMAIN_PLATE_MODEL); + } + + } } - List partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyIds, getUserOrganId(), orderId); // 配件 if (partsList != null && partsList.size() != 0){ orderPartsMapper.updateDeletedById(partsList, status, getUserOrganId()); @@ -391,67 +390,67 @@ public class OrderServiceImpl implements OrderService { // 小板还原 if (!plateDOList.isEmpty()) { plateMapper.updateDeletedById(plateIds, status, getUserOrganId(), orderId); - } - - // 还原大板 - List goodsDOS = goodsMapper.selectGoodsListByStatus(orderId, goodsIds, getUserOrganId()); - if(!goodsDOS.isEmpty()){ - goodsMapper.updateBatch(goodsDOS.stream().map(m -> m.setDeleted(false)).toList()); - } - // 当大板对应的小板已经排单时,新建相同类型的大板,并将其他未排单的小板对应的大板ID修改为新的大板ID - List goodsDOList = goodsMapper.selectNoPlanGoodsList(orderId, goodsIds, getUserOrganId()); - - List goodsList = BeanUtils.toBean(goodsDOList, GoodsDO.class); - - if(!goodsDOList.isEmpty()){ - - // 新增的大板信息 - List list = goodsDOList.stream() - .peek(m -> { - m.setId(null); - m.setPlanId(0L); - m.setCreateTime(LocalDateTime.now()); - m.setUpdateTime(LocalDateTime.now()); - }) - .toList(); - - goodsMapper.insertBatch(list); - - // 构建新的数据集,保存新的大板ID和旧的大板ID,大板的实际ID关联这两个信息 - List orderGoodsIds = BeanUtils.toBean(list, OrderGoodsIds.class); - - List orderGoodsIdsList = new ArrayList<>(); - - for (GoodsDO goodsDO : goodsList) { - orderGoodsIdsList.addAll(orderGoodsIds.stream() - .filter(f -> f.getGoodsId().equals(goodsDO.getGoodsId())) -// .filter(a -> a.getOldId() == null) - .map(m -> m.setOldId(goodsDO.getId())).toList()); - + // 还原大板 + List goodsDOS = goodsMapper.selectGoodsListByStatus(orderId, goodsIds, getUserOrganId()); + if (!goodsDOS.isEmpty()) { + goodsMapper.updateBatch(goodsDOS.stream().map(m -> m.setDeleted(false)).toList()); } - // 需要修改的小板为未排单的部分,无论其是否删除,都需要修改,但只需修改大板ID即可,其他信息无需修改 - List plateDOS = plateMapper.selectNoPlanPlate(orderId, goodsIds, getUserOrganId()); - List plateList = new ArrayList<>(); + // 当大板对应的小板已经排单时,新建相同类型的大板,并将其他未排单的小板对应的大板ID修改为新的大板ID + List goodsDOList = goodsMapper.selectNoPlanGoodsList(orderId, goodsIds, getUserOrganId()); - for (OrderGoodsIds ids : orderGoodsIdsList) { + List goodsList = BeanUtils.toBean(goodsDOList, GoodsDO.class); - plateList.addAll(plateDOS.stream() - .filter(f->f.getGoodsId().equals(ids.getOldId())) - .peek(m->{ - m.setGoodsId(ids.getId()); + if (!goodsDOList.isEmpty()) { + + // 新增的大板信息 + List list = goodsDOList.stream() + .peek(m -> { + m.setId(null); + m.setPlanId(0L); + m.setCreateTime(LocalDateTime.now()); + m.setUpdateTime(LocalDateTime.now()); }) - .toList()); + .toList(); + + goodsMapper.insertBatch(list); + + // 构建新的数据集,保存新的大板ID和旧的大板ID,大板的实际ID关联这两个信息 + List orderGoodsIds = BeanUtils.toBean(list, OrderGoodsIds.class); + + List orderGoodsIdsList = new ArrayList<>(); + + for (GoodsDO goodsDO : goodsList) { + orderGoodsIdsList.addAll(orderGoodsIds.stream() + .filter(f -> f.getGoodsId().equals(goodsDO.getGoodsId())) +// .filter(a -> a.getOldId() == null) + .map(m -> m.setOldId(goodsDO.getId())).toList()); + + } + + // 需要修改的小板为未排单的部分,无论其是否删除,都需要修改,但只需修改大板ID即可,其他信息无需修改 + List plateDOS = plateMapper.selectNoPlanPlate(orderId, goodsIds, getUserOrganId()); + + List plateList = new ArrayList<>(); + + for (OrderGoodsIds ids : orderGoodsIdsList) { + + plateList.addAll(plateDOS.stream() + .filter(f -> f.getGoodsId().equals(ids.getOldId())) + .peek(m -> { + m.setGoodsId(ids.getId()); + }) + .toList()); + } + + plateMapper.updateBatch(plateList); + } - - plateMapper.updateBatch(plateList); - } - List partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyIds, getUserOrganId(), orderId); // 配件 if (partsList != null && partsList.size() != 0){ orderPartsMapper.updateDeletedById(partsList, status, getUserOrganId()); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index ad3c44871..8c965b94f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -631,7 +631,7 @@ public class PlanServiceImpl implements PlanService { .in("order_id",orderIds) .eq("is_optimized",false) .inIfPresent("goods_id",goodsIds) - .inIfPresent("id",pageReqVO.getIds()) + .inIfPresent("goods_id",pageReqVO.getIds()) .eqIfPresent("is_special_shaped", pageReqVO.getRectangle() != null ? false: null) .eqIfPresent("is_special_shaped", pageReqVO.getSpecialShaped()) .eqIfPresent("is_sculpt", pageReqVO.getSculpt()) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index 737fda190..c2e66121a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -45,7 +45,7 @@ from orders o join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id and og.plan_id = 0 and o.deleted = og.deleted - join order_plate op on o.organ_id = op.organ_id and o.deleted = op.deleted and o.id = op.order_id and op.is_optimized = false + join order_plate op on o.organ_id = op.organ_id and o.deleted = op.deleted and o.id = op.order_id and op.is_optimized = false and og.id = op.goods_id ${ew.customSqlSegment} @@ -219,6 +219,7 @@ + @@ -251,13 +252,14 @@ og.width, og.height, og.brand, + og.remark, og.spec from orders o join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id and og.plan_id = 0 and o.deleted = og.deleted - join order_plate op on o.organ_id = op.organ_id and o.deleted = op.deleted and o.id = op.order_id and op.is_optimized = false + join order_plate op on o.organ_id = op.organ_id and o.deleted = op.deleted and o.id = op.order_id and op.is_optimized = false and og.id = op.goods_id ${ew.customSqlSegment} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index f1497a40c..322aeec16 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -87,19 +87,47 @@ AND organ_id = #{organId} - + + select distinct oi.group_id as groupId, + oi.num as partsNum, + oi.body_id as bodyId, + oi.room_id as roomId, ob.name as bodyName, ob.room_name as roomName, - op.id, - op.spec, - op.brand, - op.factory, - op.model, - op.name, - op.order_id + op.id as id, + op.spec as spec, + op.brand as brand, + op.factory as factory, + op.model as model , + op.name as name, + op.order_id as orderId, + op.type as type from order_parts op left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.parts_id left join order_body ob on oi.organ_id = ob.organ_id and oi.order_id = ob.order_id and oi.body_id = ob.id diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index ba45e6d7d..af3dd2216 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -105,8 +105,8 @@ public interface OrderPackageMapper extends BaseMapperX { return selectList(new LambdaQueryWrapperX() .eq(OrderPackageDO::getOrganId,organId) .eq(OrderPackageDO::getDeleted,false) - .eq(OrderPackageDO::getStatus,OrderPackageStatusEnum.PACKAGED.getStatus()) - .eqIfPresent(OrderPackageDO::getOrderId, orderId)); + .eqIfPresent(OrderPackageDO::getOrderId, orderId) + .eq(OrderPackageDO::getStatus,OrderPackageStatusEnum.PACKAGED.getStatus())); } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index 612528ec4..1ea412656 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -62,6 +62,7 @@ and op.type = 0 + and op.status in (1,2,3) and oi.package_id != 0 and oi.plate_id != 0; diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 1b4d22daf..c6801deca 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -298,6 +298,7 @@ public interface ErrorCodeConstants { ErrorCode ORDER_PLAN_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_009, "当前排单对应的板材造型数据为空,请检查板材信息或者联系客服"); ErrorCode ORDER_GOODS_DATA_ERROR = new ErrorCode(1_002_041_010, "当前大板数据异常,请检查大板信息或者联系客服"); ErrorCode ORDER_PACK_DATA_ERROR = new ErrorCode(1_002_041_011, "当前包裹数据为空,请重新查看包裹数据或联系客服"); + ErrorCode ORDER_BODY_DATA_ERROR = new ErrorCode(1_002_041_012, "当前柜体对应的板材数据为空,无法删除");