From fcc62c9f3b829b51eb8f0607d9276c49b63c6331 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期日, 27 四月 2025 14:24:57 +0800
Subject: [PATCH] 零件统计问题修复
---
aps-modules/aps-core/src/main/resources/mapper/core/ApsPartRouteStatMapper.xml | 53 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 13 deletions(-)
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPartRouteStatMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPartRouteStatMapper.xml
index d029bb9..8b55af0 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPartRouteStatMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPartRouteStatMapper.xml
@@ -17,10 +17,11 @@
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="batchNumber" column="batch_number" />
+ <result property="resourceGroupName" column="resource_group_name" />
</resultMap>
<sql id="selectApsPartRouteStatVo">
- select id, work_order_no, road_process_number, current_process_number, production_quantity, standard_time, process_total_time, process_plan_start_day, design_times, del_flag, create_by, batch_number from aps_part_route_stat
+ select id, work_order_no, road_process_number, current_process_number, production_quantity, standard_time, process_total_time, process_plan_start_day, design_times, del_flag, create_by, batch_number ,resource_group_name from aps_part_route_stat
</sql>
<select id="selectApsPartRouteStatList" parameterType="ApsPartRouteStat" resultMap="ApsPartRouteStatResult">
@@ -53,11 +54,12 @@
<if test="productionQuantity != null">production_quantity,</if>
<if test="standardTime != null">standard_time,</if>
<if test="processTotalTime != null">process_total_time,</if>
- <if test="processPlanStartDay != null and processPlanStartDay != ''">process_plan_start_day,</if>
+ <if test="processPlanStartDay != null ">process_plan_start_day,</if>
<if test="designTimes != null">design_times,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="batchNumber != null">batch_number,</if>
+ <if test="resourceGroupName != null">resource_group_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@@ -67,11 +69,12 @@
<if test="productionQuantity != null">#{productionQuantity},</if>
<if test="standardTime != null">#{standardTime},</if>
<if test="processTotalTime != null">#{processTotalTime},</if>
- <if test="processPlanStartDay != null and processPlanStartDay != ''">#{processPlanStartDay},</if>
+ <if test="processPlanStartDay != null">#{processPlanStartDay},</if>
<if test="designTimes != null">#{designTimes},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="batchNumber != null">#{batchNumber},</if>
+ <if test="resourceGroupName != null">#{resourceGroupName},</if>
</trim>
</insert>
@@ -109,7 +112,7 @@
</update>
<select id="selectPartRoutStat" resultMap="ApsPartRouteStatResult" >
select rt.work_order_no,
- rt.process_name,
+ rt.process_name as resource_group_name,
cast( rt.process_number as numeric(18,2)) as road_process_number,
cast( pl.process_number as numeric(18,2)) as current_process_number,
pl.production_quantity,
@@ -120,15 +123,39 @@
from aps_part_plan as pl
left join aps_process_route as rt on pl.document_number=rt.work_order_no
left join aps_resource_group as rs on rs.resource_group_name=rt.process_name
- where pl.del_flag='0' and rt.del_flag='0'
- /*闆朵欢璁″垝鐘舵�佷负锛氶潪瀹屽伐 */
- and ( pl.order_status!='' and ( pl.order_status!='3' or pl.order_status!='瀹屽伐') )
- /*宸ヨ壓璺嚎鐨勫伐搴忓彿>=闆朵欢璁″垝鐨勫綋鍓嶅伐搴�*/
- and cast( rt.process_number as decimal(18,2)) >= cast( pl.process_number as decimal(18,2))
- /*宸ュ簭璁″垝寮�宸ユ棩 <= 璧勬簮缁勭殑鎴鏃ユ湡*/
- and rt.process_plan_start_day<=rs.request_date
- /*璧勬簮缁勯渶姹傛埅姝㈡棩鏈�<=褰撳墠鏃ユ湡+15澶�*/
- and rs.request_date<=(current_date + INTERVAL '15 day')
+ where pl.work_order_no is not null
+ and rt.process_plan_start_day <= rs.request_date
order by rt.work_order_no,process_plan_start_day
</select>
+
+ <resultMap type="ApsResourceDateStat" id="ApsResourceDateStatResult">
+ <result property="planDay" column="plan_day" />
+ <result property="resourceName" column="resource_name" />
+ <result property="requireTimes" column="require_times" />
+ <result property="designTimes" column="design_times" />
+ <result property="capacityLoad" column="capacity_load" />
+ <result property="resourceGroupName" column="resource_name" />
+ </resultMap>
+
+ <select id="selectResourceDateStat" resultMap="ApsResourceDateStatResult">
+
+ with pl as (select DATE(st.process_plan_start_day) AS plan_day,
+ resource_group_name as resource_name,
+ sum(process_total_time) as require_times
+ from aps_part_route_stat as st
+ where st.del_flag = '0'
+ group by resource_group_name, plan_day
+ order by plan_day,resource_group_name
+ )
+ select
+ pl.plan_day
+ ,pl.resource_name
+ , require_times
+ , (gp.theory_hours * gp.devices_quantity) as design_times
+ , cast ( require_times / cast (gp.theory_hours * gp.devices_quantity as numeric(18,4)) as numeric(18,4)) *100 as capacity_load
+ from pl
+ left join aps_resource_group as gp on pl.resource_name = gp.resource_group_name
+ where gp.del_flag = '0'
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3