廖井涛
2025-08-11 b499a7e1dbcc4b9dbcdcaa46bbf5c24271bf6698
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -174,22 +174,23 @@
               c.technology_number,
               b.child_width,
               b.child_height,
              if(c.technology_number=1,c.quantity,0) as quantity,
#                c.quantity,
               c.quantity as thisQuantity,/*用于判断是否改变颜色*/
              if(c.technology_number=1,c.quantity-ifnull(c.termination_quantity,0),0) as quantity,
               c.quantity-ifnull(c.termination_quantity,0) as thisQuantity,/*用于判断是否改变颜色*/
               e.reportWorkQuantity,
               e.reportWorkQuantityShow,
               e.reportWorkQuantityCount,
               e.reportWorkTime,
               e.broken_num,
               c.quantity as glassQuantity,
               c.quantity-ifnull(c.termination_quantity,0) as glassQuantity,
#                c.quantity*a.area as gross_area,
#                ifnull(f.inventory, 0) as inventory,
#                round(ifnull(f.inventory, 0) * a.area, 2) as inventoryArea,
#                ifnull(dd.quantity, 0) as shippedQuantity,
               c.quantity-ifnull(c.termination_quantity,0) as quantityShow,
               (c.quantity-ifnull(c.termination_quantity,0))*a.area as grossAreaShow,
               ifnull(f.inventory, 0) as inventoryShow,
               round(ifnull(f.inventory, 0) * a.area, 2) as inventoryAreaShow,
               ifnull(dd.quantity, 0) as shippedQuantityShow,
               if(c.technology_number=1,c.quantity*a.area,0) as gross_area,
               if(c.technology_number=1,(c.quantity-ifnull(c.termination_quantity,0))*a.area,0) as grossArea,
               if(c.technology_number=1,ifnull(f.inventory, 0) ,0)                        as inventory,
               if(c.technology_number=1,round(ifnull(f.inventory, 0) * a.area, 2),0)      as inventoryArea,
               if(c.technology_number=1,ifnull(dd.quantity, 0) ,0)                          as shippedQuantity,
@@ -217,7 +218,7 @@
                                   technology_number,
                                   sum(a.broken_num) as broken_num,
                                   concat('{',
                                          GROUP_CONCAT(concat("\"", process, "\":\"", if(technology_number!=1 and (bd.nickname is not null and bd.nickname !='') ,0,reporting_work_num), "\"")),
                                          GROUP_CONCAT(concat("\"", process, "\":\"", if(technology_number!=1 and (bd.nickname='stepD' || bd.nickname='stepB' ) ,0,reporting_work_num), "\"")),
                                          '}'
                                       )             as reportWorkQuantity,
                                   concat('{',
@@ -243,7 +244,7 @@
                           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
        where a.order_id = #{orderId} and d.create_order>0 and c.quantity-ifnull(c.termination_quantity,0)>0
        group by c.order_number,
                 c.technology_number,
                 c.process_id
@@ -549,14 +550,14 @@
               ogd.glass_child,
               ogd.child_width,
               ogd.child_height,
               fc.quantity,
               fc.quantity - ifnull(fc.termination_quantity,0) as quantity,
               ROUND(ogd.child_width * ogd.child_height / 1000000, 2)               as childArea,
               ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as actualArea,
               ROUND(ogd.child_width * ogd.child_height * (fc.quantity- ifnull(fc.termination_quantity,0)) / 1000000, 2) as actualArea,
               odpd.reporting_work_num                                              as completeNum,
               ROUND(ogd.child_width * ogd.child_height * odpd.reporting_work_num / 1000000,
                     2)                                                             as completeArea,
               fc.quantity - odpd.reporting_work_num                                as incompleteNum,
               ROUND(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num) / 1000000,
               fc.quantity - odpd.reporting_work_num - ifnull(fc.termination_quantity,0)      as incompleteNum,
               ROUND(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num- ifnull(fc.termination_quantity,0)) / 1000000,
                     2)                                                             as incompleteArea,
               od.product_name
@@ -583,6 +584,7 @@
          and position(#{orderId} in od.order_id)
          and position(#{inputProject} in o.project)
          and GREATEST(fc.quantity - odpd.reporting_work_num, 0)>0
          and fc.quantity-ifnull(fc.termination_quantity,0)>0
        group by fc.process_id, fc.order_number, fc.technology_number
        order by fc.process_id, fc.order_number, fc.technology_number
@@ -817,7 +819,7 @@
               a.product_name,
               b.child_width,
               b.child_height,
               c.quantity,
               c.quantity - ifnull(c.termination_quantity,0) as quantity,
               c.technology_number,
               b.glass_child,
               ifnull(e.reportWorkQuantity, 0)                      as reportWorkQuantity,
@@ -860,7 +862,7 @@
                                and   e.order_number=c.order_number
                               and e.technology_number = c.technology_number
                 left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
        where a.order_id = #{orderId} and d.create_order>0
        where a.order_id = #{orderId} and d.create_order>0 and c.quantity - ifnull(c.termination_quantity,0)>0
        group by c.order_number,c.technology_number
        ORDER BY a.order_number
    </select>
@@ -2196,6 +2198,9 @@
        <if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''">
            and od.edging_type regexp #{teamOutputDTO.edgingType}
        </if>
        <if test="teamOutputDTO.deviceName != null and teamOutputDTO.deviceName != ''">
            and rw.device_name regexp #{teamOutputDTO.deviceName}
        </if>
        <choose>
            <when test="laminating == ''">
                GROUP BY
@@ -2758,6 +2763,7 @@
                       where
                           e.id is not null
                         and (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)>0 group by f.process_id, f.order_number,
        f.technology_number ORDER BY f.process_id, f.order_number,
        f.technology_number) as g
                            <choose>
                                <when test="laminating == 'stepC' and process == '预压'">