| | |
| | | <!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.LocDetlMapper"> |
| | | |
| | | <sql id="batchSeq"> |
| | | <choose> |
| | | <when test="batch != null and batch != ''"> |
| | | and batch = #{batch} |
| | | </when> |
| | | <otherwise> |
| | | and (batch IS NULL OR batch = '') |
| | | </otherwise> |
| | | </choose> |
| | | </sql> |
| | | |
| | | <sql id="stockOutCondition"> |
| | | <if test="map.loc_no!=null and map.loc_no!='' "> |
| | | and a.loc_no like '%' + #{map.loc_no} + '%' |
| | |
| | | select |
| | | a.* |
| | | from wms_loc_detl a |
| | | left join wms_loc_mast b on a.loc_no = b.loc_no |
| | | left join common_loc_mast b on a.loc_no = b.loc_no and a.host_id = b.host_id |
| | | where 1=1 |
| | | <if test="no!=null and no == 1"> |
| | | and b.row1 >= 31 |
| | | and b.row1 <= 32 |
| | | </if> |
| | | <if test="no!=null and no == 2"> |
| | | and b.row1 >= 2 |
| | | and b.row1 <= 17 |
| | | </if> |
| | | <if test="no!=null and no == 3"> |
| | | and b.row1 >= 18 |
| | | and b.row1 <= 30 |
| | | </if> |
| | | and a.matnr = #{matnr} |
| | | and b.bay1 = #{bay} |
| | | <if test="batch!=null and batch!=''"> |
| | | and a.batch = #{batch} |
| | | </if> |
| | | and b.host_id = #{hostId} |
| | | and b.loc_sts = 'F' |
| | | order by b.row1 |
| | | <if test="orderBy != null and orderBy != '' and orderBy == 'false'"> |
| | | desc |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="queryStockPre" resultType="com.zy.asrs.common.domain.dto.QueryStockPreDo"> |
| | | <select id="selectItem" resultType="com.zy.asrs.common.wms.entity.LocDetl"> |
| | | select top 1 * |
| | | from wms_loc_detl |
| | | where 1=1 |
| | | and loc_no = #{locNo} |
| | | and matnr = #{matnr} |
| | | and host_id = #{hostId} |
| | | <include refid="batchSeq"></include> |
| | | </select> |
| | | |
| | | <delete id="deleteItem"> |
| | | delete from wms_loc_detl |
| | | where 1=1 |
| | | and loc_no = #{locNo} |
| | | and matnr = #{matnr} |
| | | and host_id = #{hostId} |
| | | <include refid="batchSeq"></include> |
| | | </delete> |
| | | |
| | | <update id="updateAnfme"> |
| | | update wms_loc_detl |
| | | set anfme = #{anfme} |
| | | , modi_time = getdate() |
| | | where 1=1 |
| | | and loc_no = #{locNo} |
| | | and matnr = #{matnr} |
| | | and host_id = #{hostId} |
| | | <include refid="batchSeq"></include> |
| | | </update> |
| | | |
| | | <select id="getStockOutPage" resultType="com.zy.asrs.common.wms.entity.LocDetl"> |
| | | select |
| | | * |
| | | from |
| | | ( |
| | | select |
| | | no = 1, |
| | | orderBy = 'true', |
| | | b.bay1 as bay, |
| | | sum(anfme) as count |
| | | from wms_loc_detl a |
| | | left join wms_loc_mast b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | | and b.row1 >= 31 |
| | | and b.row1 <= 32 |
| | | group by b.bay1 |
| | | union |
| | | select |
| | | no = 2, |
| | | orderBy = 'true', |
| | | b.bay1 as bay, |
| | | sum(anfme) as count |
| | | from wms_loc_detl a |
| | | left join wms_loc_mast b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | | and b.row1 >= 2 |
| | | and b.row1 <= 17 |
| | | group by b.bay1 |
| | | union |
| | | select |
| | | no = 3, |
| | | orderBy = 'false', |
| | | b.bay1 as bay, |
| | | sum(anfme) as count |
| | | from wms_loc_detl a |
| | | left join wms_loc_mast b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | | and b.row1 >= 18 |
| | | and b.row1 <= 30 |
| | | group by b.bay1 |
| | | ) a |
| | | order by no, count desc |
| | | a.* |
| | | from wms_loc_detl a |
| | | left join common_loc_mast b on a.loc_no = b.loc_no and a.host_id = b.host_id |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and b.host_id = #{map.hostId} |
| | | <include refid="stockOutCondition"></include> |
| | | </select> |
| | | |
| | | <select id="getReportStockDto" resultType="com.zy.asrs.common.domain.dto.ReportStockDto"> |
| | | select matnr,batch,sum(anfme) anfme from wms_loc_detl |
| | | where host_id = #{hostId} |
| | | group by matnr,batch |
| | | </select> |
| | | |
| | | <select id="selectSameDetl" resultType="java.lang.String"> |
| | | SELECT |
| | | ld.loc_no |
| | | FROM wms_loc_detl ld |
| | | LEFT JOIN common_loc_mast lm ON ld.loc_no = lm.loc_no and ld.host_id = lm.host_id |
| | | LEFT JOIN ( |
| | | select |
| | | loc_no, |
| | | count(1) as count |
| | | from wms_loc_detl |
| | | where 1=1 |
| | | and host_id = #{hostId} |
| | | group by loc_no |
| | | ) dual on dual.loc_no = lm.loc_no |
| | | WHERE 1 = 1 |
| | | AND ld.matnr = #{matnr} |
| | | <if test="batch"> |
| | | AND ld.batch = #{batch} |
| | | </if> |
| | | AND (lm.loc_sts = 'F') |
| | | AND dual.count = 1 |
| | | AND lm.host_id = #{hostId} |
| | | ORDER BY lm.modi_time ASC |
| | | </select> |
| | | |
| | | </mapper> |