<?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.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper"> <resultMap id="BaseResultMap" type="com.huaheng.pc.task.taskHeader.domain.TaskHeader"> <!--@mbg.generated--> <id column="id" jdbcType="INTEGER" property="id"/> <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode"/> <result column="companyCode" jdbcType="VARCHAR" property="companyCode"/> <result column="taskType" jdbcType="VARCHAR" property="taskType"/> <result column="internalTaskType" jdbcType="VARCHAR" property="internalTaskType"/> <result column="referenceId" jdbcType="INTEGER" property="referenceId"/> <result column="referenceCode" jdbcType="VARCHAR" property="referenceCode"/> <result column="assignedUser" jdbcType="VARCHAR" property="assignedUser"/> <result column="confirmedBy" jdbcType="VARCHAR" property="confirmedBy"/> <result column="waveId" jdbcType="INTEGER" property="waveId"/> <result column="pickingCartCode" jdbcType="VARCHAR" property="pickingCartCode"/> <result column="pickingCartPos" jdbcType="VARCHAR" property="pickingCartPos"/> <result column="fromLocation" jdbcType="VARCHAR" property="fromLocation"/> <result column="toLocation" jdbcType="VARCHAR" property="toLocation"/> <result column="containerCode" jdbcType="VARCHAR" property="containerCode"/> <result column="startPickDateTime" jdbcType="TIMESTAMP" property="startPickDateTime"/> <result column="endPickDateTime" jdbcType="TIMESTAMP" property="endPickDateTime"/> <result column="rebatchLoc" jdbcType="VARCHAR" property="rebatchLoc"/> <result column="finishRebatch" jdbcType="INTEGER" property="finishRebatch"/> <result column="rebatchGroupCode" jdbcType="VARCHAR" property="rebatchGroupCode"/> <result column="allowRebatch" jdbcType="INTEGER" property="allowRebatch"/> <result column="taskProcessType" jdbcType="VARCHAR" property="taskProcessType"/> <result column="rebinBench" jdbcType="VARCHAR" property="rebinBench"/> <result column="rebined" jdbcType="INTEGER" property="rebined"/> <result column="startRebinDateTime" jdbcType="TIMESTAMP" property="startRebinDateTime"/> <result column="endRebinDateTime" jdbcType="TIMESTAMP" property="endRebinDateTime"/> <result column="rebinedBy" jdbcType="VARCHAR" property="rebinedBy"/> <result column="exceptionCode" jdbcType="VARCHAR" property="exceptionCode"/> <result column="exceptionHandledBy" jdbcType="VARCHAR" property="exceptionHandledBy"/> <result column="created" jdbcType="TIMESTAMP" property="created"/> <result column="createdBy" jdbcType="VARCHAR" property="createdBy"/> <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated"/> <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy"/> <result column="version" jdbcType="INTEGER" property="version"/> <result column="userDef1" jdbcType="VARCHAR" property="userDef1"/> <result column="userDef2" jdbcType="VARCHAR" property="userDef2"/> <result column="userDef3" jdbcType="VARCHAR" property="userDef3"/> <result column="processStamp" jdbcType="VARCHAR" property="processStamp"/> <result column="recvDock" jdbcType="VARCHAR" property="recvDock"/> <result column="containQty" jdbcType="INTEGER" property="containQty"/> </resultMap> <select id="getReceiptTask" resultType="java.util.Map"> SELECT rd.id receiptDetailId, rd.receiptId, td.taskId, td.warehouseCode, td.id taskDetailId, td.status, td.containerCode, td.qty, td.materialCode, rd.totalQty, td.materialSpec, rd.receiptCode, rd.inventorySts, td.materialName, rd.batch, rd.lot, rd.projectNo, rd.manufactureDate, rd.expirationDate FROM task_detail td INNER JOIN receipt_detail rd ON rd.id = td.billDetailId AND td.taskId = #{taskId,jdbcType=INTEGER} </select> <select id="UncompleteCount" resultType="java.lang.Integer"> SELECT COUNT(*) AS count FROM task_header WHERE status < 100 AND containerCode = #{containerCode} AND warehouseCode=#{warehouseCode} </select> <select id="getTasksStatus" resultType="com.huaheng.pc.task.taskHeader.domain.TaskHeader"> select * FROM task_header where lastStatus < 100 </select> <sql id="Base_Column_List"> <!--@mbg.generated--> id, warehouseCode, companyCode, taskType, internalTaskType, referenceId, referenceCode, fromLocation, assignedUser, confirmedBy, waveId, pickingCartCode, pickingCartPos, containerCode, toLocation, startPickDateTime, endPickDateTime, rebatchLoc, finishRebatch, rebatchGroupCode, allowRebatch, taskProcessType, rebinBench, rebined, startRebinDateTime, endRebinDateTime, rebinedBy, exceptionCode, exceptionHandledBy, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, processStamp, containQty </sql> <select id="getUnCompleteTaskList" resultType="java.lang.Integer" parameterType="java.lang.String"> select count(*) from task_header where status < 100 <choose> <when test="s !=null"> and containerCode like CONCAT(#{s},'%') </when> <otherwise> and (containerCode like 'L%' or containerCode like 'B%') </otherwise> </choose> and taskType =800 </select> <select id="autoCompleteDX" resultType="com.huaheng.pc.task.taskHeader.domain.TaskHeader"> select * from task_header where warehouseCode = 'KS0001' and (containerCode like "X%" or containerCode like "D%") and status < 100 </select> <select id="selectLists" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail"> SELECT r.id, r.taskId,r.companyCode,r.warehouseCode,r.referenceCode, r.billCode,r.billDetailId,r.fromInventoryId,c.name companyName, r.referenceCode, r.materialCode, r.materialName materialName,m.barCode barCode,m.spec materialSpec, m.userDef1 materialOldCode, r.containerCode, r.fromLocation, r.toLocation, r.qty, t.taskType, r.status, r.lastUpdated, r.lastUpdatedBy, r.projectNo FROM task_detail r inner join task_header t on t.id=r.taskId inner join company c on r.companyCode=c.code inner join material m on r.warehouseCode=m.warehouseCode and m.code=r.materialCode <where> <if test="warehouseCode != null and warehouseCode != '' "> AND r.warehouseCode = #{warehouseCode} </if> <if test="companyCodeList != null and companyCodeList.size() > 0 "> AND r.companyCode in <foreach collection="companyCodeList" item="companyCodeItem" open="(" separator="," close=")"> #{companyCodeItem} </foreach> </if> and t.port = #{station} and r.containerCode like CONCAT(#{shelfNo},'%') and SUBSTRING(r.containerCode,6,1)=#{shelf} and r.status <=10 and r.number=1 order by r.referenceCode asc </where> </select> <select id="selectList1" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail"> SELECT r.id, r.taskId,r.companyCode,r.warehouseCode, r.referenceCode,c.name companyName,r.materialCode, r.materialName, m.barCode barCode,m.spec, r.containerCode, r.fromLocation, r.toLocation, r.qty, t.taskType, r.status, r.lastUpdated, r.lastUpdatedBy, r.projectNo FROM task_detail r inner join task_header t on t.id=r.taskId inner join company c on r.companyCode=c.code inner join material m on r.warehouseCode=m.warehouseCode and m.code=r.materialCode <where> <if test="warehouseCode != null and warehouseCode != '' "> AND r.warehouseCode = #{warehouseCode} </if> <if test="companyCodeList != null and companyCodeList.size() > 0 "> AND r.companyCode in <foreach collection="companyCodeList" item="companyCodeItem" open="(" separator="," close=")"> #{companyCodeItem} </foreach> </if> and t.port = #{station} and r.containerCode like CONCAT(#{shelfNo},'%') and r.status=10 order by r.referenceCode asc </where> </select> <select id="selectTaskLists" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail"> SELECT r.id, r.taskId,r.companyCode,r.warehouseCode,r.referenceCode, c.name companyName, r.materialCode, r.materialName, m.barCode materialOldCode,m.spec materialSpec, r.containerCode, r.fromLocation, r.toLocation, r.qty, t.taskType, r.status, r.lastUpdated, r.lastUpdatedBy, r.projectNo, r.goodsShelfNo FROM task_detail r inner join task_header t on t.id=r.taskId inner join company c on r.companyCode=c.code inner join material m on r.warehouseCode=m.warehouseCode and m.code=r.materialCode <where> and c.warehouseCode=t.warehouseCode <if test="warehouseCode != null and warehouseCode != '' "> AND r.warehouseCode = #{warehouseCode} </if> <if test="station != null and station != '' "> AND t.port = #{station} </if> <if test="companyCodeList != null and companyCodeList.size() > 0 "> AND r.companyCode in <foreach collection="companyCodeList" item="companyCodeItem" open="(" separator="," close=")"> #{companyCodeItem} </foreach> </if> and t.zoneCode='AGV' and r.status=10 order by r.referenceCode asc </where> </select> <select id="selectNofinishReceiptTaskBycontainer" resultType="com.huaheng.pc.task.taskHeader.domain.TaskHeader"> select * from task_header where taskType in (100, 200) and warehouseCode = #{warehouseCode} and zoneCode = "LK" and status < 100 and containerCode = #{code} </select> <select id="selectTaskInWeek" resultType="java.util.Map"> SELECT DATE_FORMAT(date, '%Y-%m-%d') AS date,ifnull(data.num,0) AS counts FROM ( SELECT @days := DATE_ADD(@days, INTERVAL - 1 DAY) AS date FROM (SELECT @days := DATE_ADD(CURDATE(), INTERVAL + 1 DAY) FROM task_header ) day WHERE DATE_FORMAT(@days, '%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 6 DAY), '%Y-%m-%d') ORDER BY date ) dates LEFT JOIN ( SELECT COUNT(1) AS num, DATE (created) AS time FROM task_header WHERE warehouseCode = #{warehouseCode} AND DATE_FORMAT(created, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 7 DAY), '%Y-%m-%d %H:%i:%S') GROUP BY DATE (created) ) data ON DATE (time) = date ORDER BY date </select> <select id="tvTaskHistoryDetail" resultType="java.util.Map"> SELECT DATE_FORMAT(lastUpdated, '%Y-%m-%d') AS days,COUNT(1) AS taskNum FROM task_header WHERE warehouseCode=#{warehouseCode} and zoneCode=#{zoneCode} and internalTaskType=#{internalTaskType} <if test="containerCode != null and containerCode != '' "> AND containerCode like concat(#{containerCode},'%') </if> and ( created >= #{startTime} AND created <= #{endTime}) group by days </select> <select id="tvTaskHistoryCompleteDetail" resultType="java.util.Map"> SELECT DATE_FORMAT(lastUpdated, '%Y-%m-%d') AS days, COUNT(1) AS completNum FROM task_header WHERE warehouseCode=#{warehouseCode} and zoneCode=#{zoneCode} and `status`=100 and internalTaskType=#{internalTaskType} <if test="containerCode != null and containerCode != '' "> AND containerCode like concat(#{containerCode},'%') </if> and ( lastUpdated >= #{startTime} AND lastUpdated <= #{endTime}) group by days </select> <select id="tvTaskHistoryTypeDetail" resultType="java.util.Map"> SELECT DATE_FORMAT(lastUpdated, '%Y-%m-%d') AS days, COUNT(1) AS completNum FROM task_header WHERE warehouseCode=#{warehouseCode} and zoneCode=#{zoneCode} and taskType=#{taskType} <if test="containerCode != null and containerCode != '' "> AND containerCode like concat(#{containerCode},'%') </if> and ( lastUpdated >= #{startTime} AND lastUpdated <= #{endTime}) group by days </select> <select id="tvTaskHistoryDetailGroupType" resultType="java.util.Map"> SELECT count(1) taskNum,taskType FROM task_header WHERE warehouseCode=#{warehouseCode} and zoneCode=#{zoneCode} <if test="containerCode != null and containerCode != '' "> AND containerCode like concat(#{containerCode},'%') </if> and created>= #{startTime} group by taskType </select> </mapper>