TPreEmpMainMapper.xml 25.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
<?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.TPreEmpMainMapper">

  <resultMap id="tPreEmpMainMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TPreEmpMain">
    <id property="id" column="ID"/>
    <result property="status" column="STATUS"/>
    <result property="empId" column="EMP_ID"/>
    <result property="empName" column="EMP_NAME"/>
    <result property="empIdcard" column="EMP_IDCARD"/>
    <result property="empPhone" column="EMP_PHONE"/>
    <result property="empWx" column="EMP_WX"/>
    <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"/>
43
    <result property="businessType" column="BUSINESS_TYPE"/>
44 45 46 47 48 49 50 51 52 53
    <result property="empNatrue" column="EMP_NATRUE"/>
    <result property="auditId" column="AUDIT_ID"/>
    <result property="auditName" column="AUDIT_NAME"/>
    <result property="auditTime" column="AUDIT_TIME"/>
    <result property="createBy" column="CREATE_BY"/>
    <result property="updateBy" column="UPDATE_BY"/>
    <result property="createName" column="CREATE_NAME"/>
    <result property="createTime" column="CREATE_TIME"/>
    <result property="updateTime" column="UPDATE_TIME"/>
    <result property="settleDomain" column="SETTLE_DOMAIN"/>
54
    <result property="declarationId" column="DECLARATION_ID"/>
hongguangwu's avatar
hongguangwu committed
55
    <result property="sourType" column="SOUR_TYPE"/>
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
  </resultMap>
    <sql id="Base_Column_List">
                a.ID,
                a.STATUS,
                a.EMP_ID,
                a.EMP_NAME,
                a.EMP_IDCARD,
                a.EMP_PHONE,
                a.EMP_WX,
                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,
74
                concat(a.BUSINESS_PRIMARY_TYPE,'-',ifnull(a.BUSINESS_SECOND_TYPE,''),'-',ifnull(a.BUSINESS_THIRD_TYPE,'')) BUSINESS_TYPE,
75 76
                a.EMP_NATRUE,
                a.AUDIT_ID,
77
                if(a.STATUS in ('3','4'),a.AUDIT_NAME,'') AUDIT_NAME,
78
                if(a.STATUS in ('3','4'),a.AUDIT_TIME,null) AUDIT_TIME,
79 80 81 82 83
                a.CREATE_BY,
                a.UPDATE_BY,
                a.CREATE_NAME,
                a.CREATE_TIME,
                a.UPDATE_TIME,
84
                a.SETTLE_DOMAIN,
hongguangwu's avatar
hongguangwu committed
85 86
                a.DECLARATION_ID,
                a.SOUR_TYPE
87 88 89
    </sql>
    <sql id="tPreEmpMain_where">
        <if test="tPreEmpMain != null">
90 91 92 93 94 95
			<if test="tPreEmpMain.statusList != null and tPreEmpMain.statusList.length>0">
				AND a.STATUS IN
				<foreach collection="tPreEmpMain.statusList" item="item" index="index" open="(" separator="," close=")">
					#{item}
				</foreach>
			</if>
96 97 98
                    <if test="tPreEmpMain.id != null and tPreEmpMain.id.trim() != ''">
                        AND a.ID = #{tPreEmpMain.id}
                    </if>
99 100 101 102 103 104
					<if test="tPreEmpMain.ids != null and tPreEmpMain.ids.length > 0">
						AND a.ID in
						<foreach item="idStr" index="index" collection="tPreEmpMain.ids" open="(" separator="," close=")">
							#{idStr}
						</foreach>
					</if>
105 106 107
                    <if test="tPreEmpMain.status != null and tPreEmpMain.status.trim() != ''">
                        AND a.STATUS = #{tPreEmpMain.status}
                    </if>
108 109 110 111 112 113 114

					<if test="tPreEmpMain.statusArray != null and tPreEmpMain.statusArray.length > 0">
						AND a.STATUS in
						<foreach item="idStr" index="index" collection="tPreEmpMain.statusArray" open="(" separator="," close=")">
							#{idStr}
						</foreach>
					</if>
