Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package com.srs.comprehensive.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.srs.common.annotation.Excel;
|
||||
@@ -8,10 +11,11 @@ import com.srs.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 学生综合素质评分表对象 srs_cq_score
|
||||
*
|
||||
*
|
||||
* @author srs
|
||||
* @date 2023-06-29
|
||||
*/
|
||||
@Data
|
||||
public class SrsCqScore extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -45,7 +49,23 @@ public class SrsCqScore extends BaseEntity
|
||||
private String majorsName;
|
||||
@Excel(name = "班级")
|
||||
private String className;
|
||||
|
||||
//思想品德
|
||||
@TableField(exist = false)
|
||||
private BigDecimal iamScore;
|
||||
//第二课堂
|
||||
@TableField(exist = false)
|
||||
private BigDecimal classtwoScore;
|
||||
//综合评价
|
||||
@TableField(exist = false)
|
||||
private BigDecimal ceScore;
|
||||
//科学文化素质
|
||||
@TableField(exist = false)
|
||||
private BigDecimal stuScore;
|
||||
//体能素质
|
||||
@TableField(exist = false)
|
||||
private BigDecimal sportScore;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalScore;
|
||||
|
||||
public String getStuYearName() {
|
||||
return stuYearName;
|
||||
@@ -94,12 +114,12 @@ public class SrsCqScore extends BaseEntity
|
||||
}
|
||||
|
||||
|
||||
public void setId(Long id)
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
@@ -110,30 +130,30 @@ public class SrsCqScore extends BaseEntity
|
||||
public void setStuNo(String stuNo) {
|
||||
this.stuNo = stuNo;
|
||||
}
|
||||
public void setStuYearId(Long stuYearId)
|
||||
public void setStuYearId(Long stuYearId)
|
||||
{
|
||||
this.stuYearId = stuYearId;
|
||||
}
|
||||
|
||||
public Long getStuYearId()
|
||||
public Long getStuYearId()
|
||||
{
|
||||
return stuYearId;
|
||||
}
|
||||
public void setCqScore(BigDecimal cqScore)
|
||||
public void setCqScore(BigDecimal cqScore)
|
||||
{
|
||||
this.cqScore = cqScore;
|
||||
}
|
||||
|
||||
public BigDecimal getCqScore()
|
||||
public BigDecimal getCqScore()
|
||||
{
|
||||
return cqScore;
|
||||
}
|
||||
public void setDelFlag(String delFlag)
|
||||
public void setDelFlag(String delFlag)
|
||||
{
|
||||
this.delFlag = delFlag;
|
||||
}
|
||||
|
||||
public String getDelFlag()
|
||||
public String getDelFlag()
|
||||
{
|
||||
return delFlag;
|
||||
}
|
||||
|
||||
@@ -28,5 +28,4 @@ public class CphOwnScore {
|
||||
public BigDecimal stuScore;
|
||||
public BigDecimal sportScore;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -20,5 +20,6 @@ public class CphStuScoreType {
|
||||
|
||||
public String typeName;
|
||||
|
||||
public BigDecimal totalScore;
|
||||
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ public interface CphAuditDetailsMapper
|
||||
* @return 审核明细
|
||||
*/
|
||||
public CphAuditDetails selectCphAuditDetailsById(Long id);
|
||||
public List<CphAuditDetails> getcphiamByOne(String stuNo);
|
||||
|
||||
public CphAuditDetails selectCphAuditDetailsByProjectId(Long id);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.srs.comprehensive.domain.CphAuditDetails;
|
||||
import com.srs.comprehensive.domain.Dto.CphExport;
|
||||
import com.srs.comprehensive.domain.SrsCqScore;
|
||||
import com.srs.comprehensive.domain.SrsMajors;
|
||||
@@ -14,7 +15,7 @@ import org.springframework.data.repository.query.Param;
|
||||
|
||||
/**
|
||||
* 学生综合素质评分表Mapper接口
|
||||
*
|
||||
*
|
||||
* @author srs
|
||||
* @date 2023-06-29
|
||||
*/
|
||||
@@ -29,7 +30,7 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
/**
|
||||
* 查询学生综合素质评分表
|
||||
*
|
||||
*
|
||||
* @param id 学生综合素质评分表主键
|
||||
* @return 学生综合素质评分表
|
||||
*/
|
||||
@@ -45,6 +46,8 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
public List<CphStuScoreType> listOwnFive(String stuNo);
|
||||
|
||||
public List<CphAuditDetails> getcphiamByOne(String stuNo);
|
||||
|
||||
public List<CphCollegeLook> listOwnCollegeScore(CphSearch param);
|
||||
|
||||
public List<CphCollegeLook> listOwnCollegeStu(CphSearch param);
|
||||
@@ -54,6 +57,7 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
public List<SrsMajors> listOwnClass(CphSearch param);
|
||||
|
||||
public List<SrsCqScore> getStuData(String stuNo);
|
||||
|
||||
|
||||
/**
|
||||
@@ -80,6 +84,8 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
public List<CphOwnScore> getOwn(String stuNo);
|
||||
|
||||
public List<CphOwnScore> getOwn2(String stuNo);
|
||||
|
||||
public void generateComprehensiveSummary(@Param("id") int id);
|
||||
|
||||
|
||||
@@ -87,7 +93,7 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
/**
|
||||
* 新增学生综合素质评分表
|
||||
*
|
||||
*
|
||||
* @param srsCqScore 学生综合素质评分表
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -97,7 +103,7 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
/**
|
||||
* 修改学生综合素质评分表
|
||||
*
|
||||
*
|
||||
* @param srsCqScore 学生综合素质评分表
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -105,7 +111,7 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
/**
|
||||
* 删除学生综合素质评分表
|
||||
*
|
||||
*
|
||||
* @param id 学生综合素质评分表主键
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -113,7 +119,7 @@ public interface SrsCqScoreMapper extends BaseMapper<SrsCqScore>
|
||||
|
||||
/**
|
||||
* 批量删除学生综合素质评分表
|
||||
*
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.srs.comprehensive.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface SyncDataMapper {
|
||||
public List<Map> getEmployEEInfoList();//教职工
|
||||
}
|
||||
@@ -36,7 +36,7 @@ public interface CphSqlServerDataService {
|
||||
|
||||
public List<Map> getBZRClassInfoList();//班级辅导员
|
||||
|
||||
List<Map> getEmployEEInfoList();//辅导员
|
||||
List<Map> getEmployEEInfoList();//教职工
|
||||
|
||||
|
||||
public String gets(Long njid);
|
||||
|
||||
@@ -49,14 +49,6 @@ public interface ICphAuditDetailsService
|
||||
*/
|
||||
public CphAuditDetails selectCphAuditDetailsById(Long id);
|
||||
|
||||
/**
|
||||
* 查询个人思想品得加分项申请
|
||||
*
|
||||
* @param stuNo
|
||||
* @return
|
||||
**/
|
||||
public List<CphAuditDetails> getcphiamByOne(String stuNo);
|
||||
|
||||
/**
|
||||
* 我的已审核
|
||||
* @author zhy
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.srs.comprehensive.service;
|
||||
|
||||
import com.srs.common.core.domain.AjaxResult;
|
||||
import com.srs.comprehensive.domain.CphAuditDetails;
|
||||
import com.srs.comprehensive.domain.Dto.CphExport;
|
||||
import com.srs.comprehensive.domain.SrsCqScore;
|
||||
import com.srs.comprehensive.domain.SrsMajors;
|
||||
@@ -37,6 +38,11 @@ public interface ISrsCqScoreService
|
||||
|
||||
public List<CphOwnScore> getOwn(String stuNo);
|
||||
|
||||
public List<CphOwnScore> getOwn2(String stuNo);
|
||||
|
||||
public List<CphAuditDetails> getcphiamByOne(String stuNo);
|
||||
|
||||
|
||||
public List<CphTotalScoreInfo> listCphScore(CphSearch search);
|
||||
|
||||
public List<CphCollegeLook> listOwnCollegeScore(CphSearch param);
|
||||
@@ -109,4 +115,6 @@ public interface ISrsCqScoreService
|
||||
|
||||
List<SrsCeScoreClassDeptGradeMajorsStudentStuYear> comprehensiveRanking(SrsCqScore srsCqScore);
|
||||
|
||||
public List<SrsCqScore> getStuData(String stuNo);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.srs.comprehensive.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface SyncDataService {
|
||||
List<Map> getEmployEEInfoList();//教职工
|
||||
}
|
||||
@@ -331,11 +331,6 @@ public class CphAuditDetailsServiceImpl implements ICphAuditDetailsService {
|
||||
return cphAuditDetailsMapper.selectCphAuditDetailsById(id);
|
||||
}
|
||||
|
||||
//查询个人思想品得加分申请
|
||||
public List<CphAuditDetails> getcphiamByOne(String stuNo){
|
||||
return cphAuditDetailsMapper.getcphiamByOne(stuNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询已审核
|
||||
*
|
||||
|
||||
@@ -469,6 +469,7 @@ public class CphTeacherServiceImpl implements ICphTeacherService
|
||||
String xm=(String) map.get("xm");
|
||||
String xb=(String) map.get("xb");
|
||||
String ksh=(String) map.get("ksh");
|
||||
String zgzt=(String) map.get("zgzt");
|
||||
QgzxTeacher qgzxTeacher = qgzxTeacherMapper.selectQgzxTeacherByEmployeeId(zgh);
|
||||
Long deptId = qgzxTeacherMapper.selectDeptCode(ksh);
|
||||
QgzxTeacher entity=new QgzxTeacher();
|
||||
@@ -478,7 +479,7 @@ public class CphTeacherServiceImpl implements ICphTeacherService
|
||||
if(deptId!=null) {
|
||||
entity.setDeptId(deptId);
|
||||
}
|
||||
entity.setStatus("1");
|
||||
entity.setStatus(zgzt);
|
||||
entity.setCreateTime(DateUtils.getNowDate());
|
||||
if(qgzxTeacher==null){
|
||||
qgzxTeacherMapper.insertQgzxTeacher(entity);
|
||||
|
||||
@@ -89,7 +89,12 @@ public class SrsCqScoreServiceImpl extends ServiceImpl<SrsCqScoreMapper, SrsCqSc
|
||||
|
||||
@Override
|
||||
public List<CphOwnScore> getOwn(String stuNo){
|
||||
return srsCqScoreMapper.getOwn( stuNo);
|
||||
return srsCqScoreMapper.getOwn(stuNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CphOwnScore> getOwn2(String stuNo){
|
||||
return srsCqScoreMapper.getOwn2(stuNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -342,5 +347,12 @@ public class SrsCqScoreServiceImpl extends ServiceImpl<SrsCqScoreMapper, SrsCqSc
|
||||
return baseMapper.selectPerson(params);
|
||||
}
|
||||
|
||||
|
||||
//查询个人思想品得加分申请
|
||||
public List<CphAuditDetails> getcphiamByOne(String stuNo){
|
||||
return srsCqScoreMapper.getcphiamByOne(stuNo);
|
||||
}
|
||||
//查询个人素质综合信息
|
||||
public List<SrsCqScore> getStuData(String stuNo){
|
||||
return srsCqScoreMapper.getStuData(stuNo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.srs.comprehensive.service.impl;
|
||||
|
||||
import com.srs.comprehensive.mapper.SyncDataMapper;
|
||||
import com.srs.comprehensive.service.SyncDataService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class SyncDataServiceImpl implements SyncDataService {
|
||||
@Autowired
|
||||
private SyncDataMapper syncDataMapper;
|
||||
@Override
|
||||
public List<Map> getEmployEEInfoList() {
|
||||
return syncDataMapper.getEmployEEInfoList();
|
||||
}
|
||||
}
|
||||
@@ -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