zhuo
2025-04-18 3b20b8b1316e47b0d92cc64f965a78d198b29944
inspect-server/src/main/resources/mapper/InsReportMapper.xml
@@ -64,4 +64,74 @@
        order by s.create_time desc
        limit 1
    </select>
    <!-- 报告报表导出 -->
    <select id="reportAllExport" resultType="com.ruoyi.inspect.dto.InsReportExport">
        select code,
        case when type_source = 0 then '成品下单' else '原材料下单' end                    type_source,
        case
        when order_type = '抽检' then '抽检'
        when order_type = 'Customer-ordered test' then '委托检验'
        when order_type = '进厂检验' then '进厂检验'
        when order_type = 'Quarterly inspection' then '季度检验'
        else '' end                                                                    order_type,
        DATE_FORMAT(create_Time, '%Y-%m-%d %H:%i:%s')                                      create_Time,
        write_user_name,
        DATE_FORMAT(write_time, '%Y-%m-%d %H:%i:%s')                                       write_time,
        case when state = 0 then '待提交' when state = 1 then '已提交' else '' end         state,
        examine_user,
        DATE_FORMAT(examine_time, '%Y-%m-%d %H:%i:%s')                                     examine_time,
        case when is_examine = 0 then '不通过' when is_examine = 1 then '通过' else '' end is_examine,
        examine_tell,
        ratify_user,
        DATE_FORMAT(ratify_time, '%Y-%m-%d %H:%i:%s')                                      ratify_time,
        case when is_ratify = 0 then '不批准' when is_ratify = 1 then '批准' else '' end   is_ratify,
        ratify_tell
        from (
        select
        ir.*,
        io.entrust_code,
        u.name write_user_name,
        u1.name ratify_user,
        u2.name examine_user,
        io.type_source,
        io.order_type,
        io.laboratory,
        io.ifs_inventory_id,
        iiq.is_copper,
        ip.son_laboratory
        from ins_report ir
        left join ins_order io on io.id = ir.ins_order_id
        LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id
        left join user u on u.id = ir.write_user_id
        left join user u1 on u1.id = ir.ratify_user_id
        left join user u2 on u2.id = ir.examine_user_id
        left join ins_sample is2 on is2.ins_order_id = io.id
        left join ins_product ip on ip.ins_sample_id = is2.id
        where 1=1
        and ir.is_pass = 1
        <if test="createOrderUser != null and createOrderUser != ''">
            and (ir.write_user_id = #{createOrderUser} or ir.examine_user_id = #{createOrderUser} or ir.ratify_user_id = #{createOrderUser})
        </if>
        <if test="queryStatus != null and queryStatus != ''">
            <!-- 待提交-->
            <if test='queryStatus == 0'>
                and ir.state = 0
            </if>
            <!-- 待审批-->
            <if test='queryStatus == 1'>
                and ir.state = 1 and (ir.is_examine != 1 or ir.is_examine is null)
            </if>
            <!-- 待批准-->
            <if test='queryStatus == 2'>
                and ir.state = 1 and ir.is_examine = 1 and (ir.is_ratify != 1 or ir.is_ratify is null)
            </if>
        </if>
        group by ir.id
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
        ORDER BY a.create_time DESC
    </select>
</mapper>