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

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval">
        <id column="id" property="id" />
        <result column="certificate_no" property="certificateNo" />
        <result column="certificate_name" property="certificateName" />
        <result column="lab_code" property="labCode" />
        <result column="group_code" property="groupCode" />
        <result column="order_id" property="orderId" />
        <result column="sample_id" property="sampleId" />
        <result column="data_id" property="dataId" />
        <result column="original_record_file" property="originalRecordFile" />
        <result column="certificate_file" property="certificateFile" />
        <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, certificate_no, certificate_name, lab_code, group_code, order_id, sample_id, data_id, original_record_file, certificate_file,
        create_user_id, create_user_name, approval_status, process_id, create_time, update_time
    </sql>

    <select id="selectBatchForApprovalList" resultMap="BaseResultMap">
        SELECT bbdma.*, eei.equipment_no AS sampleNo, eei.equipment_name AS sampleName, eei.model AS sampleModel,
        bbdmi.measure_category AS measureCategory,  bbdmi.create_user_name AS staffName, bbdmi.trace_date AS traceDate
        FROM biz_business_device_measure_approval bbdma
        JOIN eqpt_equipment_info eei ON bbdma.sample_id = eei.id
        JOIN biz_business_device_measure_info bbdmi ON bbdma.data_id = bbdmi.id
        WHERE 1=1
        <if test="request != null and request.approvalStatus != null and request.approvalStatus !=''">
            and bbdma.approval_status = #{request.approvalStatus}
        </if>
        <if test="request != null and request.createUserId != null and request.createUserId !=''">
            and bbdma.create_user_id = #{request.createUserId}
        </if>
        <if test="request != null and request.certificateNo != null and request.certificateNo !=''">
            and bbdma.certificate_no like concat('%',#{request.certificateNo},'%')
        </if>
        <if test="request != null and request.certificateName != null and request.certificateName !=''">
            and bbdma.certificate_name like concat('%',#{request.certificateName},'%')
        </if>
        <if test="request != null and request.sampleNo != null and request.sampleNo !=''">
            and eei.equipment_no like concat('%',#{request.sampleNo},'%')
        </if>
        <if test="request != null and request.measureCategory != null and request.measureCategory !=''">
            and bbdmi.measure_category = #{request.measureCategory}
        </if>
        <if test="request != null and request.staffName != null and request.staffName !=''">
            and bbdmi.create_user_name = #{request.staffName}
        </if>
        <if test="request != null and request.traceDateStart != null and request.traceDateStart !=''">
            and bbdmi.trace_date &gt;= #{request.traceDateStart}
        </if>
        <if test="request != null and request.traceDateEnd != null and request.traceDateEnd !=''">
            and bbdmi.trace_date &lt;= #{request.traceDateEnd}
        </if>
        <if test="businessKeys != null">
            and bbdma.id in
            <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        ORDER BY bbdma.create_time DESC
    </select>

    <select id="selectMaxCertNo" resultType="java.lang.Long">
        SELECT IFNULL(max(RIGHT(certificate_no, 4)), 0) from biz_business_device_measure_approval
    </select>

    <select id="selectDetailById" resultMap="BaseResultMap">
        SELECT bbdma.*, eei.equipment_no AS sampleNo, eei.equipment_name AS sampleName, eei.model AS sampleModel,
        bbdmi.measure_category AS measureCategory,  bbdmi.create_user_name AS staffName, bbdmi.trace_date AS traceDate
        FROM biz_business_device_measure_approval bbdma
        JOIN eqpt_equipment_info eei ON bbdma.sample_id = eei.id
        JOIN biz_business_device_measure_info bbdmi ON bbdma.data_id = bbdmi.id
        WHERE bbdma.id = #{id}
    </select>

    <select id="customTemplateUrl" resultType="java.lang.String">
        SELECT minio_file_name
        FROM  system_template
        WHERE template_name= #{templateName}
        AND   template_type= #{coverModuleName}
        AND   template_desc like concat('%',#{descn},'%')
    </select>

    <select id="certificateRecordsById" resultType="com.casic.missiles.dto.business.certificate.CertificateRecordResponse">
        SELECT bcr.id AS certificationId, bcr.certificate_no AS certificateReportNo, bcr.certificate_name AS certificateReportName,
        bcr.trace_date AS calibrationTime, bcr.measure_valid_date AS expirationDate, bcr.certificate_file AS certificateReportFile
        FROM biz_business_device_measure_approval bcr
        JOIN biz_business_device_measure_info bbdmi ON bcr.data_id = bcr.id
        JOIN (
        select id
        from biz_business_order_info
        where 1=1
        <if test="request.customerId != null and request.customerId !=''">
            AND customer_id = #{request.customerId}
        </if>
        )bo ON bo.id = bcr.order_id
        WHERE 1=1
        <if test="request.sampleId != null and request.sampleId !=''">
            AND bcr.sample_id = #{request.sampleId}
        </if>
        ORDER BY bcr.create_time DESC
    </select>

    <select id="certificateMonitorsById" resultType="com.casic.missiles.dto.business.certificate.CertificateMonitorDTO">
        SELECT bcr.id AS certificateId, bcr.certificate_no AS certificateReportNo, bcr.certificate_name AS certificateReportName,
        bcr.create_time AS submitTime, bcr.update_time AS finishedTime, bcr.approval_status AS certificateStatus, ms.staff_name AS staffName
        FROM biz_business_device_measure_approval bcr
        JOIN biz_business_device_measure_info bbdmi ON bcr.data_id = bcr.id
        LEFT JOIN biz_resource_staff_info ms ON bbdmi.measure_person_id = ms.id
        WHERE 1=1
        <if test="request.sampleId != null and request.sampleId !=''">
            AND bcr.sample_id = #{request.sampleId}
        </if>
        ORDER BY bcr.update_time DESC
    </select>
</mapper>