From b83a5cde3a944b959a0a484cfc2804969f59c331 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Fri, 25 Apr 2025 12:34:12 +0200 Subject: [PATCH] feat: better sku listing --- .../controller/admin/SkuController.java | 5 +++-- .../modules/business/mapper/SkuMapper.java | 2 +- .../modules/business/mapper/xml/SkuMapper.xml | 18 ++++++++++++++---- .../modules/business/service/ISkuService.java | 2 +- .../business/service/impl/SkuServiceImpl.java | 4 ++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java index 23c83772b..5ec9a222c 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java @@ -619,8 +619,9 @@ public class SkuController { } @GetMapping(value = "/compare") - public Result compareClientSkuWithMabang(@RequestParam(name="clientId") String clientId) { - Map clientSkus = skuService.listByClientId(clientId); + public Result compareClientSkuWithMabang(@RequestParam(name="clientId") String clientId, + @RequestParam(name="erpStatuses[]") List erpStatuses) { + Map clientSkus = skuService.listInUninvoicedOrders(clientId, erpStatuses); List skuIds = new ArrayList<>(clientSkus.keySet()); List clientSkuDocs = new ArrayList<>(); for(String skuId: skuIds) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java index 4a9c48aa2..2f5397da9 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java @@ -76,7 +76,7 @@ public interface SkuMapper extends BaseMapper { List getInventory(@Param("erpCodes") List erpCodes, @Param("invoiceNumber") String invoiceNumber); @MapKey("id") - Map listByClientId(@Param("clientId") String clientId); + Map listInUninvoicedOrders(@Param("clientId") String clientId, @Param("erpStatuses") List erpStatuses); List searchExistingSkuByKeywords(@Param("keywords") List keywords); List listImgUrls(); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml index c56c0b9c4..f235fc6b5 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml @@ -723,12 +723,22 @@ #{sku.id} - + SELECT DISTINCT s.* FROM sku s - JOIN client_sku ON s.id = client_sku.sku_id + JOIN client_sku ON s.id = client_sku.sku_id + JOIN platform_order_content poc ON s.id = poc.sku_id + JOIN platform_order po ON poc.platform_order_id = po.id WHERE client_sku.client_id = #{clientId} - AND s.status = 3; + AND po.shipping_invoice_number IS NULL + AND poc.erp_status <> 5 + AND po.erp_status IN + + #{erpStatus} + + AND po.order_time >= '2024-01-01 00:00:00' + AND s.status = 3 + ;