From 051414acd3a8c3e761d1010b14014d6b9bddd7fb Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 15 十月 2024 15:52:06 +0800
Subject: [PATCH] statistic workload change
---
pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml | 139 ++++++++++++++++++++++++++++++++--------------
1 files changed, 96 insertions(+), 43 deletions(-)
diff --git a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
index 7ed3144..bca0a78 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
@@ -6,6 +6,7 @@
<resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
<id property="id" column="id" jdbcType="BIGINT"/>
+ <result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="proId" column="pro_id" jdbcType="BIGINT"/>
<result property="batchId" column="batch_id" jdbcType="BIGINT"/>
<result property="processId" column="process_id" jdbcType="BIGINT"/>
@@ -22,12 +23,16 @@
<result property="outputNumber" column="output_number" jdbcType="INTEGER"/>
<association property="proName" column="pro_id" javaType="java.lang.Long"
select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProNameById" fetchType="eager"/>
+ <association property="proType" column="pro_id" javaType="java.lang.Long"
+ select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProTypeById" fetchType="eager" />
<association property="creatorName" column="creator" javaType="java.lang.Long"
select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectNameByUserId" fetchType="eager"/>
<association property="batchNo" column="batch_id" javaType="java.lang.Long"
select="com.dy.pmsGlobal.daoPr.PrBatchNumberMapper.selectBatchNoById" fetchType="eager"/>
<association property="processName" column="process_id" javaType="java.lang.Long"
select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectProcessNameById" fetchType="eager"/>
+ <association property="orderName" column="order_id" javaType="java.lang.Long"
+ select="com.dy.pmsGlobal.daoPr.PrOrderMapper.selectOrderNameById" fetchType="eager" />
<collection property="process" ofType="com.dy.pmsGlobal.pojoPr.PrProductionProcess"
select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectByPrimaryKey" fetchType="eager"
column="process_id"/>
@@ -35,6 +40,7 @@
<resultMap id="PlanResultMap" type="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
<id property="id" column="id" jdbcType="BIGINT"/>
+ <result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="proId" column="pro_id" jdbcType="BIGINT"/>
<result property="batchId" column="batch_id" jdbcType="BIGINT"/>
<result property="processId" column="process_id" jdbcType="BIGINT"/>
@@ -54,16 +60,18 @@
column="process_id"/>
</resultMap>
+
<sql id="Base_Column_List">
- id
+ id,order_id
,pro_id,batch_id,
process_id,name,number,
status,creator,
dt,start_date,end_date,
deleted,content,input_number,output_number
</sql>
- <sql id="part_Column_List">
+ <sql id="part_Column_List" >
${alias}.id,
+ ${alias}.order_id,
${alias}.pro_id,
${alias}.batch_id,
${alias}.process_id,
@@ -98,6 +106,12 @@
from pr_assembly_plan
where id = #{id}
</select>
+ <select id="selectByBatchId" parameterType="java.lang.Long" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from pr_assembly_plan
+ where batch_id = #{batchId,jdbcType=BIGINT}
+ </select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
@@ -127,16 +141,19 @@
<include refid="Base_Column_List"/>
from pr_assembly_plan
<trim prefix="where" suffixOverrides="and">
+ <if test="orderId != null">
+ order_id = #{orderId,jdbcType=BIGINT} and
+ </if>
<if test="proId != null">
pro_id = #{proId,jdbcType=BIGINT} and
</if>
<if test="batchId != null">
batch_id = #{batchId,jdbcType=BIGINT} and
</if>
- <if test="processId != null">
+ <if test="processId!= null">
process_id = #{processId,jdbcType=BIGINT} and
</if>
- <if test="name != null">
+ <if test="name != null and name !=''">
name = #{name,jdbcType=VARCHAR} and
</if>
<if test="number != null">
@@ -145,22 +162,22 @@
<if test="status != null">
status = #{status,jdbcType=TINYINT} and
</if>
- <if test="creator != null">
+ <if test="creator != null and creator !=''">
creator = #{creator,jdbcType=VARCHAR} and
</if>
<if test="dt != null">
dt = #{dt,jdbcType=TIMESTAMP} and
</if>
- <if test="startDate != null">
+ <if test="startDate != null and startDate !=''">
start_date = #{startDate,jdbcType=VARCHAR} and
</if>
- <if test="endDate != null">
+ <if test="endDate != null and endDate !=''">
end_date = #{endDate,jdbcType=VARCHAR} and
</if>
<if test="deleted != null">
deleted = #{deleted,jdbcType=TINYINT} and
</if>
- <if test="content != null">
+ <if test="content != null and content !=''">
content = #{content,jdbcType=VARCHAR} and
</if>
</trim>
@@ -171,16 +188,19 @@
<include refid="Base_Column_List"/>
from pr_assembly_plan
<trim prefix="where" suffixOverrides="and">
+ <if test="orderId != null">
+ order_id = #{orderId,jdbcType=BIGINT} and
+ </if>
<if test="proId != null">
pro_id = #{proId,jdbcType=BIGINT} and
</if>
<if test="batchId != null">
batch_id = #{batchId,jdbcType=BIGINT} and
</if>
- <if test="processId != null">
+ <if test="processId!= null">
process_id = #{processId,jdbcType=BIGINT} and
</if>
- <if test="name != null">
+ <if test="name != null and name !=''">
name = #{name,jdbcType=VARCHAR} and
</if>
<if test="number != null">
@@ -189,22 +209,22 @@
<if test="status != null">
status = #{status,jdbcType=TINYINT} and
</if>
- <if test="creator != null">
+ <if test="creator != null and creator !=''">
creator = #{creator,jdbcType=VARCHAR} and
</if>
<if test="dt != null">
dt = #{dt,jdbcType=TIMESTAMP} and
</if>
- <if test="startDate != null">
+ <if test="startDate != null and startDate !=''">
start_date = #{startDate,jdbcType=VARCHAR} and
</if>
- <if test="endDate != null">
+ <if test="endDate != null and endDate !=''">
end_date = #{endDate,jdbcType=VARCHAR} and
</if>
<if test="deleted != null">
deleted = #{deleted,jdbcType=TINYINT} and
</if>
- <if test="content != null">
+ <if test="content != null and content !=''">
content = #{content,jdbcType=VARCHAR} and
</if>
</trim>
@@ -219,12 +239,12 @@
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"
useGeneratedKeys="true">
insert into pr_assembly_plan
- ( id, pro_id, batch_id
+ ( id,order_id, pro_id, batch_id
, process_id, name, number
, status, creator
, dt, start_date, end_date
, deleted, content, input_number, output_number)
- values ( #{id,jdbcType=BIGINT}, #{proId,jdbcType=BIGINT}, #{batchId,jdbcType=BIGINT}
+ values ( #{id,jdbcType=BIGINT},#{orderId,jdbcType=BIGINT}, #{proId,jdbcType=BIGINT}, #{batchId,jdbcType=BIGINT}
, #{processId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{number,jdbcType=INTEGER}
, #{status,jdbcType=TINYINT}, #{creator,jdbcType=VARCHAR}
, #{dt,jdbcType=TIMESTAMP}, #{startDate,jdbcType=VARCHAR}, #{endDate,jdbcType=VARCHAR}
@@ -236,52 +256,57 @@
insert into pr_assembly_plan
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
+ <if test="orderId != null">order_id,</if>
<if test="proId != null">pro_id,</if>
<if test="batchId != null">batch_id,</if>
<if test="processId != null">process_id,</if>
- <if test="name != null">name,</if>
+ <if test="name != null and name !=''">name,</if>
<if test="number != null">number,</if>
<if test="status != null">status,</if>
- <if test="creator != null">creator,</if>
+ <if test="creator != null and creator !=''">creator,</if>
<if test="dt != null">dt,</if>
- <if test="startDate != null">start_date,</if>
- <if test="endDate != null">end_date,</if>
+ <if test="startDate != null and startDate !=''">start_date,</if>
+ <if test="endDate != null and endDate !=''">end_date,</if>
<if test="deleted != null">deleted,</if>
- <if test="content != null">content,</if>
- <if test="inputNumber != null">input_number,</if>
- <if test="outputNumber != null">output_number,</if>
+ <if test="content != null and content !=''">content,</if>
+ <if test="inputNumber!= null">input_number,</if>
+ <if test="outputNumber!= null">output_number,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id,jdbcType=BIGINT},</if>
+ <if test="orderId != null">#{orderId,jdbcType=BIGINT},</if>
<if test="proId != null">#{proId,jdbcType=BIGINT},</if>
<if test="batchId != null">#{batchId,jdbcType=BIGINT},</if>
<if test="processId != null">#{processId,jdbcType=BIGINT},</if>
- <if test="name != null">#{name,jdbcType=VARCHAR},</if>
+ <if test="name != null and name !=''">#{name,jdbcType=VARCHAR},</if>
<if test="number != null">#{number,jdbcType=INTEGER},</if>
<if test="status != null">#{status,jdbcType=TINYINT},</if>
- <if test="creator != null">#{creator,jdbcType=VARCHAR},</if>
+ <if test="creator != null and creator !=''">#{creator,jdbcType=VARCHAR},</if>
<if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
- <if test="startDate != null">#{startDate,jdbcType=VARCHAR},</if>
- <if test="endDate != null">#{endDate,jdbcType=VARCHAR},</if>
+ <if test="startDate != null and startDate !=''">#{startDate,jdbcType=VARCHAR},</if>
+ <if test="endDate != null and endDate !=''">#{endDate,jdbcType=VARCHAR},</if>
<if test="deleted != null">#{deleted,jdbcType=TINYINT},</if>
- <if test="content != null">#{content,jdbcType=VARCHAR},</if>
- <if test="inputNumber != null">#{intputNumber,jdbcType=INTEGER},</if>
- <if test="outputNumber != null">#{outputNumber,jdbcType=INTEGER},</if>
+ <if test="content != null and content !=''">#{content,jdbcType=VARCHAR},</if>
+ <if test="inputNumber!= null">#{inputNumber,jdbcType=INTEGER},</if>
+ <if test="outputNumber!= null">#{outputNumber,jdbcType=INTEGER},</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
update pr_assembly_plan
<set>
+ <if test="orderId != null">
+ order_id = #{orderId,jdbcType=BIGINT} ,
+ </if>
<if test="proId != null">
pro_id = #{proId,jdbcType=BIGINT},
</if>
<if test="batchId != null">
batch_id = #{batchId,jdbcType=BIGINT},
</if>
- <if test="processId != null">
+ <if test="processId!= null">
process_id = #{processId,jdbcType=BIGINT},
</if>
- <if test="name != null">
+ <if test="name != null and name !=''">
name = #{name,jdbcType=VARCHAR},
</if>
<if test="number != null">
@@ -290,28 +315,28 @@
<if test="status != null">
status = #{status,jdbcType=TINYINT},
</if>
- <if test="creator != null">
+ <if test="creator != null and creator !=''">
creator = #{creator,jdbcType=VARCHAR},
</if>
<if test="dt != null">
dt = #{dt,jdbcType=TIMESTAMP},
</if>
- <if test="startDate != null">
+ <if test="startDate != null and startDate !=''">
start_date = #{startDate,jdbcType=VARCHAR},
</if>
- <if test="endDate != null">
+ <if test="endDate != null and endDate !=''">
end_date = #{endDate,jdbcType=VARCHAR},
</if>
<if test="deleted != null">
deleted = #{deleted,jdbcType=TINYINT},
</if>
- <if test="content != null">
+ <if test="content != null and content !=''">
content = #{content,jdbcType=VARCHAR},
</if>
- <if test="inputNumber != null">
+ <if test="inputNumber!= null">
input_number = #{inputNumber,jdbcType=INTEGER},
</if>
- <if test="outputNumber != null">
+ <if test="outputNumber!= null">
output_number = #{outputNumber,jdbcType=INTEGER},
</if>
</set>
@@ -319,7 +344,8 @@
</update>
<update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
update pr_assembly_plan
- set pro_id = #{proId,jdbcType=BIGINT},
+ set order_id = #{orderId,jdbcType=BIGINT},
+ pro_id = #{proId,jdbcType=BIGINT},
batch_id = #{batchId,jdbcType=BIGINT},
process_id = #{processId,jdbcType=BIGINT},
name = #{name,jdbcType=VARCHAR},
@@ -337,6 +363,7 @@
</update>
<select id="selectSome" resultMap="BaseResultMap">
+ <!-- 涓�娈垫椂闂村紑濮嬬殑浠诲姟 -->
select
<include refid="Base_Column_List"/>
from pr_assembly_plan
@@ -345,10 +372,10 @@
pro_id = #{proId,jdbcType=BIGINT} and
</if>
<if test="startDate != null and startDate != '' ">
- start_date = #{startDate,jdbcType=VARCHAR} and
+ start_date <![CDATA[ > ]]> #{startDate,jdbcType=VARCHAR} and
</if>
<if test="endDate != null and endDate != ''">
- end_date = #{endDate,jdbcType=VARCHAR} and
+ start_date <![CDATA[ < ]]> #{endDate,jdbcType=VARCHAR} and
</if>
</trim>
order by id desc
@@ -367,10 +394,10 @@
pro_id = #{proId,jdbcType=BIGINT} and
</if>
<if test="startDate != null and startDate != '' ">
- start_date = #{startDate,jdbcType=VARCHAR} and
+ start_date <![CDATA[ > ]]> #{startDate,jdbcType=VARCHAR} and
</if>
<if test="endDate != null and endDate != ''">
- end_date = #{endDate,jdbcType=VARCHAR} and
+ start_date <![CDATA[ < ]]> #{endDate,jdbcType=VARCHAR} and
</if>
</trim>
</select>
@@ -388,4 +415,30 @@
set deleted = 1
where id = #{id}
</update>
+
+ <select id="countByPlanIdAndNodeId" resultType="java.lang.Long">
+ select count(1) from pr_assembly_plan ap
+ left join pr_production_node pn on ap.process_id = pn.process_id
+ where ap.id = #{planId} and pn.id= #{nodeId}
+ </select>
+
+ <select id="selectByPlanName" resultType="cn.hutool.json.JSONObject">
+ select ap.id planId,ap.name planName,ap.`status`,pn.id nodeId,pn.content from pr_assembly_plan ap
+ left join pr_production_node pn on ap.process_id = pn.process_id
+ where status != -1
+ <if test="planName != null and planName!= ''">
+ and ap.name like concat('%', #{planName}, '%')
+ </if>
+ </select>
+
+ <select id="queryPlanList" resultType="cn.hutool.json.JSONObject">
+ select pp.`name` as pro_name, p.`name` ,p.number, p.output_number, concat(round(((p.output_number/p.number) * 100 ),0), '%') as complete_rate ,p.end_date,
+ TIMESTAMPDIFF(DAY, NOW(),p.end_date) AS days_difference
+ from (SELECT * FROM pr_assembly_plan WHERE STATUS = 1 and deleted = 0) p
+ LEFT JOIN plt_product pp
+ on p.pro_id = pp.id
+ ORDER BY end_date
+ </select>
+
+
</mapper>
--
Gitblit v1.8.0