TaskHeaderMapper.xml 12.5 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="position" jdbcType="VARCHAR" property="position"/>
        <result column="stack" jdbcType="VARCHAR" property="stack"/>
        <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="stockId" jdbcType="VARCHAR" property="stockId" />
    </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,`position`,stack,
        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,stockId
    </sql>

    <resultMap id="tvViewMap" type="com.huaheng.api.acs.domain.PortViewVO">
        <id column="id" property="taskHeader.id"></id>
        <result column="type" property="taskHeader.type"></result>
        <result column="containerCode" property="taskHeader.containerCode"></result>
        <result column="sourceLocation" property="taskHeader.sourceLocation"></result>
        <result column="destinationLocation" property="taskHeader.destinationLocation"></result>
        <result column="created" property="taskHeader.created"></result>
        <result column="createdBy" property="taskHeader.createdBy"></result>
        <result column="lastUpdated" property="taskHeader.lastUpdated"></result>
        <result column="lkStation" property="taskHeader.lkStation"></result>
        <result column="level" property="taskHeader.level"></result>
        <result column="batch" property="taskHeader.batch"></result>
        <result column="color" property="taskHeader.color"></result>
        <result column="status" property="taskHeader.status"></result>
        <collection property="taskDetails" javaType="java.util.ArrayList" ofType="com.huaheng.api.acs.domain.TaskDetailsVO">
            <id column="detailId" property="id"/>
            <result column="id" property="taskId" />
            <result column="billCode" property="billCode"/>
            <result column="materialCode" property="materialCode"/>
            <result column="materialName" property="materialName"/>
            <result column="materialSpec" property="materialSpec"/>
            <result column="containerCode" property="containerCode"/>
            <result column="sourceLocation" property="sourceLocation"/>
            <result column="destinationLocation" property="destinationLocation"/>
            <result column="qty" property="qty"/>
            <result column="status" property="status"/>
        </collection>
    </resultMap>

    <select id="getTvByStation" resultMap="tvViewMap">
        select th.id,th.taskType as type,th.containerCode,
               th.fromLocation as sourceLocation,th.toLocation as destinationLocation,
               th.lastUpdated as created,th.createdBy as createdBy,th.lastUpdated as lastUpdated,
               th.level,th.batch,th.color,
               th.port as lkStation,td.id as detailId,td.billCode,
               td.materialCode,td.materialName,td.materialSpec,
               td.qty,td.status
        from task_header th left join task_detail td on td.taskId=th.id
        where th.port=#{station} and th.status &lt; 100 and th.taskType=100
    </select>

    <select id="getTodayTask" resultType="integer">
        SELECT count(1) FROM task_header
        where TO_DAYS(created)=TO_DAYS(now())
    </select>

    <select id="getTaskCompleted" resultType="integer">
        SELECT count(1) FROM task_header
        where TO_DAYS(created)=TO_DAYS(now())
          and status>=100
    </select>

    <select id="getIncompleteTask" resultType="integer">
        SELECT count(1) FROM task_header
        where TO_DAYS(created)=TO_DAYS(now())
        and status<![CDATA[ < ]]>100

    </select>

    <select id="getDestackingData" resultType="com.huaheng.api.tv.domain.ProjectBean">
        select "P3053" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P3053' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P3054" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P3054' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P3055" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P3055' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P3056" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P3056' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P3057" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P3057' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P3058" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P3058' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
    </select>

    <select id="getPalletizingData" resultType="com.huaheng.api.tv.domain.ProjectBean">
        select "P4035" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P4035' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P4031" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P4031' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P4027" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P4027' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P4023" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P4023' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P4019" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P4019' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
        union
        select "P4015" as name,if(sum(qty - taskQty)is null,0,sum(qty)) as nums
        FROM task_header
        where port='P4015' and TO_DAYS(created)=TO_DAYS(now())  and status<![CDATA[ < ]]>100
    </select>

    <select id="getOrdersBeingPicked" resultType="com.huaheng.api.tv.domain.PickOrder">
        select if(sh.referCode is null, '', sh.referCode) as code,
               if(rs.car_number is null,'', rs.car_number) as carNumber,
               if(sh.customerName is null,'', sh.customerName) as customerName,
               th.port as port,th.taskQty as taskQty,th.qty as qty
        from task_header th
                 left join shipment_header sh
                           on th.shipmentCode=sh.code
                 left join reservation_submission rs
                           on rs.order_number=sh.referCode
        where th.port in('P3053','P3054','P3055','P3056','P3057','P3058') and th.status<![CDATA[ < ]]> 100
    </select>

    <select id="getOrdersWaitingPalletized" resultType="com.huaheng.api.tv.domain.PickOrder">
        select if(sh.referCode is null, '', sh.referCode) as code,
               if(rs.car_number is null,'', rs.car_number) as carNumber,
               if(sh.customerName is null,'', sh.customerName) as customerName,
               th.port as port,th.taskQty as taskQty,th.qty as qty
        from task_header th
                 left join shipment_header sh
                           on th.shipmentCode=sh.code
                 left join reservation_submission rs
                           on rs.order_number=sh.referCode
        where th.port in('P4035','P4031','P4027','P4023','P4019','P4015') and th.status<![CDATA[ < ]]>100
    </select>

</mapper>