Newer
Older
casic-metering-biz-xichang / casic-metering-dao / src / main / resources / mapper / business / BizBusinessOutsourceProtocolMapper.xml
<?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.casic.missiles.mapper.business.BizBusinessOutsourceProtocolMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.business.BizBusinessOutsourceProtocol">
        <id column="id" property="id" />
        <result column="protocol_no" property="protocolNo" />
        <result column="project_name" property="projectName" />
        <result column="lab_code" property="labCode" />
        <result column="group_code" property="groupCode" />
        <result column="outsourcer_id" property="outsourcerId" />
        <result column="remark" property="remark" />
        <result column="access_id" property="accessId" />
        <result column="access_no" property="accessNo" />
        <result column="access_file" property="accessFile" />
        <result column="access_other_file" property="accessOtherFile" />
        <result column="outsourcer_no" property="outsourcerNo" />
        <result column="outsourcer_name" property="outsourcerName" />
        <result column="contacts" property="contacts" />
        <result column="mobile" property="mobile" />
        <result column="address" property="address" />
        <result column="require_date" property="requireDate" />
        <result column="outsource_cost" property="outsourceCost" />
        <result column="director" property="director" />
        <result column="item" property="item" />
        <result column="requires" property="requires" />
        <result column="create_user_id" property="createUserId" />
        <result column="create_user_name" property="createUserName" />
        <result column="approval_status" property="approvalStatus" />
        <result column="process_id" property="processId" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, protocol_no, project_name, lab_code, group_code, outsourcer_id, remark, outsourcer_no, outsourcer_name, contacts, mobile, address, require_date, outsource_cost, director, item, requires, create_user_id, create_user_name, approval_status, process_id, create_time, update_time
    </sql>

    <select id="selectMaxProtocolNo" resultType="java.lang.Long">
        SELECT IFNULL(max(RIGHT(protocol_no, 7)), 0) from biz_business_outsource_protocol
    </select>

    <select id="selectBatchForApprovalList" resultMap="BaseResultMap">
        SELECT *
        FROM biz_business_outsource_protocol
        WHERE 1=1
        <if test="request != null and request.approvalStatus != null and request.approvalStatus !=''">
            and approval_status = #{request.approvalStatus}
        </if>
        <if test="request != null and request.createUserId != null and request.createUserId !=''">
            and create_user_id = #{request.createUserId}
        </if>
        <if test="request != null and request.protocolNo != null and request.protocolNo !=''">
            and protocol_no like concat('%',#{request.protocolNo},'%')
        </if>
        <if test="request != null and request.outsourcerId != null and request.outsourcerId !=''">
            and outsourcer_id = #{request.outsourcerId}
        </if>
        <if test="request != null and request.outsourcerName != null and request.outsourcerName !=''">
            and outsourcer_name like concat('%',#{request.outsourcerName},'%')
        </if>
        <if test="request != null and request.applicantName != null and request.applicantName !=''">
            and create_user_name like concat('%',#{request.applicantName},'%')
        </if>
        <if test="request != null and request.applicantTimeStart != null and request.applicantTimeStart !=''">
            and create_time &gt;= #{request.applicantTimeStart}
        </if>
        <if test="request != null and request.applicantTimeEnd != null and request.applicantTimeEnd !=''">
            and create_time &lt;= #{request.applicantTimeEnd}
        </if>
        <if test="request != null and request.accessNo != null and request.accessNo !=''">
            and access_no like concat('%',#{request.accessNo},'%')
        </if>
        <if test="request != null and request.contacts != null and request.contacts !=''">
            and contacts like concat('%',#{request.contacts},'%')
        </if>
        <if test="request != null and request.mobile != null and request.mobile !=''">
            and mobile like concat('%',#{request.mobile},'%')
        </if>
        <if test="request != null and request.requireDateStart != null and request.requireDateStart !=''">
            and require_date &gt;= #{request.requireDateStart}
        </if>
        <if test="request != null and request.requireDateEnd != null and request.requireDateEnd !=''">
            and require_date &lt;= #{request.requireDateEnd}
        </if>
        <if test="businessKeys != null">
            and id in
            <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        ORDER BY create_time DESC
    </select>
</mapper>