From 623397a394196189057db9c1948fe3b24f7fa4e3 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期三, 24 七月 2024 15:34:14 +0800
Subject: [PATCH] 生产线和工站添加启用禁用的校验

---
 pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml |  129 ++++++++++++++++++++++++-------------------
 1 files changed, 72 insertions(+), 57 deletions(-)

diff --git a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
index c50c2d3..bfd33b8 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
@@ -12,7 +12,7 @@
         <result property="planId" column="plan_id" jdbcType="BIGINT"/>
         <result property="processId" column="process_id" jdbcType="BIGINT"/>
         <result property="nodeId" column="node_id" jdbcType="BIGINT"/>
-        <result property="nodeType" column="node_type" jdbcType="TINYINT"/>
+        <result property="workType" column="work_type" jdbcType="TINYINT"/>
         <result property="dt" column="dt" jdbcType="TIMESTAMP"/>
         <result property="status" column="status" jdbcType="TINYINT"/>
         <result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
@@ -44,7 +44,7 @@
         <result property="planId" column="plan_id" jdbcType="BIGINT"/>
         <result property="processId" column="process_id" jdbcType="BIGINT"/>
         <result property="nodeId" column="node_id" jdbcType="BIGINT"/>
-        <result property="nodeType" column="node_type" jdbcType="TINYINT"/>
+        <result property="workType" column="work_type" jdbcType="TINYINT"/>
         <result property="dt" column="dt" jdbcType="TIMESTAMP"/>
         <result property="status" column="status" jdbcType="TINYINT"/>
         <result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
@@ -56,6 +56,9 @@
         <result property="processName" column="process_name" jdbcType="VARCHAR"/>
         <result property="nodeName" column="node_name" jdbcType="VARCHAR"/>
         <result property="lineName" column="line_name" jdbcType="VARCHAR"/>
+        <result property="proId" column="pro_id" jdbcType="VARCHAR"/>
+        <result property="proName" column="pro_name" jdbcType="VARCHAR"/>
+        <result property="devicePrefix" column="device_prefix" jdbcType="VARCHAR"/>
         <collection property="assistantsList" ofType="com.dy.pmsGlobal.pojoBa.BaUser"
                     select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectByAssistants" fetchType="eager"
                     column="assistants"/>
@@ -65,50 +68,23 @@
         id
         ,user_id,line_id,
         station_id,plan_id,process_id,
-        node_id,node_type,dt,status,
+        node_id,work_type,dt,status,
         start_time,end_time,assistants
     </sql>
     <sql id="part_Column_List">
-        ${alias}
-        .
-        id
-        ,
-        ${alias}
-        .
-        user_id,
-        ${alias}
-        .
-        line_id,
-        ${alias}
-        .
-        station_id,
-        ${alias}
-        .
-        plan_id,
-        ${alias}
-        .
-        process_id,
-        ${alias}
-        .
-        node_id,
-        ${alias}
-        .
-        node_type,
-        ${alias}
-        .
-        dt,
-        ${alias}
-        .
-        status,
-        ${alias}
-        .
-        start_time,
-        ${alias}
-        .
-        end_time,
-        ${alias}
-        .
-        assistants
+        ${alias}.id,
+        ${alias}.user_id,
+        ${alias}.line_id,
+        ${alias}.station_id,
+        ${alias}.plan_id,
+        ${alias}.process_id,
+        ${alias}.node_id,
+        ${alias}.work_type,
+        ${alias}.dt,
+        ${alias}.status,
+        ${alias}.start_time,
+        ${alias}.end_time,
+        ${alias}.assistants
     </sql>
     <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
         select
@@ -183,19 +159,24 @@
         select
         <include refid="part_Column_List">
             <property name="alias" value="l"/>
-        </include>
-        ,
+        </include>,
         u.name as user_name,
         s.name as station_name,
         p.name as plan_name,
-        pp.name as process_name,
+        ppp.name as process_name,
         n.content as node_name,
-        ll.name as line_name
+        ll.name as line_name,
+        p.pro_id as pro_id,
+        p.pro_name as pro_name,
+        concat('110', p.pro_code, p.batch_number) as device_prefix
         from sta_assembly_work_last l
         left join ba_user u on l.user_id = u.id
         left join plt_station s on l.station_id = s.id
