From 6061c45849de0f3ac6d05fdfa2bac4b09c21179b Mon Sep 17 00:00:00 2001 From: “djh” <“3298565835@qq.com”> Date: 星期四, 06 三月 2025 10:11:10 +0800 Subject: [PATCH] 考试缴费统计修改 --- exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml | 79 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 0 deletions(-) diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml index 051fe8d..04ddd9e 100644 --- a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml +++ b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml @@ -197,6 +197,85 @@ and subject_name = #{subjectName} <if test="id != null ">and id != #{id}</if> </select> + <select id="selectCountCategory" resultType="com.gkhy.exam.pay.dto.rep.NonCategoryCount"> + SELECT + cc.id, + sot.name as subject_name, + cc.amount, + cc.category_type, + COUNT( cps.`name` ) num + FROM + non_coal_category cc + LEFT JOIN sys_operate_type sot on cc.operate_type_id = sot.id + LEFT JOIN non_coal_pay_category cpc ON cc.id = cpc.category_id + LEFT JOIN non_coal_pay cp ON cpc.non_coal_pay_id = cp.id + LEFT JOIN non_coal_pay_student cps ON cp.id = cps.non_coal_pay_id + WHERE cc.category_type = 2 and cc.del_flag = 0 and cps.del_flag =0 and cp.del_flag = 0 and cps.pay_status = 1 + <if test="year!=null and year !=''"> + and cp.year =#{year} + </if> + <if test="quarter != null"> + and cp.quarter = #{quarter} + </if> + <if test="districtCode!=null and districtCode!=''"> + and cc.district_code =#{districtCode} + </if> + <if test="deptId!=null"> + and cp.dept_id =#{deptId} + </if> + GROUP BY + cc.id + </select> + <select id="selectCountTheory" resultType="com.gkhy.exam.pay.dto.rep.CateGoryTheory"> + WITH filtered_data AS ( + SELECT + cp.id AS pay_id, + cp.pay_type, + cpc.category_id AS category_id + FROM + non_coal_pay cp + LEFT JOIN non_coal_pay_category cpc ON cp.id = cpc.non_coal_pay_id + LEFT JOIN non_coal_category cc ON cpc.category_id = cc.id + WHERE + cc.category_type = 1 + AND cp.del_flag = 0 + <if test="year !=null and year!=''"> + and cp.year = #{year} + </if> + <if test="quarter!=null"> + and cp.quarter = #{quarter} + </if> + <if test="districtCode !=null and districtCode !=''"> + and cp.district_code = #{districtCode} + </if> + <if test="deptId!=null"> + and cp.dept_id =#{deptId} + </if> + ), + pay_type_data AS ( + SELECT + CASE + WHEN fd.pay_type IN (1, 3) THEN '初训理论' + ELSE '复训理论' + END AS pay_type_name, + cps.id AS student_id, + cc.amount + FROM + filtered_data fd + LEFT JOIN non_coal_pay_student cps ON fd.pay_id = cps.non_coal_pay_id + LEFT JOIN non_coal_category cc ON fd.category_id = cc.id + WHERE + cps.del_flag = 0 and cps.pay_status =1 + ) + SELECT + pay_type_name, + COUNT(student_id) AS num, + MAX(amount) AS amount + FROM + pay_type_data + GROUP BY + pay_type_name + </select> <update id="deleteNonCoalCategoryById" parameterType="Long"> update non_coal_category -- Gitblit v1.9.2