guoyuji
2024-06-26 3bbf78db5e01bd8d080e9e4965a532326bc162ad
north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml
@@ -17,26 +17,65 @@
            total_area,
            process,
            `group`)
            `group`
            ,arc)
        select
            od.order_id,
            od.order_number,
            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)-t1.thicknessCount/2
                          ,2))
                          /od.bend_radius
                    ,1),
                od.width
              )
               ,
            od.height,
            od.area,
            od.gross_area,
            pd.process,
            pd.glass_group
            pd.glass_group,
            if( od.bend_radius!='',
                round((od.width*(od.bend_radius-(sum(t.thicknessCount)-t1.thicknessCount)))/od.bend_radius,1)
                ,null) as 'arc'
        from sd.product_detail as pd
        left join order_detail as od
            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,
                left(detail,LOCATE('mm',detail)-1) 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
        left join (
            select
                a.prod_id,
                a.sort_num,
                a.glass_sort,
                left(detail,LOCATE('mm',detail)-1) as 'thicknessCount'
            from product_detail as a
            group  by prod_id,a.sort_num
        ) as t1
          ON t1.prod_id = od.product_id and t1.sort_num =pd.sort_num
        where od.order_id = #{orderId}
        group by od.order_number,pd.glass_sort
        ORDER BY od.order_number
    </insert>
@@ -61,6 +100,7 @@
        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
            <result column="building_number" property="buildingNumber"/>
            <result column="product_id" property="productId"/>
            <result column="product_name" property="productName"/>
            <result column="width" property="width"/>
            <result column="height" property="height"/>
@@ -79,6 +119,7 @@
            a.order_id,
            a.order_number,
            b.building_number,
            b.product_id,
            b.product_name,
            a.glass_address,
           a.technology_number,
@@ -122,4 +163,14 @@
        </foreach>
    </update>
    <select id="getDifferentSizeNumber">
       select if(count(id)>1,1,0) from (select
          id
        from order_glass_detail as a
        where a.order_id = #{orderId}
          and a.order_number = #{orderNumber}
        group by child_width,child_height) as c
    </select>
</mapper>