Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -245,17 +245,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join cph_rules as b on a.rule_id = b.rule_id
|
||||
where stu_no = #{stuNo} and stu_year_id = #{stuYearId};
|
||||
</select>
|
||||
<select id="getcphiamByOne" resultType="com.srs.comprehensive.domain.CphAuditDetails" parameterType="String">
|
||||
select c.rule_name as rule_name, g.stu_year_name as stu_year_name,a.iam_score as operate_score
|
||||
from cph_iam as a
|
||||
left join srs_student as b on a.to_add = b.stu_id
|
||||
left join cph_rules as c on a.rule_id = c.rule_id
|
||||
left join srs_class as d on b.class_id = d.class_id
|
||||
left join srs_majors as e on d.major_id = e.major_id
|
||||
left join sys_dept as f on e.college_id = f.dept_id
|
||||
left join srs_stu_year as g on a.stu_year_id = g.id
|
||||
left join cph_audit_details as h on a.id = h.project_id
|
||||
where b.stu_no = #{stuNo} and audit_status=6
|
||||
ORDER BY a.create_time desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.srs.comprehensive.mapper.SrsCqScoreMapper">
|
||||
|
||||
|
||||
<resultMap type="SrsCqScore" id="SrsCqScoreResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="stuNo" column="stu_no"/>
|
||||
@@ -37,7 +37,7 @@
|
||||
m.major_name,
|
||||
c.class_name,
|
||||
stu_year_name
|
||||
|
||||
|
||||
from srs_cq_score cq
|
||||
left join srs_student s
|
||||
on s.stu_no = cq.stu_no
|
||||
@@ -46,7 +46,7 @@
|
||||
left JOIN srs_majors m ON c.major_id = m.major_id
|
||||
left JOIN sys_dept d ON m.college_id = d.dept_id
|
||||
left JOIN srs_stu_year sy ON cq.stu_year_id = sy.id
|
||||
|
||||
|
||||
</sql>
|
||||
<select id="getComprehensiveSummary" parameterType="int" statementType="CALLABLE" resultType="java.util.Map">
|
||||
{CALL test2(#{id, mode=IN})}
|
||||
@@ -82,8 +82,32 @@
|
||||
) as t1
|
||||
where t1.stu_no = #{stuNo}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="getOwn2" resultType="com.srs.comprehensive.domain.Vo.CphOwnScore">
|
||||
select t1.stu_year_id,t1.stu_year_name,t1.total_score,t1.iam_score,t1.sport_score,
|
||||
t1.ce_score,t1.stu_score,t1.classtwo_score,t1.class_rank,t1.major_rank
|
||||
from (
|
||||
select a.stu_year_id,b.stu_year_name,
|
||||
a.cph_score as total_score,
|
||||
a.iam_score as iam_score,
|
||||
a.sport_score as sport_score,
|
||||
a.ce_score as ce_score,
|
||||
a.stu_score as stu_score,
|
||||
a.classtwo_score as classtwo_score,
|
||||
a.stu_no,
|
||||
RANK() OVER(PARTITION BY a.class_id,a.stu_year_id,c.grade_id ORDER BY a.cph_score DESC ) as class_rank,
|
||||
RANK() OVER(PARTITION BY a.major_id,a.stu_year_id,c.grade_id ORDER BY a.cph_score DESC ) as major_rank
|
||||
from cph_total_score as a
|
||||
left join srs_stu_year as b on a.stu_year_id = b.id
|
||||
left join srs_class as c on a.class_code = c.class_code
|
||||
left join srs_student as e on a.stu_no = e.stu_no
|
||||
left join srs_majors as d on c.major_id = d.major_id
|
||||
ORDER BY a.stu_year_id,a.stu_no
|
||||
) as t1
|
||||
where t1.stu_no = #{stuNo} order by stu_year_name desc limit 3
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectSrsCqScoreList" parameterType="CphSearch" resultMap="SrsCqScoreResult">
|
||||
<include refid="selectSrsCqScoreVo"/>
|
||||
<where>
|
||||
@@ -145,7 +169,7 @@
|
||||
select '分数<60' as `name`, count(*) as`value` from cph_total_score as a
|
||||
where a.cph_score < 60 and a.stu_year_id = #{stuYearId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectSrsCqScoreById" parameterType="Long" resultMap="SrsCqScoreResult">
|
||||
<include refid="selectSrsCqScoreVo"/>
|
||||
where cq.id = #{id}
|
||||
@@ -355,9 +379,6 @@
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<insert id="insertSrsCqScore" parameterType="SrsCqScore">
|
||||
insert into srs_cq_score
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
@@ -383,7 +404,7 @@
|
||||
<if test="delFlag != null">#{delFlag},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateSrsCqScore" parameterType="SrsCqScore">
|
||||
update srs_cq_score
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
@@ -398,20 +419,20 @@
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
<delete id="deleteSrsCqScoreById" parameterType="Long">
|
||||
delete
|
||||
from srs_cq_score
|
||||
where id = #{id}
|
||||
</delete>
|
||||
|
||||
|
||||
<delete id="deleteSrsCqScoreByIds" parameterType="String">
|
||||
delete from srs_cq_score where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="getScoreDistribution" resultType="java.util.Map">
|
||||
select s.stu_id, s.stu_no, s.name, s.class_id,
|
||||
COALESCE(ts.score, 0) + COALESCE(ci.score, 0) + COALESCE(st.score, 0) + COALESCE(cs.score, 0) +
|
||||
@@ -470,7 +491,7 @@
|
||||
<if test="majorId != null">and sm.major_id = #{majorId}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectPerson"
|
||||
resultType="com.srs.comprehensive.domain.Vo.SrsCeScoreClassDeptGradeMajorsStudentStuYear">
|
||||
SELECT
|
||||
@@ -539,5 +560,21 @@
|
||||
AND stu_year_id=#{stuYearId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
<select id="getcphiamByOne" resultType="com.srs.comprehensive.domain.CphAuditDetails" parameterType="String">
|
||||
select c.rule_name as rule_name, g.stu_year_name as stu_year_name,a.iam_score as operate_score
|
||||
from cph_iam as a
|
||||
left join srs_student as b on a.to_add = b.stu_id
|
||||
left join cph_rules as c on a.rule_id = c.rule_id
|
||||
left join srs_class as d on b.class_id = d.class_id
|
||||
left join srs_majors as e on d.major_id = e.major_id
|
||||
left join sys_dept as f on e.college_id = f.dept_id
|
||||
left join srs_stu_year as g on a.stu_year_id = g.id
|
||||
left join cph_audit_details as h on a.id = h.project_id
|
||||
where b.stu_no = #{stuNo} and audit_status=6
|
||||
ORDER BY a.create_time desc
|
||||
</select>
|
||||
<select id="getStuData" resultType="com.srs.comprehensive.domain.SrsCqScore" parameterType="String">
|
||||
select a.*,b.stu_year_name from cph_total_score as a left join srs_stu_year as b on a.stu_year_id = b.id
|
||||
where stu_no=#{stuNo} order by b.stu_year_name desc limit 3
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -710,34 +710,69 @@
|
||||
order by quantity desc limit 4
|
||||
</select>
|
||||
<select id="getCountbyCity" resultType="java.util.Map">
|
||||
select *
|
||||
from (select (case
|
||||
when b.id_card = 4501 then '南宁市'
|
||||
when b.id_card = 4502 then '柳州市'
|
||||
when b.id_card = 4503 then '桂林市'
|
||||
when b.id_card = 4504 then '梧州市'
|
||||
when b.id_card = 4505 then '北海市'
|
||||
when b.id_card = 4506 then '防城港市'
|
||||
when b.id_card = 4507 then '钦州市'
|
||||
when b.id_card = 4508 then '贵港市'
|
||||
when b.id_card = 4509 then '玉林市'
|
||||
when b.id_card = 4510 then '百色市'
|
||||
when b.id_card = 4511 then '贺州市'
|
||||
when b.id_card = 4512 then '河池市'
|
||||
when b.id_card = 4513 then '来宾市'
|
||||
when b.id_card = 4514 then '崇左市'
|
||||
end) as city,
|
||||
SELECT
|
||||
city,
|
||||
SUM(total_count) AS total_count, -- 合并外省总人数
|
||||
SUM(male_count) AS male_count, -- 合并外省男生数
|
||||
SUM(female_count) AS female_count,-- 合并外省女生数
|
||||
-- 若需显示身份证前缀,外省统一标为“外省”,广西保留原前缀(可选)
|
||||
CASE WHEN city = '外省' THEN '外省' ELSE GROUP_CONCAT(DISTINCT 身份证前缀 SEPARATOR ',') END AS 身份证前缀
|
||||
FROM (
|
||||
SELECT
|
||||
CASE
|
||||
-- 广西地市精准匹配
|
||||
WHEN b.id_card = '4501' THEN '南宁市'
|
||||
WHEN b.id_card = '4502' THEN '柳州市'
|
||||
WHEN b.id_card = '4503' THEN '桂林市'
|
||||
WHEN b.id_card = '4504' THEN '梧州市'
|
||||
WHEN b.id_card = '4505' THEN '北海市'
|
||||
WHEN b.id_card = '4506' THEN '防城港市'
|
||||
WHEN b.id_card = '4507' THEN '钦州市'
|
||||
WHEN b.id_card = '4508' THEN '贵港市'
|
||||
WHEN b.id_card = '4509' THEN '玉林市'
|
||||
WHEN b.id_card = '4510' THEN '百色市'
|
||||
WHEN b.id_card = '4511' THEN '贺州市'
|
||||
WHEN b.id_card = '4512' THEN '河池市'
|
||||
WHEN b.id_card = '4513' THEN '来宾市'
|
||||
WHEN b.id_card = '4514' THEN '崇左市'
|
||||
-- 广西其他编码兜底
|
||||
WHEN b.id_card LIKE '45%' THEN '广西-其他地区'
|
||||
-- 所有非广西编码统一标为“外省”
|
||||
ELSE '外省'
|
||||
END AS city,
|
||||
total_count,
|
||||
male_count,
|
||||
female_count
|
||||
from (select left (AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4) as id_card, count (1) as total_count, sum (case when gender='男' then 1 else 0 end) as male_count, sum (case when gender='女' then 1 else 0 end) as female_count
|
||||
from srs_student d left join srs_class e
|
||||
on d.class_id=e.class_id
|
||||
left join srs_grade f on f.grade_id=e.grade_id
|
||||
where f.grade_status in (1, 3)
|
||||
GROUP BY left (AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4)) b) c
|
||||
where c.city is not null;
|
||||
|
||||
female_count,
|
||||
b.id_card AS 身份证前缀
|
||||
FROM (
|
||||
SELECT
|
||||
t.id_card,
|
||||
COUNT(1) AS total_count,
|
||||
SUM(CASE WHEN COALESCE(gender, '') = '男' THEN 1 ELSE 0 END) AS male_count,
|
||||
SUM(CASE WHEN COALESCE(gender, '') = '女' THEN 1 ELSE 0 END) AS female_count
|
||||
FROM (
|
||||
SELECT
|
||||
-- 处理解密NULL的情况:转为空字符串
|
||||
COALESCE(LEFT(AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4), '') AS id_card,
|
||||
gender
|
||||
FROM srs_student d
|
||||
LEFT JOIN srs_class e ON d.class_id = e.class_id
|
||||
LEFT JOIN srs_grade f ON f.grade_id = e.grade_id
|
||||
WHERE f.grade_status IN (1, 3)
|
||||
) t
|
||||
GROUP BY t.id_card
|
||||
) b
|
||||
) c
|
||||
-- 按 city 分组:广西各地市单独分组,外省合并为一组
|
||||
GROUP BY city
|
||||
-- 可选:排序(广西地市在前,外省在后)
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN city = '外省' THEN 2
|
||||
WHEN city = '广西-其他地区' THEN 1
|
||||
ELSE 0
|
||||
END,
|
||||
city;
|
||||
</select>
|
||||
<select id="getSchoolCountbyGrade" resultType="java.util.Map">
|
||||
select c.grade_code, count(1) as number
|
||||
@@ -762,33 +797,49 @@
|
||||
and gender is not null
|
||||
</select>
|
||||
<select id="getNotSchoolTotalCount" resultType="java.util.Map">
|
||||
select sum(total_count) as number
|
||||
from (select (case
|
||||
when b.id_card = 4501 then '南宁市'
|
||||
when b.id_card = 4502 then '柳州市'
|
||||
when b.id_card = 4503 then '桂林市'
|
||||
when b.id_card = 4504 then '梧州市'
|
||||
when b.id_card = 4505 then '北海市'
|
||||
when b.id_card = 4506 then '防城港市'
|
||||
when b.id_card = 4507 then '钦州市'
|
||||
when b.id_card = 4508 then '贵港市'
|
||||
when b.id_card = 4509 then '玉林市'
|
||||
when b.id_card = 4510 then '百色市'
|
||||
when b.id_card = 4511 then '贺州市'
|
||||
when b.id_card = 4512 then '河池市'
|
||||
when b.id_card = 4513 then '来宾市'
|
||||
when b.id_card = 4514 then '崇左市'
|
||||
end) as city,
|
||||
SELECT SUM(total_count) AS number
|
||||
FROM (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN b.id_card = 4501 THEN '南宁市'
|
||||
WHEN b.id_card = 4502 THEN '柳州市'
|
||||
WHEN b.id_card = 4503 THEN '桂林市'
|
||||
WHEN b.id_card = 4504 THEN '梧州市'
|
||||
WHEN b.id_card = 4505 THEN '北海市'
|
||||
WHEN b.id_card = 4506 THEN '防城港市'
|
||||
WHEN b.id_card = 4507 THEN '钦州市'
|
||||
WHEN b.id_card = 4508 THEN '贵港市'
|
||||
WHEN b.id_card = 4509 THEN '玉林市'
|
||||
WHEN b.id_card = 4510 THEN '百色市'
|
||||
WHEN b.id_card = 4511 THEN '贺州市'
|
||||
WHEN b.id_card = 4512 THEN '河池市'
|
||||
WHEN b.id_card = 4513 THEN '来宾市'
|
||||
WHEN b.id_card = 4514 THEN '崇左市'
|
||||
END AS city,
|
||||
total_count,
|
||||
male_count,
|
||||
female_count
|
||||
from (select left (AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4) as id_card, count (1) as total_count, sum (case when gender='男' then 1 else 0 end) as male_count, sum (case when gender='女' then 1 else 0 end) as female_count
|
||||
from srs_student d left join srs_class e
|
||||
on d.class_id=e.class_id
|
||||
left join srs_grade f on f.grade_id=e.grade_id
|
||||
where f.grade_status in (1, 3)
|
||||
GROUP BY left (AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4)) b) c
|
||||
where c.city is null
|
||||
FROM (
|
||||
-- 优化:先解密别名,避免GROUP BY重复计算解密逻辑
|
||||
SELECT
|
||||
t.id_card,
|
||||
COUNT(1) AS total_count, -- 关键:COUNT与括号无空格
|
||||
SUM(CASE WHEN gender = '男' THEN 1 ELSE 0 END) AS male_count,
|
||||
SUM(CASE WHEN gender = '女' THEN 1 ELSE 0 END) AS female_count
|
||||
FROM (
|
||||
SELECT
|
||||
LEFT(AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4) AS id_card, -- 关键:LEFT与括号无空格
|
||||
gender
|
||||
FROM srs_student d
|
||||
LEFT JOIN srs_class e ON d.class_id = e.class_id
|
||||
LEFT JOIN srs_grade f ON f.grade_id = e.grade_id
|
||||
WHERE f.grade_status IN (1, 3)
|
||||
) t
|
||||
GROUP BY t.id_card -- 直接用别名,避免重复解密
|
||||
) b
|
||||
) c
|
||||
WHERE c.city IS NULL;
|
||||
|
||||
</select>
|
||||
<select id="getMajorsCount" resultType="java.util.Map">
|
||||
select d.dept_name as deptName,
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.srs.comprehensive.mapper.SyncDataMapper">
|
||||
<select id="getEmployEEInfoList" resultType="java.util.Map">
|
||||
SELECT TBA.GH as zgh,TBA.XM as xm,CASE
|
||||
WHEN XBDM = 1 THEN '男'
|
||||
WHEN XBDM = 2 THEN '女'
|
||||
ELSE '未知' -- 可选:添加默认值,避免NULL
|
||||
END as xb,TBD.BMMC as ksmc,TBD.BMMC as yxmc,TBD.BMBH as ksh,TBA.ZGDQZTDM as zgzt from from_gxsdxyxxzx_teacher TBA LEFT JOIN from_gxsdxyxxzx_xzbm TBD ON TBA.SZBMBH=TBD.BMBH
|
||||
WHERE TBA.ZGLBDM LIKE '1%'
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user