Files
FT541-WMS/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml
2026-01-21 17:37:11 +08:00

242 lines
14 KiB
XML

<?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.ruoyi.job.mydojob.mapper.MydoJobMapper">
<resultMap type="MydoJob" id="MydoJobResult">
<result property="jobId" column="job_id" />
<result property="status" column="status" />
<result property="onLineType" column="on_line_type" />
<result property="taskNo" column="task_no" />
<result property="supplierId" column="supplier_id" />
<result property="customerId" column="customer_id" />
<result property="departmentId" column="department_id" />
<result property="trayCode" column="tray_code" />
<result property="roadwayId" column="roadway_id" />
<result property="cargoSpaceId" column="cargo_space_id" />
<result property="targetRoadwayId" column="target_roadway_id" />
<result property="targetCargoSpaceId" column="target_cargo_space_id" />
<result property="lineId" column="line_id" />
<result property="workshopId" column="workshop_id" />
<result property="priority" column="priority" />
<result property="executionPhase" column="execution_phase" />
<result property="inOrOut" column="in_or_out" />
<result property="createTime" column="create_time" />
<result property="startTime" column="start_time" />
<result property="finishTime" column="finish_time" />
<result property="entranceId" column="entrance_id" />
<result property="exitId" column="exit_id" />
<result property="classId" column="class_id" />
<result property="warehouseId" column="warehouse_id" />
<result property="faultFlag" column="fault_flag" />
<result property="supplierName" column="supplier_name" />
<result property="customerName" column="customer_name" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="targetCargoSpaceName" column="target_cargo_space_name" />
<result property="warehouseName" column="warehouse_name" />
<result property="departmentName" column="dept_name" />
</resultMap>
<sql id="selectMydoJobVo">
select mj.job_id, mj.status, mj.on_line_type, mj.task_no, mj.supplier_id,
mj.customer_id, mj.department_id, mj.tray_code, mj.roadway_id, mj.cargo_space_id,
mj.target_roadway_id, mj.target_cargo_space_id, mj.line_id, mj.workshop_id, mj.priority,
mj.execution_phase, mj.in_or_out, mj.create_time, mj.start_time, mj.finish_time, mj.entrance_id,
mj.exit_id, mj.class_id, mj.warehouse_id, mj.fault_flag,
bs.supplier_name as supplier_name, bc.customer_name as customer_name,
bcs.cargo_space_name as cargo_space_name, bcst.cargo_space_name as target_cargo_space_name,
bw.warehouse_name as warehouse_name,sd.dept_name
from mydo_job mj
left join bas_supplier bs on mj.supplier_id = bs.id
left join bas_customer bc on mj.customer_id = bc.id
left join bas_cargo_space bcs on mj.cargo_space_id = bcs.cargo_space_id
left join bas_cargo_space bcst on mj.target_cargo_space_id = bcst.cargo_space_id
left join bas_warehouse bw on mj.warehouse_id = bw.warehouse_id
left join sys_dept sd on mj.department_id = sd.dept_id
</sql>
<select id="selectMydoJobList" parameterType="MydoJob" resultMap="MydoJobResult">
<include refid="selectMydoJobVo"/>
<where>
<if test="jobId != null and jobId != ''"> and mj.job_id = #{jobId}</if>
<if test="status != null and status != ''"> and mj.status = #{status}</if>
<if test="onLineType != null and onLineType != ''"> and mj.on_line_type = #{onLineType}</if>
<if test="taskNo != null and taskNo != ''"> and mj.task_no = #{taskNo}</if>
<if test="supplierId != null and supplierId != ''"> and mj.supplier_id = #{supplierId}</if>
<if test="customerId != null and customerId != ''"> and mj.customer_id = #{customerId}</if>
<if test="departmentId != null and departmentId != ''"> and (mj.department_id = #{departmentId} or mj.department_id is null or mj.department_id = '')</if>
<if test="trayCode != null and trayCode != ''"> and mj.tray_code = #{trayCode}</if>
<if test="roadwayId != null and roadwayId != ''"> and mj.roadway_id = #{roadwayId}</if>
<if test="cargoSpaceId != null and cargoSpaceId != ''"> and mj.cargo_space_id = #{cargoSpaceId}</if>
<if test="targetRoadwayId != null and targetRoadwayId != ''"> and mj.target_roadway_id = #{targetRoadwayId}</if>
<if test="targetCargoSpaceId != null and targetCargoSpaceId != ''"> and mj.target_cargo_space_id = #{targetCargoSpaceId}</if>
<if test="lineId != null and lineId != ''"> and mj.line_id = #{lineId}</if>
<if test="workshopId != null and workshopId != ''"> and mj.workshop_id = #{workshopId}</if>
<if test="priority != null "> and mj.priority = #{priority}</if>
<if test="executionPhase != null and executionPhase != ''"> and mj.execution_phase = #{executionPhase}</if>
<if test="inOrOut != null and inOrOut != ''"> and mj.in_or_out = #{inOrOut}</if>
<if test="startTime != null and startTime != ''"> and mj.start_time like concat('%', #{startTime}, '%')</if>
<if test="finishTime != null and finishTime != ''"> and mj.finish_time like concat('%', #{finishTime}, '%')</if>
<if test="entranceId != null and entranceId != ''"> and mj.entrance_id like concat('%',#{entranceId},'%')</if>
<if test="exitId != null and exitId != ''"> and mj.exit_id like concat('%', #{exitId}, '%')</if>
<if test="classId != null and classId != ''"> and mj.class_id = #{classId}</if>
<if test="warehouseId != null and warehouseId != ''"> and mj.warehouse_id = #{warehouseId}</if>
<if test="faultFlag != null and faultFlag != ''"> and mj.fault_flag = #{faultFlag}</if>
<if test="inOut != null and inOut != '' and inOut =='2'.toString "> and mj.in_or_out >=20 </if>
<if test="inOut != null and inOut != '' and inOut =='1'.toString "> and mj.in_or_out &lt; 20 </if>
<if test="inOut != null and inOut != '' and inOut =='3'.toString "> and mj.in_or_out in (5,6)</if>
<if test="inOut != null and inOut != '' and inOut =='4'.toString "> and mj.in_or_out in (25,26)</if>
<if test = "inOutIds !=null and inOutIds.size() > 0">
and mj.in_or_out in
<foreach item="item" index="index" collection="inOutIds" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="dateStart != null and dateStart != ''"> and mj.create_time &gt;= #{dateStart}</if>
<if test="dateEnd != null and dateEnd != ''"> and mj.create_time &lt;= #{dateEnd}</if>
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope}
</if>
</where>
order by mj.status desc,mj.priority desc,mj.create_time asc
</select>
<select id="selectMydoJobByJobId" parameterType="String" resultMap="MydoJobResult">
<include refid="selectMydoJobVo"/>
where mj.job_id = #{jobId}
</select>
<insert id="insertMydoJob" parameterType="MydoJob">
insert into mydo_job
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="jobId != null and jobId != ''">job_id,</if>
<if test="status != null and status != ''">status,</if>
<if test="onLineType != null">on_line_type,</if>
<if test="taskNo != null and taskNo != ''">task_no,</if>
<if test="supplierId != null">supplier_id,</if>
<if test="customerId != null">customer_id,</if>
<if test="departmentId != null">department_id,</if>
<if test="trayCode != null">tray_code,</if>
<if test="roadwayId != null">roadway_id,</if>
<if test="cargoSpaceId != null">cargo_space_id,</if>
<if test="targetRoadwayId != null">target_roadway_id,</if>
<if test="targetCargoSpaceId != null">target_cargo_space_id,</if>
<if test="lineId != null">line_id,</if>
<if test="workshopId != null">workshop_id,</if>
<if test="priority != null">priority,</if>
<if test="executionPhase != null">execution_phase,</if>
<if test="inOrOut != null">in_or_out,</if>
<if test="createTime != null">create_time,</if>
<if test="startTime != null">start_time,</if>
<if test="finishTime != null">finish_time,</if>
<if test="entranceId != null">entrance_id,</if>
<if test="exitId != null">exit_id,</if>
<if test="classId != null">class_id,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="faultFlag != null">fault_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="jobId != null and jobId != ''">#{jobId},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="onLineType != null">#{onLineType},</if>
<if test="taskNo != null and taskNo != ''">#{taskNo},</if>
<if test="supplierId != null">#{supplierId},</if>
<if test="customerId != null">#{customerId},</if>
<if test="departmentId != null">#{departmentId},</if>
<if test="trayCode != null">#{trayCode},</if>
<if test="roadwayId != null">#{roadwayId},</if>
<if test="cargoSpaceId != null">#{cargoSpaceId},</if>
<if test="targetRoadwayId != null">#{targetRoadwayId},</if>
<if test="targetCargoSpaceId != null">#{targetCargoSpaceId},</if>
<if test="lineId != null">#{lineId},</if>
<if test="workshopId != null">#{workshopId},</if>
<if test="priority != null">#{priority},</if>
<if test="executionPhase != null">#{executionPhase},</if>
<if test="inOrOut != null">#{inOrOut},</if>
<if test="createTime != null">#{createTime},</if>
<if test="startTime != null">#{startTime},</if>
<if test="finishTime != null">#{finishTime},</if>
<if test="entranceId != null">#{entranceId},</if>
<if test="exitId != null">#{exitId},</if>
<if test="classId != null">#{classId},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="faultFlag != null">#{faultFlag},</if>
</trim>
</insert>
<insert id="insertHistory">
insert into mydo_job_finish
select * from mydo_job where job_id = #{jobId}
</insert>
<update id="updateMydoJob" parameterType="MydoJob">
update mydo_job
<trim prefix="SET" suffixOverrides=",">
<if test="status != null and status != ''">status = #{status},</if>
<if test="onLineType != null">on_line_type = #{onLineType},</if>
<if test="taskNo != null and taskNo != ''">task_no = #{taskNo},</if>
<if test="supplierId != null">supplier_id = #{supplierId},</if>
<if test="customerId != null">customer_id = #{customerId},</if>
<if test="departmentId != null">department_id = #{departmentId},</if>
<if test="trayCode != null">tray_code = #{trayCode},</if>
<if test="roadwayId != null">roadway_id = #{roadwayId},</if>
<if test="cargoSpaceId != null">cargo_space_id = #{cargoSpaceId},</if>
<if test="targetRoadwayId != null">target_roadway_id = #{targetRoadwayId},</if>
<if test="targetCargoSpaceId != null">target_cargo_space_id = #{targetCargoSpaceId},</if>
<if test="lineId != null">line_id = #{lineId},</if>
<if test="workshopId != null">workshop_id = #{workshopId},</if>
<if test="priority != null">priority = #{priority},</if>
<if test="executionPhase != null">execution_phase = #{executionPhase},</if>
<if test="inOrOut != null">in_or_out = #{inOrOut},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="finishTime != null">finish_time = #{finishTime},</if>
<if test="entranceId != null">entrance_id = #{entranceId},</if>
<if test="exitId != null">exit_id = #{exitId},</if>
<if test="classId != null">class_id = #{classId},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="faultFlag != null">fault_flag = #{faultFlag},</if>
</trim>
where job_id = #{jobId}
</update>
<delete id="deleteMydoJobByJobId" parameterType="String">
delete from mydo_job where job_id = #{jobId}
</delete>
<delete id="deleteMydoJobByJobIds" parameterType="String">
delete from mydo_job where job_id in
<foreach item="jobId" collection="array" open="(" separator="," close=")">
#{jobId}
</foreach>
</delete>
<select id="selectCurrentTasks" resultMap="MydoJobResult">
<include refid="selectMydoJobVo"/>
where mj.status = '3'
</select>
<select id="pointOut" parameterType="java.util.Map" statementType="CALLABLE">
{call proc_point_out(
#{v_stock_id,jdbcType=VARCHAR,mode=IN},
#{v_exit_id,jdbcType=VARCHAR,mode=IN},
#{v_type,jdbcType=VARCHAR,mode=IN},
#{v_result,mode=OUT,jdbcType=INTEGER},
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
)}
</select>
<select id="selectByTrayCode" resultMap="MydoJobResult">
<include refid="selectMydoJobVo"/>
where mj.tray_code = #{trayCode}
</select>
<select id="selectMydoJobByEntranceId" parameterType="MydoJob" resultMap="MydoJobResult">
select top(1)* from mydo_job mj
where in_or_out&lt;20 and mj.entrance_id = #{entranceId}
and mj.status = #{status}
<if test="lineId != null and lineId != ''"> and mj.line_id = #{lineId}</if>
order by mj.create_time
</select>
</mapper>