From fbd881bdd757de4bbb44c073f9a3db4c73b2ebd4 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 19 十二月 2025 08:54:15 +0800
Subject: [PATCH] 补充
---
north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 105 insertions(+), 13 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
index b0c1173..4607863 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -23,6 +23,7 @@
<result column="process_id" property="processId"/>
<result column="money" property="money"/>
<result column="area" property="area"/>
+ <result column="square_millimeter" property="squareMillimeter"/>
<result column="width" property="orderDetail.width"/>
<result column="height" property="orderDetail.height"/>
@@ -64,10 +65,23 @@
fol.money,
o.customer_name,
o.project,
- od.price
+ od.price,
+ CASE
+ WHEN #{type} = '鍏ュ簱' THEN
+ if(fgi.quantity_available>fol.quantity,fol.quantity,fgi.quantity_available)
+ ELSE
+ 0
+ END AS quantity_available,
+ CASE
+ WHEN #{type} = '鍏ュ簱' THEN
+ if(fgi.quantity_available>fol.quantity,fol.quantity,fgi.quantity_available)
+ ELSE
+ 0
+ END AS cancelAvailable
from (select *
from mm.finished_operate_log aa where aa.operate_type = #{type} and aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+ left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number and fgi.box_no=fol.remarks
left join sd.`order` o on o.order_id=fol.order_id
<where>
date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate}
@@ -135,16 +149,20 @@
and o.project regexp #{finishedOperateLog.order.project}
</if>
</where>
+ group by fol.order_id,fol.operation_number,fol.remarks
order by fol.operate_time desc
limit #{offset},#{pageSize};
</select>
<select id="getSelectStorageRecordLogPageTotal">
- select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
- count(fol.id) as 'total'
+ select
+ CEILING(count(zu.id)/#{pageSize}) as 'pageTotal',
+ count(zu.id) as 'total' from (
+ select fol.id
from (select *
from mm.finished_operate_log aa where aa.operate_type = #{type} and aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+ left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number and fgi.box_no=fol.remarks
left join sd.`order` o on o.order_id=fol.order_id
<where>
date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate}
@@ -212,7 +230,9 @@
and o.project regexp #{finishedOperateLog.order.project}
</if>
</where>
+ group by fol.order_id,fol.operation_number,fol.remarks
order by fol.`status` desc
+ ) as zu
</select>
<update id="updateToExamine">
@@ -221,6 +241,11 @@
<update id="updateFinishedOperateLogState">
update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
+ </update>
+
+ <update id="updateFinishedOperateLogQuantity">
+ update mm.finished_operate_log set quantity=quantity-#{finishedOperateLog.cancelAvailable},
+ area=area-#{deliveryDetailArea},money=money-#{deliveryDetailMoney} where id=#{finishedOperateLog.id};
</update>
<select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
@@ -485,13 +510,22 @@
o.customer_name,
o.project,
od.price,
- o.order_type
+ o.order_type,
+ p.thickness * fol.area as square_millimeter
from (select *
from mm.finished_operate_log aa where aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
left join sd.`order` o on o.order_id=fol.order_id
+ left join sd.product p on p.id=od.product_id
<where>
- date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate} and fol.operate_type=#{type}
+ <if test="dateType=='date'">
+ date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate}
+ </if>
+ <if test="dateType=='datetime'">
+ fol.operate_time>=#{startDate} and fol.operate_time <= #{endDate}
+ </if>
+ and fol.operate_type=#{type}
+
<if test="finishedOperateLog.operateType != null and finishedOperateLog.operateType != ''">
and fol.operate_type regexp #{finishedOperateLog.operateType}
</if>
@@ -570,8 +604,17 @@
from mm.finished_operate_log aa where aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
left join sd.`order` o on o.order_id=fol.order_id
+ left join sd.product p on p.id=od.product_id
<where>
- date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate} and fol.operate_type=#{type}
+ <if test="dateType=='date'">
+ date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate}
+ </if>
+ <if test="dateType=='datetime'">
+ fol.operate_time>=#{startDate} and fol.operate_time <= #{endDate}
+ </if>
+ and fol.operate_type=#{type}
+
+
<if test="finishedOperateLog.operateType != null and finishedOperateLog.operateType != ''">
and fol.operate_type regexp #{finishedOperateLog.operateType}
</if>
@@ -782,12 +825,58 @@
o.customer_name,
o.project,
od.price,
- o.order_type
+ o.order_type,
+ p.thickness * fol.area as square_millimeter
from (select *
from mm.finished_operate_log aa where aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
left join sd.`order` o on o.order_id=fol.order_id
- where date(fol.operate_time)>=#{dates[0]} and date(fol.operate_time) <= #{dates[1]} and fol.operate_type=#{type}
+ left join sd.product p on p.id=od.product_id
+ where
+ date(fol.operate_time)>=#{dates[0]} and date(fol.operate_time) <= #{dates[1]}
+
+ and fol.operate_type=#{type}
+
+ </select>
+
+ <select id="exportFinishedOperateLogReportByDatetime">
+ select fol.id,
+ fol.operation_order_number,
+ fol.order_id,
+ fol.operate_type,
+ fol.process_id,
+ fol.operation_number,
+ fol.quantity,
+ fol.operator,
+ od.product_id,
+ od.product_name,
+ od.width,
+ od.height,
+ fol.stater_operation_order_number,
+ fol.end_operation_order_number,
+ fol.operate_time,
+ fol.`status`,
+ fol.is_state,
+ fol.reviewed,
+ fol.reviewed_time,
+ fol.type,
+ fol.remarks,
+ fol.area,
+ fol.money,
+ o.customer_name,
+ o.project,
+ od.price,
+ o.order_type,
+ p.thickness * fol.area as square_millimeter
+ from (select *
+ from mm.finished_operate_log aa where aa.status!='宸蹭綔搴�') fol
+ left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+ left join sd.`order` o on o.order_id=fol.order_id
+ left join sd.product p on p.id=od.product_id
+ where
+ fol.operate_time>=#{dates[0]} and fol.operate_time <= #{dates[1]}
+
+ and fol.operate_type=#{type}
</select>
@@ -803,17 +892,18 @@
status,
area,
compute_area,
- remarks
+ remarks,
+ money
)
values (
- #{oddNumber} ,#{orderDetail.orderId},"",#{orderDetail.orderNumber},"鍏ュ簱",#{userName},#{orderDetail.quantity},now(),"鏈鏍�",
- #{orderDetail.computeGrossArea},#{orderDetail.computeArea},""
+ #{oddNumber} ,#{orderDetail.orderId},#{processId},#{orderDetail.orderNumber},"鍏ュ簱",#{userName},#{orderDetail.quantity},now(),"鏈鏍�",
+ #{orderDetail.computeGrossArea},#{orderDetail.computeArea},"",#{orderDetail.grossAmount}
)
</insert>
- <delete id="updateOrderFinishedOperateLog" >
+ <update id="updateOrderFinishedOperateLog" >
update mm.finished_operate_log set status="宸蹭綔搴�" where order_id=#{orderDetail.orderId} and operation_number=#{orderDetail.orderNumber} and operate_type="鍏ュ簱";
- </delete>
+ </update>
<select id="getSelectStorageRecordPint" resultMap="selectFinishedGoodsInventory">
select fol.id,
@@ -1078,4 +1168,6 @@
</select>
+
+
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0