mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
分堆打包mycat环境分堆异常修复;
This commit is contained in:
-8
@@ -162,14 +162,6 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
|
||||
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<Long> plateNos, @Param("orderIds") List<Long> orderIds, @Param("heapSplit") boolean heapSplit);
|
||||
|
||||
void insertPartsId(@Param("packId") Long packId, @Param("addPartsIdList") List<Long> addPartsIdList,@Param("orderId") Long orderId,@Param("organId") Long organId);
|
||||
|
||||
|
||||
+37
-2
@@ -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<List<Long>> platePartitions = CollUtil.split(plateNos, 1000);
|
||||
for (List<Long> batch : platePartitions) {
|
||||
orderItemMapper.updatePlatesItemHeapSplitStatus(batch, orderIds, true);
|
||||
List<Long> plateIds = orderPlateMapper.selectList(new LambdaQueryWrapper<PlateDO>()
|
||||
.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<OrderItemDO>()
|
||||
.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<List<Long>> delPlatePartitions = CollUtil.split(delPlateNos, 1000);
|
||||
for (List<Long> batch : delPlatePartitions) {
|
||||
orderItemMapper.updatePlatesItemHeapSplitStatus(batch, orderIds, false);
|
||||
List<Long> plateIds = orderPlateMapper.selectList(new LambdaQueryWrapper<PlateDO>()
|
||||
.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<OrderItemDO>()
|
||||
.in(OrderItemDO::getOrderId, orderIds)
|
||||
.in(OrderItemDO::getPlateId, plateIds)
|
||||
.eq(OrderItemDO::getHeapSplitStatus, HeapSplitStatusEnum.YES.getStatus())
|
||||
.set(OrderItemDO::getHeapSplitStatus, HeapSplitStatusEnum.NO.getStatus())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-34
@@ -386,40 +386,6 @@
|
||||
|
||||
</delete>
|
||||
|
||||
<update id="updatePlatesItemHeapSplitStatus">
|
||||
UPDATE order_item oi
|
||||
JOIN order_plate op ON oi.order_id = op.order_id AND oi.plate_id = op.id
|
||||
<choose>
|
||||
<when test="heapSplit">
|
||||
<set>
|
||||
oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@YES.status}
|
||||
</set>
|
||||
</when>
|
||||
<otherwise>
|
||||
<set>
|
||||
oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@NO.status}
|
||||
</set>
|
||||
</otherwise>
|
||||
</choose>
|
||||
where oi.order_id IN
|
||||
<foreach item="orderId" collection="orderIds" open="(" separator="," close=")">
|
||||
#{orderId}
|
||||
</foreach>
|
||||
AND op.plate_no IN
|
||||
<foreach item="plateNo" collection="plateNos" open="(" separator="," close=")">
|
||||
#{plateNo}
|
||||
</foreach>
|
||||
AND
|
||||
<choose>
|
||||
<when test="heapSplit">
|
||||
oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@NO.status}
|
||||
</when>
|
||||
<otherwise>
|
||||
oi.heap_split_status = ${@com.cf.imes.module.executor.enums.heapsplit.HeapSplitStatusEnum@YES.status}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<update id="insertPartsId" parameterType="java.lang.Long">
|
||||
|
||||
Reference in New Issue
Block a user