Переглянути джерело

fix统计石灰石销售排行问题

xucaiqin 2 тижнів тому
батько
коміт
0c031ef6b0

+ 6 - 0
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/TradeOrderDto.java

@@ -22,6 +22,12 @@ public class TradeOrderDto implements Serializable {
     private Long goodsId;
 
     private BigDecimal amount;
+    private Integer chargeType;
+
+    private BigDecimal unloadAmount;
+
+
+    private BigDecimal loadAmount;
     private BigDecimal unitPrice;
 
 }

+ 5 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/task/TradeOrderTask.java

@@ -99,7 +99,11 @@ public class TradeOrderTask {
                 }
 
                 kwoTradeOrderArchive.setUnitPrice(d.getUnitPrice());
-                kwoTradeOrderArchive.setAmount(d.getAmount());
+                if (Objects.equals(d.getChargeType(), 1)) {
+                    kwoTradeOrderArchive.setAmount(d.getLoadAmount());
+                } else {
+                    kwoTradeOrderArchive.setAmount(d.getUnloadAmount());
+                }
                 return kwoTradeOrderArchive;
 
             }).toList();

+ 1 - 1
sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderArchiveMapper.xml

@@ -23,7 +23,7 @@
       product_spec,
       MAX(unit_price) AS maxPrice,
       MIN(unit_price) AS minPrice,
-      SUM(amount),
+      SUM(amount) as amount,
       ROUND(SUM(unit_price * amount) / SUM(amount), 2) AS avgPrice,
       ROUND(SUM(unit_price * amount) / 10000, 2) AS salePrice,
       ROUND(100 * SUM(unit_price * amount) / total_sales, 2) AS percent

+ 4 - 1
sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml

@@ -1042,7 +1042,10 @@
         select kto.id,
                ktog.goods_id,
                kto.amount,
-               ktog.unit_price
+               ktog.unit_price,
+                kto.charge_type,
+                kto.load_amount,
+                kto.unload_amount
         from kwo_trade_order kto
                  inner join kwo_trade_order_goods ktog on kto.id = ktog.t_order_id and ktog.del_flag = 0
         inner join kwo_trade_order_unit ku on kto.id = ku.t_order_id and ku.unit_type = '2' and ku.del_flag = 0