ZengTao
2025-03-14 2c08bfb96d6523dfbf5ae543e94495c151aadbf1
hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -122,5 +122,66 @@
        group by od.order_number, od.width, od.height
    </select>
    <select id="flowCardReportForms" resultType="com.mes.pp.entity.dto.FlowCardDTO">
        select a.product_name,
               b.glass_child,
               d.order_type,
               concat(c.process_id, '/', c.technology_number)                   as process_id,
               c.order_number,
               c.technology_number,
               a.width,
               a.height,
               c.quantity,
               e.reportWorkQuantity,
               e.reportWorkQuantityCount,
               e.reportWorkTime,
               e.brokenNum ,
               ifnull(f.inventory, 0)                                           as inventory,
               round(ifnull(f.inventory, 0) * a.area, 2)                        as inventoryArea,
               ifnull(dd.quantity, 0)                                           as shippedQuantity,
               ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')), '') AS glassNumber
        from pp.flow_card as c
                 left join
             sd.order_detail as a
             on c.order_id = a.order_id
                 and c.order_number = a.order_number
                 left join sd.order_glass_detail as b
                           on c.order_id = b.order_id
                               and b.order_number = c.order_number
                               and c.technology_number = b.technology_number
                 left join sd.`order` as d
                           on c.order_id = d.order_id
                 left join mm.finished_goods_inventory as f
                           on c.order_id = f.order_id and f.order_number = c.order_number
                 left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
                 left join (SELECT process_id,
                                   order_number,
                                   technology_number,
                                   ifnull(sum(a.broken_num),0) as brokenNum,
                                   concat('{',
                                          GROUP_CONCAT(concat('"', process, '":"', reporting_work_num, '"')),
                                          '}'
                                       )             as reportWorkQuantity,
                                   concat('{',
                                          GROUP_CONCAT(concat('"', process, '":"', reporting_work_num_count, '"')),
                                          '}'
                                       )             as reportWorkQuantityCount,
                                   concat('{',
                                          GROUP_CONCAT(concat('"', process, '":"', '"')),
                                          '}'
                                       )             as reportWorkTime
                            FROM sd.order_process_detail as a
                            where a.order_id = #{orderId}
                            GROUP BY process_id, a.order_number, a.technology_number) as e
                           on e.process_id = c.process_id
                               and e.technology_number = c.technology_number
                               and e.order_number = c.order_number
        where a.order_id = #{orderId}
          and d.create_order > 0
        group by c.order_number,
                 c.technology_number,
                 c.process_id
        order by c.process_id, c.order_number, c.technology_number
    </select>
</mapper>