|
@@ -172,4 +172,47 @@
|
|
|
<update id="updateChildXmzt">
|
|
|
UPDATE PROJECT SET XMZT = #{xmzt,jdbcType=INTEGER} WHERE PID = #{projectId,jdbcType=VARCHAR} AND FLOW_STATUS = 99
|
|
|
</update>
|
|
|
+
|
|
|
+ <select id="selectCountInfo" resultType="com.zjugis.business.bean.dto.CountInfo">
|
|
|
+ SELECT
|
|
|
+ COALESCE(SUM(CASE WHEN T.LXSJ >= #{start,jdbcType=DATE} THEN 1 ELSE 0 END),0) as xl,
|
|
|
+ COALESCE(SUM(CASE WHEN T.LXSJ <= #{end,jdbcType=DATE} AND XMZT = 1 THEN 1 ELSE 0 END),0) as jz,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.ID IS NULL THEN 1 ELSE 0 END),0) as haveContract,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.ID IS NOT NULL THEN 1 ELSE 0 END),0) as noContract,
|
|
|
+ COALESCE(SUM(CASE WHEN T.XMZT = 4 THEN 1 ELSE 0 END),0) as accepted,
|
|
|
+ COALESCE(SUM(CASE WHEN T.XMZT = 1 THEN 1 ELSE 0 END),0) as unaccepted
|
|
|
+ FROM PROJECT T
|
|
|
+ LEFT JOIN CONTRACT T1 ON T1.PROJECT_ID = T.ID
|
|
|
+ WHERE T.ISVALID = 1
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="selectAmountInfo" resultType="com.zjugis.business.bean.dto.AmountInfo">
|
|
|
+ SELECT
|
|
|
+ count(1) as total,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.CONTRACT_AMOUNT < 1000000 THEN 1 ELSE 0 END),0) as lt100,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.CONTRACT_AMOUNT >= 1000000 and T1.CONTRACT_AMOUNT < 2000000 THEN 1 ELSE 0 END),0) as lt200,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.CONTRACT_AMOUNT >= 2000000 and T1.CONTRACT_AMOUNT < 3000000 THEN 1 ELSE 0 END),0) as lt300,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.CONTRACT_AMOUNT >= 3000000 and T1.CONTRACT_AMOUNT < 4000000 THEN 1 ELSE 0 END),0) as lt400,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.CONTRACT_AMOUNT >= 4000000 THEN 1 ELSE 0 END),0) as gte400
|
|
|
+ FROM PROJECT T
|
|
|
+ LEFT JOIN CONTRACT T1 ON T1.PROJECT_ID = T.ID
|
|
|
+ WHERE T.ISVALID = 1
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="selectProcessInfo" resultType="com.zjugis.business.bean.dto.ProcessInfo">
|
|
|
+ SELECT
|
|
|
+ count(1) as total,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.process > 75 THEN 1 ELSE 0 END),0) as gt75,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.process > 50 and T1.process <= 75 THEN 1 ELSE 0 END),0) as gt50,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.process > 25 and T1.process <= 50 THEN 1 ELSE 0 END),0) as gt25,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.process > 10 and T1.process <= 25 THEN 1 ELSE 0 END),0) as gt10,
|
|
|
+ COALESCE(SUM(CASE WHEN T1.process < 10 THEN 1 ELSE 0 END),0) as lte10
|
|
|
+ FROM PROJECT T
|
|
|
+ LEFT JOIN(
|
|
|
+ SELECT MAX(TO_NUMBER(REPLACE(PROCESS, '%' ,''))) as process,PROJECT_ID FROM PROJECT_MILESTONE
|
|
|
+ WHERE STATE = 1 AND ISVALID = 1
|
|
|
+ GROUP BY PROJECT_ID
|
|
|
+ ) T1 ON T1.PROJECT_ID = T.ID
|
|
|
+ WHERE T.ISVALID = 1
|
|
|
+ </select>
|
|
|
</mapper>
|