Commit 20c13a21 authored by zhengyi's avatar zhengyi

订单的关联单-有异常,或者未入仓,或者有进行中的不能预装的审批类型,不返回到待预装列表

parent 9cba5aa9
...@@ -197,23 +197,23 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -197,23 +197,23 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
.eq(BoxPreloadGoodsDO::getIsRemove, 0) .eq(BoxPreloadGoodsDO::getIsRemove, 0)
); );
OrderDO orderDO = orderService.getById(orderId); OrderDO orderDO = orderService.getById(orderId);
OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6,11,13,14,22,23) , false); OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(approvalTypeCheckEvent); applicationContext.publishEvent(approvalTypeCheckEvent);
if (approvalTypeCheckEvent.getResult()) { if (approvalTypeCheckEvent.getResult()) {
throw exception(ORDER_IS_APPROVAL_IN_PROCESS); throw exception(ORDER_IS_APPROVAL_IN_PROCESS);
} }
// 2024-11-5 注意:此处要关注关联订单,关联订单也是一并修改成不受费用申请和特价影响 // 2024-11-5 注意:此处要关注关联订单,关联订单也是一并修改成不受费用申请和特价影响
if (StringUtils.isNotBlank(orderDO.getGuanLianOrderStatus())){ if (StringUtils.isNotBlank(orderDO.getGuanLianOrderStatus())) {
List<GuanLianOrderStatusVO> guanLianOrderStatusVOList = JSONObject.parseArray(orderDO.getGuanLianOrderStatus(), GuanLianOrderStatusVO.class); List<GuanLianOrderStatusVO> guanLianOrderStatusVOList = JSONObject.parseArray(orderDO.getGuanLianOrderStatus(), GuanLianOrderStatusVO.class);
if (CollectionUtil.isNotEmpty(guanLianOrderStatusVOList) && guanLianOrderStatusVOList.size() > 0){ if (CollectionUtil.isNotEmpty(guanLianOrderStatusVOList) && guanLianOrderStatusVOList.size() > 0) {
List<GuanLianOrderStatusVO> approvalGuanLianOrderList = guanLianOrderStatusVOList.stream().filter(vo -> vo.getType() == 2).collect(Collectors.toList()); List<GuanLianOrderStatusVO> approvalGuanLianOrderList = guanLianOrderStatusVOList.stream().filter(vo -> vo.getType() == 2).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(approvalGuanLianOrderList)){ if (CollectionUtil.isNotEmpty(approvalGuanLianOrderList)) {
String orderNoStr = approvalGuanLianOrderList.stream().filter(o -> { String orderNoStr = approvalGuanLianOrderList.stream().filter(o -> {
OrderApprovalTypeCheckEvent guanLianApprovalTypeCheckEvent = new OrderApprovalTypeCheckEvent(o.getOrderId(), null, null, Arrays.asList(6,11,13,14,22,23) , false); OrderApprovalTypeCheckEvent guanLianApprovalTypeCheckEvent = new OrderApprovalTypeCheckEvent(o.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(guanLianApprovalTypeCheckEvent); applicationContext.publishEvent(guanLianApprovalTypeCheckEvent);
return guanLianApprovalTypeCheckEvent.getResult(); return guanLianApprovalTypeCheckEvent.getResult();
}).map(GuanLianOrderStatusVO::getOrderNo).collect(Collectors.joining(StrUtil.COMMA)); }).map(GuanLianOrderStatusVO::getOrderNo).collect(Collectors.joining(StrUtil.COMMA));
if (StringUtils.isNotBlank(orderNoStr)){ if (StringUtils.isNotBlank(orderNoStr)) {
throw exception(GUAN_LIAN_ORDER_IS_APPROVAL_IN_PROCESS, orderNoStr); throw exception(GUAN_LIAN_ORDER_IS_APPROVAL_IN_PROCESS, orderNoStr);
} }
} }
...@@ -782,7 +782,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -782,7 +782,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
OrderDO orderDO, OrderDO orderDO,
List<Long> orderItemIdList) { List<Long> orderItemIdList) {
//订单校验是否在审核中 //订单校验是否在审核中
OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6,11,13,14,22,23) , false); OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(approvalTypeCheckEvent); applicationContext.publishEvent(approvalTypeCheckEvent);
if (approvalTypeCheckEvent.getResult()) { if (approvalTypeCheckEvent.getResult()) {
throw exception(ORDER_IS_APPROVAL_IN_PROCESS); throw exception(ORDER_IS_APPROVAL_IN_PROCESS);
...@@ -919,7 +919,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -919,7 +919,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
BigDecimal volumeSum = boxGoodsStatistics.getVolume(); BigDecimal volumeSum = boxGoodsStatistics.getVolume();
BigDecimal weightSum = boxGoodsStatistics.getWeight(); BigDecimal weightSum = boxGoodsStatistics.getWeight();
if(orderDO!=null) { if (orderDO != null) {
if (orderDO.getSumNum() != null) { if (orderDO.getSumNum() != null) {
numSum += orderDO.getSumNum(); numSum += orderDO.getSumNum();
boxGoodsStatistics.setNum(numSum); boxGoodsStatistics.setNum(numSum);
...@@ -1428,7 +1428,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1428,7 +1428,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
)); ));
Iterator<Long> orderIdIt = orderMap.keySet().iterator(); Iterator<Long> orderIdIt = orderMap.keySet().iterator();
for (Integer num : missList) { for (Integer num : missList) {
if(orderIdIt.hasNext()) { if (orderIdIt.hasNext()) {
Long orderId = orderIdIt.next(); Long orderId = orderIdIt.next();
List<BoxPreloadGoodsDO> orderGoodList = orderMap.get(orderId); List<BoxPreloadGoodsDO> orderGoodList = orderMap.get(orderId);
setTidanNum(orderGoodList, num, selfNo, updateOrder); setTidanNum(orderGoodList, num, selfNo, updateOrder);
...@@ -1439,7 +1439,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1439,7 +1439,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
List<BoxPreloadGoodsDO> resultList = orderMap.values().stream() List<BoxPreloadGoodsDO> resultList = orderMap.values().stream()
.flatMap(Collection::stream) .flatMap(Collection::stream)
.collect(Collectors.toList()); .collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(resultList)) { if (CollectionUtil.isNotEmpty(resultList)) {
setTidanNum(resultList, orderNum, selfNo, updateOrder); setTidanNum(resultList, orderNum, selfNo, updateOrder);
} }
} }
...@@ -1447,13 +1447,13 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1447,13 +1447,13 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
} }
} }
if(updateOrder) { if (updateOrder) {
Set<Long> orderIdSet = preloadGoodsList.stream() Set<Long> orderIdSet = preloadGoodsList.stream()
.map(BoxPreloadGoodsDO::getOrderId) .map(BoxPreloadGoodsDO::getOrderId)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
Map<Long, Integer> tidanNumMap = preloadGoodsList.stream() Map<Long, Integer> tidanNumMap = preloadGoodsList.stream()
.collect(Collectors.toMap(BoxPreloadGoodsDO::getOrderId, BoxPreloadGoodsDO::getTidanNum, (v1, v2)->v2)); .collect(Collectors.toMap(BoxPreloadGoodsDO::getOrderId, BoxPreloadGoodsDO::getTidanNum, (v1, v2) -> v2));
for (Long orderId : orderIdSet) { for (Long orderId : orderIdSet) {
Integer orderNum = tidanNumMap.get(orderId); Integer orderNum = tidanNumMap.get(orderId);
String ladingBillNo = selfNo + "-" + orderNum; String ladingBillNo = selfNo + "-" + orderNum;
...@@ -1464,7 +1464,8 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1464,7 +1464,8 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
/** /**
* 找出有间隔的订单 * 找出有间隔的订单
* @param list 预装商品项 *
* @param list 预装商品项
* @return * @return
*/ */
private List<Integer> findDeletionList(List<BoxPreloadGoodsDO> list) { private List<Integer> findDeletionList(List<BoxPreloadGoodsDO> list) {
...@@ -1493,7 +1494,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1493,7 +1494,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
Map<Long, Integer> orderNumMap = new HashMap<>(); Map<Long, Integer> orderNumMap = new HashMap<>();
//按照订单分组 //按照订单分组
for (BoxPreloadGoodsDO preloadGoodsDO : preloadGoodsList) { for (BoxPreloadGoodsDO preloadGoodsDO : preloadGoodsList) {
Long orderId = preloadGoodsDO.getOrderId(); Long orderId = preloadGoodsDO.getOrderId();
int finalOrderNum = orderNum; int finalOrderNum = orderNum;
if (orderNumMap.containsKey(orderId)) { if (orderNumMap.containsKey(orderId)) {
...@@ -1525,7 +1526,8 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1525,7 +1526,8 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
/** /**
* 根据订单生成提单号 * 根据订单生成提单号
* @param orderId 订单ID *
* @param orderId 订单ID
* @return * @return
*/ */
public String getLadingBillNo(Long orderId) { public String getLadingBillNo(Long orderId) {
...@@ -1603,8 +1605,8 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1603,8 +1605,8 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
BoxDO boxDO = boxService.getBox(shipmentId); BoxDO boxDO = boxService.getBox(shipmentId);
Integer prStatus = boxDO.getPrStatus(); Integer prStatus = boxDO.getPrStatus();
Set<Long> orderIdSet = getShipOrderIdList(shipmentId); Set<Long> orderIdSet = getShipOrderIdList(shipmentId);
if(CollectionUtil.isEmpty(orderIdSet)) { if (CollectionUtil.isEmpty(orderIdSet)) {
if(prStatus == PrStatusEnum.PRELOAD_ING.getPrStatus() || if (prStatus == PrStatusEnum.PRELOAD_ING.getPrStatus() ||
prStatus == PrStatusEnum.PRELOAD_APPROVAL_FAIL.getPrStatus() prStatus == PrStatusEnum.PRELOAD_APPROVAL_FAIL.getPrStatus()
) { ) {
//修改为已订舱,待预装 //修改为已订舱,待预装
...@@ -1613,7 +1615,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1613,7 +1615,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
} }
} else { } else {
//修改为预装中 //修改为预装中
if(prStatus == PrStatusEnum.NO_PRELOAD.getPrStatus() || if (prStatus == PrStatusEnum.NO_PRELOAD.getPrStatus() ||
prStatus == PrStatusEnum.PRELOAD_APPROVAL_FAIL.getPrStatus() prStatus == PrStatusEnum.PRELOAD_APPROVAL_FAIL.getPrStatus()
) { ) {
//未预装和预装审核失败的情况才修改为预装中 //未预装和预装审核失败的情况才修改为预装中
...@@ -1626,14 +1628,15 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1626,14 +1628,15 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
/** /**
* 把订单从出货单中删除 * 把订单从出货单中删除
* @param shipmentId 出货单ID *
* @param orderIdCollection 订单列表 * @param shipmentId 出货单ID
* @param type 1 预装移除 2 理货移除 3 装柜移除 * @param orderIdCollection 订单列表
* @param hasExit 是否退场 * @param type 1 预装移除 2 理货移除 3 装柜移除
* @param hasExit 是否退场
*/ */
@Override @Override
public void deleteOrderList(Long shipmentId, Collection<Long> orderIdCollection, Integer type, boolean hasExit) { public void deleteOrderList(Long shipmentId, Collection<Long> orderIdCollection, Integer type, boolean hasExit) {
if(CollectionUtil.isNotEmpty(orderIdCollection)) { if (CollectionUtil.isNotEmpty(orderIdCollection)) {
//删除装柜商品 //删除装柜商品
boxPreloadGoodsMapper.delete(new LambdaQueryWrapperX<BoxPreloadGoodsDO>() boxPreloadGoodsMapper.delete(new LambdaQueryWrapperX<BoxPreloadGoodsDO>()
.in(BoxPreloadGoodsDO::getOrderId, orderIdCollection) .in(BoxPreloadGoodsDO::getOrderId, orderIdCollection)
...@@ -1652,13 +1655,13 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1652,13 +1655,13 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//删除该订单在理货这合包时的装箱数据 //删除该订单在理货这合包时的装箱数据
boxOrderCheckInfoService.remove(new LambdaQueryWrapperX<BoxOrderCheckInfoDO>() boxOrderCheckInfoService.remove(new LambdaQueryWrapperX<BoxOrderCheckInfoDO>()
.eq(BoxOrderCheckInfoDO::getShipmentId,shipmentId) .eq(BoxOrderCheckInfoDO::getShipmentId, shipmentId)
.in(BoxOrderCheckInfoDO::getOrderId,orderIdCollection) .in(BoxOrderCheckInfoDO::getOrderId, orderIdCollection)
); );
//删除已经理货的数据 //删除已经理货的数据
boxTallyService.remove(new LambdaQueryWrapper<BoxTallyDO>() boxTallyService.remove(new LambdaQueryWrapper<BoxTallyDO>()
.eq(BoxTallyDO::getShipmentId, shipmentId) .eq(BoxTallyDO::getShipmentId, shipmentId)
.in(BoxTallyDO::getOrderId, orderIdCollection) .in(BoxTallyDO::getOrderId, orderIdCollection)
); );
} }
...@@ -1921,7 +1924,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1921,7 +1924,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//查询订单的报关费用 //查询订单的报关费用
List<BoxLoadOrderVO> orderVOList = detailBackVO.getSectionOrderList(); List<BoxLoadOrderVO> orderVOList = detailBackVO.getSectionOrderList();
if(CollectionUtil.isNotEmpty(orderVOList)) { if (CollectionUtil.isNotEmpty(orderVOList)) {
List<Long> orderIdList = orderVOList.stream() List<Long> orderIdList = orderVOList.stream()
.map(BoxLoadOrderVO::getOrderId) .map(BoxLoadOrderVO::getOrderId)
.collect(Collectors.toList()); .collect(Collectors.toList());
...@@ -1929,22 +1932,22 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -1929,22 +1932,22 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//找到这些订单的额外费用 //找到这些订单的额外费用
List<BoxCustomsExtraCostDO> extraCostDOList = boxCustomsExtraCostService.getBoxCustomsExtraCostByOrderIdList(orderIdList); List<BoxCustomsExtraCostDO> extraCostDOList = boxCustomsExtraCostService.getBoxCustomsExtraCostByOrderIdList(orderIdList);
Map<Long, BigDecimal> orderFeeMap = extraCostDOList.stream() Map<Long, BigDecimal> orderFeeMap = extraCostDOList.stream()
.collect(Collectors.groupingBy(BoxCustomsExtraCostDO::getOrderId, CollectorsUtil.summingBigDecimal(BoxCustomsExtraCostDO::getFee))); .collect(Collectors.groupingBy(BoxCustomsExtraCostDO::getOrderId, CollectorsUtil.summingBigDecimal(BoxCustomsExtraCostDO::getFee)));
List<BoxAbnormalDO> abnormalList = boxService.getAbnormalList(shipmentId); List<BoxAbnormalDO> abnormalList = boxService.getAbnormalList(shipmentId);
detailBackVO.setAbnormalList(BoxAbnormalConvert.INSTANCE.convertList(abnormalList)); detailBackVO.setAbnormalList(BoxAbnormalConvert.INSTANCE.convertList(abnormalList));
String dealOrderIds = null; String dealOrderIds = null;
BoxAbnormalDO boxAbnormalDO = null; BoxAbnormalDO boxAbnormalDO = null;
if(CollectionUtil.isNotEmpty(abnormalList)) { if (CollectionUtil.isNotEmpty(abnormalList)) {
boxAbnormalDO = abnormalList.get(0); boxAbnormalDO = abnormalList.get(0);
dealOrderIds = boxAbnormalDO.getDealOrderIds(); dealOrderIds = boxAbnormalDO.getDealOrderIds();
} }
if(StringUtils.isEmpty(dealOrderIds)) { if (StringUtils.isEmpty(dealOrderIds)) {
dealOrderIds = ""; dealOrderIds = "";
} }
for (BoxLoadOrderVO orderVO : orderVOList) { for (BoxLoadOrderVO orderVO : orderVOList) {
orderVO.setCustomsFee(orderFeeMap.get(orderVO.getOrderId())); orderVO.setCustomsFee(orderFeeMap.get(orderVO.getOrderId()));
if(boxAbnormalDO == null) { if (boxAbnormalDO == null) {
orderVO.setAbnormalDealStatus(1); orderVO.setAbnormalDealStatus(1);
} else { } else {
boolean isDeal = dealOrderIds.contains(orderVO.getOrderId().toString()); boolean isDeal = dealOrderIds.contains(orderVO.getOrderId().toString());
...@@ -2164,7 +2167,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2164,7 +2167,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
List<Long> approvalIdList = new ArrayList<>(); List<Long> approvalIdList = new ArrayList<>();
for (Long orderId : oIdList) { for (Long orderId : oIdList) {
OrderDO orderDO = orderService.getById(orderId); OrderDO orderDO = orderService.getById(orderId);
OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6,11,13,14,22,23) , false); OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(approvalTypeCheckEvent); applicationContext.publishEvent(approvalTypeCheckEvent);
if (approvalTypeCheckEvent.getResult()) { if (approvalTypeCheckEvent.getResult()) {
approvalIdList.add(orderId); approvalIdList.add(orderId);
...@@ -2305,18 +2308,18 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2305,18 +2308,18 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
OrderConsigneeDO filterConsigneeDO = getFilterOrderConsigneeDO(boxDO, loadList); OrderConsigneeDO filterConsigneeDO = getFilterOrderConsigneeDO(boxDO, loadList);
OrderDO orderDO = orderService.getById(orderId); OrderDO orderDO = orderService.getById(orderId);
OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6,11,13,14,22,23) , false); OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(approvalTypeCheckEvent); applicationContext.publishEvent(approvalTypeCheckEvent);
if (approvalTypeCheckEvent.getResult()) { if (approvalTypeCheckEvent.getResult()) {
throw exception(ORDER_IS_APPROVAL_IN_PROCESS); throw exception(ORDER_IS_APPROVAL_IN_PROCESS);
} }
if(filterConsigneeDO != null) { if (filterConsigneeDO != null) {
//校验收货人是否是同一个人 //校验收货人是否是同一个人
OrderConsigneeDO consigneeDO = boxService.getOrderConsignee(orderDO); OrderConsigneeDO consigneeDO = boxService.getOrderConsignee(orderDO);
//校验是否是用一个人 ,通过手机号 //校验是否是用一个人 ,通过手机号
if(consigneeDO != null && !consigneeDO.getPhone().equals(filterConsigneeDO.getPhone())) { if (consigneeDO != null && !consigneeDO.getPhone().equals(filterConsigneeDO.getPhone())) {
throw new ServiceException(500, "当前自编号是客户+自清,收货人必须是手机号相同才可以进行分拣"); throw new ServiceException(500, "当前自编号是客户+自清,收货人必须是手机号相同才可以进行分拣");
} }
} }
...@@ -2324,7 +2327,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2324,7 +2327,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//如果都符合,下面展示互斥和关联订单的弹窗 //如果都符合,下面展示互斥和关联订单的弹窗
Integer relationStatus = createReqVO.getRelationStatus(); Integer relationStatus = createReqVO.getRelationStatus();
//校验是否是互斥订单 //校验是否是互斥订单
if(relationStatus == null || relationStatus == 2) { if (relationStatus == null || relationStatus == 2) {
//校验互斥订单 //校验互斥订单
checkMutualOrder(loadList, orderDO); checkMutualOrder(loadList, orderDO);
} }
...@@ -2335,7 +2338,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2335,7 +2338,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
boolean hasRelationOrder = CollectionUtil.isNotEmpty(orderRelationList); boolean hasRelationOrder = CollectionUtil.isNotEmpty(orderRelationList);
if(hasRelationOrder) { if (hasRelationOrder) {
Set<Long> orderIdSet = orderRelationList.stream() Set<Long> orderIdSet = orderRelationList.stream()
.flatMap(o -> Stream.of(o.getOrderId(), o.getRelateOrderId())) .flatMap(o -> Stream.of(o.getOrderId(), o.getRelateOrderId()))
.collect(Collectors.toSet()); .collect(Collectors.toSet());
...@@ -2411,7 +2414,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2411,7 +2414,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//过滤了入仓为0的数据 //过滤了入仓为0的数据
List<OrderItemBackVO> orderItemList = orderItemService.getOrderItemBackByOrderId(orderIdList); List<OrderItemBackVO> orderItemList = orderItemService.getOrderItemBackByOrderId(orderIdList);
if(CollectionUtil.isEmpty(orderItemList)) { if (CollectionUtil.isEmpty(orderItemList)) {
throw new ServiceException(500, "订单项不存在"); throw new ServiceException(500, "订单项不存在");
} }
...@@ -2725,7 +2728,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2725,7 +2728,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
List<Long> approvalIdList = new ArrayList<>(); List<Long> approvalIdList = new ArrayList<>();
for (Long orderId : oIdList) { for (Long orderId : oIdList) {
OrderDO orderDO = orderService.getById(orderId); OrderDO orderDO = orderService.getById(orderId);
OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6,11,13,14,22,23) , false); OrderApprovalTypeCheckEvent approvalTypeCheckEvent = new OrderApprovalTypeCheckEvent(orderDO.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(approvalTypeCheckEvent); applicationContext.publishEvent(approvalTypeCheckEvent);
if (approvalTypeCheckEvent.getResult()) { if (approvalTypeCheckEvent.getResult()) {
approvalIdList.add(orderId); approvalIdList.add(orderId);
...@@ -2824,13 +2827,30 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -2824,13 +2827,30 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
Iterator<OrderPreloadVO> it = orderPreloadList.iterator(); Iterator<OrderPreloadVO> it = orderPreloadList.iterator();
while (it.hasNext()) { while (it.hasNext()) {
OrderPreloadVO orderPreloadVO = it.next(); OrderPreloadVO orderPreloadVO = it.next();
String guanlianOrderStatus = orderPreloadVO.getGuanLianOrderStatus(); if (StringUtils.isNotBlank(orderPreloadVO.getGuanLianOrderStatus())) {
if (StringUtils.isEmpty(guanlianOrderStatus)) continue; List<GuanLianOrderStatusVO> guanLianOrderStatusVOList = JSONObject.parseArray(orderPreloadVO.getGuanLianOrderStatus(), GuanLianOrderStatusVO.class);
JSONArray jsonArray = JSONArray.parseArray(guanlianOrderStatus); if (CollectionUtil.isNotEmpty(guanLianOrderStatusVOList) && guanLianOrderStatusVOList.size() > 0) {
if (jsonArray.size() > 0) { List<GuanLianOrderStatusVO> approvalGuanLianOrderList = guanLianOrderStatusVOList.stream().filter(vo -> vo.getType() == 2).collect(Collectors.toList());
//表示该订单的关联单-有异常或者在审核中或者未入仓 if (CollectionUtil.isNotEmpty(approvalGuanLianOrderList)) {
it.remove(); boolean isApproval = approvalGuanLianOrderList.stream().anyMatch(o -> {
if (o.getType() == 2) {
// 关联单进行中的审批类型校验
OrderApprovalTypeCheckEvent guanLianApprovalTypeCheckEvent = new OrderApprovalTypeCheckEvent(o.getOrderId(), null, null, Arrays.asList(6, 11, 13, 14, 22, 23), false);
applicationContext.publishEvent(guanLianApprovalTypeCheckEvent);
return guanLianApprovalTypeCheckEvent.getResult();
}else {
// 关联单有异常或未完成入仓
return true;
}
});
if (isApproval) {
//表示该订单的关联单-有异常或者在审核中或者未入仓
it.remove();
}
}
}
} }
} }
} }
...@@ -3028,9 +3048,9 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -3028,9 +3048,9 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
List<BoxPreloadGoodsDO> allGoodsItemList = List<BoxPreloadGoodsDO> allGoodsItemList =
boxPreloadGoodsMapper.selectList( boxPreloadGoodsMapper.selectList(
new LambdaQueryWrapperX<BoxPreloadGoodsDO>() new LambdaQueryWrapperX<BoxPreloadGoodsDO>()
.in(BoxPreloadGoodsDO::getShipmentId, idList) .in(BoxPreloadGoodsDO::getShipmentId, idList)
.eq(BoxPreloadGoodsDO::getIsRemove, 0) .eq(BoxPreloadGoodsDO::getIsRemove, 0)
); );
List<OrderItemDO> orderItemDOList = List<OrderItemDO> orderItemDOList =
convertOrderItemList(BoxPreloadGoodsConvert.INSTANCE.convertList( convertOrderItemList(BoxPreloadGoodsConvert.INSTANCE.convertList(
allGoodsItemList)); allGoodsItemList));
...@@ -3051,14 +3071,14 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -3051,14 +3071,14 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//ecw_box_load_info 已装柜标签 //ecw_box_load_info 已装柜标签
List<BoxLoadInfoDO> allLoadList = List<BoxLoadInfoDO> allLoadList =
boxLoadInfoService.list(new LambdaQueryWrapperX<BoxLoadInfoDO>() boxLoadInfoService.list(new LambdaQueryWrapperX<BoxLoadInfoDO>()
.in(BoxLoadInfoDO::getShipmentId, idList) .in(BoxLoadInfoDO::getShipmentId, idList)
); );
//ecw_box_merge_pkg 合包箱表 添加注释 //ecw_box_merge_pkg 合包箱表 添加注释
List<BoxMergePkgDO> allPkgList = List<BoxMergePkgDO> allPkgList =
boxMergePkgService.list(new LambdaQueryWrapper<BoxMergePkgDO>() boxMergePkgService.list(new LambdaQueryWrapper<BoxMergePkgDO>()
.in(BoxMergePkgDO::getShipmentId, idList) .in(BoxMergePkgDO::getShipmentId, idList)
); );
Map<Long, List<BoxLoadInfoDO>> shipmentLoadMap = allLoadList.stream() Map<Long, List<BoxLoadInfoDO>> shipmentLoadMap = allLoadList.stream()
.collect(Collectors.groupingBy(BoxLoadInfoDO::getShipmentId)); .collect(Collectors.groupingBy(BoxLoadInfoDO::getShipmentId));
...@@ -3079,7 +3099,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM ...@@ -3079,7 +3099,7 @@ public class BoxPreloadGoodsServiceImpl extends AbstractService<BoxPreloadGoodsM
//添加参数,解决合包箱数据为空时不计算预装箱数的BUG //添加参数,解决合包箱数据为空时不计算预装箱数的BUG
calculateBoxMergeSum(shipmentMergeMap.get(shipmentId), calculateBoxMergeSum(shipmentMergeMap.get(shipmentId),
boxGoodsStatistics,shipmentId); boxGoodsStatistics, shipmentId);
shipmentStatisticsMap.put(shipmentId, boxGoodsStatistics); shipmentStatisticsMap.put(shipmentId, boxGoodsStatistics);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment