mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、房名打包配件增加房间id的分组条件;2、删除包裹明细pack_num未清零修复;
This commit is contained in:
+14
-10
@@ -374,15 +374,16 @@ public class PackServiceImpl implements PackService {
|
||||
* @param packMethod
|
||||
* @return
|
||||
*/
|
||||
private Long getGroupKey(PackagePartsSaveReqVO item, Integer packMethod) {
|
||||
private String getGroupKey(PackagePartsSaveReqVO item, Integer packMethod) {
|
||||
if (ObjectUtil.equals(OrderPackageMethodEnum.ROOM_NAME.getMethod(), packMethod)) {
|
||||
return item.getRoomId();
|
||||
return item.getRoomId() + "-" + item.getBodyId();
|
||||
} else if (ObjectUtil.equals(OrderPackageMethodEnum.BODY_NAME.getMethod(), packMethod)) {
|
||||
return item.getBodyId();
|
||||
return String.valueOf(item.getBodyId());
|
||||
} else if (ObjectUtil.equals(OrderPackageMethodEnum.ORDER.getMethod(), packMethod)) {
|
||||
return item.getOrderId();
|
||||
return String.valueOf(item.getOrderId());
|
||||
}
|
||||
return 0L;
|
||||
// todo 规范异常
|
||||
throw new IllegalArgumentException("未知打包方式: " + packMethod);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -397,7 +398,7 @@ public class PackServiceImpl implements PackService {
|
||||
* @return
|
||||
*/
|
||||
private LambdaQueryWrapper<OrderItemDO> buildWrapper(
|
||||
Long groupKey,
|
||||
String groupKey,
|
||||
Long partsId,
|
||||
Integer packMethod,
|
||||
List<Long> orderIds,
|
||||
@@ -417,7 +418,9 @@ public class PackServiceImpl implements PackService {
|
||||
}
|
||||
|
||||
if (ObjectUtil.equals(OrderPackageMethodEnum.ROOM_NAME.getMethod(), packMethod)) {
|
||||
wrapper.eq(OrderItemDO::getRoomId, groupKey)
|
||||
String[] keys = groupKey.split("-");
|
||||
wrapper.eq(OrderItemDO::getRoomId, keys[0])
|
||||
.eq(OrderItemDO::getBodyId, keys[1])
|
||||
.in(OrderItemDO::getOrderId, orderIds);
|
||||
} else if (ObjectUtil.equals(OrderPackageMethodEnum.BODY_NAME.getMethod(), packMethod)) {
|
||||
wrapper.eq(OrderItemDO::getBodyId, groupKey)
|
||||
@@ -449,12 +452,12 @@ public class PackServiceImpl implements PackService {
|
||||
if (CollUtil.isEmpty(partsList)) return;
|
||||
|
||||
// 分组
|
||||
Map<Long, List<PackagePartsSaveReqVO>> groupMap =
|
||||
Map<String, List<PackagePartsSaveReqVO>> groupMap =
|
||||
partsList.stream().collect(Collectors.groupingBy(item -> getGroupKey(item, packMethod)));
|
||||
|
||||
for (Map.Entry<Long, List<PackagePartsSaveReqVO>> entry : groupMap.entrySet()) {
|
||||
for (Map.Entry<String, List<PackagePartsSaveReqVO>> entry : groupMap.entrySet()) {
|
||||
|
||||
Long groupKey = entry.getKey();
|
||||
String groupKey = entry.getKey();
|
||||
|
||||
for (PackagePartsSaveReqVO vo : entry.getValue()) {
|
||||
|
||||
@@ -820,6 +823,7 @@ public class PackServiceImpl implements PackService {
|
||||
.eq(OrderItemDO::getPackageId, packageNo)
|
||||
.eq(OrderItemDO::getPlateId, 0)
|
||||
.set(OrderItemDO::getPackageId, 0)
|
||||
.set(OrderItemDO::getPackNum, 0)
|
||||
);
|
||||
|
||||
|
||||
|
||||
+10
-12
@@ -653,21 +653,19 @@
|
||||
</select>
|
||||
|
||||
<select id="selectPackPlateNum" resultType="com.cf.imes.module.executor.dal.dataobject.order.OrderPackNumDO">
|
||||
select oi.order_id as order_id,
|
||||
IFNULL(sum(case
|
||||
when oi.plate_id != 0
|
||||
and oi.package_id != 0
|
||||
then 1
|
||||
else 0
|
||||
end), 0) as plate_num
|
||||
from order_item oi
|
||||
where oi.order_id in
|
||||
select o.id as orderId, count(oi.plate_id) as plateNum
|
||||
from orders o
|
||||
left join order_item oi
|
||||
on o.organ_id = oi.organ_id
|
||||
and o.id = oi.order_id
|
||||
and oi.package_id != 0
|
||||
and oi.plate_id != 0
|
||||
where o.id in
|
||||
<foreach collection="orderIds" item="orderId" open="(" separator="," close=")">
|
||||
#{orderId}
|
||||
</foreach>
|
||||
and oi.package_id != 0
|
||||
and oi.plate_id != 0
|
||||
group by oi.order_id
|
||||
and o.deleted = false
|
||||
group by o.id
|
||||
</select>
|
||||
|
||||
<select id="selectPackPartsNum" resultType="com.cf.imes.module.executor.dal.dataobject.order.OrderPackNumDO">
|
||||
|
||||
Reference in New Issue
Block a user