From 31d3591b34d4f26ad2ab207ca3044048d9adb9df Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 21 八月 2024 17:51:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml | 116 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 95 insertions(+), 21 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml index 3af6b52..85e8d77 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml @@ -4,37 +4,111 @@ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <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 + 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 + a.rule_name, + COUNT(b.id) AS num, + IFNULL(-SUM(score), 0) AS score + FROM t_calculate_rule a + LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0 + WHERE a.contract_id = #{contractId} AND a.deleted = 0 + GROUP BY a.rule_name + </select> + </mapper> -- Gitblit v1.8.0