From 6ef33608fbf775bd4d5c67bfeabe1ff2528a6b1f Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 31 Dec 2024 14:18:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(SaleOrder):=20=E4=BF=AE=E5=A4=8D=E5=85=B3?= =?UTF-8?q?=E8=81=94=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8=EF=BC=8C=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OmsSaleOrderController.java | 15 ++++++++++ .../modules/oms/entity/OmsSaleOrder.java | 18 +++++++++++- .../modules/oms/entity/OmsSaleOrderItem.java | 2 ++ .../oms/service/OmsSaleOrderService.java | 7 +++++ .../service/impl/OmsSaleOrderServiceImpl.java | 29 +++++++++++++++++++ .../modules/third/PortalGoodsController.java | 2 +- 6 files changed, 71 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java b/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java index 495eed43..135f6393 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java @@ -9,6 +9,7 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplierAddress; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; @@ -60,6 +61,20 @@ public class OmsSaleOrderController { private BmsSupplierMapper bmsSupplierMapper; private SeeYonRequestBaseService seeYonRequestBaseService; + /** + * 获取历史订单 + * @param code + * @return + */ + @GetMapping("/listHistoryByCode") + public R getHistoryOrder(String code){ + if(!StringUtils.hasText(code)){ + return R.ok(); + } + List saleOrders = omsSaleOrderService.listHistoryOrderByCode(code); + return R.ok(saleOrders); + } + /** * 获取ERP订单信息 * @param query diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java index d523bae8..02d7cd86 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java @@ -242,14 +242,27 @@ public class OmsSaleOrder implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate checkEndTime; - + /** + * 预计完成时间 + */ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate preFinishedDate; + /** + * 预计发货时间 + */ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate preDeliveryDate; + + /** + * 预计生产日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate preProductionDate; + private String businessType; private String saleDept; private String saleType; @@ -265,5 +278,8 @@ public class OmsSaleOrder implements Serializable { @TableField(exist = false) private Object discountRateInfo; + @TableField(exist = false) + private List itemList; + } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java index 8dc9c985..dc3aed76 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java @@ -110,6 +110,8 @@ public class OmsSaleOrderItem implements Serializable { @JsonProperty private String tenantId; + private String version; + /** 逻辑删除标记(0:显示;1:隐藏) */ @JsonIgnore @JsonProperty diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java index fec27267..6e8e7fea 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java @@ -91,6 +91,13 @@ public interface OmsSaleOrderService extends IService { */ OmsSaleOrder modifyImminentOrder(OmsOrderImminentBo param); + /** + * 根据code查询订单 + * @param code + * @return + */ + List listHistoryOrderByCode(String code); + /** * 拦截规则 * @param skuIds diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java index 9de9ca9f..fc83b650 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java @@ -314,6 +314,7 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl listHistoryOrderByCode(String code) { + List omsSaleOrderList = this.list(new LambdaQueryWrapper() + .eq(OmsSaleOrder::getOrderSn, code)); + if(CollUtil.isNotEmpty(omsSaleOrderList)){ + // 排序版本号 + omsSaleOrderList = omsSaleOrderList.stream() + .sorted(Comparator.comparing(OmsSaleOrder::getVersion)) + .collect(Collectors.toList()); + + List erpOrderIds = omsSaleOrderList.stream().map(OmsSaleOrder::getId).collect(Collectors.toList()); + List itemList = omsSaleOrderItemService.list(new LambdaQueryWrapper() + .eq(OmsSaleOrderItem::getOrderSn, code) + .in(OmsSaleOrderItem::getOrderId,erpOrderIds) + ); + if(CollUtil.isNotEmpty(itemList)){ + Map> verAndItemList = itemList.stream() + .collect(Collectors.groupingBy(OmsSaleOrderItem::getVersion)); + + for (OmsSaleOrder omsSaleOrder : omsSaleOrderList) { + List orderItems = verAndItemList.get(omsSaleOrder.getVersion()); + omsSaleOrder.setItemList(orderItems); + } + } + } + return omsSaleOrderList; + } + @Override @Transactional(rollbackFor = Exception.class) public OmsSaleOrder modifyImminentOrder(OmsOrderImminentBo param) { diff --git a/src/main/java/com/qs/serve/modules/third/PortalGoodsController.java b/src/main/java/com/qs/serve/modules/third/PortalGoodsController.java index c1336d31..371de2ab 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalGoodsController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalGoodsController.java @@ -71,7 +71,7 @@ public class PortalGoodsController { .map(a->a.getSpuId()).collect(Collectors.toList()); if(CollUtil.isEmpty(spuIds)){ - Assert.throwEx("没有找到对应商品"); + return new ArrayList<>(); } LambdaQueryWrapper spuLqw = new LambdaQueryWrapper<>(); spuLqw.eq(GoodsSpu::getOrderFlag,1);