From fec9f42e00f2df68a2a20cbf132b17bdeed8e63a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 25 八月 2025 09:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml |  320 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 266 insertions(+), 54 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index e79a190..b3ea803 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -53,6 +53,8 @@
         <result column="quantity_available" property="finishedGoodsInventory.quantityAvailable"/>
         <result column="storage_region" property="finishedGoodsInventory.storageRegion"/>
         <result column="actual_signal_area" property="finishedGoodsInventory.actualSignalArea"/>
+        <result column="box_no" property="finishedGoodsInventory.boxNo"/>
+        <result column="id" property="finishedGoodsInventory.id"/>
 
 
     </resultMap>
@@ -105,6 +107,7 @@
         <result column="delivery_number" property="deliveryNumber"/>
         <result column="quantity" property="quantity"/>
         <result column="area" property="area"/>
+        <result column="price" property="price"/>
         <result column="money" property="money"/>
         <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
         <result column="delivery_detail_state" property="deliveryDetailState"/>
@@ -113,6 +116,10 @@
         <result column="product_id" property="orderDetail.productId"/>
         <result column="product_name" property="orderDetail.productName"/>
         <result column="order_id" property="orderDetail.orderId"/>
+        <result column="width" property="orderDetail.edgingType"/>
+        <result column="height" property="orderDetail.shape"/>
+
+        <result column="contract_id" property="order.contractId"/>
 
 
 
@@ -151,14 +158,18 @@
         select sum(quantity) from sd.order_detail where  order_id=#{orderId}
     </select>
 
+    <select id="selectOrderDetailDeliveryCount">
+        SELECT * FROM sd.order_detail where order_id=#{orderDetail.orderId} and order_number=#{orderDetail.orderNumber}
+    </select>
+
 
     <insert id="insertDeliveryDetail"  useGeneratedKeys="true" >
         insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
-                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price,other_money)
+                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price,other_money,box_no)
         values (
-                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeArea}*#{orderDetail.deliveryDetail.quantity},
+                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{deliveryDetailArea},
                 #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
-                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys}
+                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys},#{orderDetail.finishedGoodsInventory.boxNo}
                )
     </insert>
 
@@ -170,8 +181,8 @@
                dd.delivery_number,
                fgi.quantity_available + dd.quantity as quantity_available,
                od.order_number,
-               od.quantity-dd.quantity as t_quantity,
-               od.quantity as o_quantity,
+               od.quantity-od.delivery_num as t_quantity,
+        (fgi.quantity_available+ifnull(dd1.sumQuantity,0)) as o_quantity,
                dd.quantity as d_quantity,
                od.building_number,
                od.product_id,
@@ -183,10 +194,11 @@
                od.height,
                od.shape,
                fgi.actual_signal_area,
+               dd.box_no,
                od.area,
-               od.gross_area,
+               dd.area as gross_area,
                od.compute_area,
-               od.compute_gross_area,
+               dd.area as compute_gross_area,
                od.processing_note,
                od.edging_type,
                od.perimeter,
@@ -196,10 +208,14 @@
         left join sd.delivery d on dd.delivery_id=d.delivery_id
         left join sd.order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
         left join sd.`order` o on dd.order_id=o.order_id
-        left join mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number
+        left join mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number and fgi.box_no = dd.box_no
+        left join (SELECT IFNULL(sum(quantity),0) as sumQuantity,dd.*
+                    from sd.delivery_detail dd
+                    GROUP BY dd.order_id,dd.order_number,dd.box_no) AS dd1
+        on od.order_id = dd1.order_id and od.order_number = dd1.order_number and dd1.box_no = fgi.box_no
         <where>
             <if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
-                and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
+                and dd.delivery_id = #{orderDetail.deliveryDetail.deliveryId}
             </if>
             <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
                 and od.order_id regexp #{orderDetail.orderId}
@@ -230,6 +246,9 @@
             </if>
             <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                 and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
