From 5e75ef24e5dd45ae934dc7f03f6c7736ca73c9ff Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 27 八月 2024 15:01:32 +0800
Subject: [PATCH] fix order search

---
 pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml |  144 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 96 insertions(+), 48 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..c3ee987 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"/>
@@ -28,6 +29,8 @@
                      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 +38,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 +58,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,
@@ -127,16 +133,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 +154,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">
+            <if test="dt != null and dt !=''">
                 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 +180,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 +201,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">
+            <if test="dt != null and dt !=''">
                 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 +231,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 +248,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="dt != null">dt,</if>
-            <if test="startDate != null">start_date,</if>
-            <if test="endDate != null">end_date,</if>
+            <if test="creator != null and creator !=''">creator,</if>
+            <if test="dt != null and dt !=''">dt,</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 and inputNumber !=''">input_number,</if>
+            <if test="outputNumber!= null and outputNumber !=''">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="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
-            <if test="startDate != null">#{startDate,jdbcType=VARCHAR},</if>
-            <if test="endDate != null">#{endDate,jdbcType=VARCHAR},</if>
+            <if test="creator != null and creator !=''">#{creator,jdbcType=VARCHAR},</if>
+            <if test="dt != null and dt !=''">#{dt,jdbcType=TIMESTAMP},</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 +307,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">
+            <if test="dt != null and dt !=''">
                 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 and inputNumber !=''">
                 input_number = #{inputNumber,jdbcType=INTEGER},
             </if>
-            <if test="outputNumber != null">
+            <if test="outputNumber!= null and outputNumber !=''">
                 output_number = #{outputNumber,jdbcType=INTEGER},
             </if>
         </set>
@@ -319,7 +336,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 +355,7 @@
     </update>
 
     <select id="selectSome" resultMap="BaseResultMap">
+       <!-- 涓�娈垫椂闂村紑濮嬬殑浠诲姟 -->
         select
         <include refid="Base_Column_List"/>
         from pr_assembly_plan
@@ -345,10 +364,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 +386,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 +407,33 @@
         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>
+
+
+    <resultMap id="jsonResultMap" type="java.util.HashMap">
+        <id column="planId" property="planId"/>
+        <result column="planName" property="planName"/>
+        <result column="status" property="status"/>
+
+        <collection property="nodes" javaType="java.util.HashMap">
+            <result column="content" property="content"/>
+            <result column="nodeId" property="nodeId"/>
+        </collection>
+    </resultMap>
+    <select id="selectByPlanName" resultMap="jsonResultMap">
+        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!= null">
+            and ap.name like concat('%', #{planName}, '%')
+        </if>
+    </select>
+
+
+
 </mapper>

--
Gitblit v1.8.0