فهرست منبع

资金账户流水 添加显示到账认领合同号

yzc 1 سال پیش
والد
کامیت
26bccdec26

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -219,6 +219,11 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         }
         accountRemainderService.updateById(accountRemainder);
 
+        //如果是合同到账 类型设置为到账认领
+        if ("10".equals(dto.getReceived())) {
+            dto.setType("30");
+        }
+
         this.save(dto);
 
         // 发送消息推送

+ 78 - 43
hx-account/src/main/resources/mapper/account/AccountRunningWaterMapper.xml

@@ -3,50 +3,85 @@
 <mapper namespace="com.fjhx.account.mapper.account.AccountRunningWaterMapper">
     <!--这段代码正常是不需要跨库查询的。但是一开始封装包的时候分装的不合理,pom里面包是不能互相引用的。account包继承sale包会出现依赖冲突,目前不好改动,只能跨库查询-->
     <select id="getPage" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
-        SELECT arw.*
-             , if(arw.type = 40, (select GROUP_CONCAT(c.`code`)
-                                  from tax_refund_details trd
-                                           left join bytesailing_sale.contract c on c.id = trd.contract_id
-                                  where trd.account_running_water_id = arw.id),
-                  (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
-
-             , if(arw.type = 40, (select GROUP_CONCAT(trd.contract_id)
-                                  from tax_refund_details trd
-                                  where trd.account_running_water_id = arw.id), (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
+        SELECT arw.*,
+               IF
+                   (
+                           arw.type = 40,
+                           (SELECT GROUP_CONCAT(c.`code`)
+                            FROM tax_refund_details trd
+                                     LEFT JOIN bytesailing_sale.contract c ON c.id = trd.contract_id
+                            WHERE trd.account_running_water_id = arw.id),
+                           IF
+                               (
+                                       arw.type = 30, (SELECT GROUP_CONCAT(clc.contract_code)
+                                                       FROM bytesailing_sale.claim cl
+                                                                LEFT JOIN bytesailing_sale.claim_contract clc ON clc.claim_id = cl.id
+                                                       WHERE cl.business_id = arw.id),
+                                       (SELECT IF
+                                                   (
+                                                           t1.type = 20,
+                                                           (SELECT GROUP_CONCAT(c.`code`)
+                                                            FROM bytesailing_purchase.pay pa
+                                                                     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.business_id = pa.id ),(
+					SELECT
+						GROUP_CONCAT( t4.`code` )
+					FROM
+						account_request_funds t2
+						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.business_id = t2.id
+					)
+				) contractCodes
+                                        FROM account_payment t1
+                                        WHERE t1.id = arw.business_id)
+                               )
+                   ) AS contractCodes,
+               IF
+                   (
+                           arw.type = 40,
+                           (SELECT GROUP_CONCAT(c.`id`)
+                            FROM tax_refund_details trd
+                                     LEFT JOIN bytesailing_sale.contract c ON c.id = trd.contract_id
+                            WHERE trd.account_running_water_id = arw.id),
+                           IF
+                               (
+                                       arw.type = 30, (SELECT GROUP_CONCAT(clc.contract_id)
+                                                       FROM bytesailing_sale.claim cl
+                                                                LEFT JOIN bytesailing_sale.claim_contract clc ON clc.claim_id = cl.id
+                                                       WHERE cl.business_id = arw.id),
+                                       (SELECT IF
+                                                   (
+                                                           t1.type = 20,
+                                                           (SELECT GROUP_CONCAT(c.`id`)
+                                                            FROM bytesailing_purchase.pay pa
+                                                                     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.business_id = pa.id ),(
+					SELECT
+						GROUP_CONCAT( t4.`id` )
+					FROM
+						account_request_funds t2
+						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.business_id = t2.id
+					)
+				) contractCodes
+                                        FROM account_payment t1
+                                        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
+                 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">