+            </if>
+            <if test="orderDetail.deliveryDetail.boxNo != null and orderDetail.deliveryDetail.boxNo != ''">
+                and dd.box_no regexp  #{orderDetail.deliveryDetail.boxNo}
             </if>
             <if test="orderDetail.deliveryDetail.money != null and orderDetail.deliveryDetail.money != ''">
                 and dd.money regexp  REGEXP_REPLACE(#{orderDetail.deliveryDetail.money},'\\.0+$','')
@@ -270,7 +289,6 @@
 
         </where>
         order by dd.id
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderDetailPageTotal">
@@ -315,6 +333,9 @@
             <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                 and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
             </if>
+            <if test="orderDetail.deliveryDetail.boxNo != null and orderDetail.deliveryDetail.boxNo != ''">
+                and dd.box_no regexp  #{orderDetail.deliveryDetail.boxNo}
+            </if>
             <if test="orderDetail.deliveryDetail.money != null and orderDetail.deliveryDetail.money != ''">
                 and dd.money regexp  REGEXP_REPLACE(#{orderDetail.deliveryDetail.money},'\\.0+$','')
             </if>
@@ -352,18 +373,19 @@
                 and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderDetails" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
-        select od.order_id,
+        select
+        fgi.id,
+                od.order_id,
                od.order_number,
                o.batch,
                o.calculate_type,
                fgi.quantity_available,
-               od.quantity- od.delivery_num as t_quantity,
-               od.quantity as o_quantity,
-               fgi.quantity_available as d_quantity,
+               od.quantity- od.delivery_num as t_quantity,-- 鏈彂鏁伴噺
+        ifnull(dd1.sumQuantity,0)+fgi.quantity_available as o_quantity,-- 鏁伴噺
+               fgi.quantity_available as d_quantity,-- 鍙戣揣鏁伴噺
                od.building_number,
                od.product_id,
                od.product_name,
@@ -373,6 +395,7 @@
                od.height,
                od.shape,
                fgi.actual_signal_area,
+               fgi.box_no,
                od.area,
                od.gross_area,
                od.compute_area,
@@ -385,6 +408,13 @@
                  left join sd.`order` o on od.order_id = o.order_id
                  left join mm.finished_goods_inventory fgi
                  on od.order_id = fgi.order_id and od.order_number = fgi.order_number
+        left join (SELECT IFNULL(sum(quantity),0) as sumQuantity,dd.*
+                    from sd.delivery_detail dd
+                    where dd.order_id regexp #{orderDetail.orderId}
+                    GROUP BY dd.order_id,dd.order_number,dd.box_no) AS dd1
+        on od.order_id = dd1.order_id and od.order_number = dd1.order_number and dd1.box_no = fgi.box_no
+
+
         <where>
             fgi.quantity_available > 0 and od.quantity > od.delivery_num
             <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
@@ -417,6 +447,9 @@
             <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                 and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
             </if>
+            <if test="orderDetail.finishedGoodsInventory.boxNo != null and orderDetail.finishedGoodsInventory.boxNo != ''">
+                and fgi.box_no regexp #{orderDetail.finishedGoodsInventory.boxNo}
+            </if>
             <if test="orderDetail.width != null and orderDetail.width != ''">
                 and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
             </if>
@@ -448,7 +481,6 @@
                 and od.perimeter regexp #{orderDetail.perimeter}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectShippingOrderDetailsPageTotal">
@@ -490,6 +522,9 @@
             <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                 and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
             </if>
+            <if test="orderDetail.finishedGoodsInventory.boxNo != null and orderDetail.finishedGoodsInventory.boxNo != ''">
+                and fgi.box_no regexp #{orderDetail.finishedGoodsInventory.boxNo}
+            </if>
             <if test="orderDetail.width != null and orderDetail.width != ''">
                 and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
             </if>
@@ -521,7 +556,6 @@
                 and od.perimeter regexp #{orderDetail.perimeter}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
 
@@ -788,12 +822,6 @@
             <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                 and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
             </if>
-            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
-                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
-            </if>
-            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
-                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
-            </if>
             <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                 and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
             </if>
@@ -855,10 +883,10 @@
                 and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
             </if>
             <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')">
-                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
             </if>
             <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
-                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
+                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productId},'%')
             </if>
             <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
                 and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
@@ -896,12 +924,6 @@
             <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                 and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
             </if>
