Newer
Older
casic-metering-biz-xichang / casic-metering-dao / src / main / resources / mapper / business / BizBusinessOutsourceAssessMapper.xml
wangpeng on 8 Sep 2023 5 KB 溯源管理、设备履历管理
<?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.BizBusinessOutsourceAssessMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.business.BizBusinessOutsourceAssess">
        <id column="id" property="id" />
        <result column="project_no" property="projectNo" />
        <result column="project_name" property="projectName" />
        <result column="lab_code" property="labCode" />
        <result column="group_code" property="groupCode" />
        <result column="applicant_id" property="applicantId" />
        <result column="applicant_name" property="applicantName" />
        <result column="applicant_time" property="applicantTime" />
        <result column="minio_file_name" property="minioFileName" />
        <result column="remark" property="remark" />
        <result column="create_user_id" property="createUserId" />
        <result column="create_user_name" property="createUserName" />
        <result column="outsourcer_id" property="outsourcerId" />
        <result column="item" property="item" />
        <result column="contacts" property="contacts" />
        <result column="mobile" property="mobile" />
        <result column="pre_start_time" property="preStartTime" />
        <result column="pre_end_time" property="preEndTime" />
        <result column="outsource_reason" property="outsourceReason" />
        <result column="pre_cost" property="preCost" />
        <result column="approval_status" property="approvalStatus" />
        <result column="process_id" property="processId" />
        <result column="approve_situation" property="approveSituation" />
        <result column="traceability" property="traceability" />
        <result column="test_method" property="testMethod" />
        <result column="technique_ability" property="techniqueAbility" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, project_no, project_name, lab_code, group_code, applicant_id, applicant_name, applicant_time, minio_file_name, remark,
        create_user_id, create_user_name, outsourcer_id, contacts, mobile, pre_start_time, pre_end_time, outsource_reason, pre_cost,
        approval_status, process_id, approve_situation, traceability, test_method, technique_ability, create_time, update_time
    </sql>

    <select id="selectMaxProjectNo" resultType="java.lang.Long">
        SELECT IFNULL(max(RIGHT(project_no, 3)), 0) from biz_business_outsource_assess
    </select>

    <select id="selectBatchForApprovalList" resultMap="BaseResultMap">
        SELECT bboa.*, bboi.outsourcer_name, bboi.director
        FROM biz_business_outsource_assess bboa
        LEFT JOIN biz_business_outsourcer_info bboi ON bboa.outsourcer_id = bboi.id
        WHERE 1=1
        <if test="request != null and request.approvalStatus != null and request.approvalStatus !=''">
            and bboa.approval_status = #{request.approvalStatus}
        </if>
        <if test="request != null and request.createUserId != null and request.createUserId !=''">
            and bboa.create_user_id = #{request.createUserId}
        </if>
        <if test="request != null and request.projectNo != null and request.projectNo !=''">
            and bboa.project_no like concat('%',#{request.projectNo},'%')
        </if>
        <if test="request != null and request.outsourcerName != null and request.outsourcerName !=''">
            and bboi.outsourcer_name like concat('%',#{request.outsourcerName},'%')
        </if>
        <if test="request != null and request.applicantName != null and request.applicantName !=''">
            and bboa.applicant_name like concat('%',#{request.applicantName},'%')
        </if>
        <if test="request != null and request.applicantTimeStart != null and request.applicantTimeStart !=''">
            and bboa.applicant_time &gt;= #{request.applicantTimeStart}
        </if>
        <if test="request != null and request.applicantTimeEnd != null and request.applicantTimeEnd !=''">
            and bboa.applicant_time &lt;= #{request.applicantTimeEnd}
        </if>
        <if test="businessKeys != null">
            and bboa.id in
            <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        ORDER BY bboa.create_time DESC
    </select>

    <select id="selectDetailById" resultType="com.casic.missiles.dto.business.outsource.OutsourceAssessDetailResponse">
        SELECT bboa.id, bboa.project_no, bboa.contacts, bboa.mobile, bboa.approve_situation, bboa.traceability, bboa.test_method,
        bboa.technique_ability, bboa.item, bboi.outsourcer_name, bboi.full_address, bboi.director, bboi.postal_code, bboi.fax,
        bboa.project_name, bboa.applicant_id, bboa.applicant_name, bboa.applicant_time, bboi.outsourcer_no, bboa.pre_start_time,
        bboa.pre_end_time, bboa.outsource_reason, bboa.pre_cost, bboa.remark, bboa.lab_code, bboa.group_code, bboa.outsourcer_id,
        bboi.outsourcer_no, bboa.minio_file_name, bboa.process_id
        FROM biz_business_outsource_assess bboa
        LEFT JOIN biz_business_outsourcer_info bboi ON bboa.outsourcer_id = bboi.id
        WHERE bboa.id = #{id}
    </select>

</mapper>