| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.sd.OrderGlassDetailMapper"> |
| | | |
| | | <insert id="insertOrderGlassDetail" parameterType="java.lang.String"> |
| | | insert into |
| | | order_glass_detail ( |
| | | order_id, order_number, |
| | | technology_number, |
| | | glass_address, |
| | | glass_child, |
| | | child_width, |
| | | child_height, |
| | | area, |
| | | total_area, |
| | | |
| | | process, |
| | | `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, |
| | | 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, |
| | | 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> |
| | | |
| | | <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="arc" property="arc"/> |
| | | <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_id" property="productId"/> |
| | | <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_id, |
| | | 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.arc, |
| | | 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}, |
| | | a.arc = #{item.arc} |
| | | 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> |
| | | |
| | | <select id="getDifferentSizeNumber"> |
| | | select if(count(id)>0,1,0) from (select |
| | | a.id,a.child_width,b.width |
| | | 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} |
| | | and a.order_number = #{orderNumber} |
| | | and a.child_width != b.width |
| | | ) as c |
| | | </select> |
| | | |
| | | <select id="getOrderGlassDetailByProductIdGlassChild" > |
| | | select a.glass_child |
| | | from sd.order_glass_detail as a |
| | | where a.order_id = #{orderId} |
| | | and a.order_number = #{orderNumber} |
| | | group by a.glass_child |
| | | </select> |
| | | |
| | | <select id="getOrderGlassDetailByProductId" > |
| | | select * |
| | | from sd.order_detail od |
| | | LEFT join sd.order_glass_detail ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number |
| | | where od.order_id = #{orderId} and od.product_id=#{productId} |
| | | and ogd.glass_child=#{glassChild} |
| | | </select> |
| | | |
| | | <select id="getMinIdByGroup" > |
| | | select min(id) from sd.order_glass_detail as a |
| | | where a.order_id = #{orderId} |
| | | and a.order_number = #{orderNumber} |
| | | and a.`group` = #{group} |
| | | |
| | | </select> |
| | | |
| | | </mapper> |