115 116 117 118
                    <if test="tPreEmpMain.empId != null and tPreEmpMain.empId.trim() != ''">
                        AND a.EMP_ID = #{tPreEmpMain.empId}
                    </if>
                    <if test="tPreEmpMain.empName != null and tPreEmpMain.empName.trim() != ''">
119
                        AND a.EMP_NAME like concat('%',#{tPreEmpMain.empName},'%')
120 121
                    </if>
                    <if test="tPreEmpMain.empIdcard != null and tPreEmpMain.empIdcard.trim() != ''">
122
                        AND a.EMP_IDCARD like concat('%',#{tPreEmpMain.empIdcard},'%')
123 124 125 126 127 128 129 130 131 132 133
                    </if>
                    <if test="tPreEmpMain.empPhone != null and tPreEmpMain.empPhone.trim() != ''">
                        AND a.EMP_PHONE = #{tPreEmpMain.empPhone}
                    </if>
                    <if test="tPreEmpMain.empWx != null and tPreEmpMain.empWx.trim() != ''">
                        AND a.EMP_WX = #{tPreEmpMain.empWx}
                    </if>
                    <if test="tPreEmpMain.unitId != null and tPreEmpMain.unitId.trim() != ''">
                        AND a.UNIT_ID = #{tPreEmpMain.unitId}
                    </if>
                    <if test="tPreEmpMain.unitName != null and tPreEmpMain.unitName.trim() != ''">
134
                        AND a.UNIT_NAME like concat('%',#{tPreEmpMain.unitName},'%')
135 136 137 138 139 140 141 142
                    </if>
                    <if test="tPreEmpMain.unitNo != null and tPreEmpMain.unitNo.trim() != ''">
                        AND a.UNIT_NO = #{tPreEmpMain.unitNo}
                    </if>
                    <if test="tPreEmpMain.deptId != null and tPreEmpMain.deptId.trim() != ''">
                        AND a.DEPT_ID = #{tPreEmpMain.deptId}
                    </if>
                    <if test="tPreEmpMain.deptName != null and tPreEmpMain.deptName.trim() != ''">
143
                        AND a.DEPT_NAME like concat('%',#{tPreEmpMain.deptName},'%')
144 145 146 147 148
                    </if>
                    <if test="tPreEmpMain.deptNo != null and tPreEmpMain.deptNo.trim() != ''">
                        AND a.DEPT_NO = #{tPreEmpMain.deptNo}
                    </if>
                    <if test="tPreEmpMain.businessPrimaryType != null and tPreEmpMain.businessPrimaryType.trim() != ''">
149
                        AND a.BUSINESS_PRIMARY_TYPE like concat('%',#{tPreEmpMain.businessPrimaryType},'%')
150 151
                    </if>
                    <if test="tPreEmpMain.businessSecondType != null and tPreEmpMain.businessSecondType.trim() != ''">
152
                        AND a.BUSINESS_SECOND_TYPE like concat('%',#{tPreEmpMain.businessSecondType},'%')
153 154
                    </if>
                    <if test="tPreEmpMain.businessThirdType != null and tPreEmpMain.businessThirdType.trim() != ''">
155
                        AND a.BUSINESS_THIRD_TYPE like concat('%',#{tPreEmpMain.businessThirdType},'%')
156 157 158 159
                    </if>
                    <if test="tPreEmpMain.empNatrue != null and tPreEmpMain.empNatrue.trim() != ''">
                        AND a.EMP_NATRUE = #{tPreEmpMain.empNatrue}
                    </if>
160 161 162 163 164 165
					<if test="tPreEmpMain.empNatureArray != null and tPreEmpMain.empNatureArray.length > 0">
						AND a.EMP_NATRUE in
						<foreach item="idStr" index="index" collection="tPreEmpMain.empNatureArray" open="(" separator="," close=")">
							#{idStr}
						</foreach>
					</if>
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
                    <if test="tPreEmpMain.auditId != null and tPreEmpMain.auditId.trim() != ''">
                        AND a.AUDIT_ID = #{tPreEmpMain.auditId}
                    </if>
                    <if test="tPreEmpMain.auditName != null and tPreEmpMain.auditName.trim() != ''">
                        AND a.AUDIT_NAME = #{tPreEmpMain.auditName}
                    </if>
                    <if test="tPreEmpMain.auditTime != null">
                        AND a.AUDIT_TIME = #{tPreEmpMain.auditTime}
                    </if>
                    <if test="tPreEmpMain.createBy != null and tPreEmpMain.createBy.trim() != ''">
                        AND a.CREATE_BY = #{tPreEmpMain.createBy}
                    </if>
                    <if test="tPreEmpMain.updateBy != null and tPreEmpMain.updateBy.trim() != ''">
                        AND a.UPDATE_BY = #{tPreEmpMain.updateBy}
                    </if>
                    <if test="tPreEmpMain.createName != null and tPreEmpMain.createName.trim() != ''">
                        AND a.CREATE_NAME = #{tPreEmpMain.createName}
                    </if>
                    <if test="tPreEmpMain.createTime != null">
                        AND a.CREATE_TIME = #{tPreEmpMain.createTime}
                    </if>
                    <if test="tPreEmpMain.updateTime != null">
                        AND a.UPDATE_TIME = #{tPreEmpMain.updateTime}
                    </if>
                    <if test="tPreEmpMain.settleDomain != null and tPreEmpMain.settleDomain.trim() != ''">
                        AND a.SETTLE_DOMAIN = #{tPreEmpMain.settleDomain}
                    </if>
193 194 195 196 197 198
                    <if test="tPreEmpMain.createTimeStart != null">
                        AND a.CREATE_TIME >= #{tPreEmpMain.createTimeStart}
                    </if>
                    <if test="tPreEmpMain.createTimeEnd != null">
                        AND a.CREATE_TIME <![CDATA[ <= ]]> #{tPreEmpMain.createTimeEnd}
                    </if>
199 200 201 202 203 204 205 206
        </if>
    </sql>
    <!--tPreEmpMain简单分页查询-->
    <select id="getTPreEmpMainPage" resultMap="tPreEmpMainMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM t_pre_emp_main a
        <where>
207
            a.STATUS != '5'
208 209 210 211 212 213 214
            <include refid="tPreEmpMain_where"/>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
					${tPreEmpMain.authSql}
				</if>
			</if>
        </where>
215
		order by a.create_time desc
216
    </select>
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271

    <select id="getTPreEmpMainCount" resultType="java.lang.Integer">
        SELECT
        	count(1)
        FROM t_pre_emp_main a
        <where>
            a.STATUS != '5'
            <include refid="tPreEmpMain_where"/>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
					${tPreEmpMain.authSql}
				</if>
			</if>
        </where>
    </select>

	<!--list-->
	<select id="getTPreEmpMainList" resultMap="tPreEmpMainMap">
		SELECT
		<include refid="Base_Column_List"/>
		FROM t_pre_emp_main a
		<where>
			a.STATUS != '5'
			<include refid="tPreEmpMain_where"/>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
					${tPreEmpMain.authSql}
				</if>
			</if>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.limitStart != null">
					limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
				</if>
			</if>
		</where>
	</select>

    <select id="getTPreEmpMainAllCount" resultType="java.lang.Integer">
        SELECT
        	count(1)
        FROM t_pre_emp_main a
        <where>
            a.STATUS != '5'
            <include refid="tPreEmpMain_where"/>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
					${tPreEmpMain.authSql}
				</if>
			</if>
        </where>
    </select>

	<!--list-->
	<select id="getTPreEmpMainAllList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
hongguangwu's avatar
hongguangwu committed
272
			a.id mainId,case a.STATUS when '0' then '草稿' when '1' then '待完善' when '2' then '待审核' when '3' then '审核不通过' when '4' then '审核通过' else '-' end field1
273
			,DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') field2,if(a.STATUS in ('3','4'),a.AUDIT_NAME,'') field64,if(a.STATUS in ('3','4'),DATE_FORMAT(a.AUDIT_TIME,'%Y-%m-%d %H:%i:%s'),'') field65
hongguangwu's avatar
hongguangwu committed
274
		     ,e.EMP_CODE field3,a.emp_Natrue field4,a.emp_name field5,a.emp_idcard field6
hongguangwu's avatar
hongguangwu committed
275
			,if(e.EMP_SEX='2','女',if(e.EMP_SEX='1','男','-')) field7
276
			,if(e.VALIDITY_END is null,'-',if(e.VALIDITY_END > '2999-12-30','长期','固定')) field8	,e.VALIDITY_START field9
hongguangwu's avatar
hongguangwu committed
277 278 279 280 281
			,if(e.VALIDITY_END > '2999-12-30','长期',e.VALIDITY_END) field10,e.EMP_BIRTHDAY field11,e.EMP_AGE field12	,e.EMP_MARRI_STATUS field13,e.EMP_NATIONAL field14
			,e.POLITICAL_STATUS field15,e.EMP_PHONE field16,e.EMP_EMAIL field17
			,e.ID_PROVINCE field18,e.ID_CITY field69,e.ID_TOWN field70,e.EMP_REGIS_TYPE field19
			,e.FILE_PROVINCE field20,e.FILE_CITY field71,e.FILE_TOWN field72,if(e.status=0,'草稿','已审核') field21,
			e.CONTACT_PROVINCE as "field66", e.CONTACT_CITY as "field67", e.CONTACT_TOWN as "field68"
282
		     ,e.CONTACT_ADDRESS field22,p.UNIT_NAME field23,p.DEPT_NAME field24
283
			,concat(p.BUSINESS_PRIMARY_TYPE,'-',ifnull(p.BUSINESS_SECOND_TYPE,''),'-',ifnull(p.BUSINESS_THIRD_TYPE,'')) field25
hongguangwu's avatar
hongguangwu committed
284
			,p.CONTRACT_TYPE field26	,p.WORKING_HOURS field27,p.POST field28,p.ENJOIN_DATE field29
hongguangwu's avatar
hongguangwu committed
285 286
			,p.TRY_PERIOD field30,p.EMP_LABEL field31
			,ec.EMP_NAME field32,ec.RELATION_TYPE field33,ec.ADDRESS field34,ec.TEL field35
hongguangwu's avatar
hongguangwu committed
287
			,ee.SCHOOL field36,ee.MAJOR field37,ee.EDUCATION_NAME field38,if(e.IS_COLLEGE=0,'否','是') field39
hongguangwu's avatar
hongguangwu committed
288
			,e.HIGN_EDUCATION field40	,ee.ENTRY_DATE field41,ee.GRADUTION_DATE field42
hongguangwu's avatar
hongguangwu committed
289 290
			,if(e.FIRST_WORK_FLAG is null,'',if(e.FIRST_WORK_FLAG=0,'是','否')) field43
			,if(e.HAVE_QUALIFICATION is null,'',if(e.HAVE_QUALIFICATION=0,'是','否')) field51
hongguangwu's avatar
hongguangwu committed
291 292
			,if(ed.INJURY_IDENTIFICATION=0,'是','否') field54,if(ed.OCCUPATIONAL_DISEASE_FLAG=0,'是','否') field55	,ed.OCCUPATIONAL_DISEASE field56
			,if(ed.INFECTIOUS_DISEASE_FLAG=0,'是','否') field57	,ed.INFECTIOUS_NAME field58	,if(ed.DISABILITY_FLAG=0,'是','否') field59
hongguangwu's avatar
hongguangwu committed
293
			,ed.DISABILITY_NAME field60,ed.DISABILITY_LEVEL field61,if(ed.OTHER_FLAG=0,'是','否') field62,eb.REMARK field63
294
		FROM t_pre_emp_main a
hongguangwu's avatar
hongguangwu committed
295 296 297 298 299 300
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
		left join t_pre_employee_project p on a.id=p.PRE_MAIN_ID
		left join t_pre_emp_contact_info ec on a.id=ec.PRE_MAIN_ID
		left join t_pre_emp_education ee on a.id=ee.PRE_MAIN_ID
		left join t_pre_emp_disability_info ed on a.id=ed.PRE_MAIN_ID
		left join t_pre_emp_bad_record eb on a.id=eb.PRE_MAIN_ID
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
		<where>
			a.STATUS != '5'
			<include refid="tPreEmpMain_where"/>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.authSql != null and tPreEmpMain.authSql.trim() != ''">
					${tPreEmpMain.authSql}
				</if>
			</if>
			<if test="tPreEmpMain != null">
				<if test="tPreEmpMain.limitStart != null">
					limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
				</if>
			</if>
		</where>
	</select>

hongguangwu's avatar
hongguangwu committed
317 318 319
	<select id="getTPreEmpMainAllListByWork" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
		ee.PRE_MAIN_ID mainId,ee.WORK_UNIT field44,ee.WORK_JOB field45,ee.START_DATE field46,ee.END_DATE field47
hongguangwu's avatar
hongguangwu committed
320 321 322 323 324
		from t_pre_emp_work_recording ee
		where ee.PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
hongguangwu's avatar
hongguangwu committed
325 326 327 328 329
		ORDER BY ee.create_time desc
	</select>

	<select id="getTPreEmpMainAllListByFamily" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
hongguangwu's avatar
hongguangwu committed
330 331 332 333 334 335
		ee.PRE_MAIN_ID mainId,ee.FAMILY_NAME field48,ee.RELATIONSHIP_SELF field49,ee.CONTRACT_TEL field50
		FROM t_pre_emp_family ee
		where ee.PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
hongguangwu's avatar
hongguangwu committed
336 337 338 339 340
		ORDER BY ee.create_time desc
	</select>

	<select id="getTPreEmpMainAllListByProfessional" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
hongguangwu's avatar
hongguangwu committed
341 342 343 344 345 346
		ee.PRE_MAIN_ID mainId,ee.DECLARE_YEAR field52,ee.QUALIFICATION_TYPE field53
		FROM t_pre_emp_professional_qualification ee
		where ee.PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
hongguangwu's avatar
hongguangwu committed
347 348
		ORDER BY ee.create_time desc
	</select>
349 350 351 352 353 354 355

	<!-- 数量 -->
	<select id="getTEmpMainAllCountOneWork" resultType="java.lang.Integer">
		SELECT
		count(1)
		FROM t_pre_emp_main a
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
356
		left join t_pre_emp_work_recording ew on a.id=ew.PRE_MAIN_ID
357 358
		<where>
			a.STATUS != '5' and ew.id is not null and EXISTS (
359
			select 1 from (select a.EMP_IDCARD from t_pre_emp_work_recording a left join t_pre_emp_main p on a.PRE_MAIN_ID=p.id where p.STATUS != '5' and p.id is not null GROUP BY a.EMP_IDCARD HAVING count(1)>1) ea where ea.EMP_IDCARD=ew.EMP_IDCARD
360 361 362 363 364 365 366 367 368 369 370 371
			)
			<include refid="tPreEmpMain_where"/>
		</where>
	</select>

	<!--导出统计list1主要工作经历-->
	<select id="getTEmpMainAllListOneWork" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
		e.emp_idcard field6
		,if(e.FIRST_WORK_FLAG is null,'',if(e.FIRST_WORK_FLAG=0,'是','否')) field43,ew.WORK_UNIT field44,ew.WORK_JOB field45,ew.START_DATE field46,ew.END_DATE field47
		FROM t_pre_emp_main a
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
372
		left join t_pre_emp_work_recording ew on a.id=ew.PRE_MAIN_ID
373 374
		<where>
			a.STATUS != '5' and ew.id is not null and EXISTS (
375
			select 1 from (select a.EMP_IDCARD from t_pre_emp_work_recording a left join t_pre_emp_main p on a.PRE_MAIN_ID=p.id where p.STATUS != '5' and p.id is not null GROUP BY a.EMP_IDCARD HAVING count(1)>1) ea where ea.EMP_IDCARD=ew.EMP_IDCARD
376 377 378
			)
			<include refid="tPreEmpMain_where"/>
		</where>
379
		ORDER BY a.emp_idcard DESC
380 381 382 383 384 385 386 387 388 389 390 391 392
		<if test="tPreEmpMain != null">
			<if test="tPreEmpMain.limitStart != null">
				limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
			</if>
		</if>
	</select>

	<!-- 数量 -->
	<select id="getTEmpMainAllCountTwoFamily" resultType="java.lang.Integer">
		SELECT
		count(1)
		FROM t_pre_emp_main a
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
393
		left join t_pre_emp_family ef on a.id=ef.PRE_MAIN_ID
394 395
		<where>
			a.STATUS != '5' and ef.id is not null and EXISTS (
396
			select 1 from (select a.EMP_IDCARD from t_pre_emp_family a left join t_pre_emp_main p on a.PRE_MAIN_ID=p.id where p.STATUS != '5' and p.id is not null GROUP BY a.EMP_IDCARD HAVING count(1)>1) ea where ea.EMP_IDCARD=ef.EMP_IDCARD
397 398 399 400 401 402 403 404
			)
			<include refid="tPreEmpMain_where"/>
		</where>
	</select>
	<!--导出统计list2主要家庭成员信息-->
	<select id="getTEmpMainAllListTwoFamily" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
		e.emp_idcard field6
hongguangwu's avatar
hongguangwu committed
405
		,ef.FAMILY_NAME field48,ef.RELATIONSHIP_SELF field49,ef.CONTRACT_TEL field50
406 407
		FROM t_pre_emp_main a
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
408
		left join t_pre_emp_family ef on a.id=ef.PRE_MAIN_ID
409 410
		<where>
			a.STATUS != '5' and ef.id is not null and EXISTS (
411
			select 1 from (select a.EMP_IDCARD from t_pre_emp_family a left join t_pre_emp_main p on a.PRE_MAIN_ID=p.id where p.STATUS != '5' and p.id is not null GROUP BY a.EMP_IDCARD HAVING count(1)>1) ea where ea.EMP_IDCARD=ef.EMP_IDCARD
412 413 414
			)
			<include refid="tPreEmpMain_where"/>
		</where>
415
		ORDER BY a.emp_idcard DESC
416 417 418 419 420 421 422 423 424 425 426 427 428
		<if test="tPreEmpMain != null">
			<if test="tPreEmpMain.limitStart != null">
				limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
			</if>
		</if>
	</select>

	<!-- 数量 -->
	<select id="getTEmpMainAllCountThreeProfessional" resultType="java.lang.Integer">
		SELECT
		count(1)
		FROM t_pre_emp_main a
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
429
		left join t_pre_emp_professional_qualification ep on a.id=ep.PRE_MAIN_ID
430 431
		<where>
			a.STATUS != '5' and ep.id is not null and EXISTS (
432
			select 1 from (select a.EMP_IDCARD from t_pre_emp_professional_qualification a left join t_pre_emp_main p on a.PRE_MAIN_ID=p.id where p.STATUS != '5' and p.id is not null GROUP BY a.EMP_IDCARD HAVING count(1)>1) ea where ea.EMP_IDCARD=ep.EMP_IDCARD
433 434 435 436 437 438 439 440
			)
			<include refid="tPreEmpMain_where"/>
		</where>
	</select>
	<!--导出统计list3职业资格信息-->
	<select id="getTEmpMainAllListThreeProfessional" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TPreMainExportAllVO">
		SELECT
		e.emp_idcard field6
hongguangwu's avatar
hongguangwu committed
441
		,if(e.HAVE_QUALIFICATION is null,'',if(e.HAVE_QUALIFICATION=0,'是','否')) field51,ep.DECLARE_YEAR field52,ep.QUALIFICATION_TYPE field53
442 443
		FROM t_pre_emp_main a
		left join t_pre_employee_info e on a.id=e.PRE_MAIN_ID
444
		left join t_pre_emp_professional_qualification ep on a.id=ep.PRE_MAIN_ID
445 446
		<where>
			a.STATUS != '5' and ep.id is not null and EXISTS (
447
			select 1 from (select a.EMP_IDCARD from t_pre_emp_professional_qualification a left join t_pre_emp_main p on a.PRE_MAIN_ID=p.id where p.STATUS != '5' and p.id is not null GROUP BY a.EMP_IDCARD HAVING count(1)>1) ea where ea.EMP_IDCARD=ep.EMP_IDCARD
448 449 450
			)
			<include refid="tPreEmpMain_where"/>
		</where>
451
		ORDER BY a.emp_idcard DESC
452 453 454 455 456 457 458 459
		<if test="tPreEmpMain != null">
			<if test="tPreEmpMain.limitStart != null">
				limit #{tPreEmpMain.limitStart},#{tPreEmpMain.limitEnd}
			</if>
		</if>
	</select>
	

460 461 462 463 464 465 466 467
    <!--tPreEmpMain简单分页查询-->
    <select id="getTPreEmpMainByCardAndDept" resultMap="tPreEmpMainMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM t_pre_emp_main a
        where  a.EMP_IDCARD = #{empIdCard} AND a.DEPT_ID = #{deptId}
		limit 1
    </select>
468

hongguangwu's avatar
hongguangwu committed
469 470 471 472 473 474 475 476 477 478 479
	<!-- 导入预入职时,查询所有身份证的预入职使用的,查出来删除附属信息 -->
    <select id="getTPreEmpMainListByCardAndDept" resultType="java.lang.String">
        SELECT
			a.ID
        FROM t_pre_emp_main a
        where a.DEPT_ID = #{deptId} AND a.EMP_IDCARD in
		<foreach collection="empIdCardList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
    </select>

480 481 482 483 484 485 486 487 488
    <!--tPreEmpMain简单分页查询-->
    <select id="getTPreEmpMainByCardAndDeptNo" resultMap="tPreEmpMainMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM t_pre_emp_main a
        where  a.EMP_IDCARD = #{empIdCard} AND a.DEPT_NO = #{deptNo}
		limit 1
    </select>

489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509
	<delete id="deleteBadByMainId">
		delete from t_pre_emp_bad_record where PRE_MAIN_ID = #{preMainId}
	</delete>
	<delete id="deleteContactByMainId">
		delete from t_pre_emp_contact_info where PRE_MAIN_ID = #{preMainId}
	</delete>
	<delete id="deleteDisabilityByMainId">
		delete from t_pre_emp_disability_info where PRE_MAIN_ID = #{preMainId}
	</delete>
	<delete id="deleteEducationByMainId">
		delete from t_pre_emp_education where PRE_MAIN_ID = #{preMainId}
	</delete>
	<delete id="deleteFamilyByMainId">
		delete from t_pre_emp_family where PRE_MAIN_ID = #{preMainId}
	</delete>
	<delete id="deleteEmployeeByMainId">
		delete from t_pre_employee_info where PRE_MAIN_ID = #{preMainId}
	</delete>
	<delete id="deleteProjectByMainId">
		delete from t_pre_employee_project where PRE_MAIN_ID = #{preMainId}
	</delete>
hongguangwu's avatar
hongguangwu committed
510 511 512 513 514 515 516 517 518
	
	
	<delete id="deleteBadByMainIdList">
		delete from t_pre_emp_bad_record where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteContactByMainIdList">
hongguangwu's avatar
hongguangwu committed
519
		delete from t_pre_emp_contact_info where PRE_MAIN_ID in
hongguangwu's avatar
hongguangwu committed
520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteDisabilityByMainIdList">
		delete from t_pre_emp_disability_info where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteEducationByMainIdList">
		delete from t_pre_emp_education where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteFamilyByMainIdList">
		delete from t_pre_emp_family where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteEmployeeByMainIdList">
		delete from t_pre_employee_info where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteProjectByMainIdList">
		delete from t_pre_employee_project where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>

	<delete id="deleteWorkRecordingByMainIdList">
		delete from t_pre_emp_work_recording where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteProfessionalByMainIdList">
		delete from t_pre_emp_professional_qualification where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteOtherFileByMainIdList">
		delete from t_pre_emp_other_file where PRE_MAIN_ID in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deleteAttaByDomainIdList">
		delete from t_atta_info where domain_id in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
	<delete id="deletePreMainIdList">
		delete from t_pre_emp_main where id in
		<foreach collection="preMainIdList" item="ids" open="(" separator="," close=")">
			#{ids}
		</foreach>
	</delete>
585

586
</mapper>