<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.mes.base.rawqueue.mapper.EngineeringRawQueueMapper">
|
|
<resultMap id="baseMap" type="com.mes.rawqueue.vo.EngineeringRawQueueVO">
|
<result column="id" property="id"/>
|
<result column="engineering_id" property="engineeringId"/>
|
<result column="films_id" property="filmsId"/>
|
<result column="raw_glass_width" property="rawGlassWidth"/>
|
<result column="raw_glass_height" property="rawGlassHeight"/>
|
<result column="raw_glass_thickness" property="rawGlassThickness"/>
|
<result column="raw_sequence" property="rawSequence"/>
|
<result column="state" property="state"/>
|
<result column="group_number" property="groupNumber"/>
|
</resultMap>
|
|
|
<select id="queryRawGlassByEngineeringId" resultMap="baseMap">
|
SET @prev_width := NULL;
|
SET @prev_height := NULL;
|
SET @counter := 0;
|
SELECT t.*,
|
@counter := IF(@prev_width = raw_glass_width and @prev_height = raw_glass_height, @counter,
|
@counter + 1) AS group_number,
|
@prev_width := raw_glass_width,
|
@prev_height := raw_glass_height
|
FROM engineering_raw_queue t
|
where t.engineering_id = #{engineerId}
|
and t.state = 0
|
ORDER BY t.raw_sequence
|
</select>
|
|
<select id="queryRawQueueByWorkLine" resultType="com.mes.rawqueue.EngineeringRawQueue">
|
select t1.*
|
from engineering t
|
INNER JOIN engineering_raw_queue t1
|
on t.engineer_id = t1.engineering_id
|
where t.state = 1
|
and t1.state <= 2
|
and t.work_line = #{workLine}
|
order by t1.raw_sequence
|
limit 1
|
</select>
|
|
<update id="updateRawQueueByCount">
|
update engineering_raw_queue
|
set state = #{finishTaskState}
|
where engineering_id = #{engineerId}
|
<if test="taskStateList != null and taskStateList.size() > 0">
|
and state in (
|
<foreach collection="taskStateList" item="item" separator=",">
|
#{item}
|
</foreach>
|
)
|
</if>
|
order by raw_sequence
|
limit #{count}
|
</update>
|
|
</mapper>
|