Fancy
2025-01-06 854bbf5e0fa584ac2742656805fc465768fb56bb
pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
@@ -5,93 +5,152 @@
<mapper namespace="com.dy.pmsGlobal.daoSta.StaAssemblyWorkLastMapper">
    <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="userId" column="user_id" jdbcType="BIGINT"/>
            <result property="lineId" column="line_id" jdbcType="BIGINT"/>
            <result property="stationId" column="station_id" jdbcType="BIGINT"/>
            <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="dt" column="dt" jdbcType="TIMESTAMP"/>
            <result property="status" column="status" jdbcType="TINYINT"/>
            <result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
            <result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
            <result property="assistants" column="assistants" jdbcType="VARCHAR"/>
            <association property="userName" column="user_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectNameByUserId" fetchType="eager" />
            <association property="stationName" column="station_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPlt.PltStationMapper.selectNameByStationId" fetchType="eager" />
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="userId" column="user_id" jdbcType="BIGINT"/>
        <result property="lineId" column="line_id" jdbcType="BIGINT"/>
        <result property="stationId" column="station_id" jdbcType="BIGINT"/>
        <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="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"/>
        <result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
        <result property="assistants" column="assistants" jdbcType="VARCHAR"/>
        <association property="userName" column="user_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectNameByUserId" fetchType="eager"/>
       <!-- <association property="stationName" column="station_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPlt.PltStationMapper.selectNameByStationId" fetchType="eager"/>
        <association property="planName" column="plan_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper.selectNameByPlanId" fetchType="eager"/>
        <association property="processName" column="process_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectProcessNameById" fetchType="eager"/>
        <association property="nodeName" column="node_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPr.PrProductionNodeMapper.selectNameByNodeId" fetchType="eager"/>-->
        <association property="lineName" column="line_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPlt.PltProductionLineMapper.selectNameByLineId" fetchType="eager"/>
        <collection property="assistantsList" ofType="com.dy.pmsGlobal.pojoBa.BaUser"
                    select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectByAssistants" fetchType="eager"
                    column="assistants"/>
    </resultMap>
    <resultMap id="SelectResultMap" type="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="userId" column="user_id" jdbcType="BIGINT"/>
        <result property="lineId" column="line_id" jdbcType="BIGINT"/>
        <result property="stationId" column="station_id" jdbcType="BIGINT"/>
        <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="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"/>
        <result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
        <result property="assistants" column="assistants" jdbcType="VARCHAR"/>
        <result property="userName" column="user_name" jdbcType="VARCHAR"/>
        <result property="stationName" column="station_name" jdbcType="VARCHAR"/>
        <result property="planName" column="plan_name" jdbcType="VARCHAR"/>
        <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"/>
    </resultMap>
