邱宇豪
2023-10-26 5336eab18039e814aebe78e14b07a4baf50fd560
hd/pipe/secure/src/main/resources/mapping/PipeReportMapper.xml
@@ -13,7 +13,7 @@
               IFNULL(e.shippingNum,0) shippingNum
       FROM      (
                         SELECT
                             COUNT(b.pro_id) produceTotal,
                             COUNT(a.pro_id) produceTotal,
                             b.pro_id,
                             b.pro_name
                         FROM  sys_project b
@@ -47,58 +47,57 @@
   </select>
    <select id="getSteelReportList" resultType="com.thhy.secure.modules.biz.pipereport.entity.PipeReportEntity">
                SELECT
                        c.pro_id proId,
                        c.pro_name proName,
                        IFNULL(c.produceTotal,0) produceTotal,
                        IFNULL(d.qualifiedTotal,0) qualifiedTotal,
                        IFNULL(e.moldedNotNum,0) moldedNotNum,
                        IFNULL(f.moldedNum,0) moldedNum
                FROM(
                            SELECT
                                    COUNT(a.pro_id) produceTotal,
                                    b.pro_id,
                                    b.pro_name
                            FROM sys_project b
                                         LEFT JOIN t_steel_produce a on b.pro_id = a.pro_id
                            WHERE b.is_use =1 and b.company_id = #{companyId}
                            GROUP BY b.pro_id
        SELECT
                c.pro_id proId,
                c.pro_name proName,
                IFNULL(c.produceTotal,0) produceTotal,
                IFNULL(d.qualifiedTotal,0) qualifiedTotal,
                IFNULL(e.moldedNotNum,0) moldedNotNum,
                IFNULL(f.moldedNum,0) moldedNum
        FROM(
                SELECT
                        COUNT(b.pro_id) produceTotal,
                        b.pro_id,
                        b.pro_name
                FROM sys_project b
                             LEFT JOIN t_pipe_info a on b.pro_id = a.pro_id
                WHERE b.is_use =1 and b.company_id = #{companyId}
                GROUP BY b.pro_id
            ) c
        LEFT JOIN
            (
                SELECT
                        COUNT(a.pro_id) qualifiedTotal,
                        a.pro_id,
                        b.pro_name
                FROM t_steel_produce a
                             LEFT JOIN sys_project b on b.pro_id = a.pro_id
                WHERE a.is_qualified = 1 and a.is_use = 1  and b.company_id = #{companyId}
                GROUP BY a.pro_id
            ) d ON d.pro_id = c.pro_id
        LEFT JOIN
            (
                SELECT
                        COUNT(a.pro_id) moldedNotNum,
                        a.pro_id,
                        b.pro_name
                FROM t_steel_produce a
                             LEFT JOIN sys_project b on b.pro_id = a.pro_id
                WHERE a.is_model = 2 and a.is_use = 1  and b.company_id = #{companyId}
                GROUP BY a.pro_id
            ) e on e.pro_id = c.pro_id
        LEFT JOIN
            (
                SELECT
                        COUNT(a.pro_id) moldedNum,
                        a.pro_id,
                        b.pro_name
                FROM t_steel_produce a
                             LEFT JOIN sys_project b on b.pro_id = a.pro_id
                WHERE a.is_model = 1 and a.is_use = 1  and b.company_id = #{companyId}
                GROUP BY a.pro_id
            ) f on f.pro_id = c.pro_id
                            ) c
                            LEFT JOIN
                            (
                                    SELECT
                                            COUNT(a.pro_id) qualifiedTotal,
                                            a.pro_id,
                                            b.pro_name
                                    FROM t_steel_produce a
                                                 LEFT JOIN sys_project b on b.pro_id = a.pro_id
                                    WHERE a.is_qualified = 1 and a.is_use = 1  and b.company_id = #{companyId}
                                    GROUP BY a.pro_id
                                    ) d ON d.pro_id = c.pro_id
                            LEFT JOIN
                            (
                                    SELECT
                                            COUNT(a.pro_id) moldedNotNum,
                                            a.pro_id,
                                            b.pro_name
                                    FROM t_steel_produce a
                                                 LEFT JOIN sys_project b on b.pro_id = a.pro_id
                                    WHERE a.is_model = 2 and a.is_use = 1  and b.company_id = #{companyId}
                                    GROUP BY a.pro_id
                                    ) e on e.pro_id = c.pro_id
                            LEFT JOIN
                            (
                                    SELECT
                                            COUNT(a.pro_id) moldedNum,
                                            a.pro_id,
                                            b.pro_name
                                    FROM t_steel_produce a
                                                 LEFT JOIN sys_project b on b.pro_id = a.pro_id
                                    WHERE a.is_model = 1 and a.is_use = 1  and b.company_id = #{companyId}
                                    GROUP BY a.pro_id
                                    ) f on f.pro_id = c.pro_id
    </select>
</mapper>