From bf23d66c841f7bc7de098a93b9a61fffe04d9cfb Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期三, 28 二月 2024 18:41:13 +0800
Subject: [PATCH] 提交右键菜单以及拖拉选中功能
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 314 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 251 insertions(+), 63 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index cbfc46d..86b29c8 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -6,7 +6,7 @@
<resultMap id="flowCardMap" type="com.example.erp.entity.pp.FlowCard">
<result column="order_id" property="orderId"/>
<result column="process_Id" property="processId"/>
- <result column="binning_quantity" property="binningQuantity"/>
+ <result column="quantity" property="quantity"/>
<result column="founder" property="founder"/>
<result column="create_time" property="createTime"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
@@ -27,12 +27,28 @@
<result column="product_name" property="productName"/>
<result column="compute_gross_area" property="computeGrossArea"/>
<result column="processing_note" property="processingNote"/>
+ <result column="quantity" property="quantity"/>
+ <result column="compute_gross_area" property="computeGrossArea"/>
+ <result column="perimeter" property="perimeter"/>
+ <result column="order_number" property="orderNumber"/>
+ <result column="width" property="width"/>
+ <result column="height" property="height"/>
+ <result column="shape" property="shape"/>
+ <result column="weight" property="weight"/>
+ </association>
+ <association property="orderGlassDetail" javaType="com.example.erp.entity.sd.OrderGlassDetail">
+ <result column="production_id" property="productionId"/>
+ </association>
+ <association property="product" javaType="com.example.erp.entity.sd.Product">
+ <result column="total_thickness" property="totalThickness"/>
+ <result column="thickness" property="thickness"/>
</association>
<!--<result column="g_typeId" property="glassTypes.typeId"/>
<result column="g_type" property="glassTypes.type"/>-->
</resultMap>
+ <!-- 娴佺▼鍗$鐞嗘煡璇�-->
<select id="selectFlowCard" resultMap="flowCardMap">
select
a.order_Id,
@@ -40,43 +56,36 @@
c.product_id,
c.product_name,
b.project,
- a.binning_quantity,
+ a.quantity,
c.compute_gross_area,
a.founder,
c.processing_note
from flow_card as a left join sd.`order` as b on a.order_Id=b.order_id
left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
- where a.create_time between #{selectTime1} and #{selectTime2}
-<!-- <where>-->
-<!-- <if test="flowCard.orderId != null and flowCard.orderId != ''">-->
-<!-- and a.order_id regexp #{flowCard.orderId}-->
-<!-- </if>-->
-<!-- <if test="flowCard.productionId != null and flowCard.productionId != ''">-->
-<!-- and a.process_Id regexp #{flowCard.productionId}-->
-<!-- </if>-->
-<!-- <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">-->
-<!-- and c.product_id regexp #{flowCard.orderDetail.productId}-->
-<!-- </if>-->
-<!-- <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">-->
-<!-- and c.product_name regexp #{flowCard.orderDetail.productName}-->
-<!-- </if>-->
+ where a.create_time between #{selectTime1} and #{selectTime2}
+ <if test="flowCard.orderId != null and flowCard.orderId != ''">
+ and a.order_id regexp #{flowCard.orderId}
+ </if>
+ <if test="flowCard.productionId != null and flowCard.productionId != ''">
+ and a.process_Id regexp #{flowCard.productionId}
+ </if>
+ <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
+ and c.product_id regexp #{flowCard.orderDetail.productId}
+ </if>
+ <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
+ and c.product_name regexp #{flowCard.orderDetail.productName}
+ </if>
-<!-- <if test="flowCard.order.project != null and flowCard.order.project!= ''">-->
-<!-- and b.project regexp #{flowCard.order.project}-->
-<!-- </if>-->
+ <if test="flowCard.order.project != null and flowCard.order.project!= ''">
+ and b.project regexp #{flowCard.order.project}
+ </if>
-<!-- <if test="flowCard.createTime != null and flowCard.createTime != ''">-->
-<!-- and DATE_FORMAT((a.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }-->
-<!-- </if>-->
-
-<!-- </where>-->
group by a.process_Id;
</select>
-
-
- <select id="selectFlowCardMp">
+ <!--鍒嗘灦鏌ヨ-->
+ <select id="selectFlowCardMp" resultMap="flowCardMap">
select o.order_id,
o.customer_name,
o.project,
@@ -87,47 +96,226 @@
o.salesman,
o.processing_note,
o.delivery_address
- from sd.`order` as o
- where o.create_time between #{selectTime1} and #{selectTime2}
- <!-- <where>-->
- <!-- <if test="flowCard.orderId != null and flowCard.orderId != ''">-->
- <!-- and a.order_id regexp #{flowCard.orderId}-->
- <!-- </if>-->
- <!-- <if test="flowCard.productionId != null and flowCard.productionId != ''">-->
- <!-- and a.process_Id regexp #{flowCard.productionId}-->
- <!-- </if>-->
- <!-- <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">-->
- <!-- and c.product_id regexp #{flowCard.orderDetail.productId}-->
- <!-- </if>-->
- <!-- <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">-->
- <!-- and c.product_name regexp #{flowCard.orderDetail.productName}-->
- <!-- </if>-->
+ from sd.`order` as o
+ left join sd.order_glass_detail ogd on o.order_id = ogd.order_id
+ where o.production_order=2 and ogd.splitting_status=0 and o.create_time between #{selectTime1} and #{selectTime2}
- <!-- <if test="flowCard.order.project != null and flowCard.order.project!= ''">-->
- <!-- and b.project regexp #{flowCard.order.project}-->
- <!-- </if>-->
+ <if test="flowCard.order.orderId != null and flowCard.order.orderId != ''">
+ and o.order_id, regexp #{flowCard.order.orderId}
+ </if>
+ <if test="flowCard.order.customerName != null and flowCard.order.customerName != ''">
+ and o.customer_name regexp #{flowCard.order.customerName}
+ </if>
+ <if test="flowCard.order.project != null and flowCard.order.project != ''">
+ and o.project regexp #{flowCard.order.project}
+ </if>
+ <if test="flowCard.order.batch != null and flowCard.order.batch!= ''">
+ and o.batch regexp #{flowCard.order.batch}
+ </if>
+ <if test="flowCard.order.otherRemarks != null and flowCard.order.otherRemarks!= ''">
+ and o.other_remarks regexp #{flowCard.order.otherRemarks}
+ </if>
- <!-- <if test="flowCard.createTime != null and flowCard.createTime != ''">-->
- <!-- and DATE_FORMAT((a.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }-->
- <!-- </if>-->
+ <if test="flowCard.order.icon != null and flowCard.order.icon!= ''">
+ and o.icon regexp #{flowCard.order.icon}
+ </if>
+ <if test="flowCard.order.orderType != null and flowCard.order.orderType!= ''">
+ and o.order_type regexp #{flowCard.order.orderType}
+ </if>
+ <if test="flowCard.order.salesman != null and flowCard.order.salesman!= ''">
+ and o.salesman regexp #{flowCard.order.salesman}
+ </if>
+ group by o.order_id
- <!-- </where>-->
- ;
+ ;
</select>
-
- <select id="DetailsSelectMp">
+
+<!-- 鍒嗘灦鏄庣粏鏌ヨ-->
+ <select id="DetailsSelectMp" resultMap="flowCardMap">
select od.order_id,
- ogd.production_id,
- od.product_id,
- od.product_name,
- od.quantity,
- od.compute_gross_area,
- od.perimeter
- from 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
- where od.order_id = #{orderId}
- group by od.order_id,ogd.production_id
+ ogd.production_id,
+ od.product_id,
+ od.product_name,
+ SUM( od.quantity) as quantity,
+ SUM(od.compute_gross_area) as compute_gross_area,
+ od.perimeter
+ from 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
+ where od.order_id = #{orderId} and ogd.splitting_status=0
+ <if test="flowCard.orderDetail.orderId != null and flowCard.orderDetail.orderId != ''">
+ and od.order_id regexp #{flowCard.orderDetail.orderId}
+ </if>
+ <if test="flowCard.orderGlassDetail.productionId != null and flowCard.orderGlassDetail.productionId != ''">
+ and ogd.production_id regexp #{flowCard.orderGlassDetail.productionId}
+ </if>
+ <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
+ and od.product_id regexp #{flowCard.orderDetail.productId}
+ </if>
+ <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName != ''">
+ and od.product_name regexp #{flowCard.orderDetail.productName}
+ </if>
+ group by od.order_id, ogd.production_id
+ </select>
+
+ <!-- 鏇存柊鍒嗘灦鐘舵��-->
+ <update id="UpdateDeleteState">
+ update
+ sd.order_glass_detail as ogd left join flow_card as fc
+ on ogd.order_id=fc.order_id and ogd.order_number=fc.order_number
+ set ogd.splitting_status=0
+ where ogd.order_id=#{orderId} and fc.process_id=#{processId}
+
+ </update>
+
+ <!-- 鍒犻櫎娴佺▼鍗�-->
+ <update id="DeleteFlowCardMp">
+ delete from flow_card as fc where fc.process_id=#{processId}
+ </update>
+
+ <!-- 鍒嗘灦鏂板鏄庣粏鏌ヨ-->
+
+ <!--resultMap="flowCardMap"-->
+ <select id="SelectNoCardMp" >
+
+ select
+ od.order_number,
+ od.order_number AS 'orderNumber',
+ od.width,
+ od.height,
+ od.shape,
+ od.quantity,
+ od.compute_gross_area,
+ p.total_thickness,
+ od.quantity as baiscQuantity,
+ od.compute_gross_area as 'computeGrossArea',
+ p.total_thickness AS 'totalThickness',
+ p.thickness,
+ od.weight
+ from
+ 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
+ left join sd.product as p on od.product_name=p.product_name
+ where od.order_id=#{orderId} and ogd.production_id=#{productionId} and ogd.splitting_status=0
+ GROUP BY od.order_number;
+
+
+ </select>
+
+ <!--淇敼鎺掔増鐘舵��-->
+ <update id="UpdateLayoutStatusMp">
+ update flow_card as fc
+ set fc.layout_status=2
+ where fc.process_id = #{processId}
+ </update>
+
+<!-- 鏌ヨ瀵瑰簲娴佺▼鍗″彿鎺掔増鐘舵��-->
+ <select id="SelectLayoutStatus">
+ select fc.layout_status
+ from flow_card as fc
+ where fc.process_id = #{processId}
+ LIMIT 1
+ </select>
+
+<!-- 鏌ヨ鎶ュ伐琛ㄥ唴鏄惁鏈夊搴旀祦绋嬪崱-->
+ <select id="ReportingWorkCount">
+ select COUNT(rw.process_id)
+ from reporting_work as rw
+ where rw.process_id = #{processId}
+ </select>
+<!-- 鎻掑叆Flow_card琛�-->
+ <insert id="AddFlowCardMp">
+ insert into
+ flow_card (
+ order_id,
+ production_id,
+ process_id,
+ landing_sequence,
+ order_number,
+ technology_number,
+ quantity,
+ founder,
+ layers_number,
+ splitFrame_time,
+ create_time
+ )
+ select
+ ogd.order_id,
+ ogd.production_id,
+ #{processId},
+ #{landingSequence},
+ ogd.order_number,
+ ogd.technology_number,
+ #{quantity},
+ #{userName},
+ #{layer},
+ NOW(),
+ NOW()
+
+
+
+ from sd.order_glass_detail as ogd
+ where ogd.production_id=#{productionId} and ogd.order_number=#{orderNumber}
+ GROUP BY ogd.technology_number
+ </insert>
+
+<!-- 鏇存柊鍒嗘灦鐘舵��-->
+ <update id="UpdateFlowState">
+ update sd.order_glass_detail as ogd
+ set ogd.splitting_status=1
+ where ogd.production_id=#{productionId} and ogd.order_number=#{orderNumber}
+ </update>
+<!-- 鏌ヨ鏈垎鏋剁殑鏉℃暟-->
+ <select id="SelectFlowCount">
+ select COUNT(*)
+ from sd.order_glass_detail as ogd
+ where ogd.order_id = left(#{productionId},10)
+ and ogd.splitting_status = 0
+ </select>
+<!-- 淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬�-->
+ <update id="UpdateProcessingCard">
+ update sd.`order` as o
+ set o.processing_card=#{state}
+ where o.order_id=left(#{productionId},10)
+ </update>
+
+<!-- 鏌ヨ宸叉帓鐗堟暟鎹�-->
+ <select id="SelectOkSchedulingMp">
+ select od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
+ round(od.width*od.height*od.quantity/1000000,2),
+ (od.quantity-IFNULL(ps.scheduling_quantity,0)),
+ round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2),
+ IFNULL(ps.scheduling_quantity,0),
+ round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2),
+ od.product_name,od.shape
+ from sd.order_detail as od left join sd.order as o on od.order_id=o.order_id
+ left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
+ where od.order_id=#{orderId} and ps.processes=#{processes} and ps.scheduling_id IS NOT NULL
+
+ </select>
+<!-- 鏌ヨ鏈帓鐗堟暟鎹�-->
+ <select id="SelectNoSchedulingMp">
+
+ </select>
+<!-- 棣栨鏌ヨ鎺掔増鏁版嵁-->
+ <select id="selectLastSchedulingMp">
+ select od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
+ round(od.width*od.height*od.quantity/1000000,2) as area,
+ (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
+ round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
+ IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
+ round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
+ od.product_name,od.shape
+ from sd.order_detail as od left join sd.order as o on od.order_id=o.order_id
+ left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
+ where od.create_time between #{selectTime1} and #{selectTime2}
+ </select>
+
+<!-- 鏌ヨ瀵瑰簲搴忓彿鐨勫眰鏁�-->
+ <select id="SelectLayer">
+ select COUNT(ogd.order_number)
+ from sd.order_glass_detail as ogd
+ where ogd.production_id = #{productionId}
+ and ogd.order_number=#{orderNumber}
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0