<?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.BusinessOutsourceProjectMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.casic.missiles.model.business.BusinessOutsourceProject"> <id column="id" property="id" /> <result column="project_no" property="projectNo" /> <result column="project_name" property="projectName" /> <result column="applicant_id" property="applicantId" /> <result column="applicant_name" property="applicantName" /> <result column="applicant_time" property="applicantTime" /> <result column="pre_cost" property="preCost" /> <result column="outsourcer_id" property="outsourcerId" /> <result column="outsource_reason" property="outsourceReason" /> <result column="pre_start_time" property="preStartTime" /> <result column="pre_end_time" property="preEndTime" /> <result column="minio_file_name" property="minioFileName" /> <result column="apply_approval_status" property="applyApprovalStatus" /> <result column="apply_process_id" property="applyProcessId" /> <result column="check_approval_status" property="checkApprovalStatus" /> <result column="check_process_id" property="checkProcessId" /> <result column="check_conclusion" property="checkConclusion" /> <result column="check_time" property="checkTime" /> <result column="remark" property="remark" /> <result column="create_user" property="createUser" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, project_no, project_name, applicant_id, applicant_name, applicant_time, pre_cost, outsourcer_id, outsource_reason, pre_start_time, pre_end_time, minio_file_name, apply_approval_status, apply_process_id, check_approval_status, check_process_id, check_conclusion, check_time, remark, create_time, update_time </sql> <select id="selectDraftListForApproval" resultType="com.casic.missiles.model.business.BusinessOutsourceProject"> SELECT bop.*, boi.outsourcer_name FROM business_outsource_project bop LEFT JOIN business_outsourcer_info boi ON bop.outsourcer_id = boi.id WHERE bop.approval_status = #{request.approvalStatus} AND bop.create_user = #{request.createUserId} <if test="request.projectNo != null and request.projectNo !=''"> and bop.project_no like concat('%',#{request.projectNo},'%') </if> <if test="request.projectName != null and request.projectName !=''"> and bop.project_name like concat('%',#{request.projectName},'%') </if> <if test="request.applicantName != null and request.applicantName !=''"> and bop.applicant_name like concat('%',#{request.applicantName},'%') </if> <if test="request.outsourcerName != null and request.outsourcerName !=''"> and boi.outsourcer_name like concat('%',#{request.outsourcerName},'%') </if> <if test="request.applicantStartTime != null and request.applicantStartTime !=''"> and bop.applicant_time >= #{request.applicantStartTime} </if> <if test="request.applicantEndTime != null and request.applicantEndTime !=''"> and bop.applicant_time <= #{request.applicantEndTime} </if> </select> <select id="selectBatchForApproval" resultType="com.casic.missiles.model.business.BusinessOutsourceProject"> SELECT bop.*, boi.outsourcer_name FROM business_outsource_project bop LEFT JOIN business_outsourcer_info boi ON bop.outsourcer_id = boi.id WHERE bop.approval_status = #{request.approvalStatus} AND bop.create_user = #{request.createUserId} <if test="request.projectNo != null and request.projectNo !=''"> and bop.project_no like concat('%',#{request.projectNo},'%') </if> <if test="request.projectName != null and request.projectName !=''"> and bop.project_name like concat('%',#{request.projectName},'%') </if> <if test="request.applicantName != null and request.applicantName !=''"> and bop.applicant_name like concat('%',#{request.applicantName},'%') </if> <if test="request.outsourcerName != null and request.outsourcerName !=''"> and boi.outsourcer_name like concat('%',#{request.outsourcerName},'%') </if> <if test="request.applicantStartTime != null and request.applicantStartTime !=''"> and bop.applicant_time >= #{request.applicantStartTime} </if> <if test="request.applicantEndTime != null and request.applicantEndTime !=''"> and bop.applicant_time <= #{request.applicantEndTime} </if> and id in <foreach collection="businessKey" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach> </select> <select id="selectMaxOutsourcerNo" resultType="java.lang.Long"> SELECT IFNULL(max(RIGHT(project_no, 12)), 0) FROM business_outsource_project </select> <select id="selectProjectById" resultType="com.casic.missiles.model.business.BusinessOutsourceProject"> SELECT bop.*, boi.outsourcer_name FROM business_outsource_project bop LEFT JOIN business_outsourcer_info boi ON bop.outsourcer_id = boi.id WHERE bop.id = #{id} </select> </mapper>