From da497e4c08c46cbde5dfcd7ea0cf2e455ee6f592 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 20 五月 2024 10:36:44 +0800
Subject: [PATCH] 添加发货报表
---
north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml | 211 ++++++++++++++++++++++++++++++----------------------
1 files changed, 122 insertions(+), 89 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml b/north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml
index 037e499..1de3c6f 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml
@@ -10,59 +10,59 @@
<result column="splitting_status" property="splittingStatus"/>
<result column="create_time" property="createTime"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
- <association property="order" javaType="com.example.erp.entity.sd.Order">
- <result column="batch" property="batch"/>
- </association>
- <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
- <result column="product_id" property="productId"/>
- <result column="product_name" property="productName"/>
- <result column="compute_area" property="computeArea"/>
- <result column="quantity" property="quantity"/>
- <result column="compute_gross_area" property="computeGrossArea"/>
- <result column="perimeter" property="perimeter"/>
- <result column="bend_radius" property="bendRadius"/>
- <result column="processing_note" property="processingNote"/>
- </association>
-
- <!--<result column="g_typeId" property="glassTypes.typeId"/>
- <result column="g_type" property="glassTypes.type"/>-->
+ <result column="batch" property="order.batch"/>
+ <result column="order_type" property="order.orderType"/>
+ <result column="project" property="order.project"/>
+ <result column="area" property="order.area"/>
+ <result column="creator" property="order.creator"/>
+<!-- <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">-->
+<!-- <result column="product_id" property="productId"/>-->
+<!-- <result column="product_name" property="productName"/>-->
+<!-- <result column="compute_area" property="computeArea"/>-->
+ <result column="quantity" property="orderDetail.quantity"/>
+<!-- <result column="compute_gross_area" property="computeGrossArea"/>-->
+<!-- <result column="perimeter" property="perimeter"/>-->
+<!-- <result column="bend_radius" property="bendRadius"/>-->
+<!-- <result column="processing_note" property="processingNote"/>-->
+ <result column="gross_area" property="orderDetail.grossArea"/>
+<!-- </association>-->
</resultMap>
+
<select id="selectWordOrder" resultMap="wordOrderMap">
select
- a.order_id,
- a.production_id,
- c.batch,
- b.product_name,
- b.compute_area,
- b.quantity,
- b.compute_gross_area,
- b.perimeter,
- b.bend_radius,
- 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 LEFT JOIN
- `order` as c on a.order_id=c.order_id
- where isnull(a.production_id)
- <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
- and a.order_id regexp #{orderGlassDetail.orderId}
- </if>
- <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
- and a.production_id regexp #{orderGlassDetail.productionId}
- </if>
- <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
- and c.batch regexp #{orderGlassDetail.order.batch}
- </if>
- <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
- and b.product_name regexp #{orderGlassDetail.orderDetail.productName}
- </if>
+ o.order_id,
+ o.batch,
+ o.project,
+ o.order_type,
+ o.area as gross_area,
+ o.quantity as quantity,
+ o.creator
+ from sd.order_detail as od
+ left join `order` as o
+ on o.order_id=od.order_id
+ where o.production_order!=2 and o.order_review=2
- <if test="orderGlassDetail.createTime != ''">
- and DATE_FORMAT((a.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
- </if>
+ <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
+ and o.order_id regexp #{orderGlassDetail.orderId}
+ </if>
- group by a.production_id,a.order_number
- order by a.id desc
+ <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
+ and o.batch regexp #{orderGlassDetail.order.batch}
+ </if>
+ <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''">
+ and o.project regexp #{orderGlassDetail.order.project}
+ </if>
+ <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''">
+ and o.order_type regexp #{orderGlassDetail.order.orderType}
+ </if>
+
+ <if test="orderGlassDetail.createTime != ''">
+ and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
+ </if>
+
+ group by o.order_id
+ order by o.id desc
;
@@ -70,67 +70,78 @@
<select id="selectWordOrderNo" resultMap="wordOrderMap">
select
- a.order_id,
- a.production_id,
- c.batch,
- b.product_name,
- b.compute_area,
- b.quantity,
- b.compute_gross_area,
- b.perimeter,
- b.bend_radius,
- 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 LEFT JOIN
- `order` as c on a.order_id=c.order_id
- where a.production_id IS NOT NULL
+ o.order_id,
+ od.order_number,
+ ogd.production_id,
+ o.batch,
+ o.project,
+ o.order_type,
+ (od.gross_area) as gross_area,
+ (od.quantity) as quantity,
+ o.creator,
+ od.id
+ from sd.order_glass_detail as ogd
+ left join order_detail as od
+ on od.order_id=ogd.order_id
+ and ogd.order_number=od.order_number
+ left join `order` as o
+ on o.order_id=ogd.order_id
+ where ogd.production_id IS NOT NULL
+
<if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
- and a.order_id regexp #{orderGlassDetail.orderId}
+ and o.order_id regexp #{orderGlassDetail.orderId}
</if>
<if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
- and a.production_id regexp #{orderGlassDetail.productionId}
+ and ogd.production_id regexp #{orderGlassDetail.productionId}
</if>
<if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
- and c.batch regexp #{orderGlassDetail.order.batch}
+ and o.batch regexp #{orderGlassDetail.order.batch}
</if>
- <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
- and b.product_name regexp #{orderGlassDetail.orderDetail.productName}
+ <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''">
+ and o.project regexp #{orderGlassDetail.order.project}
+ </if>
+ <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''">
+ and o.order_type regexp #{orderGlassDetail.order.orderType}
</if>
<if test="orderGlassDetail.createTime != ''">
- and DATE_FORMAT((a.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
+ and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
</if>
-
- group by a.production_id,a.order_number
- order by a.id desc
-
-
- ;
+ group by od.id,ogd.order_id,od.order_number
+ order by od.id desc
</select>
<select id="addWordOrder">
select od.order_id,
- od.product_id,
- od.product_name,
- od.quantity,
- od.compute_gross_area,
- od.perimeter
- from order_detail as od
- left join sd.order_glass_detail as ogd
- on od.order_id = ogd.order_id and od.order_number = ogd.order_number
- where od.order_id = #{orderId}
- and ISNULL(ogd.production_id)
+ od.product_id,
+ od.product_name,
+ sum( od.quantity) as quantity,
+ od.compute_gross_area,
+ od.perimeter
+ from sd.order_detail as od
+ left join sd.order as o
+ on od.order_id =o.order_id
+ where od.order_id = #{orderId} and o.production_order!=2
+ <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
+ and od.order_id regexp #{orderDetail.orderId}
+ </if>
+ <if test="orderDetail.productId != null and orderDetail.productId != ''">
+ and od.product_id regexp #{orderDetail.productId}
+ </if>
+ <if test="orderDetail.productName != null and orderDetail.productName != ''">
+ and od.product_name regexp #{orderDetail.productName}
+ </if>
group by od.order_id, od.product_id, od.product_name
;
</select>
- <select id="SelectOrderNumber">
- select count(ogd.production_id)
+ <select id="selectOrderNumber">
+ select ifnull(count(ogd.production_id), 0)
from sd.order_glass_detail as ogd
where ogd.production_id = #{productIdVl}
</select>
- <update id="AddOrderWorkMp">
+ <update id="addOrderWorkMp">
update sd.order_detail as od left join sd.order_glass_detail as ogd
on od.order_id = ogd.order_id and od.order_number = ogd.order_number
@@ -139,17 +150,39 @@
ogd.founder=#{userName}
where od.order_id = #{orderId}
- and od.product_id =#{productId}
+ and od.product_id = #{productId}
and od.product_name = #{productName}
</update>
- <update id="DeleteOrderWorkMp">
+ <!-- 鍒犻櫎宸ュ崟-->
+ <update id="deleteOrderWorkMp">
update sd.order_detail as od left join sd.order_glass_detail as ogd
on od.order_id = ogd.order_id and od.order_number = ogd.order_number
set ogd.production_id=null,
ogd.production_time=null,
ogd.founder=null
where od.order_id = #{orderId}
- and od.product_name = #{productName}
</update>
+
+ <select id="selectWorkCount">
+ select COUNT(distinct order_number)
+ from order_glass_detail
+ where ISNULL(production_id)
+ and order_id = #{orderId}
+ </select>
+
+ <select id="selectYesWorkCount">
+ select COUNT(distinct order_number)
+ from order_glass_detail
+ where order_id = #{orderId}
+ </select>
+
+ <update id="updateWorkType">
+ update sd.order as o
+ set o.production_order=#{state}
+ where o.order_id = #{orderId}
+ </update>
+ <select id="selectProcessCard">
+ select processing_card from sd.`order` where order_id = #{orderId}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0