Commit 63f3d4ed by baochunxin

#G:新增电子教室档案老师基本信息

parent 8c83facd
......@@ -36,6 +36,13 @@ public interface SysDictDataMapper
*/
public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
/**
* 、根据字典类型跟字典名字查找字典值
*/
public String selectDictValue(@Param("dictType") String dictType, @Param("dictLable") String dictLable);
/**
* 根据字典数据ID查询信息
*
......
......@@ -50,7 +50,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select dict_label from sys_dict_data
where dict_type = #{dictType} and dict_value = #{dictValue}
</select>
<select id="selectDictValue" resultType="String">
select dict_value from sys_dict_data
where dict_type = #{dictType} and dict_label = #{dictLable}
</select>
<select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult">
<include refid="selectDictDataVo"/>
where dict_code = #{dictCode}
......
......@@ -105,6 +105,14 @@
<artifactId>fastjson</artifactId>
<version>1.2.8</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
</dependencies>
</project>
package yangtz.cs.liu.campus.domain.teacherFiles;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.NonNull;
import java.util.Date;
/**
* 教师电子档案 老师基础信息
*/
@Data
public class SchoolTeacherBasicInformation extends BaseEntity {
// @Excel(name = "年级",combo = {"一年级","二年级","三年级"},readConverterExp = "1=一年级,2=二年级,3=三年级")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 年龄 。动态查询
*/
private Integer age;
/**
* 性别
*/
private String sex;
/**
* 档案出生日期 (年月)
*/
private Date fileBirthDate;
/**
* 档案年龄
*/
private Integer fileAge;
/**
* 出生年月
*/
private String birthDate;
/**
* 籍贯
*/
private String hometown;
/**
* 民族
*/
private String nation;
/**
* 政治面貌(1中共党员、2共青团员、3群众、4民主党派成员、5无党派人士)
*/
private String politicalLandscape;
/**
* 入党时间(年月)
*/
private Date partyMembershipTime;
/**
* 任教学科(1语文、2数学、3英语、4物理、5化学、6生物、7政治、8历史、9地理、10音乐、11体育、12美术、13技术、14心理、15书法)
*/
private String teachingSubject;
/**
* 现职称(1无、2初级、3中级、4副高、5正高)
*/
private String currentProfessionalTitle;
/**
* 现职称取得资格时间
*/
private Date currentProfessionalTitleTime;
/**
* 现聘职称(1无、2初级、3中级、4副高、5正高)
*/
private String currentHiringProfessionalTitle;
/**
* 现职称聘任时间
*/
private Date currentHiringProfessionalTitleTime;
/**
* 现聘岗位(1专业技术岗、2管理岗、3工勤岗)
*/
private String currentPosition;
/**
* 现岗位等级(见习(三个现聘岗位都有见习这个等级 下拉框联动)、专业技术三级-专业技术十三级、
* 管理五级-管理九级、技术工二级-技术工五级)
*/
private String currentJobLevel;
/**
* 现岗位等级聘任时间
*/
private Date currentJobLevelAppointmentTime;
/**
* 职务
*/
private String duties;
/**
* 教师资格种类
*/
private String teacherQualificationType;
/**
* 教师资格证号码
*/
private String teacherQualificationCertificateNum;
/**
* 参加工作时间
*/
private String workingHours;
/**
* 到二中工作时间
*/
private Date toSecondMiddleSchoolTime;
/**
* 二中工作年龄
*/
private Integer toSecondAge;
/**
* 教龄起算时间
*/
private Date lengthOfTeacherTime;
/**
* 工龄起算时间
*/
private Date lengthOfServiceTime;
/**
* 工龄年限
*/
private Integer seniority;
/**
* 在岗情况(1教学岗位、2教辅岗、3后勤岗、4管理岗、5其他岗、6退休、7行政、8内退岗、9待退岗)
*/
private String onDutySituation;
/**
* 在编情况 1在编 2合同制
*/
private String currentSituation;
/**
* 毕业院校1
*/
private String graduationInstitution1;
/**
* 专业1
*/
private String major1;
/**
* 毕业时间1 年月
*/
private Date graduationTime1;
/**
* 毕业院校2
*/
private String graduationInstitution2;
/**
* 专业2
*/
private String major2;
/**
* 毕业时间2年月
*/
private Date graduationTime2;
/**
* 毕业院校3
*/
private String graduationInstitution3;
/**
* 专业3
*/
private String major3;
/**
* 毕业时间3 年月
*/
private Date graduationTime3;
/**
* 第一学历
*/
private String firstDegree;
/**
* 最后学历
*/
private String lastDegree;
/**
* 学位
*/
private String degree;
/**
* 工作经历
*/
private String workExperience;
/**
* 照片名称
*/
private String photoName;
/**
* 照片地址
*/
private String photoUrl;
/**
* 钉钉手机号
*/
private String ddPhone;
/**
* 出生日期临时查询参数
*/
private String birthDategt;
private String birthDategtd;
private String birthDatelt;
private String birthDateltd;
/**
* 参加工作临时查询参数
*/
private String workingHoursgt;
private String workingHoursgtd;
private String workingHourslt;
private String workingHoursltd;
}
package yangtz.cs.liu.campus.domain.teacherFiles;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 教师电子档案导出对象
*/
@Data
public class SchoolTeacherBasiclnExport {
/**
* 选中导出参数
*/
private Long[] ids;
@Excel(name = "编号")
private Long id;
/**
* 姓名
*/
@Excel(name = "姓名")
private String name;
/**
* 身份证号
*/
@Excel(name = "身份证号")
private String idCard;
/**
* 年龄 。动态查询
*/
@Excel(name = "年龄")
private Integer age;
/**
* 性别
*/
@Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
private String sex;
/**
* 档案出生日期 (年月)
*/
@Excel(name = "档案出生日期" ,dateFormat="yyyy-MM-dd")
private Date fileBirthDate;
/**
* 档案年龄
*/
@Excel(name = "档案年龄")
private Integer fileAge;
/**
* 出生年月
*/
@Excel(name = "出生年月")
private String birthDate;
/**
* 籍贯
*/
@Excel(name = "籍贯")
private String hometown;
/**
* 民族
*/
@Excel(name = "民族")
private String nation;
/**
* 政治面貌(1中共党员、2共青团员、3群众、4民主党派成员、5无党派人士)
*/
@Excel(name = "政治面貌" ,dictType="politics_tatusls")
private String politicalLandscape;
/**
* 入党时间(年月)
*/
@Excel(name = "入党时间" ,dateFormat="yyyy-MM-dd")
private Date partyMembershipTime;
/**
* 任教学科(1语文、2数学、3英语、4物理、5化学、6生物、7政治、8历史、9地理、10音乐、11体育、12美术、13技术、14心理、15书法)
*/
@Excel(name = "任教学科" ,dictType= "teaching_subjects")
private String teachingSubject;
/**
* 现职称(1无、2初级、3中级、4副高、5正高)
*/
@Excel(name = "现职称" ,dictType= "current_professional")
private String currentProfessionalTitle;
/**
* 现职称取得资格时间
*/
@Excel(name = "现职称取得时间" ,dateFormat="yyyy-MM-dd")
private Date currentProfessionalTitleTime;
/**
* 现聘职称(1无、2初级、3中级、4副高、5正高)
*/
@Excel(name = "现聘职称",dictType= "current_professional")
private String currentHiringProfessionalTitle;
/**
* 现职称聘任时间
*/
@Excel(name = "现聘职称取得时间" ,dateFormat="yyyy-MM-dd")
private Date currentHiringProfessionalTitleTime;
/**
* 现聘岗位(1专业技术岗、2管理岗、3工勤岗)
*/
@Excel(name = "现聘岗位" ,dictType= "current_position")
private String currentPosition;
/**
* 现岗位等级聘任时间
*/
@Excel(name = "现聘岗位取得时间" ,dateFormat="yyyy-MM-dd")
private Date currentJobLevelAppointmentTime;
/**
* 现岗位等级(见习(三个现聘岗位都有见习这个等级 下拉框联动)、专业技术三级-专业技术十三级、
* 管理五级-管理九级、技术工二级-技术工五级)
*/
@Excel(name = "现岗位等级" ,dictType= "current_joblevel")
private String currentJobLevel;
/**
* 职务
*/
@Excel(name = "职务")
private String duties;
/**
* 教师资格种类
*/
@Excel(name = "教师资格种类")
private String teacherQualificationType;
/**
* 教师资格证号码
*/
@Excel(name = "教师资格证号码")
private String teacherQualificationCertificateNum;
/**
* 参加工作时间
*/
@Excel(name = "参加工作时间")
private String workingHours;
/**
* 到二中工作时间
*/
@Excel(name = "到二中工作时间" ,dateFormat="yyyy-MM-dd")
private Date toSecondMiddleSchoolTime;
/**
* 二中工作年龄
*/
@Excel(name = "到二中工作年限")
private Integer toSecondAge;
/**
* 教龄起算时间
*/
private Date lengthOfTeacherTime;
/**
* 工龄起算时间
*/
private Date lengthOfServiceTime;
/**
* 工龄年限
*/
private Integer seniority;
/**
* 在岗情况(1教学岗位、2教辅岗、3后勤岗、4管理岗、5其他岗、6退休、7行政、8内退岗、9待退岗)
*/
@Excel(name = "在岗情况" ,dictType= "duty_situation")
private String onDutySituation;
/**
* 在编情况 1在编 2合同制
*/
private String currentSituation;
/**
* 毕业院校1
*/
@Excel(name = "毕业院校1")
private String graduationInstitution1;
/**
* 专业1
*/
@Excel(name = "专业1")
private String major1;
/**
* 毕业时间1 年月
*/
@Excel(name = "毕业时间1",dateFormat="yyyy-MM-dd")
private Date graduationTime1;
/**
* 毕业院校2
*/
@Excel(name = "毕业院校2")
private String graduationInstitution2;
/**
* 专业2
*/
@Excel(name = "专业2")
private String major2;
/**
* 毕业时间2年月
*/
@Excel(name = "毕业时间2",dateFormat="yyyy-MM-dd")
private Date graduationTime2;
/**
* 毕业院校3
*/
@Excel(name = "毕业院校3")
private String graduationInstitution3;
/**
* 专业3
*/
@Excel(name = "专业3")
private String major3;
/**
* 毕业时间3 年月
*/
@Excel(name = "毕业时间3",dateFormat="yyyy-MM-dd")
private Date graduationTime3;
/**
* 第一学历
*/
@Excel(name = "第一学历")
private String firstDegree;
/**
* 最后学历
*/
@Excel(name = "最后学历")
private String lastDegree;
/**
* 学位
*/
@Excel(name = "学位")
private String degree;
/**
* 工作经历
*/
@Excel(name = "工作经历")
private String workExperience;
/**\
* 备注
*/
@Excel(name = "备注")
private String remark;
/**
* 照片名称
*/
private String photoName;
/**
* 照片地址
*/
private String photoUrl;
/**
* 钉钉手机号
*/
private String ddPhone;
}
package yangtz.cs.liu.campus.mapper.teacherFiles;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation;
import java.util.List;
public interface SchoolTeacherBasichlnformationMapper extends BaseMapper<SchoolTeacherBasicInformation> {
List<SchoolTeacherBasicInformation> list(SchoolTeacherBasicInformation information);
SchoolTeacherBasicInformation selectById(Long id);
}
package yangtz.cs.liu.campus.service.impl.teacherFiles;
import com.ruoyi.common.utils.StringUtils;
import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
* @desc 身份证工具类
* @auth llp
* @date 2022/7/7 16:13
*/
public class IdCardNumberUtils {
/** 检验码:余数作为索引,值代表所替换的值 */
private static final String[] CHECK_INDEX = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
/** 居民身份证 正则表达式 */
private static final String SECOND_ID_CARD_REGULAR_EXP = "(^\\d{18}$)|(^\\d{17}(\\d|X|x)$|(^\\d{15}$))";
/** 居民身份证 年份所在位数 */
private static final int ID_CARD_YEAR_INDEX = 6;
/** 第一代居民身份证长度 */
private static final int FIRST_ID_CARD_LENGTH = 15;
/** 第一代居民身份证 年份值 */
private static final String FIRST_ID_CARD_YEAR = "19";
/** 第二代居民身份证长度 */
private static final int SECOND_ID_CARD_LENGTH = 18;
/** 第二代居民身份证 校验码的模 */
private static final int SECOND_ID_CARD_CHECK_MOD = 11;
/** 性别表示的值 */
private static final int MALE_SEX_INT = 1;
private static final String MALE_SEX_STRING = "男";
private static final int FEMALE_SEX_INT = 2;
private static final String FEMALE_SEX_STRING = "女";
/** 性别 map 中的 key 值 */
public static final String SEX_BY_INT_MAP_KEY = "sex_by_int";
public static final String SEX_BY_STRING_MAP_KEY = "sex_by_string";
/**
* @desc 通过身份证获取年龄
* @auth llp
* @date 2022/7/11 17:09
* @param idCard 身份证
* @return java.lang.String
*/
public static int getAgeFromIdCard(String idCard){
if (!isIdCard(idCard)){
return -1;
}
// 获取身份证的出生年月日串
String birth = getIdCardBirthDayStr(idCard);
// 获取年月日
int year = Integer.parseInt(birth.substring(0, 4));
int month = Integer.parseInt(birth.substring(4, 6));
int day = Integer.parseInt(birth.substring(6, 8));
// 计算年龄
Calendar cal = Calendar.getInstance();
int age = cal.get(Calendar.YEAR) - year;
// 周岁计算
boolean monthLtFlag = cal.get(Calendar.MONTH)+1 < month;
boolean monthDayFlag = cal.get(Calendar.MONTH)+1 == month && cal.get(Calendar.DATE) < day;
if ( monthLtFlag || monthDayFlag){
age--;
}
return age;
}
/**
* @desc 通过身份证获取出生日期
* @auth llp
* @date 2022/7/15 16:39
* @param idCard 身份证
* @return java.lang.String
*/
public static String getBirthDayFromIdCard(String idCard){
if (!isIdCard(idCard)){
return "idCard error!";
}
// 获取身份证的出生年月日串
String birth = getIdCardBirthDayStr(idCard);
// 获取年月日
int year = Integer.parseInt(birth.substring(0, 4));
int month = Integer.parseInt(birth.substring(4, 6));
int day = Integer.parseInt(birth.substring(6, 8));
return year + "-" + month + "-" + day;
}
/**
* @desc 通过身份证获取性别
* @auth llp
* @date 2022/7/15 16:10
* @param idCard 身份证
* @return java.util.Map<java.lang.String,java.lang.Object>
*/
public static Map<String, Object> getSexFromIdCard(String idCard){
if (!isIdCard(idCard)){
return Collections.emptyMap();
}
Map<String, Object> sexMap = new HashMap<>();
// 默认值
int sexInt = -1;
String sexStr = "未知";
// 15 位身份证
if (idCard.length() == FIRST_ID_CARD_LENGTH){
String sex = idCard.substring(14, 15);
// 偶数表示女性,奇数表示男性
if (Integer.parseInt(sex) % 2 == 0){
sexInt = FEMALE_SEX_INT;
sexStr = FEMALE_SEX_STRING;
}else {
sexInt = MALE_SEX_INT;
sexStr = MALE_SEX_STRING;
}
}
// 18 位身份证
if (idCard.length() == SECOND_ID_CARD_LENGTH){
String sex = idCard.substring(16, 17);
// 偶数表示女性,奇数表示男性
if (Integer.parseInt(sex) % 2 == 0){
sexInt = FEMALE_SEX_INT;
sexStr = FEMALE_SEX_STRING;
}else {
sexInt = MALE_SEX_INT;
sexStr = MALE_SEX_STRING;
}
}
// 结果
sexMap.put(SEX_BY_INT_MAP_KEY, sexInt);
sexMap.put(SEX_BY_STRING_MAP_KEY, sexStr);
return sexMap;
}
/**
* @desc 检测是否为身份证
* @auth llp
* @date 2022/7/11 15:32
* @param idCard 身份证
* @return boolean
*/
public static boolean isIdCard(String idCard){
if (StringUtils.isBlank(idCard)){
return false;
}
StringBuilder idCardBuilder = new StringBuilder(idCard);
// 正则表达式
boolean matches = idCard.matches(SECOND_ID_CARD_REGULAR_EXP);
// 第二代身份证的验证
if (matches && idCardBuilder.length() == SECOND_ID_CARD_LENGTH){
int index = getIdCardCheckIndex(idCardBuilder);
// 获取传入身份证的检验码
String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length()-1));
// 检验码校验
return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check);
}
return matches;
}
/**
* @desc 将 15位身份证号码转为 18位身份证号码
* @auth llp
* @date 2022/7/11 15:13
* @param idCard 身份证号码
* @return java.lang.String
*/
public static String idCardNumber15To18(String idCard){
if (!isIdCard(idCard) || idCard.length() != FIRST_ID_CARD_LENGTH){
return "idCard error!";
}
StringBuilder idCardBuilder = new StringBuilder(idCard);
// 在 第6位后插入年份
idCardBuilder.insert(ID_CARD_YEAR_INDEX, FIRST_ID_CARD_YEAR);
int index =getIdCardCheckIndex(idCardBuilder);
// 根据余数在校验码数组里取值
idCardBuilder.append(CHECK_INDEX[index]);
return idCardBuilder.toString();
}
/**
* @desc 将 18位身份证号码转为 15位身份证号码
* @auth llp
* @date 2022/7/15 16:40
* @param idCard 身份证号码
* @return java.lang.String
*/
public static String idCardNumber18To15(String idCard){
if (!isIdCard(idCard) || idCard.length() != SECOND_ID_CARD_LENGTH){
return "idCard error!";
}
// 去掉18位身份证的年份前两位 去掉校验码
return idCard.substring(0, 5)+idCard.substring(8, 17);
}
/**
* @desc 计算出校验码所在校验码数组的下标值
* @auth llp
* @date 2022/7/13 9:51
* @param idCardBuilder 身份证
* @return int 检验码下标
*/
private static int getIdCardCheckIndex(StringBuilder idCardBuilder){
// 判断传入的是17位还是18位身份证号
int length = idCardBuilder.length() == SECOND_ID_CARD_LENGTH ? idCardBuilder.length()-1 : idCardBuilder.length();
// 计算出校验码
int sum = 0;
// length=17, i=0、2、3...16
for (int i = 0; i < length; i++) {
// 前17位数字
int numVal = Integer.parseInt(String.valueOf(idCardBuilder.charAt(i)));
int numMultiple = (int) (Math.pow(2, length - i) % SECOND_ID_CARD_CHECK_MOD);
sum += (numVal * numMultiple);
}
// 总和取模11
return sum % SECOND_ID_CARD_CHECK_MOD;
}
/**
* @desc 通过身份证获取出生日期的 str 串
* @auth llp
* @date 2022/7/15 16:37
* @param idCard 身份证
* @return java.lang.String
*/
private static String getIdCardBirthDayStr(String idCard){
// 获取身份证的出生年月日串
if (idCard.length() == FIRST_ID_CARD_LENGTH){
return FIRST_ID_CARD_YEAR + idCard.substring(ID_CARD_YEAR_INDEX, 12);
}
if (idCard.length() == SECOND_ID_CARD_LENGTH){
return idCard.substring(ID_CARD_YEAR_INDEX, 14);
}
return StringUtils.EMPTY;
}
}
package yangtz.cs.liu.campus.service.teacherFiles;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation;
import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.util.List;
public interface SchoolTeacherBasichlnformationService extends IService<SchoolTeacherBasicInformation> {
List<SchoolTeacherBasicInformation> list(SchoolTeacherBasicInformation information) throws Exception;
SchoolTeacherBasicInformation getById(Long id) throws ParseException;
List<SchoolTeacherBasicInformation> importExcel(MultipartFile inputStream) throws IOException;
}
<?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="yangtz.cs.liu.campus.mapper.teacherFiles.SchoolTeacherBasichlnformationMapper">
<sql id="selectSchoolTeacherBasicInformationVo">
select id, name, id_card, sex, file_birth_date, birth_date, hometown, nation, political_landscape, party_membership_time, teaching_subject, current_professional_title, current_professional_title_time, current_hiring_professional_title, current_hiring_professional_title_time, current_position, current_job_level, current_job_level_appointment_time, duties, teacher_qualification_type, teacher_qualification_certificate_num, working_hours, to_second_middle_school_time, length_of_teacher_time, length_of_service_time, on_duty_situation, current_situation, graduation_institution1, major1, graduation_time1, graduation_institution2, major2, graduation_time2, graduation_institution3, major3, graduation_time3, first_degree, last_degree, degree, work_experience, remark, photo_name, photo_url, dd_phone, del_flag from school_teacher_basic_information
</sql>
<select id="list" resultType="yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation" parameterType="yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation">
SELECT id,name,sex,id_card,file_birth_date,political_landscape,to_second_middle_school_time,current_professional_title,last_degree,on_duty_situation FROM school_teacher_basic_information where del_flag = 0
<if test="teachingSubject != null "> and teaching_subject = #{teachingSubject}</if>
<if test="name != null ">
AND name like concat('%', #{name}, '%')
</if>
<if test="sex != null and sex != ''"> and sex = #{sex}</if>
<if test="birthDategt != null and birthDate != ''"> and birth_date &gt; #{birthDategt}</if>
<if test="birthDategtd != null and birthDate != ''"> and birth_date &gt;= #{birthDategtd}</if>
<if test="birthDatelt != null and birthDate != ''"> and birth_date &lt; #{birthDatelt}</if>
<if test="birthDateltd != null and birthDate != ''"> and birth_date &lt;= #{birthDateltd}</if>
<if test="birthDate != null and birthDate != ''"> and birth_date = #{birthDate}</if>
<if test="politicalLandscape != null "> and political_landscape = #{politicalLandscape}</if>
<if test="workingHoursgt != null "> and working_hours &gt; #{workingHoursgt}</if>
<if test="workingHoursgtd != null "> and working_hours &gt;= #{workingHoursgtd}</if>
<if test="workingHourslt != null "> and working_hours &lt; #{workingHourslt}</if>
<if test="workingHoursltd != null "> and working_hours &lt;= #{workingHoursltd}</if>
<if test="workingHours != null "> and working_hours = #{workingHours}</if>
<if test="currentProfessionalTitle != null ">
and current_professional_title like concat('%', #{currentProfessionalTitle}, '%')
</if>
<if test="onDutySituation != null "> and on_duty_situation = #{onDutySituation}</if>
<if test="graduationInstitution1 != null ">
AND CONCAT(IFNULL(c.graduationInstitution1,''),IFNULL(c.graduationInstitution2,''),IFNULL(c.graduationInstitution3,'')) LIKE concat('%',#{graduationInstitution1},'%')}
</if>
<if test="firstDegree != null ">
AND CONCAT(IFNULL(c.firstDegree,''),IFNULL(c.lastDegree,'')) LIKE concat('%',#{firstDegree},'%')}
</if>
</select>
<select id="selectById" resultType="yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation" parameterType="Long">
<include refid="selectSchoolTeacherBasicInformationVo"/>
where id =#{id}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment