Просмотр исходного кода

资金流水页面增加“销售合同号”展示

yzc 1 год назад
Родитель
Сommit
dde82da64a

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/vo/AccountRunningWaterVo.java

@@ -97,4 +97,9 @@ public class AccountRunningWaterVo extends AccountRunningWater {
      * 订单编码集合
      */
     private String contractCodes;
+
+    /**
+     * 销售合同id集合
+     */
+    private String contractIds;
 }

+ 40 - 11
hx-account/src/main/resources/mapper/account/AccountRunningWaterMapper.xml

@@ -3,17 +3,46 @@
 <mapper namespace="com.fjhx.account.mapper.account.AccountRunningWaterMapper">
     <!--这段代码正常是不需要跨库查询的。但是一开始封装包的时候分装的不合理,pom里面包是不能互相引用的。account包继承sale包会出现依赖冲突,目前不好改动,只能跨库查询-->
     <select id="getPage" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
-        select arw.*,
-               (select GROUP_CONCAT(t4.`code`) from account_payment t1
-                LEFT JOIN account_request_funds t2 ON t1.business_id = t2.id
-                LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
-                LEFT JOIN `bytesailing_sale`.contract t4 ON t3.contract_id = t4.id
-                WHERE t1.id = arw.business_id
-               ) AS contractCodes,
-               am.alias accountManagementName,
-               am.corporation_id
-        from account_running_water arw
-                 left join account_management am on arw.account_management_id = am.id
+        SELECT arw.*,
+               (SELECT IF
+                           (t1.type = 20, GROUP_CONCAT(c.`code`), GROUP_CONCAT(t4.`code`)) contractCodes
+                FROM account_payment t1
+                         LEFT JOIN account_request_funds t2 ON t1.business_id = t2.id
+                         LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
+                         LEFT JOIN `bytesailing_sale`.contract t4 ON t3.contract_id = t4.id
+                    --采购付款来源
+                         LEFT JOIN bytesailing_purchase.pay pa ON t1.business_id = pa.id
+                         LEFT JOIN bytesailing_purchase.pay_detail pad
+        ON pad.pay_id = pa.id
+            LEFT JOIN bytesailing_purchase.purchase p ON pad.purchase_id = p.id
+            LEFT JOIN bytesailing_sale.contract c ON p.data_resource_id = c.id
+        WHERE
+            t1.id = arw.business_id
+            ) AS contractCodes
+            , (
+        SELECT
+            IF
+            ( t1.type = 20, GROUP_CONCAT( c.id ), GROUP_CONCAT( t4.id ) ) contractIds
+        FROM
+            account_payment t1
+            LEFT JOIN account_request_funds t2
+        ON t1.business_id = t2.id
+            LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
+            LEFT JOIN `bytesailing_sale`.contract t4 ON t3.contract_id = t4.id
+            --采购付款来源
+            LEFT JOIN bytesailing_purchase.pay pa ON t1.business_id = pa.id
+            LEFT JOIN bytesailing_purchase.pay_detail pad ON pad.pay_id = pa.id
+            LEFT JOIN bytesailing_purchase.purchase p ON pad.purchase_id = p.id
+            LEFT JOIN bytesailing_sale.contract c ON p.data_resource_id = c.id
+        WHERE
+            t1.id = arw.business_id
+            ) AS contractIds
+            , am.alias accountManagementName
+            , am.corporation_id
+        FROM
+            account_running_water arw
+            LEFT JOIN account_management am
+        ON arw.account_management_id = am.id
             ${ew.customSqlSegment}
     </select>
     <select id="getDetail" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">