TaskHeaderMapper.xml 7.17 KB
<?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"/>

        <result column="inQty" property="inQty"/>
        <result column="outQty" property="outQty"/>
        <result column="taskQty" property="taskQty"/>
        <result column="location" property="location"/>
    </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
         &lt; 10
          AND containerCode = #{containerCode}
          AND warehouseCode=#{warehouseCode}
    </select>

    <select id="getTasksStatus" resultType="com.huaheng.pc.task.taskHeader.domain.TaskHeader">
        select *
        FROM task_header
        where lastStatus &lt; 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="selectTaskStats" resultType="com.huaheng.pc.task.taskHeader.domain.TaskHeader">
        SELECT
        location,
        SUM(inQty) AS inQty,
        SUM(outQty) AS outQty,
        SUM(taskQty) AS taskQty
        FROM
        (
        SELECT
        toLocation AS location,
        COUNT(*) AS inQty,
        0 AS outQty,
        COUNT(*) AS taskQty
        FROM
        task_header
        WHERE
        internalTaskType = 100
        and
        zoneCode='L'
        <if test="createdBegin != null and createdBegin != ''">
            AND completeTime &gt; #{createdBegin}
        </if>
        <if test="createdEnd != null and createdEnd != ''">
            AND completeTime &lt; #{createdEnd}
        </if>
        GROUP BY
        toLocation
        UNION ALL
        SELECT
        fromLocation AS location,
        0 AS inQty,
        COUNT(*) AS outQty,
        COUNT(*) AS taskQty
        FROM
        task_header
        WHERE
        internalTaskType = 200
        and
        zoneCode='L'
        <if test="createdBegin != null and createdBegin != ''">
            AND completeTime &gt; #{createdBegin}
        </if>
        <if test="createdEnd != null and createdEnd != ''">
            AND completeTime &lt; #{createdEnd}
        </if>
        GROUP BY
        fromLocation
        ) sub
        <where>
            <if test="location != null and location != ''">
                and location like #{location}"%"
            </if>
        </where>
        GROUP BY
        location
        ORDER BY
        taskQty DESC;
    </select>

</mapper>