TaskMapper.xml 17.7 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.ruoyi.mapper.TaskMapper">

    <resultMap id="BaseResultMap" type="com.ruoyi.domain.Task">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="systemReviewTaskId" column="system_review_task_id" jdbcType="BIGINT"/>
        <result property="carReviewTaskId" column="car_review_task_id" jdbcType="BIGINT"/>
        <result property="modelTestTaskId" column="model_test_task_id" jdbcType="BIGINT"/>
        <result property="taskStatus" column="task_status" jdbcType="VARCHAR"/>
        <result property="runStatus" column="run_status" jdbcType="VARCHAR"/>
        <result property="taskNo" column="task_no" jdbcType="VARCHAR"/>
        <result property="taskName" column="task_name" jdbcType="VARCHAR"/>
        <result property="confidentialityLevel" column="confidentiality_level" jdbcType="VARCHAR"/>
        <result property="productName" column="product_name" jdbcType="VARCHAR"/>
        <result property="productModel" column="product_model" jdbcType="VARCHAR"/>
        <result property="entrustedUnit" column="entrusted_unit" jdbcType="VARCHAR"/>
        <result property="entrustedUnitAddress" column="entrusted_unit_address" jdbcType="VARCHAR"/>
        <result property="entrustedUnitPhone" column="entrusted_unit_phone" jdbcType="VARCHAR"/>
        <result property="entrustedUnitCode" column="entrusted_unit_code" jdbcType="VARCHAR"/>
        <result property="vehicleSampleInformation" column="vehicle_sample_information" jdbcType="VARCHAR"/>
        <result property="partSampleInformation" column="part_sample_information" jdbcType="VARCHAR"/>
        <result property="taskInitiatorId" column="task_initiator_id" jdbcType="BIGINT"/>
        <result property="taskInitiator" column="task_initiator" jdbcType="VARCHAR"/>
        <result property="taskInitiatorDept" column="task_initiator_dept" jdbcType="VARCHAR"/>
        <result property="taskBeginTime" column="task_begin_time" jdbcType="TIMESTAMP"/>
        <result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/>
        <result property="leaderId" column="leader_id" jdbcType="BIGINT"/>
        <result property="leader" column="leader" jdbcType="VARCHAR"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="standardId" column="standard_id" jdbcType="BIGINT"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="standardNo" column="standard_no" jdbcType="VARCHAR"/>
        <result property="file" column="file" jdbcType="VARCHAR"/>
        <result property="taskList" column="task_list" jdbcType="VARCHAR"/>
        <result property="pointer" column="pointer" jdbcType="BIGINT"/>
        <result property="maxPointer" column="max_pointer" jdbcType="BIGINT"/>
    </resultMap>

    <resultMap id="ResponseMap" type="com.ruoyi.web.response.TaskFindResponse">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="systemReviewTaskId" column="system_review_task_id" jdbcType="BIGINT"/>
        <result property="carReviewTaskId" column="car_review_task_id" jdbcType="BIGINT"/>
        <result property="modelTestTaskId" column="model_test_task_id" jdbcType="BIGINT"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="taskNo" column="task_no" jdbcType="VARCHAR"/>
        <result property="taskName" column="task_name" jdbcType="VARCHAR"/>
        <result property="productModel" column="product_model" jdbcType="VARCHAR"/>
        <result property="taskStatus" column="task_status" jdbcType="VARCHAR"/>
        <result property="runStatus" column="run_status" jdbcType="VARCHAR"/>
        <result property="taskBeginTime" column="task_begin_time" jdbcType="TIMESTAMP"/>
        <result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/>
        <result property="systemTaskBeginTime" column="system_task_begin_time" jdbcType="TIMESTAMP"/>
        <result property="systemTaskEndTime" column="system_task_end_time" jdbcType="TIMESTAMP"/>
        <result property="carTaskBeginTime" column="car_task_begin_time" jdbcType="TIMESTAMP"/>
        <result property="carTaskEndTime" column="car_task_end_time" jdbcType="TIMESTAMP"/>
        <result property="leaderId" column="leader_id" jdbcType="BIGINT"/>
        <result property="leader" column="leader" jdbcType="VARCHAR"/>
        <result property="reviewStatus" column="review_status" jdbcType="VARCHAR"/>
        <result property="carReviewStatus" column="car_review_status" jdbcType="VARCHAR"/>
        <result property="testStatus" column="test_status" jdbcType="VARCHAR"/>
        <result property="testBeginTime" column="test_begin_time" jdbcType="TIMESTAMP"/>
        <result property="testEndTime" column="test_end_time" jdbcType="TIMESTAMP"/>
        <result property="standardNo" column="standard_no" jdbcType="BIGINT"/>
        <result property="taskList" column="task_list" jdbcType="BIGINT"/>
        <result property="pointer" column="pointer" jdbcType="BIGINT"/>
    </resultMap>

    <select id="findList" parameterType="com.ruoyi.web.request.TaskListRequest" resultMap="BaseResultMap">
        SELECT id, system_review_task_id, car_review_task_id,
               task_status,task_no,task_name,confidentiality_level,
               product_name,product_model,
               entrusted_unit,entrusted_unit_address,entrusted_unit_phone,
               entrusted_unit_code,vehicle_sample_information,part_sample_information,
               task_initiator_id,task_initiator,task_initiator_dept,
               task_begin_time,task_end_time,create_time,
               leader_id,leader,standard_id,name,
               standard_no,file
        FROM t_task
        <where>
            <if test="taskBeginTime != null and taskBeginTime != ''">
                task_begin_time = #{taskBeginTime}
            </if>
            <if test="taskStatus != null and taskStatus != ''">
                task_status = #{taskStatus}
            </if>
        </where>
        order by create_time desc
    </select>
    <select id="findPending" parameterType="com.ruoyi.web.request.TaskFindPendingRequest" resultMap="ResponseMap">
        SELECT t.id, t.system_review_task_id, t.car_review_task_id,t.model_test_task_id,
               t.task_no,t.task_name,t.task_status,t.run_status,t.name,
               t.leader_id,t.leader,
               t.task_begin_time,
               t.product_model,
               t.standard_no,
               t.task_list,
               t.pointer,
               srt.task_begin_time system_task_begin_time,
               srt.task_end_time system_task_end_time,
               srt.task_status review_status,
               crt.task_begin_time car_task_begin_time,
               crt.task_end_time car_task_end_time,
               crt.task_status car_review_status,
               mtt.task_begin_time test_begin_time,
               mtt.task_end_time test_end_time,
               mtt.task_status test_status,
               mtt.test_scheme_id testSchemeId
        FROM t_task t
        left join t_system_review_task srt on t.system_review_task_id = srt.id
        left join t_car_review_task crt on t.car_review_task_id = crt.id
        left join t_model_test_task mtt on t.model_test_task_id = mtt.id
        <where>
            t.id IN (
            SELECT task_id FROM t_task_user_relation WHERE user_id = #{userId}
            )
            and t.task_status IN ("NEW","PENDING")
            <if test="request.standardId != null and request.standardId != ''">
                and t.standard_id = #{request.standardId}
            </if>
            <if test="request.taskNo != null and request.taskNo != ''">
                and t.task_no like concat('%',#{request.taskNo},'%')
            </if>
            <if test="request.taskName != null and request.taskName != ''">
                and t.task_name like concat('%',#{request.taskName},'%')
            </if>
            <if test="request.productModel != null and request.productModel != ''">
                and t.product_model like concat('%',#{request.productModel},'%')
            </if>
            <if test="request.inspectionItem != null and request.inspectionItem != ''">
                and t.task_list like concat('%',#{request.inspectionItem},'%')
            </if>
        </where>
        order by t.create_time desc
    </select>
    <select id="findFinish" parameterType="com.ruoyi.web.request.TaskFindFinishRequest" resultType="com.ruoyi.domain.Task">
        SELECT t.id, t.system_review_task_id, t.car_review_task_id,t.model_test_task_id,
        t.task_no,t.task_name,t.task_status,t.name,
        t.product_model,
        t.standard_no,
        t.task_list,
        t.leader_id,t.leader,
        t.task_begin_time,t.task_end_time
        FROM t_task t
        <where>
            t.task_status IN ("FINISH")
            <if test="standardId != null and standardId != ''">
                and t.standard_id = #{standardId}
            </if>
            <if test="taskNo != null and taskNo != ''">
                and t.task_no like concat('%',#{taskNo},'%')
            </if>
            <if test="taskName != null and taskName != ''">
                and t.task_name like concat('%',#{taskName},'%')
            </if>
            <if test="productModel != null and productModel != ''">
                and t.product_model like concat('%',#{productModel},'%')
            </if>
            <if test="inspectionItem != null and inspectionItem != ''">
                and t.task_list like concat('%',#{inspectionItem},'%')
            </if>
        </where>
        order by t.task_begin_time desc
    </select>
    <select id="findByCarReviewTaskId" resultType="java.lang.Long">
        SELECT id
        FROM t_task
        WHERE car_review_task_id = #{carReviewId}
    </select>
    <select id="findBySystemReviewTaskId" resultType="java.lang.Long">
        SELECT id
        FROM t_task
        WHERE system_review_task_id = #{systemReviewId}
    </select>
    <select id="findByUserId" resultMap="ResponseMap">
        SELECT t.id, t.system_review_task_id, t.car_review_task_id,t.model_test_task_id,
               t.task_no,t.task_name,t.task_status,t.run_status,t.name,
               t.product_model,
               t.leader_id,t.leader,
               t.task_begin_time,
               t.task_end_time,
               t.standard_no,
               srt.task_begin_time system_task_begin_time,
               srt.task_end_time system_task_end_time,
               srt.task_status review_status,
               crt.task_begin_time car_task_begin_time,
               crt.task_end_time car_task_end_time,
               crt.task_status car_review_status,
               mtt.task_begin_time test_begin_time,
               mtt.task_end_time test_end_time,
               mtt.task_status test_status
        FROM t_task t
                 left join t_system_review_task srt on t.system_review_task_id = srt.id
                 left join t_car_review_task crt on t.car_review_task_id = crt.id
                 left join t_model_test_task mtt on t.model_test_task_id = mtt.id
        <where>
            and t.task_initiator_id = #{userId}
            and t.task_status not in ("TEMPORARILY")
            <if test="request.standardId != null and request.standardId != ''">
                and t.standard_id = #{request.standardId}
            </if>
            <if test="request.taskNo != null and request.taskNo != ''">
                and t.task_no like concat('%',#{request.taskNo},'%')
            </if>
            <if test="request.taskName != null and request.taskName != ''">
                and t.task_name like concat('%',#{request.taskName},'%')
            </if>
            <if test="request.productModel != null and request.productModel != ''">
                and t.product_model like concat('%',#{request.productModel},'%')
            </if>
            <if test="request.inspectionItem != null and request.inspectionItem != ''">
                and t.task_list like concat('%',#{request.inspectionItem},'%')
            </if>
            <if test="request.taskStatus != null and request.taskStatus != ''">
                and t.task_status = #{request.taskStatus}
            </if>
        </where>
        order by t.create_time desc
    </select>
    <select id="findUserFinish" parameterType="com.ruoyi.web.request.TaskFindFinishRequest" resultType="com.ruoyi.domain.Task">
        SELECT t.id, t.system_review_task_id, t.car_review_task_id,t.model_test_task_id,
        t.task_no,t.task_name,t.task_status,t.name,
        t.standard_no,
        t.product_model,
        t.task_list,
        t.leader_id,t.leader,
        t.task_begin_time,t.task_end_time
        FROM t_task t
        <where>
            t.id IN (
            SELECT task_id FROM t_task_user_relation WHERE user_id = #{userId}
            )
            and t.task_status = 'FINISH'
            <if test="request.standardId != null and request.standardId != ''">
                and t.standard_id = #{request.standardId}
            </if>
            <if test="request.taskNo != null and request.taskNo != ''">
                and t.task_no like concat('%',#{request.taskNo},'%')
            </if>
            <if test="request.taskName != null and request.taskName != ''">
                and t.task_name like concat('%',#{request.taskName},'%')
            </if>
            <if test="request.productModel != null and request.productModel != ''">
                and t.product_model like concat('%',#{request.productModel},'%')
            </if>
            <if test="request.inspectionItem != null and request.inspectionItem != ''">
                and t.task_list like concat('%',#{request.inspectionItem},'%')
            </if>
        </where>
        order by t.task_begin_time desc
    </select>
    <select id="getByUserIdTemporary" resultType="com.ruoyi.domain.Task">
        SELECT id, system_review_task_id, car_review_task_id,model_test_task_id,
               task_status,run_status,task_no,task_name,confidentiality_level,
               product_name,product_model,
               entrusted_unit,entrusted_unit_address,entrusted_unit_phone,
               entrusted_unit_code,vehicle_sample_information,part_sample_information,
               task_initiator_id,task_initiator,task_initiator_dept,
               task_begin_time,task_end_time,create_time,
               leader_id,leader,standard_id,name,
               standard_no,file,task_list
        FROM t_task
        WHERE task_initiator_id = #{userId} and task_status = 'TEMPORARILY'
    </select>
    <select id="getBySubtaskId" resultType="com.ruoyi.domain.Task">
        SELECT id, system_review_task_id, car_review_task_id,model_test_task_id,
               task_status,run_status,task_no,task_name,confidentiality_level,
               product_name,product_model,
               entrusted_unit,entrusted_unit_address,entrusted_unit_phone,
               entrusted_unit_code,vehicle_sample_information,part_sample_information,
               task_initiator_id,task_initiator,task_initiator_dept,
               task_begin_time,task_end_time,create_time,
               leader_id,leader,standard_id,name,
               standard_no,file,task_list
        FROM t_task
        WHERE system_review_task_id = #{subId} OR car_review_task_id = #{subId} OR model_test_task_id = #{subId}
    </select>
    <select id="findTaskName" resultType="java.lang.Long">
        select COUNT(*) sum from t_task
        where task_name = #{taskName}
    </select>

    <select id="selectEnterpriseFileData" resultType="com.ruoyi.domain.vo.EnterpriseFilePdfVO">
        select
            t.task_initiator_dept inspectionCenterName,
            concat(s.standard_no, ' ', s.name) inspectionBasis,
            t.task_list inspectionItem,
            DATE_FORMAT(t.create_time, '%Y-%m-%d') createTime,
            t.entrusted_unit clientName
        from
            t_task t
        left join t_standard s on t.standard_id = s.id
        where t.id = #{taskId}
    </select>

    <select id="selectInspectionReportData" resultType="com.ruoyi.domain.vo.InspectionReportPdfVO">
        select
            t.id AS reportNumber,
            t.product_name AS productName,
            t.product_model AS productModel,
            t.entrusted_unit AS entrustedUnit,
            t.entrusted_unit_address AS clientAddress,
            t.entrusted_unit_phone AS entrustedUnitTelephone,
            t.entrusted_unit_code AS clientPostalCode,
            GROUP_CONCAT(distinct s.sample_name) AS sampleName,
            t.product_model AS typeSpecification,
            concat(st.standard_no, ' ', st.name) AS inspectionBasis,
            GROUP_CONCAT(distinct ae.enterprise_name) AS productionEnterprise,
            GROUP_CONCAT(distinct s.sample_sender) AS sampleSender,
            GROUP_CONCAT(distinct DATE_FORMAT(s.delivery_date, '%Y-%m-%d')) AS sampleDeliveryDate,
            count(s.id) AS sampleQuantity,
            sum(s.number_of_samples) AS sampleSum,
            GROUP_CONCAT(distinct DATE_FORMAT(s.manufacture_date, '%Y-%m-%d')) AS sampleDeliveryDate,
            t.product_model AS vehicleType,
            t.id AS taskNumber,
            GROUP_CONCAT(distinct s.sample_number) AS sampleNumberSummary,
            GROUP_CONCAT(distinct s.identification_code) AS vehicleIdentificationNumber,
            t.task_list AS inspectionItem,
            DATE_FORMAT(t.create_time, '%Y-%m-%d') AS productionDate
        from
            t_task t
            left join t_task_sample_relation tsr on t.id = tsr.task_id
            left join t_sample s on tsr.sample_id = s.id
            left join t_automobile_enterprise ae on  s.manufacturing_enterprise_id = ae.id
            left join t_standard st on t.standard_id = st.id
        where t.id = #{taskId}
        group by t.id
    </select>


</mapper>