<?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.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeProjectMapper">

  <resultMap id="tEmployeeProjectMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject">
    <id property="id" column="ID"/>
    <result property="empId" column="EMP_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="bankName" column="BANK_NAME"/>
    <result property="bankSubName" column="BANK_SUB_NAME"/>
    <result property="bankNo" column="BANK_NO"/>
    <result property="leaveUser" column="LEAVE_USER"/>
    <result property="leaveTime" column="LEAVE_TIME"/>
    <result property="leaveReason" column="LEAVE_REASON"/>
    <result property="leaveRemark" column="LEAVE_REMARK"/>
    <result property="isLeaveEmployee" column="IS_LEAVE_EMPLOYEE"/>
    <result property="empNo" column="EMP_NO"/>
    <result property="unitId" column="UNIT_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="businessPrimaryType" column="BUSINESS_PRIMARY_TYPE"/>
    <result property="businessSecondType" column="BUSINESS_SECOND_TYPE"/>
    <result property="businessThirdType" column="BUSINESS_THIRD_TYPE"/>
    <result property="contractType" column="CONTRACT_TYPE"/>
    <result property="workingHours" column="WORKING_HOURS"/>
    <result property="post" column="POST"/>
    <result property="enjoinDate" column="ENJOIN_DATE"/>
    <result property="tryPeriod" column="TRY_PERIOD"/>
    <result property="projectSource" column="PROJECT_SOURCE"/>
    <result property="taxMonth" column="TAX_MONTH"/>
    <result property="status" column="STATUS"/>
    <result property="projectStatus" column="PROJECT_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="remark" column="REMARK"/>
    <result property="fileProvince" column="FILE_PROVINCE"/>
    <result property="fileCity" column="FILE_CITY"/>
    <result property="fileTown" column="FILE_TOWN"/>
    <result property="socialProvince" column="SOCIAL_PROVINCE"/>
    <result property="socialCity" column="SOCIAL_CITY"/>
    <result property="socialTown" column="SOCIAL_TOWN"/>
    <result property="empPhone" column="EMP_PHONE"/>
    <result property="salaryStatus" column="SALARY_STATUS"/>
    <result property="insuranceStatus" column="INSURANCE_STATUS"/>
    <result property="socialStatus" column="SOCIAL_STATUS"/>
    <result property="fundStatus" column="FUND_STATUS"/>
    <result property="contractStatus" column="CONTRACT_STATUS"/>
  </resultMap>

	<resultMap id="tEmployeeProjectExportMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO">
		<result property="empCode" column="EMP_CODE"/>
		<result property="proEmpNatrue" column="PROEMP_NATRUE"/>
		<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="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="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="proStatus" column="PROSTATUS"/>
		<result property="bankName" column="BANK_NAME"/>
		<result property="bankSubName" column="BANK_SUB_NAME"/>
		<result property="bankNo" column="BANK_NO"/>
		<result property="empNo" column="EMP_NO"/>
		<result property="unitName" column="UNIT_NAME"/>
		<result property="unitNo" column="UNIT_NO"/>
		<result property="deptName" column="DEPT_NAME"/>
		<result property="deptNo" column="DEPT_NO"/>
		<result property="businessPrimaryType" column="BUSINESS_PRIMARY_TYPE"/>
		<result property="businessSecondType" column="BUSINESS_SECOND_TYPE"/>
		<result property="businessThirdType" column="BUSINESS_THIRD_TYPE"/>
		<result property="contractType" column="CONTRACT_TYPE"/>
		<result property="workingHours" column="WORKING_HOURS"/>
		<result property="post" column="POST"/>
		<result property="enjoinDate" column="ENJOIN_DATE"/>
		<result property="tryPeriod" column="TRY_PERIOD"/>
		<result property="projectSource" column="PROJECT_SOURCE"/>
		<result property="empNatrue" column="EMP_NATRUE"/>
		<result property="proCreateName" column="PROCREATE_NAME"/>
		<result property="proCreateTime" column="PROCREATE_TIME"/>
		<result property="status" column="STATUS"/>
		<result property="fileProvince" column="FILE_PROVINCE"/>
		<result property="fileCity" column="FILE_CITY"/>
		<result property="fileTown" column="FILE_TOWN"/>
		<result property="empPhone" column="EMP_PHONE"/>
		<result property="salaryStatus" column="SALARY_STATUS"/>
		<result property="insuranceStatus" column="INSURANCE_STATUS"/>
		<result property="socialStatus" column="SOCIAL_STATUS"/>
		<result property="fundStatus" column="FUND_STATUS"/>
		<result property="createName" column="CREATE_NAME"/>
		<result property="createTime" column="CREATE_TIME"/>
		<result property="contractStatus" column="CONTRACT_STATUS"/>
	</resultMap>

	<sql id="Base_Column_List">
				  a.ID,
                  a.EMP_ID,
                  a.EMP_CODE,
                  a.EMP_NATRUE,
                  a.EMP_NAME,
                  a.EMP_IDCARD,
                  a.BANK_NAME,
                  a.BANK_SUB_NAME,
                  a.BANK_NO,
                  a.LEAVE_USER,
                  a.LEAVE_TIME,
                  a.LEAVE_REASON,
                  a.LEAVE_REMARK,
                  a.EMP_NO,
                  a.UNIT_ID,
                  a.UNIT_NAME,
                  a.UNIT_NO,
                  a.DEPT_ID,
                  a.DEPT_NAME,
                  a.DEPT_NO,
                  a.BUSINESS_PRIMARY_TYPE,
                  a.BUSINESS_SECOND_TYPE,
                  a.BUSINESS_THIRD_TYPE,
                  a.CONTRACT_TYPE,
                  a.WORKING_HOURS,
                  a.POST,
                  a.ENJOIN_DATE,
                  a.TRY_PERIOD,
                  a.PROJECT_SOURCE,
                  a.TAX_MONTH,
                  a.STATUS,
                  a.PROJECT_STATUS,
                  a.DELETE_FLAG,
                  a.CREATE_BY,
                  a.CREATE_NAME,
                  a.CREATE_TIME,
                  a.UPDATE_BY,
                  a.UPDATE_TIME,
                  a.REMARK,
                  a.CONTRACT_STATUS,
				  b.EMP_PHONE,
				  a.INSURANCE_STATUS,
				  a.SOCIAL_STATUS,
				  a.FUND_STATUS,
				  b.FILE_PROVINCE,
				  b.FILE_CITY,
				  b.FILE_TOWN,
				  a.SOCIAL_PROVINCE,
				  a.SOCIAL_CITY,
				  a.SOCIAL_TOWN,
				  a.SALARY_STATUS
	</sql>

	<sql id="Base_Export_List">
                  a.EMP_CODE,
                  a.EMP_NATRUE,
                  a.EMP_NAME,
                  a.EMP_IDCARD,
                  a.BANK_NAME,
                  a.BANK_SUB_NAME,
                  a.BANK_NO,
                  a.EMP_NO,
                  a.UNIT_NAME,
                  a.UNIT_NO,
                  a.DEPT_NAME,
                  a.DEPT_NO,
                  a.BUSINESS_PRIMARY_TYPE,
                  a.BUSINESS_SECOND_TYPE,
                  a.BUSINESS_THIRD_TYPE,
                  a.CONTRACT_TYPE,
                  a.WORKING_HOURS,
                  a.POST,
                  a.ENJOIN_DATE,
                  a.TRY_PERIOD,
                  a.PROJECT_SOURCE,
                  a.CONTRACT_STATUS,
                  b.STATUS AS PROSTATUS,
                  b.CREATE_NAME AS PROCREATE_NAME,
                  b.CREATE_TIME AS PROCREATE_TIME,
				  b.EMP_PHONE,
				  a.INSURANCE_STATUS,
				  a.SOCIAL_STATUS,
				  a.FUND_STATUS,
				  b.FILE_PROVINCE,
				  b.FILE_CITY,
				  b.FILE_TOWN,
				  a.SOCIAL_PROVINCE,
				  a.SOCIAL_CITY,
				  a.SOCIAL_TOWN,
				  a.SALARY_STATUS,
				  b.VALIDITY_START,
				  b.VALIDITY_END,
				  b.EMP_MARRI_STATUS,
				  b.EMP_NATIONAL,
				  b.POLITICAL_STATUS,
				  b.ID_PROVINCE,
				  b.ID_CITY,
				  b.ID_TOWN,
				  b.EMP_REGIS_TYPE,
				  b.IS_COLLEGE,
				  b.HIGN_EDUCATION,
				  b.SCHOOL,
				  b.MAJOR,
				  b.ADMISSION_DATE,
				  b.GRADUTION_DATE,
				  b.REMARK,
				  a.STATUS,
				  a.CREATE_NAME,
				  a.CREATE_TIME,
				  b.EMP_EMAIL,
				  b.EMP_NATRUE AS PROEMP_NATRUE
	</sql>

	<sql id="tEmployeeProject_where">
		<if test="tEmployeeProject != null">
			<if test="tEmployeeProject.id != null and tEmployeeProject.id.trim() != ''">
				AND a.ID = #{tEmployeeProject.id}
			</if>
			<if test="tEmployeeProject.empId != null and tEmployeeProject.empId.trim() != ''">
				AND a.EMP_ID = #{tEmployeeProject.empId}
			</if>
			<if test="tEmployeeProject.empCode != null and tEmployeeProject.empCode.trim() != ''">
				AND a.EMP_CODE = #{tEmployeeProject.empCode}
			</if>
			<if test="tEmployeeProject.empNatrue != null and tEmployeeProject.empNatrue.trim() != ''">
				AND a.EMP_NATRUE in (${tEmployeeProject.empNatrue})
			</if>
			<if test="tEmployeeProject.empName != null and tEmployeeProject.empName.trim() != ''">
				AND a.EMP_NAME = #{tEmployeeProject.empName}
			</if>
			<if test="tEmployeeProject.empIdcard != null and tEmployeeProject.empIdcard.trim() != ''">
				AND a.EMP_IDCARD = #{tEmployeeProject.empIdcard}
			</if>
			<if test="tEmployeeProject.bankName != null and tEmployeeProject.bankName.trim() != ''">
				AND a.BANK_NAME = #{tEmployeeProject.bankName}
			</if>
			<if test="tEmployeeProject.bankSubName != null and tEmployeeProject.bankSubName.trim() != ''">
				AND a.BANK_SUB_NAME = #{tEmployeeProject.bankSubName}
			</if>
			<if test="tEmployeeProject.bankNo != null and tEmployeeProject.bankNo.trim() != ''">
				AND a.BANK_NO = #{tEmployeeProject.bankNo}
			</if>
			<if test="tEmployeeProject.leaveUser != null and tEmployeeProject.leaveUser.trim() != ''">
				AND a.LEAVE_USER = #{tEmployeeProject.leaveUser}
			</if>
			<if test="tEmployeeProject.leaveTime != null">
				AND a.LEAVE_TIME = #{tEmployeeProject.leaveTime}
			</if>
			<if test="tEmployeeProject.leaveReason != null and tEmployeeProject.leaveReason.trim() != ''">
				AND a.LEAVE_REASON = #{tEmployeeProject.leaveReason}
			</if>
			<if test="tEmployeeProject.leaveRemark != null and tEmployeeProject.leaveRemark.trim() != ''">
				AND a.LEAVE_REMARK = #{tEmployeeProject.leaveRemark}
			</if>
			<if test="tEmployeeProject.empNo != null and tEmployeeProject.empNo.trim() != ''">
				AND a.EMP_NO = #{tEmployeeProject.empNo}
			</if>
			<if test="tEmployeeProject.unitId != null and tEmployeeProject.unitId.trim() != ''">
				AND a.UNIT_ID = #{tEmployeeProject.unitId}
			</if>
			<if test="tEmployeeProject.unitName != null and tEmployeeProject.unitName.trim() != ''">
				AND a.UNIT_NAME like concat('%',#{tEmployeeProject.unitName},'%')
			</if>
			<if test="tEmployeeProject.unitNo != null and tEmployeeProject.unitNo.trim() != ''">
				AND a.UNIT_NO = #{tEmployeeProject.unitNo}
			</if>
			<if test="tEmployeeProject.deptId != null and tEmployeeProject.deptId.trim() != ''">
				AND a.DEPT_ID = #{tEmployeeProject.deptId}
			</if>
			<if test="tEmployeeProject.deptName != null and tEmployeeProject.deptName.trim() != ''">
				AND a.DEPT_NAME like concat('%',#{tEmployeeProject.deptName},'%')
			</if>
			<if test="tEmployeeProject.deptNo != null and tEmployeeProject.deptNo.trim() != ''">
				AND a.DEPT_NO = #{tEmployeeProject.deptNo}
			</if>
			<if test="tEmployeeProject.businessPrimaryType != null and tEmployeeProject.businessPrimaryType.trim() != ''">
				AND a.BUSINESS_PRIMARY_TYPE = #{tEmployeeProject.businessPrimaryType}
			</if>
			<if test="tEmployeeProject.businessSecondType != null and tEmployeeProject.businessSecondType.trim() != ''">
				AND a.BUSINESS_SECOND_TYPE = #{tEmployeeProject.businessSecondType}
			</if>
			<if test="tEmployeeProject.businessThirdType != null and tEmployeeProject.businessThirdType.trim() != ''">
				AND a.BUSINESS_THIRD_TYPE = #{tEmployeeProject.businessThirdType}
			</if>
			<if test="tEmployeeProject.contractType != null and tEmployeeProject.contractType.trim() != ''">
				AND a.CONTRACT_TYPE = #{tEmployeeProject.contractType}
			</if>
			<if test="tEmployeeProject.workingHours != null and tEmployeeProject.workingHours.trim() != ''">
				AND a.WORKING_HOURS = #{tEmployeeProject.workingHours}
			</if>
			<if test="tEmployeeProject.post != null and tEmployeeProject.post.trim() != ''">
				AND a.POST = #{tEmployeeProject.post}
			</if>
			<if test="tEmployeeProject.enjoinDate != null">
				AND a.ENJOIN_DATE = #{tEmployeeProject.enjoinDate}
			</if>
			<if test="tEmployeeProject.tryPeriod != null and tEmployeeProject.tryPeriod.trim() != ''">
				AND a.TRY_PERIOD = #{tEmployeeProject.tryPeriod}
			</if>
			<if test="tEmployeeProject.projectSource != null and tEmployeeProject.projectSource.trim() != ''">
				AND a.PROJECT_SOURCE = #{tEmployeeProject.projectSource}
			</if>
			<if test="tEmployeeProject.taxMonth != null and tEmployeeProject.taxMonth.trim() != ''">
				AND a.TAX_MONTH = #{tEmployeeProject.taxMonth}
			</if>
			<if test="tEmployeeProject.status != null">
				AND a.STATUS = #{tEmployeeProject.status}
			</if>
			<if test="tEmployeeProject.projectStatus != null">
				AND a.PROJECT_STATUS = #{tEmployeeProject.projectStatus}
			</if>
			<if test="tEmployeeProject.createBy != null and tEmployeeProject.createBy.trim() != ''">
				AND a.CREATE_BY = #{tEmployeeProject.createBy}
			</if>
			<if test="tEmployeeProject.createName != null and tEmployeeProject.createName.trim() != ''">
				AND a.CREATE_NAME = #{tEmployeeProject.createName}
			</if>
			<if test="tEmployeeProject.createTime != null">
				AND a.CREATE_TIME = #{tEmployeeProject.createTime}
			</if>
			<if test="tEmployeeProject.updateBy != null and tEmployeeProject.updateBy.trim() != ''">
				AND a.UPDATE_BY = #{tEmployeeProject.updateBy}
			</if>
			<if test="tEmployeeProject.updateTime != null">
				AND a.UPDATE_TIME = #{tEmployeeProject.updateTime}
			</if>
			<if test="tEmployeeProject.remark != null and tEmployeeProject.remark.trim() != ''">
				AND a.REMARK = #{tEmployeeProject.remark}
			</if>
			<if test="tEmployeeProject.contractStatus != null">
				AND a.CONTRACT_STATUS = #{tEmployeeProject.contractStatus}
			</if>
			<if test="tEmployeeProject.empPhone != null and tEmployeeProject.empPhone.trim() != ''">
				AND b.EMP_PHONE = #{tEmployeeProject.empPhone}
			</if>
			<if test="tEmployeeProject.insuranceStatus != null">
				AND a.INSURANCE_STATUS = #{tEmployeeProject.insuranceStatus}
			</if>
			<if test="tEmployeeProject.socialStatus != null">
			    AND a.SOCIAL_STATUS = #{tEmployeeProject.socialStatus}
		    </if>
			<if test="tEmployeeProject.fundStatus != null">
				AND a.FUND_STATUS = #{tEmployeeProject.fundStatus}
		    </if>
			<if test="tEmployeeProject.salaryStatus != null">
				AND a.SALARY_STATUS = #{tEmployeeProject.salaryStatus}
			</if>
			<if test="tEmployeeProject.fileProvince != null">
				AND b.FILE_PROVINCE = #{tEmployeeProject.fileProvince}
			</if>
			<if test="tEmployeeProject.fileCity != null">
				AND b.FILE_CITY = #{tEmployeeProject.fileCity}
			</if>
			<if test="tEmployeeProject.fileTown != null">
				AND b.FILE_TOWN = #{tEmployeeProject.fileTown}
			</if>
			<if test="tEmployeeProject.socialProvince != null">
				AND a.SOCIAL_PROVINCE = #{tEmployeeProject.socialProvince}
			</if>
			<if test="tEmployeeProject.fileCity != null">
				AND a.SOCIAL_CITY = #{tEmployeeProject.socialCity}
			</if>
			<if test="tEmployeeProject.fileTown != null">
				AND a.SOCIAL_TOWN = #{tEmployeeProject.socialTown}
			</if>
			<if test="tEmployeeProject.empNatureArray != null">
				AND a.EMP_NATRUE in
				<foreach item="idStr" index="index" collection="tEmployeeProject.empNatureArray" open="(" separator=","
						 close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.contractStatusArray != null">
				AND a.CONTRACT_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.contractStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.insuranceStatusArray != null">
				AND a.INSURANCE_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.insuranceStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.socialStatusArray != null">
				AND a.SOCIAL_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.socialStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.fundStatusArray != null">
				AND a.FUND_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.fundStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
		</if>
	</sql>

	<sql id="exportTEmployeeProject_where">
		<if test="tEmployeeProject != null">
			<if test="tEmployeeProject.empCode != null and tEmployeeProject.empCode.trim() != ''">
				AND a.EMP_CODE = #{tEmployeeProject.empCode}
			</if>
			<if test="tEmployeeProject.empNatrue != null and tEmployeeProject.empNatrue.trim() != ''">
				AND a.EMP_NATRUE in (${tEmployeeProject.empNatrue})
			</if>
			<if test="tEmployeeProject.empName != null and tEmployeeProject.empName.trim() != ''">
				AND a.EMP_NAME = #{tEmployeeProject.empName}
			</if>
			<if test="tEmployeeProject.empIdcard != null and tEmployeeProject.empIdcard.trim() != ''">
				AND a.EMP_IDCARD = #{tEmployeeProject.empIdcard}
			</if>
			<if test="tEmployeeProject.bankName != null and tEmployeeProject.bankName.trim() != ''">
				AND a.BANK_NAME = #{tEmployeeProject.bankName}
			</if>
			<if test="tEmployeeProject.bankSubName != null and tEmployeeProject.bankSubName.trim() != ''">
				AND a.BANK_SUB_NAME = #{tEmployeeProject.bankSubName}
			</if>
			<if test="tEmployeeProject.bankNo != null and tEmployeeProject.bankNo.trim() != ''">
				AND a.BANK_NO = #{tEmployeeProject.bankNo}
			</if>
			<if test="tEmployeeProject.empNo != null and tEmployeeProject.empNo.trim() != ''">
				AND a.EMP_NO = #{tEmployeeProject.empNo}
			</if>
			<if test="tEmployeeProject.unitName != null and tEmployeeProject.unitName.trim() != ''">
				AND a.UNIT_NAME like concat('%',#{tEmployeeProject.unitName},'%')
			</if>
			<if test="tEmployeeProject.unitNo != null and tEmployeeProject.unitNo.trim() != ''">
				AND a.UNIT_NO = #{tEmployeeProject.unitNo}
			</if>
			<if test="tEmployeeProject.deptName != null and tEmployeeProject.deptName.trim() != ''">
				AND a.DEPT_NAME like concat('%',#{tEmployeeProject.deptName},'%')
			</if>
			<if test="tEmployeeProject.deptNo != null and tEmployeeProject.deptNo.trim() != ''">
				AND a.DEPT_NO = #{tEmployeeProject.deptNo}
			</if>
			<if test="tEmployeeProject.businessPrimaryType != null and tEmployeeProject.businessPrimaryType.trim() != ''">
				AND a.BUSINESS_PRIMARY_TYPE = #{tEmployeeProject.businessPrimaryType}
			</if>
			<if test="tEmployeeProject.businessSecondType != null and tEmployeeProject.businessSecondType.trim() != ''">
				AND a.BUSINESS_SECOND_TYPE = #{tEmployeeProject.businessSecondType}
			</if>
			<if test="tEmployeeProject.businessThirdType != null and tEmployeeProject.businessThirdType.trim() != ''">
				AND a.BUSINESS_THIRD_TYPE = #{tEmployeeProject.businessThirdType}
			</if>
			<if test="tEmployeeProject.contractType != null and tEmployeeProject.contractType.trim() != ''">
				AND a.CONTRACT_TYPE = #{tEmployeeProject.contractType}
			</if>
			<if test="tEmployeeProject.workingHours != null and tEmployeeProject.workingHours.trim() != ''">
				AND a.WORKING_HOURS = #{tEmployeeProject.workingHours}
			</if>
			<if test="tEmployeeProject.post != null and tEmployeeProject.post.trim() != ''">
				AND a.POST = #{tEmployeeProject.post}
			</if>
			<if test="tEmployeeProject.enjoinDate != null">
				AND a.ENJOIN_DATE = #{tEmployeeProject.enjoinDate}
			</if>
			<if test="tEmployeeProject.tryPeriod != null and tEmployeeProject.tryPeriod.trim() != ''">
				AND a.TRY_PERIOD = #{tEmployeeProject.tryPeriod}
			</if>
			<if test="tEmployeeProject.projectSource != null and tEmployeeProject.projectSource.trim() != ''">
				AND a.PROJECT_SOURCE = #{tEmployeeProject.projectSource}
			</if>
			<if test="tEmployeeProject.proStatus != null">
				AND a.STATUS = #{tEmployeeProject.proStatus}
			</if>
			<if test="tEmployeeProject.createName != null and tEmployeeProject.createName.trim() != ''">
				AND a.CREATE_NAME = #{tEmployeeProject.createName}
			</if>
			<if test="tEmployeeProject.createTime != null">
				AND a.CREATE_TIME = #{tEmployeeProject.createTime}
			</if>
			<if test="tEmployeeProject.remark != null and tEmployeeProject.remark.trim() != ''">
				AND a.REMARK = #{tEmployeeProject.remark}
			</if>
			<if test="tEmployeeProject.contractStatus != null">
				AND a.CONTRACT_STATUS = #{tEmployeeProject.contractStatus}
			</if>
			<if test="tEmployeeProject.empPhone != null and tEmployeeProject.empPhone.trim() != ''">
				AND b.EMP_PHONE = #{tEmployeeProject.empPhone}
			</if>
			<if test="tEmployeeProject.insuranceStatus != null">
				AND a.INSURANCE_STATUS = #{tEmployeeProject.insuranceStatus}
			</if>
			<if test="tEmployeeProject.socialStatus != null">
				AND a.SOCIAL_STATUS = #{tEmployeeProject.socialStatus}
			</if>
			<if test="tEmployeeProject.fundStatus != null">
				AND a.FUND_STATUS = #{tEmployeeProject.fundStatus}
			</if>
			<if test="tEmployeeProject.salaryStatus != null">
				AND a.SALARY_STATUS = #{tEmployeeProject.salaryStatus}
			</if>
			<if test="tEmployeeProject.fileProvince != null">
				AND b.FILE_PROVINCE = #{tEmployeeProject.fileProvince}
			</if>
			<if test="tEmployeeProject.fileCity != null">
				AND b.FILE_CITY = #{tEmployeeProject.fileCity}
			</if>
			<if test="tEmployeeProject.fileTown != null">
				AND b.FILE_TOWN = #{tEmployeeProject.fileTown}
			</if>
			<if test="tEmployeeProject.socialProvince != null">
				AND a.SOCIAL_PROVINCE = #{tEmployeeProject.socialProvince}
			</if>
			<if test="tEmployeeProject.fileCity != null">
				AND a.SOCIAL_CITY = #{tEmployeeProject.socialCity}
			</if>
			<if test="tEmployeeProject.fileTown != null">
				AND a.SOCIAL_TOWN = #{tEmployeeProject.socialTown}
			</if>
			<if test="tEmployeeProject.idList != null">
				AND a.id in
				<foreach item="idStr" index="index" collection="tEmployeeProject.idList" open="(" separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.empNatureArray != null">
				AND a.EMP_NATRUE in
				<foreach item="idStr" index="index" collection="tEmployeeProject.empNatureArray" open="(" separator=","
						 close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.contractStatusArray != null">
				AND a.CONTRACT_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.contractStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.insuranceStatusArray != null">
				AND a.INSURANCE_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.insuranceStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.socialStatusArray != null">
				AND a.SOCIAL_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.socialStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
			<if test="tEmployeeProject.fundStatusArray != null">
				AND a.FUND_STATUS in
				<foreach item="idStr" index="index" collection="tEmployeeProject.fundStatusArray" open="("
						 separator="," close=")">
					#{idStr}
				</foreach>
			</if>
		</if>
	</sql>

	<update id="updateExcelEmpProject" parameterType="java.util.List">
		update t_employee_project
		<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_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="PROJECT_STATUS =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					when ID=#{i.id} then 0
				</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 prefix="DEPT_NO =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.deptNo!=null">
						when ID=#{i.id} then #{i.deptNo}
					</if>
				</foreach>
			</trim>
			<trim prefix="CONTRACT_TYPE =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.contractType!=null">
						when ID=#{i.id} then #{i.contractType}
					</if>
				</foreach>
			</trim>
			<trim prefix="WORKING_HOURS =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.workingHours!=null">
						when ID=#{i.id} then #{i.workingHours}
					</if>
				</foreach>
			</trim>
			<trim prefix="POST =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.post!=null">
						when ID=#{i.id} then #{i.post}
					</if>
				</foreach>
			</trim>
			<trim prefix="TRY_PERIOD =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.tryPeriod!=null">
						when ID=#{i.id} then #{i.tryPeriod}
					</if>
				</foreach>
			</trim>
			<trim prefix="ENJOIN_DATE =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.enjoinDate!=null">
						when ID=#{i.id} then #{i.enjoinDate}
					</if>
				</foreach>
			</trim>
			<trim prefix="BANK_NAME =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.bankName!=null">
						when ID=#{i.id} then #{i.bankName}
					</if>
				</foreach>
			</trim>
			<trim prefix="BANK_NO =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.bankNo!=null">
						when ID=#{i.id} then #{i.bankNo}
					</if>
				</foreach>
			</trim>
			<trim prefix="BANK_SUB_NAME =case" suffix="end,">
				<foreach collection="list" item="i" index="index">
					<if test="i.bankSubName!=null">
						when ID=#{i.id} then #{i.bankSubName}
					</if>
				</foreach>
			</trim>
		</trim>
		where
		<foreach collection="list" separator="or" item="i" index="index" >
			ID=#{i.id}
		</foreach>
	</update>
	<insert id="insertExcelEmpProject" parameterType="java.util.List">
		insert into t_employee_project
		(ID,EMP_ID,EMP_NATRUE,EMP_NAME,EMP_IDCARD,STATUS,PROJECT_STATUS,EMP_CODE,DEPT_NO,CONTRACT_TYPE,POST,
		DEPT_ID,DEPT_NAME,UNIT_ID,UNIT_NAME,UNIT_NO,EMP_NO,TRY_PERIOD,ENJOIN_DATE,BANK_NAME,BANK_NO,BANK_SUB_NAME,
		BUSINESS_PRIMARY_TYPE,BUSINESS_SECOND_TYPE,BUSINESS_THIRD_TYPE,WORKING_HOURS,PROJECT_SOURCE,DELETE_FLAG,
		CREATE_BY,CREATE_NAME,CREATE_TIME,INSURANCE_STATUS,SOCIAL_STATUS,FUND_STATUS)
		VALUES
		<foreach collection="list" item="item" index="index" separator=",">
			(
			#{item.id,jdbcType=VARCHAR},
			#{item.empId,jdbcType=VARCHAR},
			#{item.empNatrue,jdbcType=VARCHAR},
			#{item.empName,jdbcType=VARCHAR},
			#{item.empIdcard,jdbcType=VARCHAR},
			#{item.status,jdbcType=VARCHAR},
			0,
			#{item.empCode,jdbcType=VARCHAR},
			#{item.deptNo,jdbcType=VARCHAR},
			#{item.contractType,jdbcType=VARCHAR},
			#{item.post,jdbcType=VARCHAR},
			#{item.deptId,jdbcType=VARCHAR},
			#{item.deptName,jdbcType=VARCHAR},
			#{item.unitId,jdbcType=VARCHAR},
			#{item.unitName,jdbcType=VARCHAR},
			#{item.unitNo,jdbcType=VARCHAR},
			#{item.empNo,jdbcType=VARCHAR},
			#{item.tryPeriod,jdbcType=VARCHAR},
			#{item.enjoinDate,jdbcType=DATE},
			#{item.bankName,jdbcType=VARCHAR},
			#{item.bankNo,jdbcType=VARCHAR},
			#{item.bankSubName,jdbcType=VARCHAR},
			#{item.businessPrimaryType,jdbcType=VARCHAR},
			#{item.businessSecondType,jdbcType=VARCHAR},
			#{item.businessThirdType,jdbcType=VARCHAR},
			#{item.workingHours,jdbcType=VARCHAR},
			#{item.projectSource,jdbcType=VARCHAR},
			#{item.deleteFlag,jdbcType=VARCHAR},
			#{item.createBy,jdbcType=VARCHAR},
			#{item.createName,jdbcType=VARCHAR},
			now(),
			0,
			0,
			0
			)
		</foreach>
	</insert>

	<!--查询部门编码和最大员工数-->
	<select id="findEmployeeMaxOnlyNoByDepId" resultType="java.lang.String">
		SELECT
			(
				SELECT
					MAX(EMP_NO)
				FROM
					t_employee_project
				WHERE
					id not like '%abc'
					and
					EMP_NO LIKE CONCAT(
						(
							SELECT
								DEPART_NO
							FROM
								t_settle_domain
							WHERE
								DEPART_NO = #{deptNo}
						),
						'%'
					)
			) AS 'empNo'
		FROM
			DUAL
	</select>

	<update id="updateEmpIdById" parameterType="java.util.List">
		update t_employee_project
		<trim prefix="set" suffixOverrides=",">
		<trim prefix="EMP_ID =case" suffix="end,">
			<foreach collection="list" item="i" index="index">
				<if test="i.id!=null">
					when EMP_IDCARD=#{i.empIdcard} then #{i.id}
				</if>
			</foreach>
		</trim>
		</trim>
		where
		<foreach collection="list" separator="or" item="i" index="index" >
			EMP_IDCARD=#{i.empIdcard}
		</foreach>
	</update>

	<!--tEmployeeInfo简单分页查询-->
	<select id="getTEmployeeProjectInfoPage" resultMap="tEmployeeProjectMap">
	SELECT
		<include refid="Base_Column_List"/>
		FROM t_employee_project a
		left join t_employee_info b on a.EMP_ID = b.id
		<where>
			a.DELETE_FLAG = '0'
		<include refid="tEmployeeProject_where"/>
		</where>
		order by a.CREATE_TIME desc
	</select>
	<!--tEmployeeInfo导出查询-->
	<select id="getTEmployeeProjectExportPage" resultMap="tEmployeeProjectExportMap">
		SELECT
		<include refid="Base_Export_List"/>
		FROM t_employee_project a
		left join t_employee_info b on a.EMP_ID = b.id
		<where>
			a.DELETE_FLAG = '0'
			<include refid="exportTEmployeeProject_where"/>
		</where>
	</select>
</mapper>
