From 684399b665ef8c25c43faff0fdc821a0b72b39ba Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 26 四月 2024 14:03:50 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/a1536384743/erp_-override
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 507 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 450 insertions(+), 57 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 b873794..626010c 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -4,26 +4,52 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.pp.FlowCardMapper">
<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"/>
+ <result column="layout_status" property="layoutStatus"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
<association property="order" javaType="com.example.erp.entity.sd.Order">
<result column="project" property="project"/>
+ <result column="order_id" property="orderId"/>
+ <result column="customer_name" property="customerName"/>
+ <result column="batch" property="batch"/>
+ <result column="other_remarks" property="otherRemarks"/>
+ <result column="icon" property="icon"/>
+ <result column="order_type" property="orderType"/>
+ <result column="salesman" property="salesman"/>
+ <result column="processing_note" property="processingNote"/>
+ <result column="delivery_address" property="deliveryAddress"/>
</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_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,
@@ -31,71 +57,438 @@
c.product_id,
c.product_name,
b.project,
- a.binning_quantity,
- c.compute_gross_area,
+ sum(a.quantity) as quantity,
+ sum(c.compute_gross_area) as compute_gross_area,
a.founder,
- c.processing_note
+ c.processing_note,
+ if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status
+ from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time from flow_card group by process_Id,order_number) 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}
+ <if test="flowCard.orderId != null and flowCard.orderId != ''">
+ and a.order_id regexp #{flowCard.orderId}
+ </if>
+ <if test="flowCard.processId != null and flowCard.processId != ''">
+ and a.process_Id regexp #{flowCard.processId}
+ </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>
+
+
+ group by a.process_Id
+ ORDER BY a.id desc
+ limit #{offset},#{pageSize};
+ </select>
+
+
+ <select id="getPageTotal">
+ select
+ CEILING(count(a.process_Id)/#{pageSize}) as 'pageTotal',
+ count(distinct a.process_Id) as 'total'
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>
- <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 != ''">
- and DATE_FORMAT((a.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
- </if>
- </where>
- group by a.process_Id
+ ORDER BY a.id desc
+ limit #{offset},#{pageSize};
+ </select>
+ <!--鍒嗘灦鏌ヨ-->
+ <select id="selectFlowCardMp" resultMap="flowCardMap">
+ select o.order_id,
+ o.customer_name,
+ o.project,
+ o.batch,
+ o.other_remarks,
+ o.icon,
+ o.order_type,
+ o.salesman,
+ o.processing_note,
+ o.delivery_address
+ 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.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.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
+ order by o.id desc
;
</select>
- <!-- <select id="getPageTotal" >-->
- <!-- select-->
- <!-- CEILING(count(a.id)/#{pageSize})-->
- <!-- from product as a-->
- <!-- left join basic_glass_type bgt on bgt.type_id = a.type_id-->
- <!-- <where>-->
- <!-- <if test="glassTypeId != null and glassTypeId != ''">-->
- <!-- and a.type_id regexp #{glassTypeId}-->
- <!-- </if>-->
- <!-- <if test="product.id != null and product.id != ''">-->
- <!-- and a.id regexp #{product.id}-->
- <!-- </if>-->
- <!-- <if test="product.productName != null and product.productName != ''">-->
- <!-- and a.product_name regexp #{product.productName}-->
- <!-- </if>-->
- <!-- <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">-->
- <!-- and bgt.type_name regexp #{product.basicGlassType.typeName}-->
- <!-- </if>-->
- <!-- <if test="product.query != null and product.query != ''">-->
- <!-- and a.query regexp #{product.query}-->
- <!-- </if>-->
- <!-- <if test="product.creator != null and product.creator != ''">-->
- <!-- and a.creator regexp #{product.creator}-->
- <!-- </if>-->
- <!-- <if test="product.createTime != null and product.createTime != ''">-->
- <!-- and date(a.create_time) regexp #{product.createTime}-->
- <!-- </if>-->
- <!-- </where>-->
+ <!-- 鍒嗘灦鏄庣粏鏌ヨ-->
+ <select id="detailsSelectMp">
+ select od.order_id,
+ ogd.production_id,
+ od.product_id,
+ od.product_name,
+ SUM( od.quantity) as quantity,
+ SUM(od.compute_gross_area) as compute_gross_area,
+ sum(od.perimeter) as perimeter
+ from sd.order_detail as od left join
+ (select order_id,order_number,production_id,splitting_status from sd.order_glass_detail
+ GROUP BY order_id,order_number
+ ) 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
- <!-- order by a.id desc-->
- <!-- ;-->
- <!-- </select>-->
+ group by od.order_id, ogd.production_id
+ order by od.id desc
+ </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 ogd.production_id = left(#{processId},11)
+
+ </update>
+
+ <!-- 鍒犻櫎娴佺▼鍗�-->
+ <update id="deleteFlowCardMp">
+ delete
+ from flow_card as fc
+ where fc.production_id = left(#{processId},11)
+ </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
+ order by od.id
+
+ </select>
+
+ <!--淇敼鎺掔増鐘舵��-->
+ <update id="updateLayoutStatusMp">
+ update flow_card as fc
+ set fc.layout_status=#{state}
+ 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
+ order by ps.id desc
+ </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>
+ <!-- 鏌ヨ璇ヨ鍗曟祦绋嬪崱鏉℃暟 -->
+ <select id="selectFlowCardCount">
+ select COUNT(*)
+ from flow_card
+ where order_id = #{orderId}
+ </select>
+
+ <select id="flowCardDetailMp">
+ select fc.order_id,
+ fc.process_id,
+ fc.order_number,
+ fc.technology_number,
+ fc.quantity,
+ ogd.child_width,
+ ogd.child_height,
+ round(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
+ od.product_name,
+ ogd.glass_child,
+ fc.founder,
+ date(fc.splitFrame_time) as splitFrame_time
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+ where fc.process_id = #{processId}
+ GROUP BY fc.order_id, fc.process_id, fc.order_number,fc.technology_number
+ order by fc.order_number,fc.technology_number
+ </select>
+
+ <delete id="deleteReportingWork">
+ delete from sd.order_process_detail
+ where left(process_id,11) = left(#{processId},11)
+ </delete>
+
+ <select id="selectPrintFlowCardMp">
+ select * from sd.order where create_time between #{selectTime1} and #{selectTime2} and
+ position(#{orderId} in order_id ) and position(#{project} in project)
+ and processing_card=2
+ </select>
+
+ <select id="selectPrintMp">
+ select fc.id,
+ fc.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ ogd.technology_number,
+ ogd.glass_address,
+ od.quantity,
+ ogd.total_area,
+ od.product_name,
+ ogd.glass_child,
+ fc.founder,
+ date(fc.splitFrame_time) as splitFrame_time
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
+ ogd.technology_number = fc.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.`order` as o on o.order_id = fc.order_id
+ where fc.order_id = #{orderId}
+ GROUP BY fc.process_id, ogd.technology_number
+ order by fc.process_id, ogd.technology_number
+
+ </select>
+
+ <select id="getPrimaryList">
+ select o.customer_name,
+ o.project,
+ ogd.process,
+ od.edging_type,
+ ogd.glass_child,
+ od.product_name,
+ o.processing_note,
+ fc.process_id,
+ SUM( od.quantity) as quantity,
+ SUM(od.gross_area) as gross_area,
+ SUM(od.weight) as weight,
+ #{technologyNumber} as technologyNumber,
+ concat(fc.process_id,'/',#{technologyNumber}) as processIdNumber
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.`order` as o on o.order_id = fc.order_id
+ where fc.process_id = #{processId}
+ and fc.technology_number = #{technologyNumber}
+ group by fc.process_id, fc.technology_number
+ </select>
+
+ <select id="getDetailList">
+ select fc.order_number,
+ concat(ogd.child_width, "*", ogd.child_height) as child_width,
+ od.quantity,
+ ogd.total_area,
+ od.perimeter,
+ od.bend_radius,
+ od.remarks
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ where fc.process_id = #{processId}
+ and fc.technology_number = #{technologyNumber}
+ group by fc.process_id, fc.order_number
+ order by fc.order_number
+ </select>
+
+ <select id="getProcessList">
+ select *
+ from sd.order_process_detail
+ where process_id = #{processId}
+ and technology_number = #{technologyNumber}
+ group by process
+ </select>
+
+ <update id="updateInventory">
+ update flow_card set inventory_quantity=#{completedQuantity}
+ where process_id = #{processId} and order_number = #{orderNumber} and technology_number = #{technologyNumber}
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0