-            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
-                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
-            </if>
-            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
-                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
-            </if>
             <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                 and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
             </if>
@@ -963,10 +985,10 @@
                 and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
             </if>
             <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')">
-                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%')
+                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
             </if>
             <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
-                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
+                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productId},'%')
             </if>
             <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
                 and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
@@ -986,35 +1008,207 @@
     </select>
 
     <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
-        select dd.delivery_id,od.order_id,od.product_id,pt.remarks as product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from
+        select dd.delivery_id,od.order_id,od.product_id,IF(#{type}='product_abbreviation',pt.remarks,od.product_name) as product_name,dd.price,sum(dd.area) as area,
+               sum(dd.money) as money,sum(dd.quantity) as quantity,o.contract_id from
         delivery_detail dd left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                                             left join product pt on pt.id=od.product_id
+                                                            left join sd.`order` o on o.order_id=dd.order_id
 
 
-        <where>
-            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
-                and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
-            </if>
-        </where>
+                where dd.delivery_id like concat('%',#{deliveryId},'%')
+
         group by od.order_id,od.product_name,od.product_id
     </select>
 
-    <select id="getSelectOrderPrinting"  >
-        select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
-         order_detail od left join product p on od.product_id=p.id
+    <select id="getSelectDeliveryPrintingMoney" resultMap="selectDeliveryDetailOrderDetail" >
+        select dd.delivery_id,
+               od.order_id,
+               IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name,
+               dd.price,
+               sum(dd.area)                                                      as area,
+               sum(dd.money)                                                     as money,
+               sum(dd.quantity)                                                  as quantity,
+               o.contract_id,
+               od.width,
+               od.height
+        from delivery_detail dd
+                 left join (select product_name,
+                                   order_id,
+                                   product_id,
+                                   order_number,
+                                   CASE
+                                       WHEN height &lt; 4000 AND height >= 3660 and height>width THEN
+                                           '3660&lt;H&lt;4000'
+                                       WHEN height &lt; 5000 AND height >= 4000 and height>width THEN
+                                           '4000&lt;H&lt;5000'
+                                       WHEN height &lt; 6000 AND height >= 5000 and height>width THEN
+                                           '5000&lt;H&lt;6000'
+                                       WHEN height &lt; 7000 AND height >= 6000 and height>width THEN
+                                           '6000&lt;H&lt;7000'
+                                       WHEN height &lt; 8000 AND height >= 7000 and height>width THEN
+                                           '7000&lt;H&lt;8000'
+                                       WHEN height &lt; 9000 AND height >= 8000 and height>width THEN
+                                           '8000&lt;H&lt;9000'
+                                       WHEN height &lt; 10000 AND height >= 9000 and height>width THEN
+                                           '9000&lt;H&lt;10000'
+                                       WHEN height &lt; 11000 AND height >= 10000 and height>width THEN
+                                           '10000&lt;H&lt;11000'
+                                       WHEN height &lt; 12000 AND height >= 11000 and height>width THEN
+                                           '11000&lt;H&lt;12000'
+                                       ELSE
+                                           ''
+                                       END height,
+                                   CASE
 
-        <where>
-            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
-                and od.order_id like concat('%',#{orderDetail.orderId},'%')
-            </if>
-        </where>
-        group by od.product_name,od.product_id
+                                       WHEN width &lt; 4000 AND width >= 3660 and width>height THEN
+                                           '3660&lt;H&lt;4000'
+                                       WHEN width &lt; 5000 AND width >= 4000 and width>height THEN
+                                           '4000&lt;H&lt;5000'
+                                       WHEN width &lt; 6000 AND width >= 5000 and width>height THEN
+                                           '5000&lt;H&lt;6000'
+                                       WHEN width &lt; 7000 AND width >= 6000 and width>height THEN
+                                           '6000&lt;H&lt;7000'
+                                       WHEN width &lt; 8000 AND width >= 7000 and width>height THEN
+                                           '7000&lt;H&lt;8000'
+                                       WHEN width &lt; 9000 AND width >= 8000 and width>height THEN
+                                           '8000&lt;H&lt;9000'
+                                       WHEN width &lt; 10000 AND width >= 9000 and width>height THEN
+                                           '9000&lt;H&lt;10000'
+                                       WHEN width &lt; 11000 AND width >= 10000 and width>height THEN
+                                           '10000&lt;H&lt;11000'
+                                       WHEN width &lt; 12000 AND width >= 11000 and width>height THEN
+                                           '11000&lt;H&lt;12000'
+                                       ELSE
+                                           ''
+                                       END width
+                            from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number
+                 left join product pt on pt.id = od.product_id
+                 left join sd.`order` o on o.order_id = dd.order_id
+
+
+        where dd.delivery_id like concat('%', #{deliveryId}, '%')
+
+        group by od.order_id, od.product_name,od.width,od.height, dd.price
+    </select>
+
+    <select id="getSelectDeliveryPrintingNoMoney" resultMap="selectDeliveryDetailOrderDetail" >
+        select dd.delivery_id,
+               od.order_id,
+               IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name,
+               sum(dd.area)                                                      as area,
+               sum(dd.quantity)                                                  as quantity,
+               o.contract_id,
+               od.width,
+               od.height
+        from delivery_detail dd
+                 left join (select product_name,
+                                   order_id,
+                                   product_id,
+                                   order_number,
+                                   CASE
+                                       WHEN height &lt; 4000 AND height >= 3660 and height>width THEN
+                                           '3660&lt;H&lt;4000'
+                                       WHEN height &lt; 5000 AND height >= 4000 and height>width THEN
+                                           '4000&lt;H&lt;5000'
+                                       WHEN height &lt; 6000 AND height >= 5000 and height>width THEN
+                                           '5000&lt;H&lt;6000'
+                                       WHEN height &lt; 7000 AND height >= 6000 and height>width THEN
+                                           '6000&lt;H&lt;7000'
+                                       WHEN height &lt; 8000 AND height >= 7000 and height>width THEN
+                                           '7000&lt;H&lt;8000'
+                                       WHEN height &lt; 9000 AND height >= 8000 and height>width THEN
+                                           '8000&lt;H&lt;9000'
+                                       WHEN height &lt; 10000 AND height >= 9000 and height>width THEN
+                                           '9000&lt;H&lt;10000'
+                                       WHEN height &lt; 11000 AND height >= 10000 and height>width THEN
+                                           '10000&lt;H&lt;11000'
+                                       WHEN height &lt; 12000 AND height >= 11000 and height>width THEN
+                                           '11000&lt;H&lt;12000'
+                                       ELSE
+                                           ''
+                                       END height,
+                                   CASE
+
+                                       WHEN width &lt; 4000 AND width >= 3660 and width>height THEN
+                                           '3660&lt;H&lt;4000'
+                                       WHEN width &lt; 5000 AND width >= 4000 and width>height THEN
+                                           '4000&lt;H&lt;5000'
+                                       WHEN width &lt; 6000 AND width >= 5000 and width>height THEN
+                                           '5000&lt;H&lt;6000'
+                                       WHEN width &lt; 7000 AND width >= 6000 and width>height THEN
+                                           '6000&lt;H&lt;7000'
+                                       WHEN width &lt; 8000 AND width >= 7000 and width>height THEN
+                                           '7000&lt;H&lt;8000'
+                                       WHEN width &lt; 9000 AND width >= 8000 and width>height THEN
+                                           '8000&lt;H&lt;9000'
+                                       WHEN width &lt; 10000 AND width >= 9000 and width>height THEN
+                                           '9000&lt;H&lt;10000'
+                                       WHEN width &lt; 11000 AND width >= 10000 and width>height THEN
+                                           '10000&lt;H&lt;11000'
+                                       WHEN width &lt; 12000 AND width >= 11000 and width>height THEN
+                                           '11000&lt;H&lt;12000'
+                                       ELSE
+                                           ''
+                                       END width
+                            from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number
+                 left join product pt on pt.id = od.product_id
+                 left join sd.`order` o on o.order_id = dd.order_id
+
+
+        where dd.delivery_id like concat('%', #{deliveryId}, '%')
+
+        group by od.order_id, od.product_name, width, height
+    </select>
+
+
+    <select id="getSelectDeliveryPrintingMoneySpecifications" >
+        select od.order_id,
+               od.building_number,
+               od.width,
+               od.height,
+               od.product_name,
+               sum(dd.area)                                                      as area,
+               sum(dd.money)                                                     as money,
+               sum(dd.quantity)                                                  as quantity,
+               dd.price
+        from delivery_detail dd
+                 left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
+                 left join product p on od.product_id = p.id
+        where delivery_id = #{deliveryId}
+          and od.order_id = #{orderId}
+          and od.product_id = #{productId}
+        group by od.width,od.height, dd.price
+    </select>
+
+    <select id="getSelectDeliveryPrintingNoMoneySpecifications"  >
+        select od.order_id,
+               od.building_number,
+               od.width,
+               od.height,
+               od.product_name,
+               sum(dd.area)                                                     as area,
+               sum(dd.quantity)                                                  as quantity
+        from delivery_detail dd
+                 left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
+                 left join product p on od.product_id = p.id
+        where delivery_id = #{deliveryId}
+          and od.order_id = #{orderId}
+          and od.product_id = #{productId}
+        group by od.width,od.height
+    </select>
+
+    <select id="getSelectOrderPrinting"  >
+        select od.order_id,od.product_id,od.product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
+         order_detail od left join product p on od.product_id=p.id
+        where od.order_id = #{orderId}
+        and od.product_id = #{productId}
+        group by od.product_name,od.product_id ;
     </select>
 
     <select id="getSelectDeliveryDetailPrinting" >
         select od.order_id,
                od.order_number,
-               p.remarks as product_name,
+               od.product_name,
                od.width,
                od.height,
                dd.quantity,
@@ -1022,8 +1216,10 @@
                dd.area,
                ifnull(od.processing_note,"") as processingNote,
                ifnull(od.building_number,"") as buildingNumber,
+               dd.box_no,
                dd.price,
-               od.other_columns
+               od.other_columns,
+               od.remarks
         from delivery_detail dd
                  left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
                  left join product p on od.product_id = p.id
@@ -1043,8 +1239,16 @@
     </select>
 
     <select id="getSelectOrderotherMoney" >
-        select bom.alias,oom.price,#{value}*od.quantity as count,oom.price*#{value}*od.quantity as monery
+        select bom.alias,ifnull(oom.price,0) as price,#{value}*#{quantity} as count,ifnull(oom.price,0)*#{value}*#{quantity} as monery
                  from order_detail od
+                 left join order_other_money oom on oom.order_id=od.order_id  and oom.column=#{key}
+                 left join basic_other_money bom on bom.`column`=oom.`column`
+        where  od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
+    </select>
+
+    <select id="getSelectOrderotherMoneys" >
+        select bom.alias,ifnull(oom.price,0) as price,#{value}*od.quantity as count,ifnull(oom.price,0)*#{value}*od.quantity as monery
+        from order_detail od
                  left join order_other_money oom on oom.order_id=od.order_id  and oom.column=#{key}
                  left join basic_other_money bom on bom.`column`=oom.`column`
         where  od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
@@ -1059,10 +1263,12 @@
                od.quantity,
                od.gross_amount,
                od.compute_gross_area,
+               od.area,
                ifnull(od.processing_note,"") as processingNote,
                ifnull(od.building_number,"") as buildingNumber,
                od.price,
-               od.other_columns
+               od.other_columns,
+               od.remarks
         from  order_detail od
         where  od.order_id = #{orderId}
           and od.product_id = #{productId}
@@ -1096,7 +1302,10 @@
         dd.quantity,
         dd.delivery_detail_remakes,
         dd.create_time,
-        o.other_money
+        o.other_money,
+        d.freight,
+        d.freight_price,
+        d.freight_quantity
         from sd.delivery_detail dd
         left join sd.delivery d on dd.delivery_id=d.delivery_id
         left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
@@ -1132,7 +1341,10 @@
                dd.delivery_detail_remakes,
                dd.price,
                dd.create_time,
-               o.other_money
+               o.other_money,
+               d.freight,
+               d.freight_price,
+               d.freight_quantity
         from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
                                    left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                    left join sd.`order` o on dd.order_id=o.order_id

--
Gitblit v1.8.0