| | |
| | | <result column="latestDeductMoney" property="latestDeductMoney"/> |
| | | </resultMap> |
| | | |
| | | <select id="page" resultMap="BaseResultMap"> |
| | | <!-- <select id="page" resultMap="BaseResultMap">--> |
| | | <!-- SELECT--> |
| | | <!-- 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--> |
| | | <!-- <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>--> |
| | | <!-- <if test="query.unitId != null">--> |
| | | <!-- AND tyu.id = #{query.unitId}--> |
| | | <!-- </if>--> |
| | | <!-- </where>--> |
| | | <!-- </select>--> |
| | | <select id="page" resultType="com.ycl.platform.domain.vo.CalculateReportVO"> |
| | | SELECT |
| | | 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 |
| | | tcr.id, |
| | | tcr.contract_id, |
| | | tyu.unit_name, |
| | | tc.name as contractName, |
| | | tcr.which_year, |
| | | tcr.which_month, |
| | | tcr.which_day, |
| | | MAX(tcr.which_day) AS latest_day, |
| | | SUM(tcr.deduct_money) AS deductMoney, |
| | | MAX(tcr.which_month) AS latest_month, |
| | | ( |
| | | SELECT deduct_money |
| | | FROM t_calculate_record |
| | | WHERE contract_id = tcr.contract_id |
| | | AND which_year = tcr.which_year |
| | | ORDER BY which_month DESC |
| | | LIMIT 1 |
| | | ) AS latestDeductMoney |
| | | FROM |
| | | t_calculate_report tcr |
| | | t_calculate_record 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> |
| | | <if test="query.unitId != null"> |
| | | AND tyu.id = #{query.unitId} |
| | | <if test="query.status!=null and query.status !=''"> |
| | | AND tcr.status = #{query.status} |
| | | </if> |
| | | </where> |
| | | group by contract_id, which_year,which_month |
| | | </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="unit_id" property="unitId"/> |
| | | <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="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" |
| | | <collection property="recordList" column="{contractId=contract_id, whichYear=which_year,status=status,whichMonth=which_month}" ofType="com.ycl.platform.domain.vo.CalculateRecordVO" |
| | | select="selectRecordByContractId"/> |
| | | </resultMap> |
| | | |
| | |
| | | |
| | | <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 |
| | | tcr.id, |
| | | tcr.create_time as createTime, |
| | | (IFNULL(-SUM(tcs.score), 0) + 100) AS score, |
| | | tcr.deduct_money as deductMoney, |
| | | tcr.which_year as whichYear, |
| | | tcr.which_month as whichMonth, |
| | | tcr.which_day as whichDay, |
| | | tcr.status |
| | | FROM |
| | | t_calculate_record |
| | | WHERE |
| | | contract_id = #{contractId} AND deleted = 0 |
| | | t_calculate_record tcr |
| | | LEFT JOIN t_contract_score tcs |
| | | ON tcr.contract_id =tcs.contract_id |
| | | AND tcs.deleted=0 |
| | | AND YEAR(tcs.create_time) = #{whichYear} |
| | | AND MONTH(tcs.create_time) = tcr.which_month |
| | | AND tcs.auditing_status = 'PASS' |
| | | <where> |
| | | tcr.contract_id = #{contractId} AND tcr.which_year = #{whichYear} AND tcr.deleted = 0 AND tcr.which_month=#{whichMonth} |
| | | <if test="status!=null"> |
| | | AND tcr.status=#{status} |
| | | </if> |
| | | </where> |
| | | group by tcr.id |
| | | ORDER BY |
| | | create_time DESC |
| | | |
| | | tcr.create_time |
| | | </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} |
| | | tyu.id as unit_id, |
| | | tc.name, |
| | | tcr.id, |
| | | tcr.contract_id, |
| | | tcr.create_time, |
| | | tcr.update_time, |
| | | tcr.which_year, |
| | | tcr.which_month, |
| | | #{query.status} as status |
| | | FROM t_calculate_record 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.contract_id = #{query.contractId} AND tcr.which_year = #{query.whichYear} AND tcr.which_month = #{query.whichMonth} |
| | | </where> |
| | | limit 1 |
| | | </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 |
| | | a.rule_name as ruleName, |
| | | a.rule_condition as detailName, |
| | | COUNT(b.id) AS num, |
| | | a.calc_fraction as calcFraction, |
| | | IFNULL(-SUM(b.score), 0) AS score |
| | | FROM t_calculate_rule a |
| | | LEFT JOIN t_calculate_record tcr ON a.contract_id = tcr.contract_id |
| | | 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 |
| | | AND MONTH(b.create_time) = tcr.which_month |
| | | AND YEAR(b.create_time) = tcr.which_year |
| | | <where> |
| | | a.deleted = 0 and a.contract_id = #{contractId} |
| | | <if test="whichMonth!=null"> |
| | | and tcr.which_month = #{whichMonth} |
| | | </if> |
| | | <if test="whichYear!=null"> |
| | | and tcr.which_year = #{whichYear} |
| | | </if> |
| | | <if test="whichDay!=null"> |
| | | and tcr.which_day = #{whichDay} |
| | | </if> |
| | | </where> |
| | | GROUP BY a.id |
| | | </select> |
| | | |
| | | </mapper> |