Fixiaobai
2023-09-05 c9da1b0da1178911e383ddcaebecd1e088fa6004
inspection-server/src/main/resources/mapper/ReportMapper.xml
@@ -46,7 +46,9 @@
        <result property="checkTime" column="check_time"/>
        <result property="inspectionStatus" column="inspection_status"/>
        <result property="notes" column="notes"/>
        <result property="iUserName" column="iUserName"/>
        <collection property="products" resultMap="products" javaType="java.util.List"/>
        <collection property="equipment" resultMap="equipment" javaType="java.util.List"/>
    </resultMap>
    <resultMap id="products" type="map">
@@ -58,10 +60,16 @@
        <result property="testState" column="test_state"/>
        <result property="ipName" column="ipName"/>
    </resultMap>
    <resultMap id="equipment" type="map">
        <result property="eId" column="eId"/>
        <result property="eName" column="eName"/>
        <result property="eType" column="eType"/>
        <result property="eCode" column="eCode"/>
        <result property="validty" column="validty"/>
    </resultMap>
    <select id="getReportContext" resultMap="report">
        SELECT
            r.`code` rcode,
        SELECT r.`code`                                                                         rcode,
            date_format( r.create_time, '%Y-%m-%d' ) create_time,
            date_format( r.check_time, '%Y-%m-%d' ) check_time,
            i.inspection_status,
@@ -79,19 +87,28 @@
            ip.required,
            ip.test_value,
            ip.test_state,
            u.`name` ipName,
            im.notes
        FROM
            report r
               (SELECT u.`name` FROM `user` u WHERE u.id = i.user_id)                           iUserName,
               im.notes,
               ins.id                                                                           eId,
               ins.equipment_name                                                               eName,
               ins.specifications_models                                                        eType,
               ins.equipment_code                                                               eCode,
               DATE_FORMAT(DATE_ADD(mi.end_date, INTERVAL ins.term_validity MONTH), '%Y-%m-%d') validty
        FROM report r
                LEFT JOIN inspection i ON r.inspection_id = i.id
                LEFT JOIN inspection_material im ON im.inspection_id = i.id
                LEFT JOIN inspection_product ip ON ip.inspection_material_id = im.id
                LEFT JOIN `user` u on ip.user_id =u.id
        WHERE
            ip.state != 0
                 LEFT JOIN `user` u ON ip.user_id = u.id
                 LEFT JOIN instrument ins ON ip.instrument_id = ins.id
                 LEFT JOIN metrical_information mi on ins.id = mi.instrument_id
        WHERE ip.state != 0
   AND im.state != 0
   AND ins.state != 0
   AND u.state != 0
   AND i.state != 0
   AND r.`code` = #{code}
        ORDER BY mi.end_date DESC
            LIMIT 1
    </select>
</mapper>