<!--    <resultMap id="customResultMap" type="cn.hutool.json.JSONObject">-->
<!--        <result column="columnName" typeHandler="com.yourpackage.CustomJsonTypeHandler"/>-->
<!--    </resultMap>-->
    <sql id="Base_Column_List">
        id,user_id,line_id,
        id
        ,user_id,line_id,
        station_id,plan_id,process_id,
        node_id,dt,status,
        node_id,work_type,dt,status,
        start_time,end_time,assistants
    </sql>
    <sql id="part_Column_List"><![CDATA[
        ${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
        <include refid="Base_Column_List" />
        <include refid="Base_Column_List"/>
        from sta_assembly_work_last
        where  id = #{id,jdbcType=BIGINT}
        where id = #{id,jdbcType=BIGINT}
    </select>
    <select id="selectByUserAndStation" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from plt_station where status ==1
        <trim prefix="and" suffixOverrides="and">
            <if test="id != null and id !=''">
                id = #{id,jdbcType=BIGINT} and
            </if>
            <if test="code != null and code !=''">
                code = #{code,jdbcType=VARCHAR} and
            </if>
            <if test="name != null and name !=''">
                name  like concat('%', #{name}, '%') and
            </if>
            <if test="disabled != null and disabled !=''">
                disabled = #{disabled,jdbcType=TINYINT} and
            </if>
            <if test="lineId != null and lineId !=''">
                line_id = #{lineId,jdbcType=BIGINT} and
            </if>
        </trim>
        order by id desc
    </select>
<!--    <select id="selectByUserAndStation" resultMap="BaseResultMap">-->
<!--        select-->
<!--        <include refid="Base_Column_List"/>-->
<!--        from plt_station where status =1-->
<!--        <trim prefix="and" suffixOverrides="and">-->
<!--            <if test="id != null">-->
<!--                id = #{id,jdbcType=BIGINT} and-->
<!--            </if>-->
<!--            <if test="code != null and code !=''">-->
<!--                code = #{code,jdbcType=VARCHAR} and-->
<!--            </if>-->
<!--            <if test="name != null and name !=''">-->
<!--                name like concat('%', #{name}, '%') and-->
<!--            </if>-->
<!--            <if test="disabled != null">-->
<!--                disabled = #{disabled,jdbcType=TINYINT} and-->
<!--            </if>-->
<!--            <if test="lineId != null">-->
<!--                line_id = #{lineId,jdbcType=BIGINT} and-->
<!--            </if>-->
<!--        </trim>-->
<!--        order by id desc-->
<!--    </select>-->
    <select id="selectList" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        <include refid="Base_Column_List"/>
        from sta_assembly_work_last
        <where>
            <if test="userId != null and userId !=''">
              and user_id = #{userId,jdbcType=BIGINT}
            <if test="userId != null">
                and user_id = #{userId,jdbcType=BIGINT}
            </if>
            <if test="lineId != null and lineId !=''">
              and line_id = #{lineId,jdbcType=BIGINT}
            <if test="lineId != null">
                and line_id = #{lineId,jdbcType=BIGINT}
            </if>
            <if test="stationId != null and stationId !=''">
              and station_id = #{stationId,jdbcType=BIGINT}
            <if test="stationId != null">
                and station_id = #{stationId,jdbcType=BIGINT}
            </if>
            <if test="planId != null and planId !=''">
              and plan_id = #{planId,jdbcType=BIGINT}
            <if test="planId != null">
                and plan_id = #{planId,jdbcType=BIGINT}
            </if>
            <if test="processId != null and processId !=''">
              and process_id = #{processId,jdbcType=BIGINT}
            <if test="processId != null">
                and process_id = #{processId,jdbcType=BIGINT}
            </if>
            <if test="nodeId != null and nodeId !=''">
              and node_id = #{nodeId,jdbcType=BIGINT}
            <if test="nodeId != null">
                and node_id = #{nodeId,jdbcType=BIGINT}
            </if>
            <if test="status != null and status !=''">
              and status = #{status,jdbcType=TINYINT}
            <if test="status != null">
                and status = #{status,jdbcType=TINYINT}
            </if>
            <if test="startTime != null and startTime !=''">
                and start_time = #{startTime,jdbcType=TIMESTAMP},
            <if test="startTime != null">
                and start_time = #{startTime,jdbcType=TIMESTAMP}
            </if>
            <if test="endTime != null and userId !=''">
                and  end_time = #{endTime,jdbcType=TIMESTAMP},
            <if test="endTime != null">
                and end_time = #{endTime,jdbcType=TIMESTAMP}
            </if>
            <if test="assistants != null and assistants !=''">
                and assistants = #{assistants,jdbcType=VARCHAR}
@@ -99,108 +158,323 @@
        </where>
        order by id desc
    </select>
    <select id="selectSome" resultMap="SelectResultMap">
        select
        <include refid="part_Column_List">
            <property name="alias" value="l"/>
        </include>,
        u.name as user_name,
        s.name as station_name,
        p.name as plan_name,
        ppp.name as process_name,
        n.content as node_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 (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>
            <if test="userName != null and userName != ''">
                and u.name like concat('%', #{userName}, '%')
            </if>
            <if test="stationName != null and stationName != '' ">
                and s.name like concat('%', #{stationName}, '%')
            </if>
            <if test="planName != null and planName != '' ">
                and p.name like concat('%', #{planName}, '%')
            </if>
            <if test="processName != null and processName != '' ">
                and ppp.name like concat('%', #{processName}, '%')
            </if>
            <if test="nodeName != null and nodeName != '' ">
                and n.content like concat('%', #{nodeName}, '%')
            </if>
            <if test="lineName != null and lineName != '' ">
                and ll.name like concat('%', #{lineName}, '%')
            </if>
            <if test="startTime != null">
                and l.start_time <![CDATA[ > ]]> #{startTime}
            </if>
            <if test="endTime != null">
                and l.start_time <![CDATA[ < ]]> #{endTime}
            </if>
            <if test="userId != null">
                and l.user_id = #{userId,jdbcType=BIGINT}
            </if>
            <if test="lineId != null">
                and l.line_id = #{lineId,jdbcType=BIGINT}
            </if>
            <if test="stationId != null">
                and l.station_id = #{stationId,jdbcType=BIGINT}
            </if>
            <if test="planId != null">
                and l.plan_id = #{planId,jdbcType=BIGINT}
            </if>
            <if test="processId != null">
                and l.process_id = #{processId,jdbcType=BIGINT}
            </if>
            <if test="nodeId != null">
                and l.node_id = #{nodeId,jdbcType=BIGINT}
            </if>
            <if test="status != null">
                and l.status = #{status,jdbcType=TINYINT}
            </if>
            <if test="assistants != null and assistants !=''">
                and l.assistants = #{assistants,jdbcType=VARCHAR}
            </if>
        </where>
        order by id desc
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start}, #{count}
            </if>
        </trim>
    </select>
    <select id="selectSomeCount" resultType="java.lang.Long">
        select count(1)
        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 pr_production_node n on l.node_id = n.id
        left join plt_production_line ll on l.line_id = ll.id
        <where>
            <if test="userName != null and userName != ''">
                and u.name like concat('%', #{userName}, '%')
            </if>
            <if test="stationName != null and stationName != '' ">
                and s.name like concat('%', #{stationName}, '%')
            </if>
            <if test="planName != null and planName != '' ">
                and p.name like concat('%', #{planName}, '%')
            </if>
            <if test="processName != null and processName != '' ">
                and pp.name like concat('%', #{processName}, '%')
            </if>
            <if test="nodeName != null and nodeName != '' ">
                and n.content like concat('%', #{nodeName}, '%')
            </if>
            <if test="lineName != null and lineName != '' ">
                and ll.name like concat('%', #{lineName}, '%')
            </if>
            <if test="startTime != null">
                and l.start_time <![CDATA[ > ]]> #{startTime,jdbcType=TIMESTAMP}
            </if>
            <if test="endTime != null">
                and l.start_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP}
            </if>
            <if test="userId != null">
                and l.user_id = #{userId,jdbcType=BIGINT}
            </if>
            <if test="lineId != null">
                and l.line_id = #{lineId,jdbcType=BIGINT}
            </if>
            <if test="stationId != null">
                and l.station_id = #{stationId,jdbcType=BIGINT}
            </if>
            <if test="planId != null">
                and l.plan_id = #{planId,jdbcType=BIGINT}
            </if>
            <if test="processId != null">
                and l.process_id = #{processId,jdbcType=BIGINT}
            </if>
            <if test="nodeId != null">
                and l.node_id = #{nodeId,jdbcType=BIGINT}
            </if>
            <if test="status != null">
                and l.status = #{status,jdbcType=TINYINT}
            </if>
            <if test="assistants != null and assistants !=''">
                and l.assistants = #{assistants,jdbcType=VARCHAR}
            </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>
    <select id="queryWorkList" resultType="cn.hutool.json.JSONObject" >
        WITH  a as ( SELECT pap.id as plan_id,pap.order_name,pap.`name` as plan_name,pap.number,pap.input_number,pap.output_number,
                            ppp.id as process_id,ppp.`name` as process_name,
                            ppn.id as node_id, ppn.content as node_name,
                            pp.`code` as pro_code , pp.`name` as pro_name,
                            pbn.batch_number as batch_number,     ppn.sort as sort
                     from  (SELECT pl.*, po.`NAME` AS order_name FROM pr_assembly_plan pl  LEFT JOIN pr_order po ON pl.order_id = po.id) pap,
                           pr_production_process ppp,pr_production_node ppn,plt_product pp,pr_batch_number pbn
                     WHERE pap.process_id = ppp.id and ppp.id = ppn.process_id
                       and pap.pro_id = pp.id and pap.batch_id = pbn.id
                     order by plan_id,process_id,sort)
        SELECT ps.station_name,IFNULL(ppl.line_name,'') AS line_name,IFNULL(sawl.user_name,'') AS user_name,IFNULL(sawl.assistants_name,'') AS assistants_name,
               IFNULL(sawl.order_name,'') AS order_name,IFNULL(sawl.pro_name,'') AS pro_name, IFNULL(sawl.plan_name,'') AS plan_name,
               IF(sawl.plan_name IS NULL,'',CONCAT(IFNULL(sawl.number,'0'),'/',IFNULL(sawl.input_number,'0'),'/',IFNULL(sawl.output_number,'0')))  AS plan_number,
               IFNULL(sawl.process_name,'') AS process_name,IFNULL(sawl.node_name,'') AS node_name,IFNULL(sawl.dt,'') AS dt,sawl.work_type FROM
            (SELECT id,`name` AS station_name, line_id  FROM plt_station WHERE deleted = 0 AND disabled = 0) ps
                LEFT JOIN  (SELECT id,`name` AS line_name FROM plt_production_line) ppl ON ps.line_id = ppl.id
                LEFT JOIN  (select w.station_id,b.`name` as user_name ,GROUP_CONCAT(us.name) as assistants_name,a.order_name, a.pro_name,a.plan_name,
                                   a.number,a.input_number,a.output_number,a.process_name, a.node_name,w.dt,
                                   CASE w.work_type
                                       WHEN '1' THEN '组装'
                                       WHEN '2' THEN '测试'
                                       WHEN '3' THEN '品检'
                                       WHEN '4' THEN '维修'
                                       ELSE IFNULL(w.work_type,'') END AS work_type
                            from sta_assembly_work_last w
                                     LEFT JOIN ba_user b ON w.user_id = b.id
                                     LEFT JOIN a ON w.plan_id = a.plan_id AND w.node_id = a.node_id
                                     LEFT JOIN ba_user us  ON FIND_IN_SET(us.id,w.assistants) GROUP BY w.id
            ) sawl ON ps.id = sawl.station_id
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        delete from sta_assembly_work_last
        where  id = #{id,jdbcType=BIGINT}
        delete
        from sta_assembly_work_last
        where id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast" useGeneratedKeys="true">
    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast"
            useGeneratedKeys="true">
        insert into sta_assembly_work_last
        ( id,user_id,line_id
        ,station_id,plan_id,process_id
        ,node_id,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},#{dt,jdbcType=TIMESTAMP},#{status,jdbcType=TINYINT}
        ,#{startTime,jdbcType=TIMESTAMP},#{endTime,jdbcType=TIMESTAMP},#{assistants,jdbcType=VARCHAR}
        )
        ( id, user_id, line_id
        , station_id, plan_id, process_id
        , 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}, #{workType,jdbcType=TINYINT}, #{dt,jdbcType=TIMESTAMP}
               , #{status,jdbcType=TINYINT}
               , #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{assistants,jdbcType=VARCHAR})
    </insert>
    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast" useGeneratedKeys="true">
    <insert id="insertSelective" keyColumn="id" keyProperty="id"
            parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast" useGeneratedKeys="true">
        insert into sta_assembly_work_last
        <trim prefix="(" suffix=")" suffixOverrides=",">
                <if test="id != null">id,</if>
                <if test="userId != null">user_id,</if>
                <if test="lineId != null">line_id,</if>
                <if test="stationId != null">station_id,</if>
                <if test="planId != null">plan_id,</if>
                <if test="processId != null">process_id,</if>
                <if test="nodeId != null">node_id,</if>
                <if test="dt != null">dt,</if>
                <if test="status != null">status,</if>
                <if test="startTime != null">start_time,</if>
                <if test="endTime != null">end_time,</if>
                <if test="assistants != null">assistants,</if>
            <if test="id != null">id,</if>
            <if test="userId != null">user_id,</if>
            <if test="lineId != null">line_id,</if>
            <if test="stationId != null">station_id,</if>
            <if test="planId != null">plan_id,</if>
            <if test="processId!= null">process_id,</if>
            <if test="nodeId!= null">node_id,</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>
            <if test="endTime != null">end_time,</if>
            <if test="assistants != null and assistants !=''">assistants,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                <if test="id != null">#{id,jdbcType=BIGINT},</if>
                <if test="userId != null">#{userId,jdbcType=BIGINT},</if>
                <if test="lineId != null">#{lineId,jdbcType=BIGINT},</if>
                <if test="stationId != null">#{stationId,jdbcType=BIGINT},</if>
                <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="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
                <if test="status != null">#{status,jdbcType=TINYINT},</if>
                <if test="startTime != null">#{startTime,jdbcType=TIMESTAMP},</if>
                <if test="endTime != null">#{endTime,jdbcType=TIMESTAMP},</if>
                <if test="assistants != null">#{assistants,jdbcType=VARCHAR},</if>
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="userId != null">#{userId,jdbcType=BIGINT},</if>
            <if test="lineId != null">#{lineId,jdbcType=BIGINT},</if>
            <if test="stationId != null">#{stationId,jdbcType=BIGINT},</if>
            <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="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>
            <if test="endTime != null">#{endTime,jdbcType=TIMESTAMP},</if>
            <if test="assistants != null and assistants !=''">#{assistants,jdbcType=VARCHAR},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast">
        update sta_assembly_work_last
        <set>
                <if test="userId != null">
                    user_id = #{userId,jdbcType=BIGINT},
                </if>
                <if test="lineId != null">
                    line_id = #{lineId,jdbcType=BIGINT},
                </if>
                <if test="stationId != null">
                    station_id = #{stationId,jdbcType=BIGINT},
                </if>
                <if test="planId != null">
                    plan_id = #{planId,jdbcType=BIGINT},
                </if>
                <if test="processId != null">
                    process_id = #{processId,jdbcType=BIGINT},
                </if>
                <if test="nodeId != null">
                    node_id = #{nodeId,jdbcType=BIGINT},
                </if>
                <if test="dt != null">
                    dt = #{dt,jdbcType=TIMESTAMP},
                </if>
                <if test="status != null">
                    status = #{status,jdbcType=TINYINT},
                </if>
                <if test="startTime != null">
                    start_time = #{startTime,jdbcType=TIMESTAMP},
                </if>
                <if test="endTime != null">
                    end_time = #{endTime,jdbcType=TIMESTAMP},
                </if>
                <if test="assistants != null">
                    assistants = #{assistants,jdbcType=VARCHAR},
                </if>
            <if test="userId != null">
                user_id = #{userId,jdbcType=BIGINT},
            </if>
            <if test="lineId != null">
                line_id = #{lineId,jdbcType=BIGINT},
            </if>
            <if test="stationId != null">
                station_id = #{stationId,jdbcType=BIGINT},
            </if>
            <if test="planId != null">
                plan_id = #{planId,jdbcType=BIGINT},
            </if>
            <if test="processId!= null">
                process_id = #{processId,jdbcType=BIGINT},
            </if>
            <if test="nodeId!= null">
                node_id = #{nodeId,jdbcType=BIGINT},
            </if>
            <if test="workType!= null">
                work_type = #{workType,jdbcType=TINYINT},
            </if>
            <if test="dt != null">
                dt = #{dt,jdbcType=TIMESTAMP},
            </if>
            <if test="status != null">
                status = #{status,jdbcType=TINYINT},
            </if>
            <if test="startTime != null">
                start_time = #{startTime,jdbcType=TIMESTAMP},
            </if>
            <if test="endTime != null">
                end_time = #{endTime,jdbcType=TIMESTAMP},
            </if>
            <if test="assistants != null and assistants !=''">
                assistants = #{assistants,jdbcType=VARCHAR},
            </if>
        </set>
        where   id = #{id,jdbcType=BIGINT}
        where id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast">
        update sta_assembly_work_last
        set
            user_id =  #{userId,jdbcType=BIGINT},
            line_id =  #{lineId,jdbcType=BIGINT},
            station_id =  #{stationId,jdbcType=BIGINT},
            plan_id =  #{planId,jdbcType=BIGINT},
            process_id =  #{processId,jdbcType=BIGINT},
            node_id =  #{nodeId,jdbcType=BIGINT},
            dt =  #{dt,jdbcType=TIMESTAMP},
            status =  #{status,jdbcType=TINYINT},
            start_time =  #{startTime,jdbcType=TIMESTAMP},
            end_time =  #{endTime,jdbcType=TIMESTAMP},
            assistants =  #{assistants,jdbcType=VARCHAR}
        where   id = #{id,jdbcType=BIGINT}
        set user_id    = #{userId,jdbcType=BIGINT},
            line_id    = #{lineId,jdbcType=BIGINT},
            station_id = #{stationId,jdbcType=BIGINT},
            plan_id    = #{planId,jdbcType=BIGINT},
            process_id = #{processId,jdbcType=BIGINT},
            node_id    = #{nodeId,jdbcType=BIGINT},
            work_type  = #{workType,jdbcType=TINYINT},
            dt         = #{dt,jdbcType=TIMESTAMP},
            status     = #{status,jdbcType=TINYINT},
            start_time = #{startTime,jdbcType=TIMESTAMP},
            end_time   = #{endTime,jdbcType=TIMESTAMP},
            assistants = #{assistants,jdbcType=VARCHAR}
        where id = #{id,jdbcType=BIGINT}
    </update>
</mapper>