1、装配设置不加工状态未生效修复;2、分堆打包details中的板件配件柜体名根据成倍数量改造、包裹配件板件根据成倍数量改造;

This commit is contained in:
gaoqr
2026-04-15 17:50:36 +08:00
parent 377b1e5396
commit b27d144246
4 changed files with 65 additions and 6 deletions
@@ -230,6 +230,11 @@ public class AssemblyListServiceImpl implements AssemblyListService {
if (children != null && !children.isEmpty()) {
// 按 name 排序保证 hash 稳定
children.sort(Comparator.comparing(OrderComponentTreeCompareVO::getName));
// 2. 递归子节点排序
for (OrderComponentTreeCompareVO child : children) {
computeHashRecursively(child);
}
}
// 生成结构字符串并 hash
String structureStr = buildStructureString(node);
@@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
import com.cf.imes.module.executor.controller.admin.manage.pack.vo.OrderPartsRespVO;
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.mysql.orderItem.OrderItemMapper;
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
@@ -185,9 +187,28 @@ public class HeapSplitServiceImpl implements HeapSplitService {
@Override
public OrdersHeapSplitDetailRespVO getOrdersHeapSplitedDetail(List<Long> orderIds) {
OrdersHeapSplitDetailRespVO respVO = new OrdersHeapSplitDetailRespVO();
// 查询多订单信息
respVO.setOrders(orderService.getPackOrdersInfo(orderIds));
respVO.setParts(orderPartsMapper.selectOrdersHeapSplitPartsList(orderIds));
respVO.setPlates(plateMapper.selectOrdersHeapSplitPlateList(orderIds));
// 查询板件
List<PlateDetailsRespVO> plates = plateMapper.selectOrdersHeapSplitPlateList(orderIds);
// 查询配件
List<OrderPartsRespVO> parts = orderPartsMapper.selectOrdersHeapSplitPartsList(orderIds);
// 根据成倍数量重新赋值柜体名称
plates.forEach(item -> {
if (item.getMultiNum() != null && item.getMultiNum() > 1
&& item.getMultiSort() != null) {
item.setCabinetName(item.getCabinetName() + "-" + item.getMultiSort());
}
});
parts.forEach(item -> {
if (item.getMultiNum() != null && item.getMultiNum() > 1
&& item.getMultiSort() != null) {
item.setCabinetName(item.getCabinetName() + "-" + item.getMultiSort());
}
});
respVO.setPlates(plates);
respVO.setParts(parts);
return respVO;
}
@@ -1058,9 +1058,28 @@ public class PackServiceImpl implements PackService {
@Override
public OrdersUnpackDetailRespVO getOrdersUnpackDetails(List<Long> orderIds) {
OrdersUnpackDetailRespVO ordersUnpackDetailRespVO = new OrdersUnpackDetailRespVO();
// 查询多订单信息
ordersUnpackDetailRespVO.setOrders(orderService.getPackOrdersInfo(orderIds));
ordersUnpackDetailRespVO.setPlates(orderPlateMapper.selectOrdersPackPlateList(orderIds));
ordersUnpackDetailRespVO.setParts(orderPartsMapper.selectOrdersPartsList(orderIds));
// 查询板件
List<PlateDetailsRespVO> plates = orderPlateMapper.selectOrdersPackPlateList(orderIds);
// 查询配件
List<OrderPartsRespVO> parts = orderPartsMapper.selectOrdersPartsList(orderIds);
// 根据成倍数量重新赋值柜体名称
plates.forEach(item -> {
if (item.getMultiNum() != null && item.getMultiNum() > 1
&& item.getMultiSort() != null) {
item.setCabinetName(item.getCabinetName() + "-" + item.getMultiSort());
}
});
parts.forEach(item -> {
if (item.getMultiNum() != null && item.getMultiNum() > 1
&& item.getMultiSort() != null) {
item.setCabinetName(item.getCabinetName() + "-" + item.getMultiSort());
}
});
ordersUnpackDetailRespVO.setPlates(plates);
ordersUnpackDetailRespVO.setParts(parts);
return ordersUnpackDetailRespVO;
}
@@ -1073,9 +1092,19 @@ public class PackServiceImpl implements PackService {
return new ArrayList<>();
}
Set<Long> orderIds = orderPackagDONews.stream().map(OrderPackagDO::getOrderId).collect(Collectors.toSet());
List<PackageDetailsRespVO> packPartsList = orderPartsMapper.selectPackedParts(orderIds, packageNo);
// 查询板件
List<PackageDetailsRespVO> packPlateList = orderPlateMapper.selectPackedPlateList(orderIds, packageNo);
// 查询配件
List<PackageDetailsRespVO> packPartsList = orderPartsMapper.selectPackedParts(orderIds, packageNo);
packPlateList.addAll(packPartsList);
// 根据成倍数量重新赋值柜体名称
packPlateList.forEach(item -> {
if (item.getMultiNum() != null && item.getMultiNum() > 1
&& item.getMultiSort() != null) {
item.setCabinetName(item.getCabinetName() + "-" + item.getMultiSort());
}
});
return packPlateList;
}
@@ -479,6 +479,8 @@
t.heap_split_status AS heapSplitStatus,
t.group_names AS processGroup,
t.component_names AS componentName,
t.multi_num AS multiNum,
t.multi_sort AS multiSort,
t.num AS num,
t.heap_num AS heapNum,
op.id AS partsId,
@@ -509,7 +511,9 @@
MIN(ob.room_name) AS room_name,
MIN(ob.name) AS body_name,
SUM(oi.num - oi.heap_num) AS num,
SUM(oi.heap_num) AS heap_num
SUM(oi.heap_num) AS heap_num,
MIN(ob.multi_num) AS multi_num,
MIN(ob.sort) AS multi_sort
FROM order_item oi
LEFT JOIN order_group og
ON oi.organ_id = og.organ_id