<?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.zcloud.mapper.datasource.xgf.TrainingBatchMapper"> <!--表名 --> <sql id="tableName"> BUS_TRAININGBATCH </sql> <!--数据字典表名 --> <sql id="dicTableName"> SYS_DICTIONARIES </sql> <!-- 字段 --> <sql id="Field"> f.CREATOR, f.CREATTIME, f.OPERATOR, f.OPERATTIME, f.ISDELETE, f.BATCH_NAME, f.CORPINFO_ID, f.USER_COUNT, f.TRAIN_CORP_DEPT, f.TRAIN_CORP_LEADER, f.DESCR, f.TRAIN_AREA, f.MANAGER, f.MANAGER_USER_ID, f.AUDIT_STATUS, f.TRAININGBATCH_ID, f.SUPERVISION, f.SUPERVISION_USER_ID, f.TERRITORIALITY, f.TERRITORIALITY_USER_ID </sql> <!-- 字段用于新增 --> <sql id="Field2"> CREATOR, CREATTIME, OPERATOR, OPERATTIME, ISDELETE, BATCH_NAME, CORPINFO_ID, USER_COUNT, TRAIN_CORP_DEPT, TRAIN_CORP_LEADER, DESCR, TRAIN_AREA, MANAGER, MANAGER_USER_ID, AUDIT_STATUS, TYPE, TRAININGBATCH_ID, SUPERVISION, SUPERVISION_USER_ID, TERRITORIALITY, TERRITORIALITY_USER_ID </sql> <!-- 字段值 --> <sql id="FieldValue"> #{CREATOR}, #{CREATTIME}, #{OPERATOR}, #{OPERATTIME}, #{ISDELETE}, #{BATCH_NAME}, #{CORPINFO_ID}, #{USER_COUNT}, #{TRAIN_CORP_DEPT}, #{TRAIN_CORP_LEADER}, #{DESCR}, #{TRAIN_AREA}, #{MANAGER}, #{MANAGER_USER_ID}, #{AUDIT_STATUS}, #{TYPE}, #{TRAININGBATCH_ID}, #{SUPERVISION}, #{SUPERVISION_USER_ID}, #{TERRITORIALITY}, #{TERRITORIALITY_USER_ID} </sql> <!-- 新增--> <insert id="save" parameterType="pd"> insert into <include refid="tableName"></include> ( <include refid="Field2"></include> ) values ( <include refid="FieldValue"></include> ) </insert> <!-- 删除--> <delete id="delete" parameterType="pd"> update <include refid="tableName"></include> set ISDELETE = '1' where TRAININGBATCH_ID = #{TRAININGBATCH_ID} </delete> <!-- 修改 --> <update id="edit" parameterType="pd"> update <include refid="tableName"></include> set OPERATOR = #{OPERATOR}, OPERATTIME = #{OPERATTIME}, AUDIT_STATUS = #{AUDIT_STATUS}, TRAIN_CORP_DEPT = #{TRAIN_CORP_DEPT}, TRAIN_CORP_LEADER = #{TRAIN_CORP_LEADER}, ENTRUST_TIME = #{ENTRUST_TIME}, VERIFY_TIME = #{VERIFY_TIME} where TRAININGBATCH_ID = #{TRAININGBATCH_ID} </update> <!-- 修改 --> <update id="audit" parameterType="pd"> update <include refid="tableName"></include> set AUDIT_STATUS = #{AUDIT_STATUS}, <if test="TRAIN_CORP_DEPT != null and TRAIN_CORP_DEPT != ''"> TRAIN_CORP_DEPT = #{TRAIN_CORP_DEPT}, </if> <if test="TRAIN_CORP_LEADER != null and TRAIN_CORP_LEADER != ''"> TRAIN_CORP_LEADER = #{TRAIN_CORP_LEADER}, </if> <if test="ENTRUST_TIME != null and ENTRUST_TIME != ''"> ENTRUST_TIME = #{ENTRUST_TIME}, </if> <if test="AUDIT_TIME != null and AUDIT_TIME != ''"> AUDIT_TIME = #{AUDIT_TIME}, </if> <if test="VERIFY_TIME != null and VERIFY_TIME != ''"> VERIFY_TIME = #{VERIFY_TIME}, </if> <if test="AUDIT_DESCR != null and AUDIT_DESCR != ''"> AUDIT_DESCR = #{AUDIT_DESCR}, </if> <if test="CORP_AUDIT_DESCR != null and CORP_AUDIT_DESCR != ''"> CORP_AUDIT_DESCR = #{CORP_AUDIT_DESCR}, </if> TRAININGBATCH_ID = #{TRAININGBATCH_ID} where TRAININGBATCH_ID = #{TRAININGBATCH_ID} </update> <update id="graduation" parameterType="pd"> update bus_trainusers a set a.STATUS = '2' where a.USER_ID in <foreach item="item" index="index" collection="users" open="(" separator="," close=")"> #{item} </foreach>; </update> <!-- 通过ID获取数据 --> <select id="findById" parameterType="pd" resultType="pd"> select f.* from <include refid="tableName"></include> f where f.TRAININGBATCH_ID = #{TRAININGBATCH_ID} </select> <!-- 列表 --> <select id="datalistPage" parameterType="page" resultType="pd"> select f.*, ma.NAME MANAGER_DEPT_NAME, ma_u.NAME MANAGER_USER_NAME, md.NAME MAIN_DEPARTMENT_NAME, (select MANAGER_TIME from bus_trainusers t1 where t1.TRAININGBATCH_ID = f.TRAININGBATCH_ID order by t1.MANAGER_TIME DESC LIMIT 0,1) AS MANAGER_TIME, su.NAME SUPERVISION_DEPT_NAME, su_u.NAME SUPERVISION_USER_NAME, (select SUPERVISION_TIME from bus_trainusers t2 where t2.TRAININGBATCH_ID = f.TRAININGBATCH_ID order by t2.SUPERVISION_TIME DESC LIMIT 0,1) AS SUPERVISION_TIME, te.NAME TERRITORIALITY_DEPT_NAME, te_u.NAME TERRITORIALITY_USER_NAME, (select TERRITORIALITY_TIME from bus_trainusers t3 where t3.TRAININGBATCH_ID = f.TRAININGBATCH_ID order by t3.TERRITORIALITY_TIME DESC LIMIT 0,1) AS TERRITORIALITY_TIME, cu.NAME TRAIN_CORP_LEADER_NAME, d.NAME TRAIN_AREA_NAME, c.RELEVANT_UNIT_NAME, syu.NAME AS CREATOR_NAME, vcd.NAME SUPERVISE_DEPARTMENT_NAME, vci.CORP_NAME SUPERVISE_CORPINFO_NAME, corpTypeDic.NAME corpTypeName, vcu.NAME AS VCU_NAME, (select count(*) from bus_trainusers t5 where t5.TRAININGBATCH_ID = f.TRAININGBATCH_ID and f.SUPERVISION_USER_ID = #{pd.USER_ID} and (t5.SUPERVISION_STATE in('1','0') or t5.MANAGER_STATE = '0' or t5.TERRITORIALITY_STATE = '0') ) as supervisionCount, (select count(*) from bus_trainusers t6 where t6.TRAININGBATCH_ID = f.TRAININGBATCH_ID and f.MANAGER_USER_ID = #{pd.USER_ID} and (t6.MANAGER_STATE in('1','0') or t6.SUPERVISION_STATE = '0') ) as managerCount, (select count(*) from bus_trainusers t7 where t7.TRAININGBATCH_ID = f.TRAININGBATCH_ID and f.TERRITORIALITY_USER_ID = #{pd.USER_ID} and (t7.TERRITORIALITY_STATE in('1','0') or t7.SUPERVISION_STATE = '0') ) as territorialityCount, (select count(*) from bus_trainusers t4 where t4.TRAININGBATCH_ID = f.TRAININGBATCH_ID AND t4.SUPERVISION_STATE = '1' and t4.MANAGER_STATE = '1' and t4.TERRITORIALITY_STATE = '1' ) as PASS_COUNT<!-- 根据小齐要求,已更新为申请状态中的审核通过人员数--> from <include refid="tableName"></include> f left join vi_department_all ma on ma.DEPARTMENT_ID = f.MANAGER left join vi_corp_user ma_u on ma_u.USER_ID = f.MANAGER_USER_ID left join vi_department_all su on su.DEPARTMENT_ID = f.SUPERVISION left join vi_regulatory_user su_u on su_u.USER_ID = f.SUPERVISION_USER_ID left join vi_department_all te on te.DEPARTMENT_ID = f.TERRITORIALITY left join vi_corp_user te_u on te_u.USER_ID = f.TERRITORIALITY_USER_ID left join vi_corp_user cu on cu.USER_ID = f.TRAIN_CORP_LEADER left join sys_dictionaries d on d.DICTIONARIES_ID = f.TRAIN_AREA left join bus_corpinfo c on c.CORPINFO_ID = f.CORPINFO_ID left join BUS_CORPINFODETAILS bcd on bcd.CORPINFO_ID = c.CORPINFO_ID left join sys_dictionaries corpTypeDic on corpTypeDic.BIANMA = bcd.CORP_TYPE left join vi_regulatory_department md on md.DEPARTMENT_ID = c.MAIN_DEPARTMENT left join sys_user syu on syu.USERNAME = f.CREATOR left join vi_corp_user vcu on vcu.USERNAME = f.CREATOR left join vi_corp_department vcd on vcd.DEPARTMENT_ID = c.SUPERVISE_DEPARTMENT_ID left join vi_corp_info vci on vci.CORPINFO_ID = c.SUPERVISE_CORPINFO_ID where 1=1 <if test="pd.TYPE != null and pd.TYPE != ''"> and f.TYPE = #{pd.TYPE} </if> <if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"> and f.CREATOR LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') </if> <!--9173 搜索框不好使--> <if test="pd.XGF_NAME_REG != null and pd.XGF_NAME_REG != ''"> and c.RELEVANT_UNIT_NAME LIKE CONCAT(CONCAT('%', #{pd.XGF_NAME_REG,jdbcType=VARCHAR}),'%') </if> <if test="pd.XGF_NAME != null and pd.XGF_NAME != ''"> and c.RELEVANT_UNIT_NAME LIKE CONCAT(CONCAT('%', #{pd.XGF_NAME}),'%') </if> <if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''"> and f.CORPINFO_ID = #{pd.CORPINFO_ID} </if> <if test="pd.MANAGER != null and pd.MANAGER != ''"> and f.MANAGER = #{pd.MANAGER} </if> <if test="pd.MANAGER_USER_ID != null and pd.MANAGER_USER_ID != ''"> and f.MANAGER_USER_ID = #{pd.MANAGER_USER_ID} </if> <if test="pd.TERRITORIALITY != null and pd.TERRITORIALITY != ''"> and f.TERRITORIALITY = #{pd.TERRITORIALITY} </if> <if test="pd.TRAIN_CORP_DEPT != null and pd.TRAIN_CORP_DEPT != ''"> and f.TRAIN_CORP_DEPT = #{pd.TRAIN_CORP_DEPT} </if> <if test="pd.TRAIN_CORP_DEPTS != null and pd.TRAIN_CORP_DEPTS != ''"> and FIND_IN_SET(f.TRAIN_CORP_DEPT, #{pd.TRAIN_CORP_DEPTS}) </if> <if test="pd.TRAIN_CORP_LEADER != null and pd.TRAIN_CORP_LEADER != ''"> and f.TRAIN_CORP_LEADER = #{pd.TRAIN_CORP_LEADER} </if> <if test="pd.AUDIT_STATUS != null and pd.AUDIT_STATUS != ''"> and f.AUDIT_STATUS = #{pd.AUDIT_STATUS} </if> <if test="pd.SELECT_STATUS != null and pd.SELECT_STATUS != '' and pd.SELECT_STATUS == 2 and (pd.AUDIT_STATUS == null or pd.AUDIT_STATUS == '')"> and f.AUDIT_STATUS > 1 </if> <if test="pd.STARTTIME != null and pd.STARTTIME != ''"> and DATE_FORMAT( f.CREATTIME, '%Y-%m-%d' ) BETWEEN DATE_FORMAT( #{pd.STARTTIME}, '%Y-%m-%d' ) and DATE_FORMAT( #{pd.ENDTIME}, '%Y-%m-%d' ) </if> <if test="pd.VERIFY_START_TIME != null and pd.VERIFY_START_TIME != ''"> and DATE_FORMAT( f.VERIFY_TIME, '%Y-%m-%d' ) BETWEEN DATE_FORMAT( #{pd.VERIFY_START_TIME}, '%Y-%m-%d' ) and DATE_FORMAT( #{pd.VERIFY_END_TIME}, '%Y-%m-%d' ) </if> <if test="pd.ENTRUST_STARTTIME != null and pd.ENTRUST_STARTTIME != ''"> and DATE_FORMAT( f.ENTRUST_TIME, '%Y-%m-%d' ) BETWEEN DATE_FORMAT( #{pd.ENTRUST_STARTTIME}, '%Y-%m-%d' ) and DATE_FORMAT( #{pd.ENTRUST_ENDTIME}, '%Y-%m-%d' ) </if> <if test="pd.SUPERVISION_USER_ID != null and pd.SUPERVISION_USER_ID != ''"> <!-- 安检--> and f.SUPERVISION_USER_ID = #{pd.SUPERVISION_USER_ID} </if> <if test="pd.TERRITORIALITY_USER_ID != null and pd.TERRITORIALITY_USER_ID != ''"> <!-- 属地管理部门审核人员--> and f.TERRITORIALITY_USER_ID = #{pd.TERRITORIALITY_USER_ID} </if> <if test="pd.MANAGER_USER_ID != null and pd.MANAGER_USER_ID != ''"> <!-- 主管部门--> and f.MANAGER_USER_ID = #{pd.MANAGER_USER_ID} </if> <if test="pd.MAndTUserId != null and pd.MAndTUserId != ''"> <!-- 主管部门--> and (f.MANAGER_USER_ID = #{pd.MAndTUserId} or f.TERRITORIALITY_USER_ID = #{pd.MAndTUserId}) </if> <if test="pd.user_index != null and pd.user_index != ''"> <!-- 主管部门--> and (f.MANAGER_USER_ID = #{pd.user_index} or f.TERRITORIALITY_USER_ID = #{pd.user_index} or f.SUPERVISION_USER_ID = #{pd.user_index}) </if> order by f.CREATTIME desc </select> <!-- 列表(全部) --> <select id="listAll" parameterType="pd" resultType="pd"> select f.* from <include refid="tableName"></include> f </select> <!-- 批量删除 --> <delete id="deleteAll" parameterType="String"> update <include refid="tableName"></include> set ISDELETE = '1' where TRAININGBATCH_ID in <foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")"> #{item} </foreach> </delete> <!-- 获取编码 --> <select id="getCode" parameterType="pd" resultType="pd"> SELECT COUNT(1) as code FROM <include refid="tableName"></include> f WHERE f.CREATTIME LIKE CONCAT(#{CREATDATE},'%') </select> <select id="batchUserlistPage" parameterType="page" resultType="pd"> SELECT u.USER_ID, u.USERNAME, u.CORPINFO_ID, u.NAME, u.ISFLOW, u.DEPART_STATE, t.STATUS, t.SUPERVISION_STATE, t.SUPERVISION_OPINION, t.SUPERVISION_TIME, tr.SUPERVISION, sup.NAME SUPERVISION_DEPT_NAME, t.MANAGER_STATE, t.MANAGER_OPINION, t.MANAGER_TIME, tr.MANAGER, man.NAME MANAGER_DEPT_NAME, t.TERRITORIALITY_STATE, t.TERRITORIALITY_OPINION, t.TERRITORIALITY_TIME, tr.TERRITORIALITY, tra.NAME TERRITORIALITY_DEPT_NAME, t.TRAINUSERS_ID, t.STEP_STATUS, d.NAME DEPARTMENT_NAME , tr.TERRITORIALITY_USER_ID, tr.SUPERVISION_USER_ID, tr.MANAGER_USER_ID, te.NAME as TERRITORIALITY_USER_NAME, s.NAME as SUPERVISION_USER_NAME, m.NAME as MANAGER_USER_NAME, n.STATUS as TRAIN_STATUS, tr.AUDIT_STATUS from SYS_USER u left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID left join BUS_TRAINUSERS t on t.USER_ID = u.USER_ID left join bus_trainingbatch tr on tr.TRAININGBATCH_ID = t.TRAININGBATCH_ID LEFT JOIN `qa-gwj-regulatory`.bus_class_info n ON n.TRAINUSERS_ID = t.TRAINUSERS_ID left join vi_corp_user te on te.USER_ID = tr.TERRITORIALITY_USER_ID left join vi_user_all s on s.USER_ID = tr.SUPERVISION_USER_ID left join vi_corp_user m on m.USER_ID = tr.MANAGER_USER_ID left join vi_department_all sup on sup.DEPARTMENT_ID = tr.SUPERVISION left join vi_department_all man on man.DEPARTMENT_ID = tr.MANAGER left join vi_department_all tra on man.DEPARTMENT_ID = tr.TERRITORIALITY where t.TRAININGBATCH_ID = #{pd.TRAININGBATCH_ID} </select> <select id="passUserlistPage" resultType="com.zcloud.entity.PageData"> select distinct su.USERNAME, su.NAME, sud.SEX, su.CARD_ID, ci.RELEVANT_UNIT_NAME, od.NAME as DEPARTMENT_NAME, sud.PHOTO, sud.PHONE, ci.CORPINFO_ID, su.USER_ID, a.TRAINUSERS_ID, ssu.JOBS_TYPE as PERSON_WORK_TYPE, ssu.CERTIFICATE from bus_trainusers a left join bus_trainingbatch tb on a.TRAININGBATCH_ID = tb.TRAININGBATCH_ID left join sys_user su on su.USER_ID = a.USER_ID left join SYS_USER_DETAILS sud on su.USER_ID = sud.USER_ID left join bus_corpinfo ci on ci.CORPINFO_ID = su.CORPINFO_ID left join oa_department od on od.DEPARTMENT_ID = su.DEPARTMENT_ID left join (select ssup.USER_ID, ssup. JOBS_TYPE, ssup.CERTIFICATE from sys_special_user ssup group by ssup.USER_ID) as ssu on ssu.USER_ID = a.USER_ID where su.AUDIT_STATE = '2' and tb.ISDELETE = '0' AND su.STATUS = '9' AND (a.STATUS = '1' or a.STATUS = '2') and a.SUPERVISION_STATE = 1 and a.MANAGER_STATE = 1 and a.TERRITORIALITY_STATE = 1 order by tb.CREATTIME </select> <!-- 通过ID获取数据 --> <select id="findAndTimeById" parameterType="pd" resultType="pd"> select f.*, supUser.USERNAME as SUPERVISION_USER_USERNAME, supUser.NAME as SUPERVISION_USER_NAME, supDept.NAME as SUPERVISION_DEPT_NAME, mangUser.NAME as MANAGER_USER_USERNAME, mangUser.NAME as MANAGER_USER_NAME, mangDept.NAME as MANAGER_DEPT_NAME, rerUser.NAME as ERRITORIALITY_USER_USERNAME, rerUser.NAME as ERRITORIALITY_USER_NAME, rerDept.NAME as ERRITORIALITY_DEPT_NAME, (SELECT MAX( t1.SUPERVISION_TIME ) AS SUPERVISION_TIME FROM bus_trainusers t1 where t1.TRAININGBATCH_ID = f.TRAININGBATCH_ID ) AS SUPERVISION_TIME, (SELECT MAX( t2.MANAGER_TIME ) AS MANAGER_TIME FROM bus_trainusers t2 where t2.TRAININGBATCH_ID = f.TRAININGBATCH_ID ) AS MANAGER_TIME, (SELECT MAX( t3.TERRITORIALITY_TIME ) AS TERRITORIALITY_TIME FROM bus_trainusers t3 where t3.TRAININGBATCH_ID = f.TRAININGBATCH_ID ) AS TERRITORIALITY_TIME from <include refid="tableName"></include> f left join vi_regulatory_user supUser on supUser.USER_ID = f.SUPERVISION_USER_ID left join vi_regulatory_department supDept on supDept.DEPARTMENT_ID = f.SUPERVISION left join vi_corp_user mangUser on mangUser.USER_ID = f.MANAGER_USER_ID left join vi_corp_department mangDept on mangDept.DEPARTMENT_ID = f.MANAGER left join vi_corp_user rerUser on rerUser.USER_ID = f.TERRITORIALITY_USER_ID left join vi_corp_department rerDept on rerDept.DEPARTMENT_ID = f.TERRITORIALITY where f.TRAININGBATCH_ID = #{TRAININGBATCH_ID} </select> </mapper>