<?xml version="1.0" encoding="UTF-8"?> <!-- ~ ~ Copyright (c) 2018-2025, lengleng All rights reserved. ~ ~ Redistribution and use in source and binary forms, with or without ~ modification, are permitted provided that the following conditions are met: ~ ~ Redistributions of source code must retain the above copyright notice, ~ this list of conditions and the following disclaimer. ~ Redistributions in binary form must reproduce the above copyright ~ notice, this list of conditions and the following disclaimer in the ~ documentation and/or other materials provided with the distribution. ~ Neither the name of the yifu4cloud.com developer nor the names of its ~ contributors may be used to endorse or promote products derived from ~ this software without specific prior written permission. ~ Author: lengleng (wangiegie@gmail.com) ~ --> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeInfoMapper"> <resultMap id="tEmployeeInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo"> <id property="id" column="ID"/> <result property="empCode" column="EMP_CODE"/> <result property="empNatrue" column="EMP_NATRUE"/> <result property="empName" column="EMP_NAME"/> <result property="empIdcard" column="EMP_IDCARD"/> <result property="validityStart" column="VALIDITY_START"/> <result property="validityEnd" column="VALIDITY_END"/> <result property="empSex" column="EMP_SEX"/> <result property="empBirthday" column="EMP_BIRTHDAY"/> <result property="empAge" column="EMP_AGE"/> <result property="empMarriStatus" column="EMP_MARRI_STATUS"/> <result property="empNational" column="EMP_NATIONAL"/> <result property="politicalStatus" column="POLITICAL_STATUS"/> <result property="empEmail" column="EMP_EMAIL"/> <result property="empPhone" column="EMP_PHONE"/> <result property="idProvince" column="ID_PROVINCE"/> <result property="idCity" column="ID_CITY"/> <result property="idTown" column="ID_TOWN"/> <result property="empRegisType" column="EMP_REGIS_TYPE"/> <result property="fileProvince" column="FILE_PROVINCE"/> <result property="fileCity" column="FILE_CITY"/> <result property="fileTown" column="FILE_TOWN"/> <result property="isCollege" column="IS_COLLEGE"/> <result property="hignEducation" column="HIGN_EDUCATION"/> <result property="school" column="SCHOOL"/> <result property="major" column="MAJOR"/> <result property="admissionDate" column="ADMISSION_DATE"/> <result property="gradutionDate" column="GRADUTION_DATE"/> <result property="remark" column="REMARK"/> <result property="fileSource" column="FILE_SOURCE"/> <result property="status" column="STATUS"/> <result property="fileStatus" column="FILE_STATUS"/> <result property="projectNum" column="PROJECT_NUM"/> <result property="contractStatus" column="CONTRACT_STATUS"/> <result property="insuranceStatus" column="INSURANCE_STATUS"/> <result property="socialStatus" column="SOCIAL_STATUS"/> <result property="fundStatus" column="FUND_STATUS"/> <result property="salaryStatus" column="SALARY_STATUS"/> <result property="deleteFlag" column="DELETE_FLAG"/> <result property="createBy" column="CREATE_BY"/> <result property="createName" column="CREATE_NAME"/> <result property="createTime" column="CREATE_TIME"/> <result property="updateBy" column="UPDATE_BY"/> <result property="updateTime" column="UPDATE_TIME"/> <result property="leaveUser" column="LEAVE_USER"/> <result property="leaveUserName" column="LEAVE_USER_NAME"/> <result property="leaveTime" column="LEAVE_TIME"/> <result property="leaveReason" column="LEAVE_REASON"/> <result property="leaveRemark" column="LEAVE_REMARK"/> <result property="contactAddress" column="CONTACT_ADDRESS"/> </resultMap> <resultMap id="tEmployeeExportMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeExportVO"> <id property="id" column="ID"/> <result property="empCode" column="EMP_CODE"/> <result property="empNatrue" column="EMP_NATRUE"/> <result property="empName" column="EMP_NAME"/> <result property="empIdcard" column="EMP_IDCARD"/> <result property="validityStart" column="VALIDITY_START"/> <result property="validityEnd" column="VALIDITY_END"/> <result property="empMarriStatus" column="EMP_MARRI_STATUS"/> <result property="empNational" column="EMP_NATIONAL"/> <result property="politicalStatus" column="POLITICAL_STATUS"/> <result property="empPhone" column="EMP_PHONE"/> <result property="empEmail" column="EMP_EMAIL"/> <result property="idProvince" column="ID_PROVINCE"/> <result property="idCity" column="ID_CITY"/> <result property="idTown" column="ID_TOWN"/> <result property="empRegisType" column="EMP_REGIS_TYPE"/> <result property="fileProvince" column="FILE_PROVINCE"/> <result property="fileCity" column="FILE_CITY"/> <result property="fileTown" column="FILE_TOWN"/> <result property="isCollege" column="IS_COLLEGE"/> <result property="hignEducation" column="HIGN_EDUCATION"/> <result property="school" column="SCHOOL"/> <result property="major" column="MAJOR"/> <result property="admissionDate" column="ADMISSION_DATE"/> <result property="gradutionDate" column="GRADUTION_DATE"/> <result property="remark" column="REMARK"/> <result property="fileSource" column="FILE_SOURCE"/> <result property="isProjects" column="IS_PROJECTS"/> <result property="projectNum" column="PROJECT_NUM"/> <result property="deptName" column="DEPT_NAME"/> <result property="deptNo" column="DEPT_NO"/> <result property="contractStatus" column="CONTRACT_STATUS"/> <result property="insuranceStatus" column="INSURANCE_STATUS"/> <result property="socialStatus" column="SOCIAL_STATUS"/> <result property="fundStatus" column="FUND_STATUS"/> <result property="salaryStatus" column="SALARY_STATUS"/> <result property="createName" column="CREATE_NAME"/> <result property="createTime" column="CREATE_TIME"/> <result property="contactAddress" column="CONTACT_ADDRESS"/> <result property="unitName" column="UNIT_NAME"/> <result property="unitNo" column="UNIT_NO"/> <result property="leaveUserName" column="LEAVE_USER_NAME"/> <result property="leaveTime" column="LEAVE_TIME"/> <result property="leaveReason" column="LEAVE_REASON"/> <result property="leaveRemark" column="LEAVE_REMARK"/> <result property="status" column="STATUS"/> </resultMap> <resultMap id="dispatchEmpVoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchEmpVo"> <id property="id" column="ID"/> <result property="empCode" column="EMP_CODE"/> <result property="empNatrue" column="EMP_NATRUE"/> <result property="empName" column="EMP_NAME"/> <result property="empIdcard" column="EMP_IDCARD"/> <result property="empNational" column="EMP_NATIONAL"/> <result property="empPhone" column="EMP_PHONE"/> <result property="idProvince" column="ID_PROVINCE"/> <result property="idCity" column="ID_CITY"/> <result property="idTown" column="ID_TOWN"/> <result property="empRegisType" column="EMP_REGIS_TYPE"/> <result property="fileProvince" column="FILE_PROVINCE"/> <result property="fileCity" column="FILE_CITY"/> <result property="fileTown" column="FILE_TOWN"/> <result property="hignEducation" column="HIGN_EDUCATION"/> <result property="fileStatus" column="FILE_STATUS"/> <result property="projectStatus" column="PROJECT_STATUS"/> <result property="contractName" column="CONTRACT_NAME"/> <result property="contractType" column="CONTRACT_TYPE"/> <result property="contractStart" column="CONTRACT_START"/> <result property="contractEnd" column="CONTRACT_END"/> <result property="contractTerm" column="CONTRACT_TERM"/> <result property="contractSubName" column="CONTRACT_SUB_NAME"/> <result property="contractId" column="CONTRACT_ID"/> <result property="unitName" column="UNIT_NAME"/> <result property="unitNo" column="UNIT_NO"/> <result property="deptId" column="DEPT_ID"/> <result property="deptName" column="DEPT_NAME"/> <result property="deptNo" column="DEPT_NO"/> <result property="post" column="POST"/> <result property="empNo" column="EMP_NO"/> </resultMap> <sql id="baseParam"> a . ID , a.EMP_CODE, a.EMP_NATRUE, a.EMP_NAME, a.EMP_IDCARD, a.VALIDITY_START, a.VALIDITY_END, a.EMP_SEX, a.EMP_BIRTHDAY, a.EMP_AGE, a.EMP_MARRI_STATUS, a.EMP_NATIONAL, a.POLITICAL_STATUS, a.EMP_EMAIL, a.EMP_PHONE, a.ID_PROVINCE, a.ID_CITY, a.ID_TOWN, a.EMP_REGIS_TYPE, a.FILE_PROVINCE, a.FILE_CITY, a.FILE_TOWN, a.IS_COLLEGE, a.HIGN_EDUCATION, a.SCHOOL, a.MAJOR, a.ADMISSION_DATE, a.GRADUTION_DATE, a.REMARK, a.FILE_SOURCE, a.STATUS, a.FILE_STATUS, a.PROJECT_NUM, a.CONTRACT_STATUS, a.INSURANCE_STATUS, a.SOCIAL_STATUS, a.FUND_STATUS, a.SALARY_STATUS, a.DELETE_FLAG, a.CREATE_BY, a.CREATE_NAME, a.CREATE_TIME, a.UPDATE_BY, a.UPDATE_TIME, a.LEAVE_USER, a.LEAVE_USER_NAME, a.LEAVE_TIME, a.LEAVE_REASON, a.LEAVE_REMARK, a.CONTACT_ADDRESS </sql> <sql id="Base_Export_List"> a . EMP_CODE , a.EMP_NATRUE, a.EMP_NAME, a.EMP_IDCARD, a.VALIDITY_START, a.VALIDITY_END, a.EMP_MARRI_STATUS, a.EMP_NATIONAL, a.POLITICAL_STATUS, a.EMP_PHONE, a.EMP_EMAIL, a.ID_PROVINCE, a.ID_CITY, a.ID_TOWN, a.EMP_REGIS_TYPE, a.FILE_PROVINCE, a.FILE_CITY, a.FILE_TOWN, a.IS_COLLEGE, a.HIGN_EDUCATION, a.SCHOOL, a.MAJOR, a.ADMISSION_DATE, a.GRADUTION_DATE, a.REMARK, a.FILE_SOURCE, if(count(b.id)>1,'是','否') IS_PROJECTS, a.PROJECT_NUM, GROUP_CONCAT(DISTINCT b.DEPT_NAME) DEPT_NAME, GROUP_CONCAT(DISTINCT b.DEPT_NO) DEPT_NO, a.CONTRACT_STATUS, a.INSURANCE_STATUS, a.SOCIAL_STATUS, a.FUND_STATUS, a.SALARY_STATUS, a.CREATE_NAME, a.CREATE_TIME, a.STATUS, a.CONTACT_ADDRESS </sql> <update id="updateEducationOfEmp"> update t_employee_info <trim prefix="set" suffixOverrides=","> <if test="education.isCollege != null">is_college=#{education.isCollege},</if> <if test="education.highIdentification != null">hign_education=#{education.highIdentification},</if> <if test="education.school != null">school=#{education.school},</if> <if test="education.major != null">major=#{education.major},</if> <if test="education.entryDate != null">admission_date=#{education.entryDate},</if> <if test="education.gradutionDate != null">gradution_date=#{education.gradutionDate},</if> </trim> WHERE id=#{education.empId} </update> <sql id="employeeInfo_where"> <if test="tEmployeeInfo != null"> <if test="tEmployeeInfo.idList != null"> AND a.id in <foreach item="idStr" index="index" collection="tEmployeeInfo.idList" open="(" separator="," close=")"> #{idStr} </foreach> </if> <if test="tEmployeeInfo.idList == null"> <if test="tEmployeeInfo.id != null and tEmployeeInfo.id.trim() != ''"> AND a.ID = #{tEmployeeInfo.id} </if> <if test="tEmployeeInfo.empCode != null and tEmployeeInfo.empCode.trim() != ''"> AND a.EMP_CODE = #{tEmployeeInfo.empCode} </if> <if test="tEmployeeInfo.empNatrue != null and tEmployeeInfo.empNatrue.trim() != ''"> AND a.EMP_NATRUE = #{tEmployeeInfo.empNatrue} </if> <if test="tEmployeeInfo.empName != null and tEmployeeInfo.empName.trim() != ''"> AND a.EMP_NAME = #{tEmployeeInfo.empName} </if> <if test="tEmployeeInfo.empIdcard != null and tEmployeeInfo.empIdcard.trim() != ''"> AND a.EMP_IDCARD = #{tEmployeeInfo.empIdcard} </if> <if test="tEmployeeInfo.validityStart != null"> AND a.VALIDITY_START = #{tEmployeeInfo.validityStart} </if> <if test="tEmployeeInfo.validityEnd != null"> AND a.VALIDITY_END = #{tEmployeeInfo.validityEnd} </if> <if test="tEmployeeInfo.empSex != null and tEmployeeInfo.empSex.trim() != ''"> AND a.EMP_SEX = #{tEmployeeInfo.empSex} </if> <if test="tEmployeeInfo.empBirthday != null"> AND a.EMP_BIRTHDAY = #{tEmployeeInfo.empBirthday} </if> <if test="tEmployeeInfo.empAge != null"> AND a.EMP_AGE = #{tEmployeeInfo.empAge} </if> <if test="tEmployeeInfo.empMarriStatus != null and tEmployeeInfo.empMarriStatus.trim() != ''"> AND a.EMP_MARRI_STATUS = #{tEmployeeInfo.empMarriStatus} </if> <if test="tEmployeeInfo.empNational != null and tEmployeeInfo.empNational.trim() != ''"> AND a.EMP_NATIONAL = #{tEmployeeInfo.empNational} </if> <if test="tEmployeeInfo.politicalStatus != null and tEmployeeInfo.politicalStatus.trim() != ''"> AND a.POLITICAL_STATUS = #{tEmployeeInfo.politicalStatus} </if> <if test="tEmployeeInfo.empEmail != null and tEmployeeInfo.empEmail.trim() != ''"> AND a.EMP_EMAIL = #{tEmployeeInfo.empEmail} </if> <if test="tEmployeeInfo.empPhone != null and tEmployeeInfo.empPhone.trim() != ''"> AND a.EMP_PHONE = #{tEmployeeInfo.empPhone} </if> <if test="tEmployeeInfo.idProvince != null"> AND a.ID_PROVINCE = #{tEmployeeInfo.idProvince} </if> <if test="tEmployeeInfo.idCity != null"> AND a.ID_CITY = #{tEmployeeInfo.idCity} </if> <if test="tEmployeeInfo.idTown != null"> AND a.ID_TOWN = #{tEmployeeInfo.idTown} </if> <if test="tEmployeeInfo.empRegisType != null and tEmployeeInfo.empRegisType.trim() != ''"> AND a.EMP_REGIS_TYPE = #{tEmployeeInfo.empRegisType} </if> <if test="tEmployeeInfo.fileProvince != null"> AND a.FILE_PROVINCE = #{tEmployeeInfo.fileProvince} </if> <if test="tEmployeeInfo.fileCity != null"> AND a.FILE_CITY = #{tEmployeeInfo.fileCity} </if> <if test="tEmployeeInfo.fileTown != null"> AND a.FILE_TOWN = #{tEmployeeInfo.fileTown} </if> <if test="tEmployeeInfo.isCollege != null"> AND a.IS_COLLEGE = #{tEmployeeInfo.isCollege} </if> <if test="tEmployeeInfo.hignEducation != null and tEmployeeInfo.hignEducation.trim() != ''"> AND a.HIGN_EDUCATION = #{tEmployeeInfo.hignEducation} </if> <if test="tEmployeeInfo.school != null and tEmployeeInfo.school.trim() != ''"> AND a.SCHOOL = #{tEmployeeInfo.school} </if> <if test="tEmployeeInfo.major != null and tEmployeeInfo.major.trim() != ''"> AND a.MAJOR = #{tEmployeeInfo.major} </if> <if test="tEmployeeInfo.admissionDate != null"> AND a.ADMISSION_DATE = #{tEmployeeInfo.admissionDate} </if> <if test="tEmployeeInfo.gradutionDate != null"> AND a.GRADUTION_DATE = #{tEmployeeInfo.gradutionDate} </if> <if test="tEmployeeInfo.remark != null and tEmployeeInfo.remark.trim() != ''"> AND a.REMARK = #{tEmployeeInfo.remark} </if> <if test="tEmployeeInfo.fileSource != null and tEmployeeInfo.fileSource.trim() != ''"> AND a.FILE_SOURCE = #{tEmployeeInfo.fileSource} </if> <if test="tEmployeeInfo.status != null"> AND a.STATUS = #{tEmployeeInfo.status} </if> <if test="tEmployeeInfo.fileStatus != null"> AND a.FILE_STATUS = #{tEmployeeInfo.fileStatus} </if> <if test="tEmployeeInfo.projectNum != null"> <if test="tEmployeeInfo.projectNum == 1"> AND (a.PROJECT_NUM is null or a.PROJECT_NUM <![CDATA[ <= ]]> 1) </if> <if test="tEmployeeInfo.projectNum == 2"> AND a.PROJECT_NUM > 1 </if> </if> <if test="tEmployeeInfo.contractStatus != null"> AND a.CONTRACT_STATUS = #{tEmployeeInfo.contractStatus} </if> <if test="tEmployeeInfo.insuranceStatus != null"> AND a.INSURANCE_STATUS = #{tEmployeeInfo.insuranceStatus} </if> <if test="tEmployeeInfo.socialStatus != null"> AND a.SOCIAL_STATUS = #{tEmployeeInfo.socialStatus} </if> <if test="tEmployeeInfo.fundStatus != null"> AND a.FUND_STATUS = #(${tEmployeeInfo.fundStatus} </if> <if test="tEmployeeInfo.salaryStatus != null"> AND a.SALARY_STATUS = #{tEmployeeInfo.salaryStatus} </if> <if test="tEmployeeInfo.deleteFlag != null and tEmployeeInfo.deleteFlag.trim() != ''"> AND a.DELETE_FLAG = #{tEmployeeInfo.deleteFlag} </if> <if test="tEmployeeInfo.createBy != null and tEmployeeInfo.createBy.trim() != ''"> AND a.CREATE_BY = #{tEmployeeInfo.createBy} </if> <if test="tEmployeeInfo.createName != null and tEmployeeInfo.createName.trim() != ''"> AND a.CREATE_NAME = #{tEmployeeInfo.createName} </if> <if test="tEmployeeInfo.createTime != null"> AND a.CREATE_TIME = #{tEmployeeInfo.createTime} </if> <if test="tEmployeeInfo.updateBy != null and tEmployeeInfo.updateBy.trim() != ''"> AND a.UPDATE_BY = #{tEmployeeInfo.updateBy} </if> <if test="tEmployeeInfo.updateTime != null"> AND a.UPDATE_TIME = #{tEmployeeInfo.updateTime} </if> <if test="tEmployeeInfo.leaveUser != null and tEmployeeInfo.leaveUser.trim() != ''"> AND a.LEAVE_USER = #{tEmployeeInfo.leaveUser} </if> <if test="tEmployeeInfo.leaveUserName != null and tEmployeeInfo.leaveUserName.trim() != ''"> AND a.LEAVE_USER_NAME = #{tEmployeeInfo.leaveUserName} </if> <if test="tEmployeeInfo.leaveTime != null"> AND a.LEAVE_TIME = #{tEmployeeInfo.leaveTime} </if> <if test="tEmployeeInfo.leaveTimeStart != null"> AND a.LEAVE_TIME >= #{tEmployeeInfo.leaveTimeStart} </if> <if test="tEmployeeInfo.leaveTimeEnd != null"> AND a.LEAVE_TIME <![CDATA[ <= ]]> #{tEmployeeInfo.leaveTimeEnd} </if> <if test="tEmployeeInfo.leaveReason != null and tEmployeeInfo.leaveReason.trim() != ''"> AND a.LEAVE_REASON = #{tEmployeeInfo.leaveReason} </if> <if test="tEmployeeInfo.leaveRemark != null and tEmployeeInfo.leaveRemark.trim() != ''"> AND a.LEAVE_REMARK = #{tEmployeeInfo.leaveRemark} </if> <if test="tEmployeeInfo.contactAddress != null and tEmployeeInfo.contactAddress.trim() != ''"> AND a.CONTACT_ADDRESS = #{tEmployeeInfo.contactAddress} </if> <if test="tEmployeeInfo.empNatureArray != null"> AND a.EMP_NATRUE in <foreach item="idStr" index="index" collection="tEmployeeInfo.empNatureArray" open="(" separator="," close=")"> #{idStr} </foreach> </if> <if test="tEmployeeInfo.contractStatusArray != null"> AND a.CONTRACT_STATUS in <foreach item="idStr" index="index" collection="tEmployeeInfo.contractStatusArray" open="(" separator="," close=")"> #{idStr} </foreach> </if> <if test="tEmployeeInfo.insuranceStatusArray != null"> AND a.INSURANCE_STATUS in <foreach item="idStr" index="index" collection="tEmployeeInfo.insuranceStatusArray" open="(" separator="," close=")"> #{idStr} </foreach> </if> <if test="tEmployeeInfo.socialStatusArray != null"> AND a.SOCIAL_STATUS in <foreach item="idStr" index="index" collection="tEmployeeInfo.socialStatusArray" open="(" separator="," close=")"> #{idStr} </foreach> </if> <if test="tEmployeeInfo.fundStatusArray != null"> AND a.FUND_STATUS in <foreach item="idStr" index="index" collection="tEmployeeInfo.fundStatusArray" open="(" separator="," close=")"> #{idStr} </foreach> </if> </if> </if> </sql> <!-- hgw 分页查询 --> <select id="getPage" resultMap="tEmployeeInfoMap"> select <include refid="baseParam"/> from t_employee_info a where a.DELETE_FLAG = '0' <include refid="employeeInfo_where"/> ${sql} order by a.CREATE_TIME desc </select> <!-- hgw 分页查询 --> <select id="getLeavePage" resultMap="tEmployeeExportMap"> SELECT * from ( SELECT a.ID, <include refid="Base_Export_List"/> ,GROUP_CONCAT(DISTINCT b.unit_name) UNIT_NAME ,GROUP_CONCAT(DISTINCT b.unit_no) UNIT_NO ,a.LEAVE_TIME ,a.LEAVE_USER_NAME ,a.LEAVE_USER ,a.LEAVE_REASON from t_employee_info a left join t_employee_project b on a.id = b.EMP_ID where a.DELETE_FLAG = '0' and b.DELETE_FLAG = '0' <include refid="employeeInfo_where"/> ${sql} group by a.id order by a.CREATE_TIME desc ) b where 1=1 <if test="tEmployeeInfo.unitName != null and tEmployeeInfo.unitName.trim() != ''"> AND b.UNIT_NAME like concat('%',#{tEmployeeInfo.unitName},'%') </if> <if test="tEmployeeInfo.deptName != null and tEmployeeInfo.deptName.trim() != ''"> AND b.DEPT_NAME like concat('%',#{tEmployeeInfo.deptName},'%') </if> <if test="tEmployeeInfo.deptNo != null and tEmployeeInfo.deptNo.trim() != ''"> AND b.DEPT_NO like concat('%',#{tEmployeeInfo.deptNo},'%') </if> </select> <!-- hgw list查询 --> <select id="getList" resultMap="tEmployeeInfoMap"> select <include refid="baseParam"/> from t_employee_info a where a.DELETE_FLAG = '0' <include refid="employeeInfo_where"/> order by a.CREATE_TIME desc </select> <!-- hgw 根据身份证查询 --> <select id="getListByIdCard" resultMap="tEmployeeInfoMap"> select <include refid="baseParam"/> from t_employee_info a where a.DELETE_FLAG = '0' and a.EMP_IDCARD in <foreach item="item" index="index" collection="idCardList" open="(" separator="," close=")"> #{item} </foreach> </select> <!-- hgw 根据手机号查询 --> <select id="getListByPhone" resultMap="tEmployeeInfoMap"> select <include refid="baseParam"/> from t_employee_info a where a.DELETE_FLAG = '0' and a.EMP_PHONE in <foreach item="item" index="index" collection="phoneList" open="(" separator="," close=")"> #{item} </foreach> </select> <update id="updateExcelEmployeeInfo" parameterType="java.util.List"> update t_employee_info <trim prefix="set" suffixOverrides=","> <trim prefix="EMP_NATRUE =case" suffix="end,"> <foreach collection="list" item="i" index="index"> <if test="i.empNatrue!=null"> when ID=#{i.id} then #{i.empNatrue} </if> </foreach> </trim> <trim prefix="EMP_NAME =case" suffix="end,"> <foreach collection="list" item="i" index="index"> <if test="i.empName!=null"> when ID=#{i.id} then #{i.empName} </if> </foreach> </trim> <trim prefix="EMP_IDCARD =case" suffix="end,"> <foreach collection="list" item="i" index="index"> <if test="i.empIdcard!=null"> when ID=#{i.id} then #{i.empIdcard} </if> </foreach> </trim> <trim prefix="FILE_STATUS =case" suffix="end,"> <foreach collection="list" item="i" index="index"> when ID=#{i.id} then 0 </foreach> </trim> <trim prefix="PROJECT_NUM =case" suffix="end,"> <foreach collection="list" item="i" index="index"> when ID=#{i.id} then #{i.projectNum} </foreach> </trim> <trim prefix="UPDATE_TIME =case" suffix="end,"> <foreach collection="list" item="i" index="index"> when ID=#{i.id} then now() </foreach> </trim> <trim prefix="UPDATE_BY =case" suffix="end,"> <foreach collection="list" item="i" index="index"> <if test="i.updateBy!=null"> when ID=#{i.id} then #{i.updateBy} </if> </foreach> </trim> </trim> where <foreach collection="list" separator="or" item="i" index="index"> ID=#{i.id} </foreach> </update> <!--tEmployeeInfo人员档案导出查询--> <select id="getTEmployeeExportList" resultMap="tEmployeeExportMap"> select <include refid="Base_Export_List"/> from t_employee_info a left join t_employee_project b on a.id = b.EMP_ID <where> a.DELETE_FLAG = '0' and b.DELETE_FLAG = '0' <include refid="employeeInfo_where"/> </where> GROUP BY a.id order by a.CREATE_TIME desc </select> <!--tEmployeeInfo离职档案导出查询--> <select id="getTEmployeeLeaveExportList" resultMap="tEmployeeExportMap"> select * from ( SELECT <include refid="Base_Export_List"/>,GROUP_CONCAT(DISTINCT b.unit_name) UNIT_NAME , GROUP_CONCAT(DISTINCT b.unit_no) UNIT_NO ,a.LEAVE_TIME ,a.LEAVE_USER ,a.LEAVE_USER_NAME ,a.LEAVE_REASON from t_employee_info a left join t_employee_project b on a.id = b.EMP_ID <where> a.DELETE_FLAG = '0' and b.DELETE_FLAG = '0' <include refid="employeeInfo_where"/> </where> GROUP BY a.id order by a.CREATE_TIME desc ) b where 1=1 <if test="tEmployeeInfo.unitName != null and tEmployeeInfo.unitName.trim() != ''"> AND b.UNIT_NAME like concat('%',#{tEmployeeInfo.unitName},'%') </if> <if test="tEmployeeInfo.deptName != null and tEmployeeInfo.deptName.trim() != ''"> AND b.DEPT_NAME like concat('%',#{tEmployeeInfo.deptName},'%') </if> <if test="tEmployeeInfo.deptNo != null and tEmployeeInfo.deptNo.trim() != ''"> AND b.DEPT_NO like concat('%',#{tEmployeeInfo.deptNo},'%') </if> </select> <!-- 获取当日最大的编码 --> <select id="getMaxEmpCode" resultType="java.lang.String"> SELECT ifnull(max(right (e.EMP_CODE, 5)), 0) EMP_CODE FROM t_employee_info e where e.DELETE_FLAG = '0' and e.CREATE_TIME > DATE_FORMAT(now(), '%Y-%m-%d') </select> <select id="getDispatchEmpVo" resultMap="dispatchEmpVoMap"> select a.ID,a.EMP_CODE,a.EMP_NAME, a.EMP_IDCARD,a.EMP_NATIONAL,a.EMP_PHONE,a.ID_PROVINCE,a.ID_CITY, a.ID_TOWN,a.EMP_REGIS_TYPE,a.FILE_PROVINCE,a.FILE_CITY,a.FILE_TOWN,a.HIGN_EDUCATION,a.FILE_STATUS, b.CONTRACT_NAME,b.CONTRACT_TYPE, b.CONTRACT_START,b.CONTRACT_END,b.CONTRACT_TERM,b.CONTRACT_SUB_NAME,b.CONTRACT_ID, c.UNIT_NAME, c.UNIT_NO,c.DEPT_ID,c.DEPT_NAME,c.DEPT_NO,c.POST,c.EMP_NO,c.PROJECT_STATUS,c.EMP_NATRUE from ( select e.ID,e.EMP_CODE,e.EMP_NAME,e.EMP_IDCARD,e.EMP_NATIONAL,e.EMP_PHONE,e.ID_PROVINCE,e.ID_CITY, e.ID_TOWN,e.EMP_REGIS_TYPE,e.FILE_PROVINCE,e.FILE_CITY,e.FILE_TOWN,e.HIGN_EDUCATION,e.FILE_STATUS from t_employee_info e where 1=1 <if test="checkVo != null"> <if test="checkVo.idCards != null"> AND e.EMP_IDCARD in <foreach item="idStr" index="index" collection="checkVo.idCards" open="(" separator="," close=")"> #{idStr} </foreach> </if> </if> ) a left join ( select p.UNIT_NAME,p.UNIT_NO,p.DEPT_ID,p.DEPT_NAME,p.DEPT_NO,p.POST,p.EMP_ID,p.EMP_NO,P.PROJECT_STATUS,p.EMP_NATRUE from t_employee_project p where 1=1 <if test="checkVo != null"> <if test="checkVo.codes != null"> AND p.DEPT_NO in <foreach item="code" index="index" collection="checkVo.codes" open="(" separator="," close=")"> #{code} </foreach> </if> </if> ) c on a.ID=c.EMP_ID left join ( <!-- 取值未删除,审核通过,使用中,未作废的合同数据,按项目分组,有数据即可不要求最新 --> SELECT x.SETTLE_DOMAIN, x.CONTRACT_NAME, x.CONTRACT_TYPE, x.CONTRACT_START, x.CONTRACT_END, x.CONTRACT_TERM, x.CONTRACT_SUB_NAME, x.ID as "CONTRACT_ID", x.EMP_IDCARD FROM t_employee_contract_info x WHERE x.DELETE_FLAG = '0' AND x.AUDIT_STATUS != '3' AND x.IS_OBSOLETE = '0' AND x.IN_USE = '0' <if test="checkVo != null"> <if test="checkVo.idCards != null"> AND x.EMP_IDCARD in <foreach item="idStr" index="index" collection="checkVo.idCards" open="(" separator="," close=")"> #{idStr} </foreach> </if> </if> GROUP BY x.SETTLE_DOMAIN,x.EMP_IDCARD ) b on c.DEPT_ID= b.SETTLE_DOMAIN and b.EMP_IDCARD=a.EMP_IDCARD </select> </mapper>