From 8c73a9ff2bf3c88b17a1279f51c1ae3993effdcf Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Tue, 19 Aug 2025 10:53:37 +0800
Subject: [PATCH] 修改
---
exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml | 87 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 83 insertions(+), 4 deletions(-)
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml
index f44bd8b..8489cce 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml
@@ -82,7 +82,7 @@
</if>
<if test="operateTypeId != null ">and a.operate_type_id = #{operateTypeId}</if>
<if test="amount != null ">and a.amount = #{amount}</if>
- <if test="bussinessCode != null and bussinessCode != ''">and a.business_code = #{bussinessCode}</if>
+ <if test="businessCode != null and businessCode != ''">and a.business_code = #{businessCode}</if>
<if test="companyCode != null and companyCode != ''">and a.company_code = #{companyCode}</if>
<if test="drawer != null and drawer != ''">and a.drawer = #{drawer}</if>
<if test="reviewer != null and reviewer != ''">and a.reviewer = #{reviewer}</if>
@@ -131,7 +131,7 @@
<if test="subjectName != null and subjectName != ''">subject_name,</if>
<if test="operateTypeId != null">operate_type_id,</if>
<if test="amount != null">amount,</if>
- <if test="bussinessCode != null and bussinessCode != ''">business_code,</if>
+ <if test="businessCode != null and businessCode != ''">business_code,</if>
<if test="companyCode != null and companyCode != ''">company_code,</if>
<if test="drawer != null and drawer != ''">drawer,</if>
<if test="reviewer != null and reviewer != ''">reviewer,</if>
@@ -149,7 +149,7 @@
<if test="subjectName != null and subjectName != ''">#{subjectName},</if>
<if test="operateTypeId != null">#{operateTypeId},</if>
<if test="amount != null">#{amount},</if>
- <if test="bussinessCode != null and bussinessCode != ''">#{bussinessCode},</if>
+ <if test="businessCode != null and businessCode != ''">#{businessCode},</if>
<if test="companyCode != null and companyCode != ''">#{companyCode},</if>
<if test="drawer != null and drawer != ''">#{drawer},</if>
<if test="reviewer != null and reviewer != ''">#{reviewer},</if>
@@ -171,7 +171,7 @@
<if test="subjectName != null and subjectName != ''">subject_name = #{subjectName},</if>
<if test="operateTypeId != null">operate_type_id = #{operateTypeId},</if>
<if test="amount != null">amount = #{amount},</if>
- <if test="bussinessCode != null and bussinessCode != ''">business_code = #{bussinessCode},</if>
+ <if test="businessCode != null and businessCode != ''">business_code = #{businessCode},</if>
<if test="companyCode != null and companyCode != ''">company_code = #{companyCode},</if>
<if test="drawer != null and drawer != ''">drawer = #{drawer},</if>
<if test="reviewer != null and reviewer != ''">reviewer = #{reviewer},</if>
@@ -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.operate_type_id,
+ MAX(sot.name) AS subject_name,
+ MAX(cc.amount) AS amount,
+ MAX(cc.category_type) AS category_type,
+ COUNT(cps.id) AS 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 AND cp.del_flag = 0
+ 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 cp.del_flag = 0 AND cps.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 districtCode != 65">
+ and cc.district_code =#{districtCode}
+ </if>
+ <if test="deptId!=null">
+ and cp.dept_id =#{deptId}
+ </if>
+ GROUP BY
+ cc.operate_type_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 districtCode != 65 ">
+ 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