| <?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.common.wms.mapper.WrkDetlMapper"> | 
|   | 
|     <sql id="batchSeq"> | 
|         <choose> | 
|             <when test="batch != null and batch != ''"> | 
|                 and batch = #{batch} | 
|             </when> | 
|             <otherwise> | 
|                 and (batch IS NULL OR batch = '') | 
|             </otherwise> | 
|         </choose> | 
|     </sql> | 
|   | 
|     <select id="selectAndLogByOrderNoGroupByMatnrOfSum" resultType="com.zy.asrs.common.wms.entity.WrkDetl"> | 
|         select awd.wrk_no, awd.io_time, awd.matnr, sum(awd.anfme) as anfme | 
|         from wms_wrk_detl awd | 
|         left join wms_wrk_mast awm on awd.wrk_mast_id = awm.id and awd.host_id = awm.host_id | 
|         where order_no = #{orderNo} | 
|         group by awd.wrk_no, awd.io_time, awd.matnr | 
|         union | 
|         select distinct awdl.wrk_no, awdl.io_time, awdl.matnr, sum(awdl.anfme) as anfme | 
|         from wms_wrk_detl_log awdl | 
|         left join wms_wrk_mast_log awml on awdl.wrk_mast_id = awml.id and awdl.host_id = awml.host_id | 
|         where awdl.order_no = #{orderNo} | 
|         and (awml.manu_type is null or awml.manu_type != '手动取消') | 
|         group by awdl.wrk_no, awdl.io_time, awdl.matnr | 
|     </select> | 
|   | 
|     <update id="updateOrderNo"> | 
|         update wms_wrk_detl | 
|         set order_no = #{orderNo} | 
|         , modi_time = getdate() | 
|         where 1=1 | 
|         and wrk_no = #{wrkNo} | 
|         and matnr = #{matnr} | 
|         and host_id = #{hostId} | 
|         <include refid="batchSeq"></include> | 
|     </update> | 
|   | 
|     <select id="selectAndLogByOrderNo" resultType="com.zy.asrs.common.wms.entity.WrkDetl"> | 
|         select wd.* | 
|         from wms_wrk_detl wd | 
|         left join wms_wrk_mast wm on wd.wrk_mast_id = wm.id and wd.host_id = wm.host_id | 
|         where order_no = #{orderNo} | 
|         and wd.host_id = #{hostId} | 
|         union | 
|         select distinct wdl.* | 
|         from wms_wrk_detl_log wdl | 
|         left join wms_wrk_mast_log wml on wdl.wrk_mast_id = wml.id and wdl.host_id = wml.host_id | 
|         where wdl.order_no = #{orderNo} | 
|         and wdl.host_id = #{hostId} | 
|         and (wml.manu_type is null or wml.manu_type != '手动取消') | 
|     </select> | 
|   | 
|     <select id="selectPakoutQuery" resultType="com.zy.asrs.common.wms.entity.WrkDetl"> | 
|         select | 
|         awd.* | 
|         from wms_wrk_detl awd | 
|         left join asr_wrk_mast awm on awd.wrk_mast_id = awm.id and awd.host_id = awm.host_id | 
|         where 1=1 | 
|         and awm.wrk_sts = 199 | 
|         and (awd.inspect is null or awd.inspect = 0) | 
|         and awm.sta_no = #{staNo} | 
|         and awd.matnr + '-' + awd.batch = #{matnr} | 
|     </select> | 
|   | 
|     <update id="updateInspect"> | 
|         update wms_wrk_detl | 
|         set inspect = 1 | 
|         where 1=1 | 
|         and wrk_no = #{wrkNo} | 
|         and matnr = #{matnr} | 
|         and host_id = #{hostId} | 
|         <include refid="batchSeq"></include> | 
|     </update> | 
|   | 
|     <delete id="deleteItem"> | 
|         delete from wms_wrk_detl | 
|         where 1=1 | 
|         and wrk_no = #{wrkNo} | 
|         and matnr = #{matnr} | 
|         and host_id = #{hostId} | 
|         <include refid="batchSeq"></include> | 
|     </delete> | 
|   | 
|     <update id="updateAnfme"> | 
|         update wms_wrk_detl | 
|         set anfme = #{anfme} | 
|         , modi_time = getdate() | 
|         where 1=1 | 
|         and wrk_no = #{wrkNo} | 
|         and matnr = #{matnr} | 
|         and host_id = #{hostId} | 
|         <include refid="batchSeq"></include> | 
|     </update> | 
|   | 
| </mapper> |