From 1896f175a63da9821e5413a7ef5bf0d08b08e18f Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Tue, 28 Apr 2026 11:30:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=A0=86=E6=89=93=E5=8C=85mycat?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=88=86=E5=A0=86=E5=BC=82=E5=B8=B8=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dal/mysql/orderItem/OrderItemMapper.java | 8 ---- .../heapsplit/HeapSplitServiceImpl.java | 39 ++++++++++++++++++- .../mapper/orderItem/OrderItemMapper.xml | 34 ---------------- 3 files changed, 37 insertions(+), 44 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java index e9e417d35..1db010a91 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java @@ -162,14 +162,6 @@ public interface OrderItemMapper extends BaseMapperX { void deleteOtherParts(@Param("partsId") Long partsId,@Param("orderId") Long orderId,@Param("organId") Long organId); - /** - * 更新板件item的分堆状态 - * - * @param plateNos - * @param orderIds - * @param heapSplit true:没分堆改分堆、false:分堆改没分堆 - */ - void updatePlatesItemHeapSplitStatus(@Param("plateNos") List plateNos, @Param("orderIds") List orderIds, @Param("heapSplit") boolean heapSplit); void insertPartsId(@Param("packId") Long packId, @Param("addPartsIdList") List addPartsIdList,@Param("orderId") Long orderId,@Param("organId") Long organId); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java index b5f4a56f5..4553328fd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/heapsplit/HeapSplitServiceImpl.java @@ -2,8 +2,11 @@ package com.cf.imes.module.executor.service.heapsplit; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.cf.imes.framework.common.enums.DeletedCodeEnum; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.module.executor.controller.admin.manage.pack.heapsplit.HeapSplitSaveReqVO; import com.cf.imes.module.executor.controller.admin.manage.pack.heapsplit.OrdersHeapSplitDetailRespVO; @@ -11,6 +14,7 @@ import com.cf.imes.module.executor.controller.admin.manage.pack.vo.OrderPartsRes import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PackagePartsSaveReqVO; import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; +import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; @@ -55,6 +59,9 @@ public class HeapSplitServiceImpl implements HeapSplitService { @Resource private OrderService orderService; + @Resource + private PlateMapper orderPlateMapper; + @Override @Transactional(rollbackFor = Exception.class) public void saveHeapsplit(HeapSplitSaveReqVO reqVO) { @@ -65,7 +72,21 @@ public class HeapSplitServiceImpl implements HeapSplitService { if (CollUtil.isNotEmpty(plateNos)) { List> platePartitions = CollUtil.split(plateNos, 1000); for (List batch : platePartitions) { - orderItemMapper.updatePlatesItemHeapSplitStatus(batch, orderIds, true); + List plateIds = orderPlateMapper.selectList(new LambdaQueryWrapper() + .in(PlateDO::getPlateNo, batch) + .in(PlateDO::getOrderId, orderIds) + .eq(PlateDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus()) + .select(PlateDO::getId) + ).stream().map(PlateDO::getId).toList(); + if (CollectionUtil.isEmpty(plateIds)) { + continue; + } + orderItemMapper.update(new LambdaUpdateWrapper() + .in(OrderItemDO::getOrderId, orderIds) + .in(OrderItemDO::getPlateId, plateIds) + .eq(OrderItemDO::getHeapSplitStatus, HeapSplitStatusEnum.NO.getStatus()) + .set(OrderItemDO::getHeapSplitStatus, HeapSplitStatusEnum.YES.getStatus()) + ); } } @@ -74,7 +95,21 @@ public class HeapSplitServiceImpl implements HeapSplitService { if (CollUtil.isNotEmpty(delPlateNos)) { List> delPlatePartitions = CollUtil.split(delPlateNos, 1000); for (List batch : delPlatePartitions) { - orderItemMapper.updatePlatesItemHeapSplitStatus(batch, orderIds, false); + List plateIds = orderPlateMapper.selectList(new LambdaQueryWrapper() + .in(PlateDO::getPlateNo, batch) + .in(PlateDO::getOrderId, orderIds) + .eq(PlateDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus()) + .select(PlateDO::getId) + ).stream().map(PlateDO::getId).toList(); + if (CollectionUtil.isEmpty(plateIds)) { + continue; + } + orderItemMapper.update(new LambdaUpdateWrapper() + .in(OrderItemDO::getOrderId, orderIds) + .in(OrderItemDO::getPlateId, plateIds) + .eq(OrderItemDO::getHeapSplitStatus, HeapSplitStatusEnum.YES.getStatus()) + .set(OrderItemDO::getHeapSplitStatus, HeapSplitStatusEnum.NO.getStatus()) + ); } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index a0f35446c..188a37848 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -386,40 +386,6 @@ - - UPDATE order_item oi - JOIN order_plate op ON oi.order_id = op.order_id AND oi.plate_id = op.id - - - - oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@YES.status} - - - - - oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@NO.status} - - - - where oi.order_id IN - - #{orderId} - - AND op.plate_no IN - - #{plateNo} - - AND - - - oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@NO.status} - - - oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@YES.status} - - - -