From be90c5ad7af7528872dd0eaeae6c419a5ceedbc3 Mon Sep 17 00:00:00 2001 From: “djh” <“3298565835@qq.com”> Date: 星期二, 11 三月 2025 16:27:25 +0800 Subject: [PATCH] 角色权限修改 --- exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 159 insertions(+), 21 deletions(-) diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml index 4d36750..ff12ddc 100644 --- a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml +++ b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml @@ -21,6 +21,13 @@ <result property="updateTime" column="update_time"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> + <result property="operateTypeName" column="operate_type_name"/> + <result property="districtName" column="district_name"/> + </resultMap> + + <resultMap type="NonCoalCategory" id="NonCoalCategoryResultVO" extends="NonCoalCategoryResult"> + <result property="operateTypeName" column="operate_type_name"/> + </resultMap> <sql id="selectNonCoalCategoryVo"> @@ -30,38 +37,90 @@ subject_name, operate_type_id, amount, - bussiness_code, + business_code, company_code, drawer, reviewer, - invoicing_company_code, describe, update_by, update_time, create_by, create_time + invoicing_company_code, + `describe`, + update_by, + update_time, + create_by, + create_time from non_coal_category </sql> <select id="selectNonCoalCategoryList" parameterType="NonCoalCategory" resultMap="NonCoalCategoryResult"> - <include refid="selectNonCoalCategoryVo"/> + select a.id, + a.district_code, + a.category_type, + a.subject_name, + a.operate_type_id, + a.amount, + a.business_code, + a.company_code, + a.drawer, + a.reviewer, + a.invoicing_company_code, + a.`describe`, + a.update_by, + a.update_time, + a.create_by, + a.create_time, + (SELECT GROUP_CONCAT(name SEPARATOR '/') FROM sys_operate_type + WHERE FIND_IN_SET(id, (SELECT ancestors FROM sys_operate_type WHERE id = a.operate_type_id)) or id = + a.operate_type_id ) operate_type_name, + b.name district_name + from non_coal_category a + left join sys_district b on a.district_code = b.code <where> - <if test="districtCode != null and districtCode != ''">and district_code = #{districtCode}</if> - <if test="categoryType != null ">and category_type = #{categoryType}</if> - <if test="subjectName != null and subjectName != ''">and subject_name like concat('%', #{subjectName}, + and a.del_flag = 0 + <if test="districtCode != null and districtCode != ''">and a.district_code = #{districtCode}</if> + <if test="categoryType != null ">and a.category_type = #{categoryType}</if> + <if test="subjectName != null and subjectName != ''">and a.subject_name like concat('%', #{subjectName}, '%') </if> - <if test="operateTypeId != null ">and operate_type_id = #{operateTypeId}</if> - <if test="amount != null ">and amount = #{amount}</if> - <if test="bussinessCode != null and bussinessCode != ''">and bussiness_code = #{bussinessCode}</if> - <if test="companyCode != null and companyCode != ''">and company_code = #{companyCode}</if> - <if test="drawer != null and drawer != ''">and drawer = #{drawer}</if> - <if test="reviewer != null and reviewer != ''">and reviewer = #{reviewer}</if> - <if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">and invoicing_company_code = + <if test="operateTypeId != null ">and a.operate_type_id = #{operateTypeId}</if> + <if test="amount != null ">and a.amount = #{amount}</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> + <if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">and a.invoicing_company_code = #{invoicingCompanyCode} </if> - <if test="describe != null and describe != ''">and describe = #{describe}</if> + <if test="describe != null and describe != ''">and a.`describe` = #{describe}</if> </where> + order by create_time desc </select> <select id="selectNonCoalCategoryById" parameterType="Long" resultMap="NonCoalCategoryResult"> - <include refid="selectNonCoalCategoryVo"/> - where id = #{id} + select a.id, + a.district_code, + a.category_type, + a.subject_name, + a.operate_type_id, + a.amount, + a.business_code, + a.company_code, + a.drawer, + a.reviewer, + a.invoicing_company_code, + a.`describe`, + a.update_by, + a.update_time, + a.create_by, + a.create_time, + (SELECT GROUP_CONCAT(name SEPARATOR '/') + FROM sys_operate_type + WHERE FIND_IN_SET(id, (SELECT ancestors FROM sys_operate_type WHERE id = a.operate_type_id)) + or id = + a.operate_type_id) operate_type_name, + b.name district_name + from non_coal_category a + left join sys_district b on a.district_code = b.code + + where a.id = #{id} </select> <insert id="insertNonCoalCategory" parameterType="NonCoalCategory" useGeneratedKeys="true" keyProperty="id"> @@ -72,12 +131,12 @@ <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 != ''">bussiness_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> <if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">invoicing_company_code,</if> - <if test="describe != null">describe,</if> + <if test="describe != null">`describe`,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> <if test="createBy != null">create_by,</if> @@ -90,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> @@ -112,14 +171,14 @@ <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 != ''">bussiness_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> <if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">invoicing_company_code = #{invoicingCompanyCode}, </if> - <if test="describe != null">describe = #{describe},</if> + <if test="describe != null">`describe` = #{describe},</if> <if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateTime != null">update_time = #{updateTime},</if> <if test="createBy != null">create_by = #{createBy},</if> @@ -138,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 districtCode != 65"> + 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 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