| | |
| | | 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, |
| | |
| | | <!-- <include refid="Base_Column_List"/>--> |
| | | <!-- from plt_station where status =1--> |
| | | <!-- <trim prefix="and" suffixOverrides="and">--> |
| | | <!-- <if test="id != null and id !=''">--> |
| | | <!-- <if test="id != null">--> |
| | | <!-- id = #{id,jdbcType=BIGINT} and--> |
| | | <!-- </if>--> |
| | | <!-- <if test="code != null and code !=''">--> |
| | |
| | | <!-- <if test="name != null and name !=''">--> |
| | | <!-- name like concat('%', #{name}, '%') and--> |
| | | <!-- </if>--> |
| | | <!-- <if test="disabled != null and disabled !=''">--> |
| | | <!-- <if test="disabled != null">--> |
| | | <!-- disabled = #{disabled,jdbcType=TINYINT} and--> |
| | | <!-- </if>--> |
| | | <!-- <if test="lineId != null and lineId !=''">--> |
| | | <!-- <if test="lineId != null">--> |
| | | <!-- line_id = #{lineId,jdbcType=BIGINT} and--> |
| | | <!-- </if>--> |
| | | <!-- </trim>--> |
| | |
| | | <include refid="Base_Column_List"/> |
| | | from sta_assembly_work_last |
| | | <where> |
| | | <if test="userId != null and userId !=''"> |
| | | <if test="userId != null"> |
| | | and user_id = #{userId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="lineId != null and lineId !=''"> |
| | | <if test="lineId != null"> |
| | | and line_id = #{lineId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="stationId != null and stationId !=''"> |
| | | <if test="stationId != null"> |
| | | and station_id = #{stationId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="planId != null and planId !=''"> |
| | | <if test="planId != null"> |
| | | and plan_id = #{planId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="processId != null and processId !=''"> |
| | | <if test="processId != null"> |
| | | and process_id = #{processId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="nodeId != null and nodeId !=''"> |
| | | <if test="nodeId != null"> |
| | | and node_id = #{nodeId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="status != null and status !=''"> |
| | | <if test="status != null"> |
| | | and status = #{status,jdbcType=TINYINT} |
| | | </if> |
| | | <if test="startTime != null and startTime !=''"> |
| | | <if test="startTime != null"> |
| | | and start_time = #{startTime,jdbcType=TIMESTAMP} |
| | | </if> |
| | | <if test="endTime != null and endTime !=''"> |
| | | <if test="endTime != null"> |
| | | and end_time = #{endTime,jdbcType=TIMESTAMP} |
| | | </if> |
| | | <if test="assistants != null and assistants !=''"> |
| | |
| | | <if test="endTime != null"> |
| | | and l.start_time <![CDATA[ < ]]> #{endTime} |
| | | </if> |
| | | <if test="userId != null and userId !=''"> |
| | | <if test="userId != null"> |
| | | and l.user_id = #{userId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="lineId != null and lineId !=''"> |
| | | <if test="lineId != null"> |
| | | and l.line_id = #{lineId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="stationId != null and stationId !=''"> |
| | | <if test="stationId != null"> |
| | | and l.station_id = #{stationId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="planId != null and planId !=''"> |
| | | <if test="planId != null"> |
| | | and l.plan_id = #{planId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="processId != null and processId !=''"> |
| | | <if test="processId != null"> |
| | | and l.process_id = #{processId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="nodeId != null and nodeId !=''"> |
| | | <if test="nodeId != null"> |
| | | and l.node_id = #{nodeId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="status != null and status !=''"> |
| | | <if test="status != null"> |
| | | and l.status = #{status,jdbcType=TINYINT} |
| | | </if> |
| | | <if test="assistants != null and assistants !=''"> |
| | |
| | | <if test="endTime != null"> |
| | | and l.start_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP} |
| | | </if> |
| | | <if test="userId != null and userId !=''"> |
| | | <if test="userId != null"> |
| | | and l.user_id = #{userId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="lineId != null and lineId !=''"> |
| | | <if test="lineId != null"> |
| | | and l.line_id = #{lineId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="stationId != null and stationId !=''"> |
| | | <if test="stationId != null"> |
| | | and l.station_id = #{stationId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="planId != null and planId !=''"> |
| | | <if test="planId != null"> |
| | | and l.plan_id = #{planId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="processId != null and processId !=''"> |
| | | <if test="processId != null"> |
| | | and l.process_id = #{processId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="nodeId != null and nodeId !=''"> |
| | | <if test="nodeId != null"> |
| | | and l.node_id = #{nodeId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test="status != null and status !=''"> |
| | | <if test="status != null"> |
| | | and l.status = #{status,jdbcType=TINYINT} |
| | | </if> |
| | | <if test="assistants != null and assistants !=''"> |
| | |
| | | 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> |
| | | <select id="queryAttendUser" resultType="cn.hutool.json.JSONObject"> |
| | | WITH total AS ( |
| | | SELECT DISTINCT user_id,dt AS login_time FROM sta_assembly_work_last |
| | | union |
| | | SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(a.assistants, ',', b.help_topic_id + 1 ), ',', - 1 ) AS user_id ,login_time |
| | | FROM |
| | | (SELECT assistants ,dt AS login_time FROM sta_assembly_work_last) a |
| | | JOIN mysql.help_topic AS b ON b.help_topic_id <![CDATA[ < ]]> ( LENGTH( a.assistants ) - LENGTH( REPLACE ( a.assistants, ',', '' ) ) + 1 ) |
| | | union |
| | | SELECT DISTINCT user_id ,end_time AS login_time FROM sta_assembly_work_history WHERE end_time BETWEEN #{startTime,jdbcType=TIMESTAMP} AND #{endTime,jdbcType=TIMESTAMP} |
| | | union |
| | | SELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(c.assistants, ',', d.help_topic_id + 1 ), ',', - 1 ) AS user_id ,login_time |
| | | FROM |
| | | (SELECT assistants,end_time AS login_time FROM sta_assembly_work_history WHERE end_time BETWEEN #{startTime,jdbcType=TIMESTAMP} AND #{endTime,jdbcType=TIMESTAMP}) c |
| | | JOIN mysql.help_topic AS d ON d.help_topic_id <![CDATA[ < ]]> ( LENGTH( c.assistants ) - LENGTH( REPLACE ( c.assistants, ',', '' ) ) + 1 )) |
| | | SELECT MAX(CASE record.title WHEN 'require_attend' THEN record.count_user ELSE 0 END) require_attend, |
| | | MAX(CASE record.title WHEN 'actual_attend' THEN record.count_user ELSE 0 END) actual_attend |
| | | FROM |
| | | (SELECT COUNT(DISTINCT user_id) AS count_user,'require_attend' AS title FROM total WHERE user_id !='' |
| | | UNION |
| | | SELECT COUNT(DISTINCT user_id) AS count_user,'actual_attend' AS title FROM total WHERE user_id !='' AND login_time <![CDATA[ > ]]> #{todayDt,jdbcType=TIMESTAMP}) record |
| | | </select> |
| | | |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | 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" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast" |
| | | > |
| | | insert into sta_assembly_work_last |
| | | ( id, user_id, line_id |
| | | , station_id, plan_id, process_id |
| | |
| | | , #{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" |
| | | parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast"> |
| | | insert into sta_assembly_work_last |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">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="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">assistants,</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="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="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">#{assistants,jdbcType=VARCHAR},</if> |
| | | <if test="assistants != null and assistants !=''">#{assistants,jdbcType=VARCHAR},</if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast"> |
| | |
| | | <if test="planId != null"> |
| | | plan_id = #{planId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="processId != null"> |
| | | <if test="processId!= null"> |
| | | process_id = #{processId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="nodeId != null"> |
| | | <if test="nodeId!= null"> |
| | | node_id = #{nodeId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="workType != null"> |
| | | <if test="workType!= null"> |
| | | work_type = #{workType,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="dt != null"> |
| | |
| | | <if test="endTime != null"> |
| | | end_time = #{endTime,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="assistants != null"> |
| | | <if test="assistants != null and assistants !=''"> |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | | </if> |
| | | </set> |