Browse Source

Merge remote-tracking branch 'origin/master'

caozj 1 year ago
parent
commit
84c537036c

+ 35 - 19
hx-sale/src/main/resources/mapper/contract/ContractDocumentaryMapper.xml

@@ -9,36 +9,52 @@
     </select>
     </select>
 
 
     <select id="getSumCount" resultType="com.fjhx.sale.entity.contract.po.ContractDocumentary">
     <select id="getSumCount" resultType="com.fjhx.sale.entity.contract.po.ContractDocumentary">
-        SELECT
-            t1.documentaryType,
-            count( 1 )AS count
+        SELECT t1.documentaryType,
+               count(1)AS count
         FROM
         FROM
-        (
-        SELECT
+            (
+            SELECT
             t3.documentary_type AS documentaryType
             t3.documentary_type AS documentaryType
-        FROM
-        (
-        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
+            WHEN t1.purchaseAmountCNY >= t1.amountCNY AND t1.sumClaimMoney >= t1.amountCNY THEN 40
+            ELSE 88
+            END AS orderStatus
+            from (
             SELECT
             SELECT
-                count( 1 )
+            (
+            SELECT
+            count ( 1 )
             FROM
             FROM
-                ehsd_purchase p
+            ehsd_purchase p
             LEFT JOIN ehsd_documentary pd ON p.id = pd.business_id
             LEFT JOIN ehsd_documentary pd ON p.id = pd.business_id
             WHERE
             WHERE
-                p.data_resource_id = t1.id
-                AND pd.documentary_type = #{documentaryType}
-            ) AS documentaryCount,
-            t1.*
-        FROM
+            p.data_resource_id = t1.id
+            AND pd.documentary_type = #{documentaryType}
+            ) AS documentaryCount, t1.*, ( SELECT IFNULL(SUM (amount*rate), 0) FROM ehsd_purchase WHERE `status` = 30 AND data_resource_id = t1.id) AS purchaseAmountCNY, IFNULL( t1.amount * t1.rate, 0 ) AS amountCNY, (
+            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
             contract t1
-        WHERE
+            WHERE
             `status` = 30
             `status` = 30
-        ) t1
+            ) t1
+            ) t1
             RIGHT JOIN ehsd_purchase t2 ON t1.id = t2.data_resource_id
             RIGHT JOIN ehsd_purchase t2 ON t1.id = t2.data_resource_id
             RIGHT JOIN ehsd_documentary t3 ON t2.id = t3.business_id
             RIGHT JOIN ehsd_documentary t3 ON t2.id = t3.business_id
             ${ew.customSqlSegment}
             ${ew.customSqlSegment}
-        ) t1
+            ) t1
         GROUP BY t1.documentaryType
         GROUP BY t1.documentaryType
     </select>
     </select>
 </mapper>
 </mapper>