From 168346cebced28d8bcf39e5817c7367e9976424c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 02 八月 2024 17:30:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml | 114 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 94 insertions(+), 20 deletions(-)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
index 6ca3ff4..a3c9adf 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
@@ -4,36 +4,110 @@
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
<resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.CalculateReportVO">
- <result column="id" property="id" />
- <result column="create_time" property="createTime" />
- <result column="unit_name" property="unitName" />
- <result column="name" property="contractName" />
- <result column="contract_id" property="contractId" />
- <result column="calculate_time" property="calculateTime" />
- <result column="deduct_money" property="deductMoney" />
- <result column="which_year" property="whichYear" />
- <result column="which_month" property="whichMonth" />
- <result column="update_by" property="updateBy" />
+ <result column="id" property="id"/>
+ <result column="create_time" property="createTime"/>
+ <result column="unit_name" property="unitName"/>
+ <result column="name" property="contractName"/>
+ <result column="contract_id" property="contractId"/>
+ <result column="calculate_time" property="calculateTime"/>
+ <result column="deduct_money" property="deductMoney"/>
+ <result column="latest_time" property="latestTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="can_publish" property="canPublish"/>
+ <result column="status" property="status"/>
+ <result column="latestDeductMoney" property="latestDeductMoney"/>
</resultMap>
<select id="page" resultMap="BaseResultMap">
SELECT
- tyu.unit_name,
- tc.name,
- tcr.id,
- tcr.deduct_money,
- tcr.create_time,
- tcr.update_time,
- tcr.calculate_time
+ tcr.contract_id,
+ tyu.unit_name,
+ tc.name,
+ tcr.id,
+ tcr.status,
+ tcr.deduct_money,
+ tcr.create_time,
+ tcr.update_time,
+ tcr.calculate_time,
+ tcr.latest_time,
+ (SELECT a.deduct_money FROM (SELECT deduct_money,which_year, which_month FROM t_calculate_record WHERE contract_id = tcr.contract_id ORDER BY which_year, which_month DESC limit 1) a) as latestDeductMoney
FROM
- t_calculate_report tcr
- INNER JOIN t_contract tc ON tcr.contract_id = tc.id
- INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
+ t_calculate_report tcr
+ INNER JOIN t_contract tc ON tcr.contract_id = tc.id
+ INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
<where>
+ AND tcr.deleted = 0 AND tc.deleted = 0 AND tyu.deleted = 0
<if test="query.unitName != null and query.unitName != '' ">
AND tyu.unit_name like concat('%', #{query.unitName}, '%')
</if>
</where>
</select>
+ <resultMap id="DetailResultMap" type="com.ycl.platform.domain.vo.CalculateReportDetailVO">
+ <result column="id" property="id"/>
+ <result column="create_time" property="createTime"/>
+ <result column="unit_name" property="unitName"/>
+ <result column="name" property="contractName"/>
+ <result column="contract_id" property="contractId"/>
+ <result column="calculate_time" property="calculateTime"/>
+ <result column="deduct_money" property="deductMoney"/>
+ <result column="status" property="status"/>
+ <collection property="ruleList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO"
+ select="selectRuleByContractId"/>
+ <collection property="recordList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateRecordVO"
+ select="selectRecordByContractId"/>
+ </resultMap>
+
+ <select id="selectRuleByContractId" resultType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO">
+ SELECT id,
+ description,
+ score_condition as scoreCondition
+ FROM t_calculate_money_rule
+ WHERE contract_id = #{contractId}
+ AND deleted = 0
+ </select>
+
+ <select id="selectRecordByContractId" resultType="com.ycl.platform.domain.vo.CalculateRecordVO">
+ SELECT
+ id,
+ create_time as createTime,
+ score,
+ deduct_money as deductMoney,
+ which_year as whichYear,
+ which_month as whichMonth
+ FROM
+ t_calculate_record
+ WHERE
+ contract_id = #{contractId} AND deleted = 0
+ ORDER BY
+ create_time DESC
+
+ </select>
+
+ <select id="getById" resultMap="DetailResultMap">
+ SELECT tyu.unit_name,
+ tc.name,
+ tcr.id,
+ tcr.contract_id,
+ tcr.deduct_money,
+ tcr.create_time,
+ tcr.update_time,
+ tcr.calculate_time,
+ tcr.status
+ FROM t_calculate_report tcr
+ INNER JOIN t_contract tc ON tcr.contract_id = tc.id
+ INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
+ WHERE tcr.id = #{id}
+ </select>
+
+ <select id="exportData" resultType="com.ycl.platform.domain.excel.CalculateExport">
+ SELECT
+ SUBSTRING_INDEX(rule_name, '/', 1) AS rule_name,
+ COUNT(*) AS num,
+ -SUM(score) AS score
+ FROM t_contract_score
+ WHERE contract_id = #{contractId} AND auditing_status = 'PASS' AND deleted = 0
+ GROUP BY SUBSTRING_INDEX(rule_name, '/', 1)
+ </select>
+
</mapper>
--
Gitblit v1.8.0