mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 21:52:07 +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);
|
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);
|
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.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.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.HeapSplitSaveReqVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.manage.pack.heapsplit.OrdersHeapSplitDetailRespVO;
|
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.PackagePartsSaveReqVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PlateDetailsRespVO;
|
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.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.orderItem.OrderItemMapper;
|
||||||
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
|
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
|
||||||
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
||||||
@@ -55,6 +59,9 @@ public class HeapSplitServiceImpl implements HeapSplitService {
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderService orderService;
|
private OrderService orderService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PlateMapper orderPlateMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void saveHeapsplit(HeapSplitSaveReqVO reqVO) {
|
public void saveHeapsplit(HeapSplitSaveReqVO reqVO) {
|
||||||
@@ -65,7 +72,21 @@ public class HeapSplitServiceImpl implements HeapSplitService {
|
|||||||
if (CollUtil.isNotEmpty(plateNos)) {
|
if (CollUtil.isNotEmpty(plateNos)) {
|
||||||
List<List<Long>> platePartitions = CollUtil.split(plateNos, 1000);
|
List<List<Long>> platePartitions = CollUtil.split(plateNos, 1000);
|
||||||
for (List<Long> batch : platePartitions) {
|
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)) {
|
if (CollUtil.isNotEmpty(delPlateNos)) {
|
||||||
List<List<Long>> delPlatePartitions = CollUtil.split(delPlateNos, 1000);
|
List<List<Long>> delPlatePartitions = CollUtil.split(delPlateNos, 1000);
|
||||||
for (List<Long> batch : delPlatePartitions) {
|
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>
|
</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">
|
<update id="insertPartsId" parameterType="java.lang.Long">
|
||||||
|
|||||||
Reference in New Issue
Block a user