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

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.business.BusinessCertificateReport">
        <id column="id" property="id"/>
        <result column="certificate_report_code" property="certificateReportCode"/>
        <result column="certificate_report_name" property="certificateReportName"/>
        <result column="certificate_report_category" property="certificateReportCategory"/>
        <result column="order_id" property="orderId"/>
        <result column="sample_id" property="sampleId"/>
        <result column="calibration_major" property="calibrationMajor"/>
        <result column="issuance_date" property="issuanceDate"/>
        <result column="expiration_date" property="expirationDate"/>
        <result column="template_id" property="templateId"/>
        <result column="sign_id" property="signId"/>
        <result column="approval_sign_id" property="approvalSignId"/>
        <result column="certificate_report_file" property="certificateReportFile"/>
        <result column="original_record_id" property="originalRecordId"/>
        <result column="print_status" property="printStatus"/>
        <result column="print_num" property="printNum"/>
        <result column="remark" property="remark"/>
        <result column="is_del" property="isDel"/>
        <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, certificate_report_code, certificate_report_name, certificate_report_category, calibration_major, issuance_date, expiration_date, template_id, sign_id, approval_sign_id, certificate_report_file, original_record_id, print_status, print_num, remark, is_del, create_user, create_time, update_time
    </sql>

    <select id="selectBatchForApprovalList" resultType="com.casic.missiles.dto.business.print.CertificateListResponse">
        SELECT bcr.id,certificate_no AS "certificateNo",bcr.certificate_name AS "certificateName",csi.sample_no AS "sampleNo",,csi.sample_name
        AS "sampleName",csi.sample_model AS "sampleModel",csi.manufacturing_no AS "manufacturingNo",bo.order_code AS "orderNo",bo.measure_type
        AS "measureType",bcr.certificate_type AS "certificateType",bcr.print_status AS "printStatus",bcr.print_num AS "printNum",bcr.approval_status AS  "approvalStatus",
        bcr.create_time AS "createTime",measurePersonId
        FROM (
            SELECT *
            FROM business_certificate_report
            WHERE is_del = 0
            <if test="request.certificateNo != null and request.certificateNo !=''">
                and certificate_no like concat('%',#{request.certificateNo},'%')
            </if>
            <if test="request.certificateClass != null and request.certificateClass !=''">
                and certificate_class like concat('%',#{request.certificateClass},'%')
            </if>
            <if test="request.printStatus != null and request.printStatus !=''">
                and print_status like concat('%',#{request.printStatus},'%')
            </if>
            <if test="request.businessKey != null">
                and bcr.id in
                <foreach collection="businessKey" item="id" index="index" open="(" close=")" separator=",">
                    #{id}
                </foreach>
            </if>
        ) bcr
        JOIN (
            SELECT id
            FROM business_order
            WHERE is_del=0
            <if test="request.orderNo != null and request.orderNo !=''">
                and ORDER_CODE like concat('%',#{request.orderNo},'%')
            </if>
            <if test="request.cutomerName != null and request.cutomerName !=''">
                and CUTOMER_NAME like concat('%',#{request.cutomerName},'%')
            </if>
        ) bo ON bo.id=bcr.orderId
        JOIN (
            SELECT id
            FROM customer_sample_info
            WHERE is_del=0
            <if test="request.sampleNo != null and request.sampleNo !=''">
                and SAMPLE_NO like concat('%',#{request.sampleNo},'%')
            </if>
            <if test="request.sampleName != null and request.sampleName !=''">
                and SAMPLE_NAME like concat('%',#{request.sampleName},'%')
            </if>
        ) csi ON csi.id=bcr.sampleId
    </select>

</mapper>