<?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.gx.obe.server.management.dictionary.dao.WorkMemberMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.gx.obe.server.management.dictionary.entity.WorkMember"> <id column="MEMBER_ID" property="id"/> <result column="USER_ID" property="userId"/> <result column="TENDER_ID" property="tenderId"/> <result column="PROJECT_ID" property="projectId"/> <result column="MEMBER_TYPE" property="memberType"/> <result column="MONITOR_TYPE" property="monitorType"/> </resultMap> <!-- 通用查询映射结果 --> <resultMap id="WorkMemberMap" type="com.gx.obe.server.management.dictionary.entity.WorkMember"> <id column="MEMBER_ID" property="id"/> <result column="USER_ID" property="userId"/> <result column="TENDER_ID" property="tenderId"/> <result column="PROJECT_ID" property="projectId"/> <result column="MEMBER_TYPE" property="memberType"/> <result column="MONITOR_TYPE" property="monitorType"/> <association column="user" property="user" javaType="com.gx.obe.server.management.user.entity.AuthUserEntity"> <id column="A_USER_ID" property="id" /> <result column="A_USER_ACCOUNT" property="userAccount" /> <result column="A_USER_PASSWORD" property="userPassword" /> <result column="A_USER_NAME" property="userName" /> <result column="A_GENDER" property="gender" /> <result column="A_COMPANY" property="company" /> <result column="A_USER_IDCARD" property="userIdcard" /> <result column="A_PHONE" property="phone" /> <result column="A_USER_TYPE" property="userType" /> <result column="A_PROFESSIONAL_TITLE" property="professionalTitle" /> <result column="A_AVATAR" property="avatar" /> <result column="A_SPECIALTY" property="specialty" /> <result column="A_AREA_CODE" property="areaCode" /> <result column="A_USE_STATUS" property="useStatus" /> <result column="A_BINDING_CA" property="bindingCa" /> <result column="A_CREATE_TIME" property="createTime" /> <result column="A_MODIFY_TIME" property="modifyTime"/> <result column="A_DEFAULT_PASSWORD" property="defaultPassword" /> <result column="BANK_INFO" property="bankInfo" /> <result column="BANK_ACCOUNT" property="bankAccount" /> </association> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> MEMBER_ID, USER_ID, TENDER_ID, PROJECT_ID, MEMBER_TYPE </sql> <!-- 批量更新 --> <update id="updateBatchList" parameterType="java.util.List"> <foreach collection="WorkMemberList" item="WorkMember" index="index" open="" close="" separator=";"> UPDATE work_member <set> <if test="WorkMember.userId != null"> USER_ID = #{WorkMember.userId} , </if> <if test="WorkMember.tenderId != null"> TENDER_ID = #{WorkMember.tenderId} , </if> <if test="WorkMember.projectId != null"> PROJECT_ID = #{WorkMember.projectId} , </if> <if test="WorkMember.memberType != null"> MEMBER_TYPE = #{WorkMember.memberType} , </if> <if test="WorkMember.monitorType != null"> MONITOR_TYPE = #{WorkMember.monitorType} , </if> </set> <where> MEMBER_ID = #{WorkMember.id} </where> </foreach> </update> <!-- 批量插入--> <insert id="insertByBatch" parameterType="java.util.List"> insert into work_member ( MEMBER_ID, USER_ID, TENDER_ID, PROJECT_ID, MEMBER_TYPE,MONITOR_TYPE ) values <foreach collection="WorkMemberList" item="WorkMember" index="index" open="" close="" separator=","> ( #{WorkMember.id} , #{WorkMember.userId} , #{WorkMember.tenderId} , #{WorkMember.projectId} , #{WorkMember.memberType} , #{WorkMember.monitorType} ) </foreach> </insert> <!-- 返回指定类型的工作人员 --> <select id="getWorkerList" resultMap="WorkMemberMap"> SELECT m.*, u.USER_ID AS A_USER_ID, u.USER_NAME AS A_USER_NAME, u.USER_IDCARD AS A_USER_IDCARD, u.GENDER AS A_GENDER, u.PHONE AS A_PHONE, u.PROFESSIONAL_TITLE AS A_PROFESSIONAL_TITLE, u.SPECIALTY AS A_SPECIALTY, u.COMPANY AS A_COMPANY, u.AVATAR AS A_AVATAR, u.USER_TYPE AS A_USER_TYPE, u.USE_STATUS AS A_USE_STATUS, u.USER_ACCOUNT AS A_USER_ACCOUNT, u.BINDING_CA AS A_BINDING_CA FROM auth_user u, WORK_MEMBER m WHERE m.USER_ID = u.USER_ID <if test="isParentProject"> AND m.PROJECT_ID = #{tenderId} </if> <if test="isParentProject == false"> AND m.TENDER_ID = #{tenderId} </if> <if test="workerType != null and workerType != ''"> <if test="workerType == 00"> AND m.MEMBER_TYPE = #{workerType} </if> <if test="workerType == 01"> AND m.MEMBER_TYPE = #{workerType} </if> </if> <if test="workerType == null and workerType == ''"> AND (m.MEMBER_TYPE is NULL or m.MEMBER_TYPE == '' ) </if> </select> <!-- 返回指定项目的工作人员 --> <select id="getWorker" resultMap="WorkMemberMap"> SELECT m.*, u.* FROM auth_user u, work_member m WHERE m.USER_ID = u.USER_ID AND m.TENDER_ID = #{tenderId} AND m.USER_ID = #{userId} </select> <!-- 删除工作人员 --> <delete id="deleteWorker"> DELETE FROM WORK_MEMBER WHERE TENDER_ID = #{tenderId} AND USER_ID = #{userId} AND MEMBER_TYPE = #{wokerType} </delete> <!-- 删除所有工作人员 --> <delete id="delAllWorkers"> DELETE FROM WORK_MEMBER WHERE TENDER_ID = #{tenderId} AND MEMBER_TYPE = #{wokerType} </delete> <!-- 删除所有工作人员 --> <delete id="delAllWorkersByMonitorType"> DELETE FROM WORK_MEMBER WHERE TENDER_ID = #{tenderId} AND MEMBER_TYPE = #{wokerType} and MONITOR_TYPE =#{monitorType} </delete> <!-- 返回指定的工作人员 --> <select id="getWorkerByUserIdAndTenderIdOrMemberType" resultMap="WorkMemberMap"> SELECT m.*, u.USER_ID AS A_USER_ID, u.USER_NAME AS A_USER_NAME, u.USER_IDCARD AS A_USER_IDCARD, u.GENDER AS A_GENDER, u.PHONE AS A_PHONE, u.PROFESSIONAL_TITLE AS A_PROFESSIONAL_TITLE, u.SPECIALTY AS A_SPECIALTY, u.COMPANY AS A_COMPANY, u.AVATAR AS A_AVATAR, u.USER_TYPE AS A_USER_TYPE, u.USE_STATUS AS A_USE_STATUS, u.USER_ACCOUNT AS A_USER_ACCOUNT, u.BINDING_CA AS A_BINDING_CA FROM auth_user u, WORK_MEMBER m WHERE m.USER_ID = u.USER_ID AND m.TENDER_ID = #{tenderId} AND u.USER_ID = #{userId} <if test="wokerType != null and wokerType != ''"> AND m.MEMBER_TYPE = #{wokerType} </if> </select> </mapper>