-        left join pr_assembly_plan p on l.plan_id = p.id
-        left join pr_production_process pp on l.process_id = pp.id
+        left join (select pap.name as name,pap.id as id,pbn.batch_number as batch_number,
+                          pp.id as pro_id,pp.name as pro_name,pp.`code` as pro_code
+                     from pr_assembly_plan as pap,plt_product as pp,pr_batch_number as pbn
+                    where pap.batch_id = pbn.id and pap.pro_id = pp.id) p on l.plan_id = p.id
+        left join pr_production_process ppp on l.process_id = ppp.id
         left join pr_production_node n on l.node_id = n.id
         left join plt_production_line ll on l.line_id = ll.id
         <where>
@@ -316,7 +297,41 @@
             </if>
         </where>
     </select>
-
+    <select id="existsEntity" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from sta_assembly_work_last
+        where user_id = #{userId,jdbcType=BIGINT}
+        and station_id = #{stationId,jdbcType=BIGINT}
+        <choose>
+            <when test="planId != null">
+                and plan_id = #{planId,jdbcType=BIGINT}
+            </when>
+            <otherwise>
+                and plan_id is null
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="processId != null">
+                and process_id = #{processId,jdbcType=BIGINT}
+            </when>
+            <otherwise>
+                and process_id is null
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="nodeId != null">
+                and node_id = #{nodeId,jdbcType=BIGINT}
+            </when>
+            <otherwise>
+                and node_id is null
+            </otherwise>
+        </choose>
+        and work_type = #{workType,jdbcType=TINYINT}
+        <if test="id != null">
+            and id != #{id,jdbcType=BIGINT}
+        </if>
+    </select>
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
         delete
         from sta_assembly_work_last
@@ -327,11 +342,11 @@
         insert into sta_assembly_work_last
         ( id, user_id, line_id
         , station_id, plan_id, process_id
-        , node_id, node_type, dt, status
+        , node_id, work_type, dt, status
         , start_time, end_time, assistants)
         values ( #{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{lineId,jdbcType=BIGINT}
                , #{stationId,jdbcType=BIGINT}, #{planId,jdbcType=BIGINT}, #{processId,jdbcType=BIGINT}
-               , #{nodeId,jdbcType=BIGINT}, #{nodeType,jdbcType=TINYINT}, #{dt,jdbcType=TIMESTAMP}
+               , #{nodeId,jdbcType=BIGINT}, #{workType,jdbcType=TINYINT}, #{dt,jdbcType=TIMESTAMP}
                , #{status,jdbcType=TINYINT}
                , #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{assistants,jdbcType=VARCHAR})
     </insert>
@@ -346,7 +361,7 @@
             <if test="planId != null">plan_id,</if>
             <if test="processId != null">process_id,</if>
             <if test="nodeId != null">node_id,</if>
-            <if test="nodeType != null">node_Type,</if>
+            <if test="workType != null">work_Type,</if>
             <if test="dt != null">dt,</if>
             <if test="status != null">status,</if>
             <if test="startTime != null">start_time,</if>
@@ -361,7 +376,7 @@
             <if test="planId != null">#{planId,jdbcType=BIGINT},</if>
             <if test="processId != null">#{processId,jdbcType=BIGINT},</if>
             <if test="nodeId != null">#{nodeId,jdbcType=BIGINT},</if>
-            <if test="nodeType != null">#{nodeType,jdbcType=TINYINT},</if>
+            <if test="workType != null">#{workType,jdbcType=TINYINT},</if>
             <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
             <if test="status != null">#{status,jdbcType=TINYINT},</if>
             <if test="startTime != null">#{startTime,jdbcType=TIMESTAMP},</if>
@@ -390,8 +405,8 @@
             <if test="nodeId != null">
                 node_id = #{nodeId,jdbcType=BIGINT},
             </if>
-            <if test="nodeType != null">
-                node_type = #{nodeType,jdbcType=TINYINT},
+            <if test="workType != null">
+                work_type = #{workType,jdbcType=TINYINT},
             </if>
             <if test="dt != null">
                 dt = #{dt,jdbcType=TIMESTAMP},
@@ -419,7 +434,7 @@
             plan_id    = #{planId,jdbcType=BIGINT},
             process_id = #{processId,jdbcType=BIGINT},
             node_id    = #{nodeId,jdbcType=BIGINT},
-            node_type  = #{nodeType,jdbcType=TINYINT},
+            work_type  = #{workType,jdbcType=TINYINT},
             dt         = #{dt,jdbcType=TIMESTAMP},
             status     = #{status,jdbcType=TINYINT},
             start_time = #{startTime,jdbcType=TIMESTAMP},

--
Gitblit v1.8.0