yzc vor 1 Jahr
Ursprung
Commit
f3e4df2678

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractSelectDto.java

@@ -73,4 +73,9 @@ public class ContractSelectDto extends BaseSelectDto {
      * 合同编号
      */
     private String contractCode;
+
+    /**
+     * 产品id过滤
+     */
+    private String productId;
 }

+ 6 - 6
hx-purchase/src/main/java/com/fjhx/purchase/flow/PayFlow.java → hx-sale/src/main/java/com/fjhx/sale/flow/PayFlow.java

@@ -1,4 +1,4 @@
-package com.fjhx.purchase.flow;
+package com.fjhx.sale.flow;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -16,10 +16,10 @@ import com.fjhx.flow.enums.FlowStatusEnum;
 import com.fjhx.purchase.entity.pay.enums.PayStatusEnum1;
 import com.fjhx.purchase.entity.pay.po.Pay;
 import com.fjhx.purchase.entity.pay.po.PayDetail;
-import com.fjhx.purchase.entity.purchase.po.Purchase;
 import com.fjhx.purchase.service.pay.PayDetailService;
 import com.fjhx.purchase.service.pay.PayService;
-import com.fjhx.purchase.service.purchase.PurchaseService;
+import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
+import com.fjhx.sale.service.purchase.EhsdPurchaseService;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -53,7 +53,7 @@ public class PayFlow extends FlowDelegate {
     private PayDetailService payDetailService;
 
     @Autowired
-    private PurchaseService purchaseService;
+    private EhsdPurchaseService purchaseService;
 
     @Override
     public String getFlowKey() {
@@ -151,9 +151,9 @@ public class PayFlow extends FlowDelegate {
         Map<Long, BigDecimal> map = payDetailService.getPayMoneyCountByPurchaseId(purchaseIdList);
 
         // 获取合同列表
-        List<Purchase> purchaseList = purchaseService.listByIds(purchaseIdList);
+        List<EhsdPurchase> purchaseList = purchaseService.listByIds(purchaseIdList);
 
-        for (Purchase purchase : purchaseList) {
+        for (EhsdPurchase purchase : purchaseList) {
 
             Integer payStatus = purchase.getPayStatus();
 

+ 8 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractDocumentaryServiceImpl.java

@@ -18,6 +18,7 @@ import com.fjhx.sale.entity.contract.po.ContractDocumentary;
 import com.fjhx.sale.entity.contract.vo.ContractDocumentaryVo;
 import com.fjhx.sale.mapper.contract.ContractDocumentaryMapper;
 import com.fjhx.sale.service.contract.ContractDocumentaryService;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -117,6 +118,13 @@ public class ContractDocumentaryServiceImpl extends ServiceImpl<ContractDocument
         //合同id过滤
         wrapper.eq("t1", Contract::getId, dto.getId());
 
+        if (StringUtils.isNotEmpty(dto.getKeyword())) {
+            wrapper.and(q -> q
+                    .like("t1", Contract::getCode, dto.getKeyword())
+                    .or().like("t1.salesmanName", dto.getKeyword())
+            );
+        }
+
         List<ContractDocumentary> list = baseMapper.getSumCount(wrapper, dto.getDocumentaryType());
         Map<String, Integer> countMap = setCount(list);
         return countMap;

+ 6 - 2
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -341,8 +341,11 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
             wrapper.like("t1", Contract::getCode, dto.getContractCode());
         }
         //时间范围过滤
-        wrapper.ge(Contract::getCreateTime, dto.getBeginTime());
-        wrapper.le(Contract::getCreateTime, dto.getEndTime());
+        wrapper.ge("t1", Contract::getCreateTime, dto.getBeginTime());
+        wrapper.le("t1", Contract::getCreateTime, dto.getEndTime());
+
+        //产品id过滤
+        wrapper.eq("t1.product_id", dto.getProductId());
     }
 
     /**
@@ -2209,6 +2212,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
             wrapper.and(q -> q
                     .like("t1", Contract::getCode, dto.getKeyword())
                     .or().like("t1", Contract::getUserName, dto.getUserName())
+                    .or().like("t1.salesmanName", dto.getKeyword())
                     .or().in("t1", Contract::getSellCorporationId, corporationIds)
                     .or().in("t1", Contract::getBuyCorporationId, customerIds)
             );

+ 4 - 2
hx-sale/src/main/resources/mapper/contract/ContractDocumentaryMapper.xml

@@ -44,11 +44,13 @@
             LEFT JOIN bytesailing_account.account_running_water arw ON c.business_id = arw.id
             WHERE
             cc.contract_id = t1.id
-            ) AS sumClaimMoney
+            ) AS sumClaimMoney, cus.nick_name as salesmanName
             FROM
             contract t1
+            left join bytesailing_customer.customer cu on t1.buy_corporation_id = cu.id
+            left join bytesailing_base.sys_user cus on cu.user_id = cus.user_id
             WHERE
-            `status` = 30
+            t1.`status` = 30
             ) t1
             ) t1
             RIGHT JOIN ehsd_purchase t2 ON t1.id = t2.data_resource_id

+ 24 - 18
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -11,7 +11,8 @@
                          WHEN t1.sumClaimMoney = 0 THEN
                              0
                          ELSE 10
-                         END                                   AS refundStatusNew
+                         END                                   AS refundStatusNew,
+                     cp.product_id
               FROM (SELECT t1.*,
                            c.name                            customerName,
                            us.nick_name                      salesmanName,
@@ -22,7 +23,9 @@
                             WHERE cc.contract_id = t1.id) AS sumClaimMoney
                     FROM contract t1
                              left join bytesailing_customer.customer c on t1.buy_corporation_id = c.id
-                             left join bytesailing_base.sys_user us on c.user_id = us.user_id) t1) t1
+                             left join bytesailing_base.sys_user us on c.user_id = us.user_id) t1
+                       LEFT JOIN contract_product cp ON cp.contract_id = t1.id
+              GROUP BY t1.id) t1
             ${ew.customSqlSegment}
     </select>
 
@@ -461,7 +464,6 @@
         SELECT * FROM (SELECT
             t1.*,
             CASE
-
             WHEN t1.purchaseAmountCNY &lt; t1.amountCNY AND t1.sumClaimMoney &lt; t1.amountCNY THEN 10
             WHEN t1.purchaseAmountCNY &lt; t1.amountCNY AND t1.sumClaimMoney >= t1.amountCNY THEN 20
             WHEN t1.purchaseAmountCNY >= t1.amountCNY AND t1.sumClaimMoney &lt; t1.amountCNY THEN 30
@@ -480,21 +482,25 @@
                     ( SELECT create_time FROM claim_contract WHERE contract_id = t1.id ORDER BY create_time ASC LIMIT 1) AS claimTime,
                     ( SELECT count( 1 ) FROM ehsd_purchase WHERE `status` = 30 AND data_resource_id = t1.id ) AS purchaseCount,
                     ( SELECT IFNULL(SUM(amount*rate),0) FROM ehsd_purchase WHERE `status` = 30 AND data_resource_id = t1.id) AS purchaseAmountCNY,
-                    ( SELECT count( 1 ) FROM pack_detail WHERE FIND_IN_SET( contract_ids, t1.id ) AND shipment_status = 1 ) AS packCount,
-                    (
-                        SELECT
-                            IFNULL( SUM( IFNULL( cc.money, 0 ) * IFNULL( arw.rate, 1 )), 0 )
-                        FROM
-                            claim_contract cc
-                                LEFT JOIN claim c ON cc.claim_id = c.id
-                                LEFT JOIN bytesailing_account.account_running_water arw ON c.business_id = arw.id
-                        WHERE
-                            cc.contract_id = t1.id
-                    ) AS sumClaimMoney
-            FROM
-                contract t1
-                WHERE `status` = 30
-            ) t1
+        ( SELECT count( 1 ) FROM pack_detail WHERE FIND_IN_SET( contract_ids, t1.id ) AND shipment_status = 1 ) AS
+        packCount,
+        (
+        SELECT
+        IFNULL( SUM( IFNULL( cc.money, 0 ) * IFNULL( arw.rate, 1 )), 0 )
+        FROM
+        claim_contract cc
+        LEFT JOIN claim c ON cc.claim_id = c.id
+        LEFT JOIN bytesailing_account.account_running_water arw ON c.business_id = arw.id
+        WHERE
+        cc.contract_id = t1.id
+        ) AS sumClaimMoney,
+        cus.nick_name as salesmanName
+        FROM
+        contract t1
+        left join bytesailing_customer.customer cu on t1.buy_corporation_id = cu.id
+        left join bytesailing_base.sys_user cus on cu.user_id = cus.user_id
+        WHERE t1.`status` = 30
+        ) t1
         ) t1
         ${ew.customSqlSegment}
     </select>