浏览代码

售后相关字段添加

yzc 11 月之前
父节点
当前提交
5c46210da4

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractVo.java

@@ -235,5 +235,15 @@ public class ContractVo extends Contract {
 
     private Integer notPack;
 
+    /**
+     * 是否存在售后记录
+     */
+    private Integer isAfterSales;
+
+    /**
+     * 售后单号
+     */
+    private String afterSalesCode;
+
 }
 

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

@@ -69,6 +69,7 @@ import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
 import com.fjhx.sale.mapper.contract.ContractMapper;
+import com.fjhx.sale.service.after.AfterSalesService;
 import com.fjhx.sale.service.claim.ClaimContractService;
 import com.fjhx.sale.service.contract.*;
 import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
@@ -200,6 +201,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
 
     @Autowired
     private FileInfoService fileInfoService;
+    @Autowired
+    private AfterSalesService afterSalesService;
 
     /**
      * 合同和样品单 下拉分页
@@ -434,6 +437,11 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
             corporationService.attributeAssign(list, ContractVo::getSellCorporationId, (item, corporation) -> {
                 item.setSellCorporationName(corporation.getName());
             });
+
+            //对售后产生的订单赋值售后单号
+            afterSalesService.attributeAssign(list, Contract::getAfterSalesId, (item, afterSales) -> {
+                item.setAfterSalesCode(afterSales.getCode());
+            });
         }
         return page;
     }

+ 7 - 1
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -19,7 +19,8 @@
                          WHEN IFNULL(cl.sumClaimMoney, 0) = 0 THEN
                              0
                          ELSE 10
-                         END                                   AS refundStatusNew
+                         END                                   AS refundStatusNew,
+                     IF(as1c.afterSalesCount > 0, 1, 0)        as isAfterSales
               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
@@ -41,6 +42,10 @@
                                            LEFT JOIN claim c ON cc.claim_id = c.id
                                            LEFT JOIN bytesailing_account.account_running_water arw ON c.business_id = arw.id
                                   GROUP BY cc.contract_id) cl ON cl.contract_id = t1.id
+                       left join (SELECT as1.contract_id,
+                                         count(1) AS afterSalesCount
+                                  FROM after_sales as1
+                                  GROUP BY as1.contract_id) as1c on t1.id = as1c.contract_id
               group by t1.id) t1
             ${ew.customSqlSegment}
     </select>
@@ -146,6 +151,7 @@
                      t1.currency,
                      t1.currency_rate_json,
                      t1.rate                                                       AS rate,
+                     t1.buy_corporation_id,
                      t2.*,
                      t1.is_settled,
                      t1.is_change,