廖井涛
2024-05-20 da497e4c08c46cbde5dfcd7ea0cf2e455ee6f592
north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml
@@ -13,6 +13,9 @@
            glass_child,
            child_width,
            child_height,
            area,
            total_area,
            process,
            `group`)
        select
@@ -21,8 +24,13 @@
            pd.glass_sort,
            if(pd.glass_sort=1,'(外)',if(pd2.glass_sort=pd.glass_sort,'(内)','')),
            pd.detail,
            od.width,
            if( od.bend_radius!='',
                round(od.width*(od.bend_radius-round(sum(t.thicknessCount),2))/od.bend_radius,0),
                od.width
              ),
            od.height,
            od.area,
            od.gross_area,
            pd.process,
            pd.glass_group
        from sd.product_detail as pd
@@ -30,8 +38,26 @@
            on od.product_id = pd.prod_id and pd.detail_type='glass'
        LEFT JOIN (SELECT max(id) as id ,max(glass_sort) as glass_sort  from product_detail GROUP BY prod_id)as pd2
            on pd2.id=pd.id
        left join (
            select
                a.prod_id,
                a.sort_num,
                a.glass_sort,
                (case
                      when a.sort_num=1
                          then left(detail,LOCATE('mm',detail)-1)/2
                      else
                          left(detail,LOCATE('mm',detail)-1)
                end) as 'thicknessCount'
            from product_detail as a
            group  by prod_id,a.sort_num
        ) as t
        ON t.prod_id = od.product_id and t.sort_num <=pd.sort_num
        where od.order_id = #{orderId}
        group by od.order_number,pd.glass_sort
        ORDER BY od.order_number
    </insert>
@@ -48,19 +74,19 @@
        <result column="glass_child" property="glassChild"/>
        <result column="child_width" property="childWidth"/>
        <result column="child_height" property="childHeight"/>
        <result column="icon" property="icon"/>
        <result column="process" property="process"/>
        <result column="area" property="area"/>
        <result column="total_area" property="totalArea"/>
        <!--接收其他外键实体类数据-->
        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
            <result column="building_number" property="buildingNumber"/>
            <result column="product_name" property="productName"/>
            <result column="width" property="width"/>
            <result column="height" property="height"/>
            <result column="shape" property="shape"/>
            <result column="gross_area" property="grossArea"/>
            <result column="edging_type" property="edgingType"/>
            <result column="area" property="area"/>
            <result column="quantity" property="quantity"/>
            <result column="processing_note"  property="processingNote"/>
            <result column="beizhu"  property="remarks"/>
@@ -81,11 +107,12 @@
           b.width,
           b.height,
           b.shape,
           b.gross_area,
           a.total_area,
           b.edging_type,
           a.child_width,
           a.child_height,
           b.area,
           a.icon,
           a.area,
           b.quantity,
           a.process,
           b.remarks as 'beizhu',
@@ -99,15 +126,20 @@
    
    <update id="updateSizeAndProcess" parameterType="java.util.List">
        <foreach collection="orderGlassDetails"  item="item" index="index" open="" close="" separator=";">
            update order_glass_detail
            update order_glass_detail as a,
                order_detail as b
            set
                child_width = #{item.childWidth},
                child_height = #{item.childHeight},
                process = #{item.process}
                a.child_width = #{item.childWidth},
                a.child_height = #{item.childHeight},
                a.area = #{item.area},
                a.total_area = #{item.area}*b.quantity,
                a.icon = #{item.icon},
                a.process = #{item.process}
            where
                order_id = #{item.orderId}
                and order_number = #{item.orderNumber}
                and technology_number = #{item.technologyNumber}
                a.order_id = b.order_id
                and a.order_id = #{item.orderId}
                and a.order_number = #{item.orderNumber}
                and a.technology_number = #{item.technologyNumber}
        </foreach>
    </update>