|
@@ -15,7 +15,7 @@
|
|
|
<select id="getTotal" resultType="java.lang.Integer">
|
|
|
SELECT COUNT(1) FROM (<include refid="getListSql"/>) AS C
|
|
|
</select>
|
|
|
- <select id="statistics" resultType="resStatisticsVo" >
|
|
|
+ <select id="statistics" resultType="resStatisticsVo">
|
|
|
SELECT
|
|
|
tt1.company_id as companyId,
|
|
|
tt1.name as companyName,
|
|
@@ -63,7 +63,7 @@
|
|
|
detail.amount AS fuwujine,
|
|
|
SUM( CASE WHEN c.STATUS = 1 THEN detail.arrive_amount ELSE 0 END ) AS shishoujine,
|
|
|
(
|
|
|
- SUM( detail.arrive_amount ) - SUM( CASE WHEN c.STATUS = 1 THEN detail.arrive_amount ELSE 0 END )) AS
|
|
|
+ detail.amount - SUM( CASE WHEN c.STATUS = 1 THEN detail.arrive_amount ELSE 0 END )) AS
|
|
|
daishoukuanjine,
|
|
|
GROUP_CONCAT(
|
|
|
IF
|
|
@@ -83,7 +83,7 @@
|
|
|
AND com.NAME LIKE CONCAT('%',#{conditions.companyName},'%')
|
|
|
</if>
|
|
|
<if test="conditions.contractNo != null and conditions.contractNo != ''">
|
|
|
- AND input.contract_no LIKE CONCAT('%',#{conditions.contractNo},'%')
|
|
|
+ AND input.contract_no LIKE CONCAT('%',#{conditions.contractNo},'%')
|
|
|
</if>
|
|
|
<if test="conditions.taskTypeIds != null and conditions.taskTypeIds.size() > 0">
|
|
|
AND detail.task_type_id IN
|
|
@@ -147,11 +147,11 @@
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
- <if test="conditions.receiptDateFilter != null and conditions.receiptDateFilter.size() ">
|
|
|
+ <if test="conditions.examineTimeFilter != null and conditions.examineTimeFilter.size() ">
|
|
|
AND (
|
|
|
- DATE_FORMAT(t1.verify_date,'%Y-%m-%d') >= #{conditions.receiptDateFilter[0]}
|
|
|
+ DATE_FORMAT(t1.verify_date,'%Y-%m-%d') >= #{conditions.examineTimeFilter[0]}
|
|
|
AND
|
|
|
- DATE_FORMAT(t1.verify_date,'%Y-%m-%d') <= #{conditions.receiptDateFilter[1]}
|
|
|
+ DATE_FORMAT(t1.verify_date,'%Y-%m-%d') <= #{conditions.examineTimeFilter[1]}
|
|
|
)
|
|
|
</if>
|
|
|
|
|
@@ -163,6 +163,105 @@
|
|
|
AND tt1.task_type_id = tt2.task_type_id
|
|
|
AND tt1.contract_id = tt2.contract_id
|
|
|
|
|
|
+ </select>
|
|
|
+ <select id="getByContractIn" resultType="cn.ezhizao.project.business.collection.domain.vo.ResStatisticsVo">
|
|
|
+ SELECT
|
|
|
+ t3.NAME AS companyName,
|
|
|
+ t4.`name` AS taskTypeName,
|
|
|
+ t5.contract_no AS contractNo,
|
|
|
+ t1.arrive_date,
|
|
|
+ t6.nick_name,
|
|
|
+ CASE
|
|
|
+
|
|
|
+ WHEN t5.contract_type = 1 THEN
|
|
|
+ "续签" ELSE "新签"
|
|
|
+ END AS contractType,
|
|
|
+ CASE
|
|
|
+
|
|
|
+ WHEN t1.is_project = 1 THEN
|
|
|
+ "项目" ELSE
|
|
|
+ CASE
|
|
|
+
|
|
|
+ WHEN t1.is_project = 2 THEN
|
|
|
+ "非项目" ELSE ""
|
|
|
+ END
|
|
|
+ END AS isProject,
|
|
|
+ t2.amount AS detailAllAmount,
|
|
|
+ t2.arrive_amount as reallyDetailAmount,
|
|
|
+ t1.verify_date as examineTime
|
|
|
+ FROM
|
|
|
+ biz_collection t1 right join biz_collection_detail t2 ON t1.id = t2.collection_id
|
|
|
+ WHERE
|
|
|
+ t1.contract_id = #{conditions.contractId}
|
|
|
+ AND
|
|
|
+ t2.task_type_id = #{conditions.taskTypeId[0]}
|
|
|
+ <if test="conditions.receiptDateFilter != null and conditions.receiptDateFilter.size() ">
|
|
|
+ AND (
|
|
|
+ DATE_FORMAT(c.arrive_date,'%Y-%m-%d') >= #{conditions.receiptDateFilter[0]}
|
|
|
+ AND
|
|
|
+ DATE_FORMAT(c.arrive_date,'%Y-%m-%d') <= #{conditions.receiptDateFilter[1]}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test="conditions.examineTimeFilter != null and conditions.examineTimeFilter.size() ">
|
|
|
+ AND(
|
|
|
+ DATE_FORMAT(c.verify_date,'%Y-%m-%d') >= #{conditions.examineTimeFilter[1]}
|
|
|
+ AND
|
|
|
+ DATE_FORMAT(c.verify_date,'%Y-%m-%d') <= #{conditions.examineTimeFilter[1]}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+ <select id="getByContractOut"
|
|
|
+ resultType="cn.ezhizao.project.business.collection.domain.vo.ResStatisticsVo">
|
|
|
+ select tt1.*, tt2.zongjine as withdrawalAmount
|
|
|
+ from (SELECT t3.NAME AS companyName,
|
|
|
+ t4.`name` AS taskTypeName,
|
|
|
+ t5.contract_no AS contractNo,
|
|
|
+ t6.nick_name,
|
|
|
+ t2.amount AS detailAllAmount,
|
|
|
+ t2.payment_amount AS reallyDetailAmount,
|
|
|
+ t1.verify_date AS examineTime,
|
|
|
+ t2.task_type_id,
|
|
|
+ t1.company_id,
|
|
|
+ t1.contract_id
|
|
|
+ FROM biz_payment t1
|
|
|
+ RIGHT JOIN biz_payment_detail t2 ON t1.id = t2.payment_id
|
|
|
+ LEFT JOIN biz_company t3 ON t3.id = t1.company_id
|
|
|
+ LEFT JOIN biz_task_type t4 ON t4.id = t2.task_type_id
|
|
|
+ LEFT JOIN biz_archive_input t5 ON t5.id = t1.contract_id
|
|
|
+ LEFT JOIN sys_user t6 ON t6.user_id = t1.applier_id
|
|
|
+ WHERE t1.contract_id = 1806240221966196737
|
|
|
+ AND t2.task_type_id = 2
|
|
|
+ <if test="conditions.examineTimeFilter != null and conditions.examineTimeFilter.size() ">
|
|
|
+ AND (
|
|
|
+ DATE_FORMAT(t1.verify_date,'%Y-%m-%d') >= #{conditions.examineTimeFilter[0]}
|
|
|
+ AND
|
|
|
+ DATE_FORMAT(t1.verify_date,'%Y-%m-%d') <= #{conditions.examineTimeFilter[1]}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ ORDER BY t1.verify_date DESC
|
|
|
+
|
|
|
+ ) tt1
|
|
|
+ LEFT JOIN
|
|
|
+ (SELECT p.company_id,
|
|
|
+ de.task_type_id,
|
|
|
+ p.contract_id,
|
|
|
+ sum(de.payment_amount) as zongjine
|
|
|
+ FROM biz_payment p
|
|
|
+ right join biz_payment_detail de ON p.id = de.payment_id
|
|
|
+ WHERE p.verify_status != 4
|
|
|
+ <if test="conditions.examineTimeFilter != null and conditions.examineTimeFilter.size() ">
|
|
|
+ AND (
|
|
|
+ DATE_FORMAT(t1.verify_date,'%Y-%m-%d') >= #{conditions.examineTimeFilter[0]}
|
|
|
+ AND
|
|
|
+ DATE_FORMAT(t1.verify_date,'%Y-%m-%d') <= #{conditions.examineTimeFilter[1]}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ GROUP BY
|
|
|
+ p.company_id,
|
|
|
+ de.task_type_id,
|
|
|
+ p.contract_id) tt2 on tt1.task_type_id = tt2.task_type_id and tt1.company_id = tt2.company_id and
|
|
|
+ tt1.contract_id = tt2.contract_id
|
|
|
+
|
|
|
</select>
|
|
|
|
|
|
<sql id="getListSql">
|