From 694fbb3115e942459bb6162725110ffd0a5522d1 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Mon, 26 Aug 2024 10:53:15 +0200 Subject: [PATCH] feat : sku weight finished, grafana, loki, loki4j --- db/util.sql | 24 ++++--- db/views/detail_de_facture.sql | 3 +- db/views/inventory_record.sql | 5 +- db/views/sales_analyze.sql | 10 ++- db/views/sku_country_channel_choice.sql | 5 +- db/views/sku_price_promotion.sql | 5 +- db/views/sku_weight_discount.sql | 4 +- grafana/docker-compose.yml | 43 ++++++++++++ grafana/loki/local-config.yaml | 62 +++++++++++++++++ .../admin/ShippingFeesWaiverController.java | 1 - .../controller/admin/SkuController.java | 11 ++- .../domain/job/ChangeWarehouseJob.java | 2 + .../job/ConfirmedClientsInvoicingJob.java | 3 +- .../business/domain/job/MabangJob.java | 4 +- .../domain/job/MabangOrderSyncJob.java | 2 + .../business/domain/job/MabangSkuJob.java | 4 -- .../entity/ShippingFeesWaiverProduct.java | 2 +- .../modules/business/mapper/SkuMapper.java | 10 ++- .../mapper/xml/PurchaseOrderContentMapper.xml | 6 +- .../mapper/xml/SensitiveAttributeMapper.xml | 8 +-- .../xml/ShippingFeesWaiverProductMapper.xml | 2 +- .../modules/business/mapper/xml/SkuMapper.xml | 68 +++++++++++-------- .../modules/business/service/ISkuService.java | 8 ++- .../business/service/impl/SkuServiceImpl.java | 63 ++++++++++++++--- .../src/main/resources/logback-spring.xml | 25 +++++++ pom.xml | 5 ++ 26 files changed, 292 insertions(+), 93 deletions(-) create mode 100644 grafana/docker-compose.yml create mode 100644 grafana/loki/local-config.yaml diff --git a/db/util.sql b/db/util.sql index 46b05060f..54329871b 100644 --- a/db/util.sql +++ b/db/util.sql @@ -18,19 +18,27 @@ SHOW VARIABLES LIKE 'collation%'; SHOW TABLE STATUS LIKE 'sen%'; ALTER DATABASE wia_app COLLATE utf8mb4_general_ci; -SELECT c.internal_code AS '客户', - s.erp_code AS SKU, - p.zh_name AS '中文名', - p.weight AS '重量', +WITH latestSkuWeights AS ( + SELECT + sku_id, + weight, + effective_date, + ROW_NUMBER() OVER (PARTITION BY sku_id ORDER BY effective_date DESC) AS rn + FROM sku_weight +) +SELECT c.internal_code AS '客户', + s.erp_code AS SKU, + s.zh_name AS '中文名', + lsw.weight AS '重量', ROUND(calculate_shipping_fees(IF(sa.zh_name = '普货', '联邮通优先挂号-普货', '联邮通优先挂号-带电'), 'FR', '2021-06-24', - p.weight), 2) AS '运费', + lsw.weight), 2) AS '运费', get_registration_fees(IF(sa.zh_name = '普货', '联邮通优先挂号-普货', '联邮通优先挂号-带电'), 'FR', '2021-06-24', - p.weight) AS '挂号费' + lsw.weight) AS '挂号费' FROM sku s LEFT JOIN client_sku ON s.id = client_sku.sku_id LEFT JOIN client c ON client_sku.client_id = c.id - JOIN product p ON p.id = s.product_id - JOIN sensitive_attribute sa ON p.sensitive_attribute_id = sa.id; + LEFT JOIN latestSkuWeights lsw ON lsw.sku_id = s.id AND lsw.rn = 1 + JOIN sensitive_attribute sa ON s.sensitive_attribute_id = sa.id; SELECT c.internal_code AS 'Client', po.platform_order_id AS 'Order ID', diff --git a/db/views/detail_de_facture.sql b/db/views/detail_de_facture.sql index b3ba2ceae..49dfa6116 100644 --- a/db/views/detail_de_facture.sql +++ b/db/views/detail_de_facture.sql @@ -9,7 +9,7 @@ SELECT s.name AS 'Boutique', po.country AS 'Pays', po.postcode AS 'Code postal', JSON_ARRAYAGG(sku.erp_code) AS 'SKU', - JSON_ARRAYAGG(p.en_name) AS 'Nom produits', + JSON_ARRAYAGG(sku.en_name) AS 'Nom produits', JSON_ARRAYAGG(poc.quantity) AS 'Quantité', SUM(poc.purchase_fee) AS 'Frais d\'achat', po.fret_fee AS 'Frais de FRET', @@ -23,7 +23,6 @@ FROM platform_order po JOIN shop s ON po.shop_id = s.id RIGHT JOIN platform_order_content poc ON po.id = poc.platform_order_id JOIN sku ON poc.sku_id = sku.id - JOIN product p ON sku.product_id = p.id WHERE shipping_invoice_number IS NOT NULL AND poc.erp_status <> 5 GROUP BY po.id, s.name, po.order_time diff --git a/db/views/inventory_record.sql b/db/views/inventory_record.sql index 42d2d9b6a..50fcdd64e 100644 --- a/db/views/inventory_record.sql +++ b/db/views/inventory_record.sql @@ -1,11 +1,11 @@ CREATE OR REPLACE VIEW inventory_record AS SELECT sku.id AS id, cs.client_id AS client_id, - sku.product_id AS product_id, + sku.id AS product_id, sku.erp_code AS erp_code, sku.image_source AS image_source, sku.available_amount AS available_amount, - p.moq AS moq, + sku.moq AS moq, rs.quantity AS red_quantity, gs.quantity AS green_quantity, sales_7.quantity AS sales_7, @@ -13,7 +13,6 @@ SELECT sku.id AS id, sales_28.quantity AS sales_28, sipo.quantity AS platform_order_quantity FROM sku - JOIN product p ON sku.product_id = p.id JOIN client_sku cs ON sku.id = cs.sku_id LEFT JOIN sales_7 ON sku.id = sales_7.sku_id LEFT JOIN sales_14 ON sku.id = sales_14.sku_id diff --git a/db/views/sales_analyze.sql b/db/views/sales_analyze.sql index 07a5b21c4..2e0ce8fe9 100644 --- a/db/views/sales_analyze.sql +++ b/db/views/sales_analyze.sql @@ -13,9 +13,14 @@ SELECT c.internal_code AS '客户代码', WHEN s2.erp_code IS NOT NULL THEN s2.erp_code END AS 'SKU', - p.zh_name AS '产品中文名', + s2.zh_name AS '产品中文名', poc.quantity AS '产品数量', - p.weight AS '商品收费重', + ( + SELECT sw.weight + FROM sku_weight sw + WHERE sw.sku_id = s.id + ORDER BY effective_date DESC LIMIT 1 + ) AS '商品收费重', poc.purchase_fee AS '商品采购费', poc.service_fee AS '商品服务费', poc.shipping_fee AS '商品运费', @@ -35,7 +40,6 @@ SELECT c.internal_code AS '客户代码', po.logistic_channel_name AS '物流渠道' FROM platform_order_content poc LEFT JOIN sku s2 ON poc.sku_id = s2.id - LEFT JOIN product p ON s2.product_id = p.id JOIN platform_order po ON poc.platform_order_id = po.id JOIN shop s ON po.shop_id = s.id JOIN client c ON s.owner_id = c.id diff --git a/db/views/sku_country_channel_choice.sql b/db/views/sku_country_channel_choice.sql index 7fbb17826..d33967a40 100644 --- a/db/views/sku_country_channel_choice.sql +++ b/db/views/sku_country_channel_choice.sql @@ -1,11 +1,11 @@ CREATE OR REPLACE VIEW sku_country_channel_choice AS SELECT sku.id AS id, cs.client_id AS client_id, - sku.product_id AS product_id, + sku.id AS product_id, sku.erp_code AS erp_code, sku.image_source AS image_source, sku.available_amount AS available_amount, - p.moq AS moq, + sku.moq AS moq, rs.quantity AS red_quantity, gs.quantity AS green_quantity, sales_7.quantity AS sales_7, @@ -13,7 +13,6 @@ SELECT sku.id AS id, sales_28.quantity AS sales_28, sipo.quantity AS platform_order_quantity FROM sku - JOIN product p ON sku.product_id = p.id JOIN client_sku cs ON sku.id = cs.sku_id LEFT JOIN sales_7 ON sku.id = sales_7.sku_id LEFT JOIN sales_14 ON sku.id = sales_14.sku_id diff --git a/db/views/sku_price_promotion.sql b/db/views/sku_price_promotion.sql index 60d2816c8..c9314bc9a 100644 --- a/db/views/sku_price_promotion.sql +++ b/db/views/sku_price_promotion.sql @@ -1,7 +1,7 @@ CREATE OR REPLACE VIEW sku_price_promotion AS SELECT s.id AS sku_id, - p.en_name AS name_en, - p.zh_name AS name_zh, + s.en_name AS name_en, + s.zh_name AS name_zh, s.erp_code AS erp_code, s.image_source AS image_source, spr.promotion_id AS promotion_id, @@ -17,6 +17,5 @@ SELECT s.id AS sku_id, FROM sku s LEFT JOIN sku_promotion_relation spr ON s.id = spr.sku_id LEFT JOIN sku_current_price scp ON s.id = scp.sku_id - JOIN product p ON s.product_id = p.id LEFT JOIN sku_in_platform_order sipo ON s.id = sipo.sku_id ORDER BY sipo.quantity DESC; \ No newline at end of file diff --git a/db/views/sku_weight_discount.sql b/db/views/sku_weight_discount.sql index 44db099d2..e836646df 100644 --- a/db/views/sku_weight_discount.sql +++ b/db/views/sku_weight_discount.sql @@ -1,7 +1,7 @@ CREATE OR REPLACE VIEW sku_weight_discount_service_fees AS SELECT s.id, s.erp_code, - p.weight, + (SELECT sw.weight FROM sku_weight sw WHERE sw.sku_id = s.id ORDER BY effective_date DESC LIMIT 1) as weight, s.shipping_discount, s.service_fee -FROM sku s JOIN product p ON p.id = s.product_id; \ No newline at end of file +FROM sku s \ No newline at end of file diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml new file mode 100644 index 000000000..e04ef8302 --- /dev/null +++ b/grafana/docker-compose.yml @@ -0,0 +1,43 @@ +networks: + loki: +services: + loki: + container_name: loki + image: grafana/loki:2.9.0 + ports: + - "3100:3100" + command: -config.file=/etc/loki/local-config.yaml + volumes: + - "C:/Users/logau/Documents/wia_app/grafana/loki:/etc/loki" + networks: + - loki + grafana: + container_name: grafana + environment: + - GF_PATHS_PROVISIONING=/etc/grafana/provisioning + - GF_AUTH_ANONYMOUS_ENABLED=true + - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin + entrypoint: + - sh + - -euc + - | + mkdir -p /etc/grafana/provisioning/datasources + cat < /etc/grafana/provisioning/datasources/ds.yaml + apiVersion: 1 + datasources: + - name: Loki + type: loki + access: proxy + orgId: 1 + url: http://loki:3100 + basicAuth: false + isDefault: true + version: 1 + editable: false + EOF + /run.sh + image: grafana/grafana:latest + ports: + - "3000:3000" + networks: + - loki \ No newline at end of file diff --git a/grafana/loki/local-config.yaml b/grafana/loki/local-config.yaml new file mode 100644 index 000000000..a8e49aa27 --- /dev/null +++ b/grafana/loki/local-config.yaml @@ -0,0 +1,62 @@ +auth_enabled: false + +server: + http_listen_port: 3100 + +common: + path_prefix: /loki + storage: + filesystem: + chunks_directory: /loki/chunks + rules_directory: /loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + +## added +query_range: + results_cache: + cache: + embedded_cache: + enabled: true + max_size_mb: 500 + +chunk_store_config: + max_look_back_period: 0s + chunk_cache_config: + embedded_cache: + enabled: true + max_size_mb: 500 + ttl: 24h +## end added + +schema_config: + configs: + - from: 2020-10-24 + store: boltdb-shipper + object_store: filesystem + schema: v11 + index: + prefix: index_ + period: 24h + +## added +limits_config: + split_queries_by_interval: 0 + +ruler: + alertmanager_url: http://localhost:9093 + +# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration +# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/ +# +# Statistics help us better understand how Loki is used, and they show us performance +# levels for most users. This helps us prioritize features and documentation. +# For more information on what's sent, look at +# https://github.com/grafana/loki/blob/main/pkg/usagestats/stats.go +# Refer to the buildReport method to see what goes into a report. +# +# If you would like to disable reporting, uncomment the following lines: +#analytics: +# reporting_enabled: false \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/ShippingFeesWaiverController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/ShippingFeesWaiverController.java index 8f42eb55a..b6818a906 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/ShippingFeesWaiverController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/ShippingFeesWaiverController.java @@ -3,7 +3,6 @@ package org.jeecg.modules.business.controller.admin; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.jeecg.modules.business.entity.ShippingDiscount; import org.jeecg.modules.business.entity.ShippingFeesWaiver; import org.jeecg.modules.business.entity.ShippingFeesWaiverProduct; import org.jeecg.modules.business.service.IShippingFeesWaiverProductService; 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 a884c8334..298c5ae4e 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 @@ -373,24 +373,23 @@ public class SkuController { } catch (RuntimeException e) { return Result.error("Error 400 Bad Request"); } - List allSkuOrdersPage = new ArrayList<>(); - List skuOrdersPage = new ArrayList<>(); - int total = 0; + List skuOrdersPage; + int total; if(erpCodes != null || zhNames != null || enNames != null) { List erpCodeList = erpCodes == null ? null : Arrays.asList(erpCodes.split(",")); List zhNameList = zhNames == null ? null : Arrays.asList(zhNames.split(",")); List enNameList = enNames == null ? null : Arrays.asList(enNames.split(",")); if(clientId != null) { - allSkuOrdersPage = skuService.fetchSkusByClientWithFilters(clientId, 1, -1, parsedColumn, parsedOrder, erpCodeList, zhNameList, enNameList); + total = skuService.countAllClientSkusWithFilters(clientId, erpCodeList, zhNameList, enNameList); skuOrdersPage = skuService.fetchSkusByClientWithFilters(clientId, pageNo, pageSize, parsedColumn, parsedOrder, erpCodeList, zhNameList, enNameList); } else { - total = skuService.countAllSkuWeightsWithFilters(); + total = skuService.countAllSkuWeightsWithFilters(erpCodeList, zhNameList, enNameList); skuOrdersPage = skuService.fetchSkuWeightsWithFilters(pageNo, pageSize, parsedColumn, parsedOrder, erpCodeList, zhNameList, enNameList); } } else { if(clientId != null) { - allSkuOrdersPage = skuService.fetchSkusByClient(clientId, 1, -1, parsedColumn, parsedOrder); + total = skuService.countAllClientSkus(); skuOrdersPage = skuService.fetchSkusByClient(clientId, pageNo, pageSize, parsedColumn, parsedOrder); } else { total = skuService.countAllSkus(); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ChangeWarehouseJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ChangeWarehouseJob.java index cbd12ceb9..6fe18bd16 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ChangeWarehouseJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ChangeWarehouseJob.java @@ -18,6 +18,7 @@ import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.util.ArrayList; @@ -29,6 +30,7 @@ import java.util.stream.Collectors; import static java.util.stream.Collectors.toList; +@Component @Slf4j public class ChangeWarehouseJob implements Job { @Autowired diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ConfirmedClientsInvoicingJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ConfirmedClientsInvoicingJob.java index ff24d0493..7920ca82d 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ConfirmedClientsInvoicingJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ConfirmedClientsInvoicingJob.java @@ -13,6 +13,7 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; import org.springframework.ui.freemarker.FreeMarkerTemplateUtils; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; @@ -25,7 +26,7 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; - +@Component @Slf4j public class ConfirmedClientsInvoicingJob implements Job { @Autowired diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangJob.java index 7a146eb3f..4323555a7 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangJob.java @@ -12,6 +12,7 @@ import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.ZoneId; @@ -22,11 +23,12 @@ import java.util.List; import static org.jeecg.modules.business.domain.api.mabang.getorderlist.OrderStatus.*; +@Setter +@Component @Slf4j public class MabangJob implements Job { @Autowired - @Setter private IPlatformOrderMabangService platformOrderMabangService; private static final Integer DEFAULT_NUMBER_OF_DAYS = 5; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangOrderSyncJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangOrderSyncJob.java index 87720542f..b8d232ce1 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangOrderSyncJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangOrderSyncJob.java @@ -13,10 +13,12 @@ import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.util.*; @Slf4j +@Component public class MabangOrderSyncJob implements Job { @Autowired diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuJob.java index d82438701..acad8b2fa 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuJob.java @@ -5,7 +5,6 @@ import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; -import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.util.SpringContextUtils; import org.jeecg.modules.business.domain.api.mabang.doSearchSkuListNew.*; import org.jeecg.modules.business.domain.api.mabang.doSearchSkuListNew.SkuData; @@ -51,9 +50,6 @@ public class MabangSkuJob implements Job { private static final Integer DEFAULT_NUMBER_OF_DAYS = 5; private static final DateType DEFAULT_DATE_TYPE = DateType.CREATE; - @Autowired - private ISysBaseAPI ISysBaseApi; - @Override public void execute(JobExecutionContext context) throws JobExecutionException { LocalDateTime endDateTime = LocalDateTime.now(ZoneId.of(ZoneId.SHORT_IDS.get("CTT"))); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/ShippingFeesWaiverProduct.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/ShippingFeesWaiverProduct.java index 8a17e3414..b1f27e7af 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/ShippingFeesWaiverProduct.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/ShippingFeesWaiverProduct.java @@ -73,5 +73,5 @@ public class ShippingFeesWaiverProduct implements Serializable { @Excel(name = "产品ID", width = 15, dictTable = "product", dicText = "code", dicCode = "id") @Dict(dictTable = "product", dicText = "code", dicCode = "id") @ApiModelProperty(value = "产品ID") - private java.lang.String productId; + private java.lang.String skuId; } 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 ae45ea800..d6f2257ff 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 @@ -22,11 +22,6 @@ import java.util.Map; */ @Repository public interface SkuMapper extends BaseMapper { - - boolean deleteByMainId(@Param("mainId") String mainId); - - List selectByMainId(@Param("mainId") String mainId); - List pageSkuByClientId(String clientId, long offset, long size); long countTotal(String clientId); @@ -55,7 +50,10 @@ public interface SkuMapper extends BaseMapper { List getSkuQuantitiesFromOrderIds(@Param("orderIds") List orderIds); Integer countAllSkus(); - Integer countAllSkuWeightsWithFilters(); + Integer countAllSkuWeightsWithFilters(@Param("erpCodes") String erpCodesRegex, @Param("zhNames") String zhNamesRegex, @Param("enNames") String enNamesRegex); + Integer countAllClientSkus(); + Integer countAllClientSkusWithFilters(@Param("clientId") String clientId, @Param("erpCodes") String erpCodesRegex, @Param("zhNames") String zhNamesRegex, @Param("enNames") String enNamesRegex); + List fetchSkuWeights(@Param("offset") Integer offset, @Param("size") Integer pageSize, @Param("column") String column, @Param("order") String order); List fetchSkusByClient(@Param("clientId") String clientId, @Param("offset") Integer offset, @Param("size") Integer pageSize, @Param("column") String column, @Param("order") String order); List fetchSkuWeightsWithFilters(@Param("offset") Integer offset, @Param("size") Integer pageSize, @Param("column") String column, @Param("order") String order, @Param("erpCodes") String erpCodesRegex, @Param("zhNames") String zhNamesRegex, @Param("enNames") String enNamesRegex); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderContentMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderContentMapper.xml index 178c19d59..62c727a8a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderContentMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderContentMapper.xml @@ -13,17 +13,15 @@ FROM purchase_order_sku WHERE purchase_order_id = #{mainId} SELECT sa.en_name, sa.priority FROM sensitive_attribute sa - JOIN product p - ON sa.id = p.sensitive_attribute_id JOIN sku s - ON p.id = s.product_id + ON s.sensitive_attribute_id = sa.id JOIN platform_order_content poc ON s.id = poc.sku_id JOIN platform_order po @@ -18,10 +16,8 @@ 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 889c01014..29bb4c203 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 @@ -1,18 +1,6 @@ - - - DELETE - FROM sku - WHERE product_id = #{mainId} - - - - SELECT * FROM inventory_record i @@ -179,6 +167,13 @@ LIMIT #{offset}, #{size} ; + +