| | |
| | | glass_child, |
| | | child_width, |
| | | child_height, |
| | | area, |
| | | total_area, |
| | | |
| | | process, |
| | | `group`) |
| | | select |
| | |
| | | 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 |
| | |
| | | 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> |
| | | |
| | | <select id="selectOrderGlassDetail"> |
| | | select * from order_glass_detail where order_id = #{orderId} |
| | | </select> |
| | | |
| | | <resultMap id="orderGlassDetailMap" type="com.example.erp.entity.sd.OrderGlassDetail" > |
| | | <id column="id" property="id"/> |
| | | <result column="order_id" property="orderId"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | | <result column="glass_address" property="glassAddress"/> |
| | | <result column="technology_number" property="technologyNumber"/> |
| | | <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="edging_type" property="edgingType"/> |
| | | <result column="quantity" property="quantity"/> |
| | | <result column="processing_note" property="processingNote"/> |
| | | <result column="beizhu" property="remarks"/> |
| | | |
| | | </association> |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="selectOrderGlassDetailByOrderId" resultMap="orderGlassDetailMap"> |
| | | select |
| | | a.order_id, |
| | | a.order_number, |
| | | b.building_number, |
| | | b.product_name, |
| | | a.glass_address, |
| | | a.technology_number, |
| | | a.glass_child, |
| | | b.width, |
| | | b.height, |
| | | b.shape, |
| | | a.total_area, |
| | | b.edging_type, |
| | | a.child_width, |
| | | a.child_height, |
| | | a.icon, |
| | | a.area, |
| | | b.quantity, |
| | | a.process, |
| | | b.remarks as 'beizhu', |
| | | b.processing_note |
| | | from order_glass_detail as a |
| | | left join order_detail as b |
| | | on a.order_id = b.order_id and a.order_number = b.order_number |
| | | where a.order_id = #{orderId} |
| | | order by a.order_number,a.technology_number |
| | | </select> |
| | | |
| | | <update id="updateSizeAndProcess" parameterType="java.util.List"> |
| | | <foreach collection="orderGlassDetails" item="item" index="index" open="" close="" separator=";"> |
| | | update order_glass_detail as a, |
| | | order_detail as b |
| | | set |
| | | 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 |
| | | 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> |
| | | </mapper> |