| <?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.zy.asrs.mapper.OrderDetlPakinMapper"> | 
|   | 
|     <!-- 通用查询映射结果 --> | 
|     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderDetlPakout"> | 
|         <id column="id" property="id" /> | 
|         <result column="order_id" property="orderId" /> | 
|         <result column="order_no" property="orderNo" /> | 
|         <result column="anfme" property="anfme" /> | 
|         <result column="work_qty" property="workQty" /> | 
|         <result column="qty" property="qty" /> | 
|         <result column="matnr" property="matnr" /> | 
|         <result column="maktx" property="maktx" /> | 
|         <result column="batch" property="batch" /> | 
|         <result column="specs" property="specs" /> | 
|         <result column="model" property="model" /> | 
|         <result column="color" property="color" /> | 
|         <result column="brand" property="brand" /> | 
|         <result column="unit" property="unit" /> | 
|         <result column="price" property="price" /> | 
|         <result column="sku" property="sku" /> | 
|         <result column="units" property="units" /> | 
|         <result column="barcode" property="barcode" /> | 
|         <result column="origin" property="origin" /> | 
|         <result column="manu" property="manu" /> | 
|         <result column="manu_date" property="manuDate" /> | 
|         <result column="item_num" property="itemNum" /> | 
|         <result column="safe_qty" property="safeQty" /> | 
|         <result column="weight" property="weight" /> | 
|         <result column="length" property="length" /> | 
|         <result column="volume" property="volume" /> | 
|         <result column="three_code" property="threeCode" /> | 
|         <result column="supp" property="supp" /> | 
|         <result column="supp_code" property="suppCode" /> | 
|         <result column="be_batch" property="beBatch" /> | 
|         <result column="dead_time" property="deadTime" /> | 
|         <result column="dead_warn" property="deadWarn" /> | 
|         <result column="source" property="source" /> | 
|         <result column="inspect" property="inspect" /> | 
|         <result column="danger" property="danger" /> | 
|         <result column="status" property="status" /> | 
|         <result column="create_by" property="createBy" /> | 
|         <result column="create_time" property="createTime" /> | 
|         <result column="update_by" property="updateBy" /> | 
|         <result column="update_time" property="updateTime" /> | 
|         <result column="memo" property="memo" /> | 
|         <result column="temp1" property="temp1" /> | 
|         <result column="temp2" property="temp2" /> | 
|         <result column="temp3" property="temp3" /> | 
|         <result column="temp4" property="temp4" /> | 
|   | 
|     </resultMap> | 
|   | 
|     <select id="selectItem" resultMap="BaseResultMap"> | 
|         select top 1 * from man_order_detl_pakin | 
|         where 1=1 | 
|         and order_id = #{orderId} | 
|         and matnr = #{matnr} | 
|         <choose> | 
|             <when test="batch != null and batch != ''"> | 
|                 and batch = #{batch} | 
|             </when> | 
|             <otherwise> | 
|                 and (batch IS NULL OR batch = '') | 
|             </otherwise> | 
|         </choose> | 
|     </select> | 
|   | 
|     <select id="selectItemByOrderNo" resultMap="BaseResultMap"> | 
|         select * from man_order_detl_pakin | 
|         where 1=1 | 
|         and order_no = #{orderNo} | 
|         and matnr = #{matnr} | 
|         <if test="batch!=null and batch!='' "> | 
|             and batch = #{batch} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="selectWorkingDetls" resultMap="BaseResultMap"> | 
|         select * from man_order_detl_pakin | 
|         where 1=1 | 
|         and order_id = #{orderId} | 
|         and qty < anfme | 
|     </select> | 
|   | 
|     <sql id="pakOutPageCondition"> | 
|         <if test="order_id!=null and order_id!='' "> | 
|             and mod.order_id like '%' + #{order_id} + '%' | 
|         </if> | 
|         <if test="matnr!=null and matnr!='' "> | 
|             and mod.matnr like '%' + #{matnr} + '%' | 
|         </if> | 
|         <if test="maktx!=null and maktx!='' "> | 
|             and mod.maktx like '%' + #{maktx} + '%' | 
|         </if> | 
|         <if test="batch!=null and batch!='' "> | 
|             and mod.batch like '%' + #{batch} + '%' | 
|         </if> | 
|     </sql> | 
|   | 
|     <select id="getPakoutPage" resultMap="BaseResultMap"> | 
|         select * from | 
|         ( | 
|             select | 
|             ROW_NUMBER() over (order by mo.create_time desc) as row, | 
|             mod.* | 
|             from man_order_detl_pakin mod | 
|             inner join man_order mo on mod.order_id = mo.id | 
|             inner join man_doc_type mdt on mo.doc_type = mdt.doc_id | 
|             where 1=1 | 
|             and mo.settle <= 2 | 
|             and mo.status = 1 | 
|             and mdt.pakout = 1 | 
|             <include refid="pakOutPageCondition"></include> | 
|         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) | 
|     </select> | 
|   | 
|     <select id="getPakoutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer"> | 
|         select | 
|         count(1) | 
|         from man_order_detl_pakin mod | 
|         inner join man_order mo on mod.order_id = mo.id | 
|         inner join man_doc_type mdt on mo.doc_type = mdt.doc_id | 
|         where 1=1 | 
|         and mo.settle <= 2 | 
|         and mo.status = 1 | 
|         and mdt.pakout = 1 | 
|         <include refid="pakOutPageCondition"></include> | 
|     </select> | 
|     <select id="selectPrintData" resultType="com.zy.asrs.entity.param.PrintDataDto"> | 
|         select | 
|             top 1 md.matnr , | 
|                 md.maktx , | 
|             md.batch , | 
|             md.specs , | 
|             md.unit , | 
|             md.anfme , | 
|             md.supp_code as suppCode, | 
|             md.sku | 
|         from | 
|             man_order_detl_pakin md | 
|                 inner join man_order mo on | 
|                 md.order_id = mo.id | 
|         where | 
|             md.id = #{id} | 
|     </select> | 
|   | 
|     <update id="increase"> | 
|         update man_order_detl_pakin | 
|         set qty = qty + #{qty} | 
|         where 1=1 | 
|         and order_id = #{orderId} | 
|         and matnr = #{matnr} | 
|         <choose> | 
|             <when test="batch != null and batch != ''"> | 
|                 and batch = #{batch} | 
|             </when> | 
|             <otherwise> | 
|                 and (batch IS NULL OR batch = '') | 
|             </otherwise> | 
|         </choose> | 
|     </update> | 
|   | 
|     <update id="decrease"> | 
|         update man_order_detl_pakin | 
|         set work_qty = work_qty - #{qty} | 
|         where 1=1 | 
|         and order_no = #{orderNo} | 
|         and matnr = #{matnr} | 
|         <choose> | 
|             <when test="batch != null and batch != ''"> | 
|                 and batch = #{batch} | 
|             </when> | 
|             <otherwise> | 
|                 and (batch IS NULL OR batch = '') | 
|             </otherwise> | 
|         </choose> | 
|     </update> | 
|   | 
|     <update id="modifyStatus"> | 
|         update man_order_detl_pakin | 
|         set status = #{status} | 
|         where 1=1 | 
|         and order_id = #{orderId} | 
|     </update> | 
|   | 
|     <insert id="addToLogTable"> | 
|         INSERT INTO man_order_detl_pakin_log SELECT * FROM man_order_detl_pakin WHERE id = #{id} | 
|     </insert> | 
|   | 
|     <update id="increaseQtyByOrderNo"> | 
|         update man_order_detl_pakin | 
|         set qty = qty + #{qty} | 
|         where 1=1 | 
|         and order_no = #{orderNo} | 
|         and matnr = #{matnr} | 
|         <choose> | 
|             <when test="batch != null and batch != ''"> | 
|                 and batch = #{batch} | 
|             </when> | 
|             <otherwise> | 
|                 and (batch IS NULL OR batch = '') | 
|             </otherwise> | 
|         </choose> | 
|     </update> | 
|   | 
|     <update id="increaseWorkQty"> | 
|         update man_order_detl_pakin | 
|         set work_qty = work_qty + #{workQty} | 
|         where 1=1 | 
|         and order_id = #{orderId} | 
|         and matnr = #{matnr} | 
|         <choose> | 
|             <when test="batch != null and batch != ''"> | 
|                 and batch = #{batch} | 
|             </when> | 
|             <otherwise> | 
|                 and (batch IS NULL OR batch = '') | 
|             </otherwise> | 
|         </choose> | 
|     </update> | 
|   | 
|   | 
|     <update id="increaseWorkQtyById"> | 
|         update man_order_detl_pakin | 
|         set work_qty = work_qty + #{workQty} | 
|         where 1=1 | 
|           and id = #{id} | 
|     </update> | 
| </mapper> |