<?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="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" /> <result column="outsourcer_name" property="outsourcerName" /> <result column="director" property="director" /> <result column="phone" property="phone" /> <result column="fax" property="fax" /> <result column="email" property="email" /> <result column="postal_code" property="postalCode" /> <result column="website" property="website" /> </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, pre_cost, approval_status, process_id, approve_situation, traceability, test_method, technique_ability, create_time, update_time, outsourcer_name, director, phone, fax, email, website </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.*, MAX(bbon.id) AS noticeId FROM biz_business_outsource_assess bboa LEFT JOIN biz_business_outsourcer_info bboi ON bboa.outsourcer_id = bboi.id LEFT JOIN biz_business_outsource_notice bbon ON (bboa.id = bbon.access_id AND bbon.approval_status = 4) 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 bboa.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 >= #{request.applicantTimeStart} </if> <if test="request != null and request.applicantTimeEnd != null and request.applicantTimeEnd !=''"> and bboa.applicant_time <= #{request.applicantTimeEnd} </if> <if test="request != null and request.director != null and request.director !=''"> and bboa.director like concat('%',#{request.director},'%') </if> <if test="request != null and request.contacts != null and request.contacts !=''"> and bboa.contacts like concat('%',#{request.contacts},'%') </if> <if test="request != null and request.mobile != null and request.mobile !=''"> and bboa.mobile like concat('%',#{request.mobile},'%') </if> <if test="request != null and request.outsourcerId != null and request.outsourcerId !=''"> and bboa.outsourcer_id = #{request.outsourcerId} </if> <if test="businessKeys != null"> and bboa.id in <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach> </if> GROUP BY bboa.id <!--保证LEFT JOIN的数据只有一条--> 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, bboa.outsourcer_name, bboa.full_address, bboa.director, bboa.postal_code, bboa.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,--> <!-- bboa.minio_file_name, bboa.process_id--> bboa.* 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>