‘linchangsheng’ 3 meses atrás
pai
commit
c83ce0d654

+ 14 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/order/PayOrderLogic.java

@@ -137,6 +137,9 @@ public class PayOrderLogic {
     @Autowired
     UserService userService;
 
+    @Autowired
+    PartsImportService partsImportService;
+
     public Page<WebsitNormCharge> pageCharge(String name, String categoryId, String orderId,Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
         Page<WebsitNormCharge> list = websitNormChargeService.lambdaQuery()
@@ -424,6 +427,17 @@ public class PayOrderLogic {
 
         List<WorkerOrderItem> workerOrderItems = workerOrderItemService.lambdaQuery().eq(WorkerOrderItem::getOrderId, workerOrder.getOrderId()).list();
 
+        for (WorkerOrderItem workerOrderItem : workerOrderItems) {
+            if (websitNormChargeService.lambdaQuery().eq(WebsitNormCharge::getNormName,workerOrderItem.getGoodsName())
+                    .eq(WebsitNormCharge::getNormType,"M").count() < 1
+                    && partsImportService.lambdaQuery().eq(PartsImport::getPartName,workerOrderItem.getGoodsName())
+                    .count() < 0
+            ) {
+                workerOrderItem.setChargeType("SERV");
+            }
+
+        }
+
         workerOrder.setSource(commonLogic.getSource().equals("A")?OrderInfoSourceEnum.A.getRemark():OrderInfoSourceEnum.B.getRemark() );
 
 

+ 1 - 7
mall-server-api/src/main/resources/mapper/WebsitSalesCMapper.xml

@@ -206,7 +206,7 @@
         ${ex.selected}
         from
         settlement_order a
-        join settlement_order_item b on a.settlement_order_id = b.settlement_order_id
+        join settlement_order_item b on a.settlement_order_id = b.settlement_order_id and b.charge_type != 'SERV'
         ${ex.query}
 
         <if test="value != null and value !=''">
@@ -222,12 +222,6 @@
             </foreach>
         </if>
 
-        AND (
-        EXISTS ( SELECT 1 FROM parts_import c WHERE b.goods_name = c.part_name )
-        OR
-        EXISTS ( SELECT 1 FROM websit_norm_charge d WHERE b.goods_name = d.norm_name and d.norm_type = 'M')
-        )
-
         <if test="orderBaseIds != null and orderBaseIds.size > 0">
             AND a.worker_order_id IN
             <foreach item="item" index="index" collection="orderBaseIds" open="(" separator="," close=")">