<?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.ManLocDetlMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.zy.asrs.entity.ManLocDetl">
|
<result column="host_id" property="hostId" />
|
<result column="loc_no" property="locNo" />
|
<result column="node_id" property="nodeId" />
|
<result column="zpallet" property="zpallet" />
|
<result column="anfme" property="anfme" />
|
<result column="matnr" property="matnr" />
|
<result column="maktx" property="maktx" />
|
<result column="name" property="name" />
|
<result column="specs" property="specs" />
|
<result column="model" property="model" />
|
<result column="batch" property="batch" />
|
<result column="unit" property="unit" />
|
<result column="barcode" property="barcode" />
|
<result column="doc_id" property="docId" />
|
<result column="doc_num" property="docNum" />
|
<result column="cust_name" property="custName" />
|
<result column="item_num" property="itemNum" />
|
<result column="count" property="count" />
|
<result column="price" property="price" />
|
<result column="weight" property="weight" />
|
<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="modiTime" />
|
<result column="memo" property="memo" />
|
|
</resultMap>
|
|
<resultMap id="CheckResultMap" type="com.zy.asrs.entity.LocCheck">
|
<result column="anfme" property="anfme" />
|
<result column="matnr" property="matnr" />
|
<result column="maktx" property="maktx" />
|
<result column="specs" property="specs" />
|
<result column="batch" property="batch" />
|
<result column="create_time" property="createTime"/>
|
</resultMap>
|
|
<sql id="locDetlCondition">
|
<if test="host_id != null and host_id != ''">
|
and mld.host_id = #{host_id}
|
</if>
|
<if test="loc_no != null and loc_no != ''">
|
and mld.loc_no like concat('%',#{loc_no},'%')
|
</if>
|
<if test="locNo != null and locNo != ''">
|
and mld.loc_no like concat('%',#{loc_no},'%')
|
</if>
|
<if test="matnr != null and matnr != ''">
|
and mld.matnr like concat('%',#{matnr},'%')
|
</if>
|
<if test="maktx != null and maktx != ''">
|
and mld.maktx like concat('%',#{maktx},'%')
|
</if>
|
<if test="startTime!=null and endTime!=null">
|
and mld.update_time between #{startTime} and #{endTime}
|
</if>
|
</sql>
|
<sql id="locDetlCondition2">
|
<if test="host_id != null and host_id != ''">
|
and v.host_id = #{host_id}
|
</if>
|
<if test="loc_no != null and loc_no != ''">
|
and v.loc_no like concat('%',#{loc_no},'%')
|
</if>
|
<if test="locNo != null and locNo != ''">
|
and v.loc_no like concat('%',#{loc_no},'%')
|
</if>
|
<if test="matnr != null and matnr != ''">
|
and v.matnr like concat('%',#{matnr},'%')
|
</if>
|
<if test="maktx != null and maktx != ''">
|
and v.maktx like concat('%',#{maktx},'%')
|
</if>
|
<if test="startTime!=null and endTime!=null">
|
and v.update_time between #{startTime} and #{endTime}
|
</if>
|
</sql>
|
|
<select id="listByPage" resultMap="BaseResultMap">
|
select * from
|
(
|
SELECT
|
ROW_NUMBER() over (order by mld.create_time desc) as row,
|
mld.*
|
FROM man_loc_detl mld
|
LEFT JOIN man_node mn ON mld.node_id = mn.id
|
LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
|
LEFT JOIN man_tag mt ON mm.tag_id = mt.id
|
WHERE 1=1
|
AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id})
|
AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id})
|
<include refid="locDetlCondition"></include>
|
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
|
</select>
|
|
<select id="listByPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
|
select
|
count(1)
|
FROM man_loc_detl mld
|
LEFT JOIN man_node mn ON mld.node_id = mn.id
|
LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
|
LEFT JOIN man_tag mt ON mm.tag_id = mt.id
|
WHERE 1=1
|
AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id})
|
AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id})
|
<include refid="locDetlCondition"></include>
|
</select>
|
|
<select id="selectByLocNoAndMatnr" resultMap="BaseResultMap">
|
select top 1 *
|
from man_loc_detl
|
where 1=1
|
and anfme > 0
|
<if test="nodeId != null and nodeId != ''">
|
and node_id = #{nodeId}
|
</if>
|
<if test="matnr != null and matnr != ''">
|
and matnr = #{matnr}
|
</if>
|
order by create_time asc
|
</select>
|
|
<select id="selectCountByMatnr" resultType="java.lang.Double">
|
select sum(anfme) as count from man_loc_detl where 1=1 and matnr = #{matnr} and host_id = #{hostId}
|
</select>
|
|
<update id="reduceStock">
|
update man_loc_detl
|
set anfme = anfme - #{anfme}
|
, update_time = getdate()
|
where 1=1
|
and node_id = #{nodeId}
|
and matnr = #{matnr}
|
</update>
|
|
<update id="incrementStock">
|
update man_loc_detl
|
set anfme = anfme + #{anfme}
|
, update_time = getdate()
|
where 1=1
|
and node_id = #{nodeId}
|
and matnr = #{matnr}
|
</update>
|
|
<update id="removeStock">
|
delete from man_loc_detl
|
where 1=1
|
and node_id = #{nodeId}
|
and matnr = #{matnr}
|
</update>
|
|
<select id="selectByPrior" resultMap="BaseResultMap">
|
select
|
mld.*
|
from man_loc_detl mld
|
left join man_prior mp on mld.node_id = mp.node_id and mld.matnr = mp.matnr
|
where 1=1
|
<if test="hostId != null and hostId != ''">
|
and mld.host_id = #{hostId}
|
</if>
|
<if test="nodeId != null and nodeId != ''">
|
and mld.node_id = #{nodeId}
|
</if>
|
<if test="matnr != null and matnr != ''">
|
and mld.matnr = #{matnr}
|
</if>
|
and mld.anfme > 0
|
and mp.status = 1
|
order by mp.prio desc, mld.create_time asc
|
</select>
|
|
<select id="getLocDetlStatis" resultMap="BaseResultMap">
|
select
|
ROW_NUMBER() over (order by sum(a.anfme) desc) as row
|
, a.matnr
|
, sum(a.anfme) as anfme
|
from man_loc_detl a
|
where 1=1
|
group by a.matnr
|
</select>
|
|
<select id="selectByNodeUuid" resultMap="BaseResultMap">
|
select * from man_loc_detl mld left join man_node mn on mld.node_id = mn.id
|
where 1=1
|
and mn.uuid = #{uuid}
|
and mld.hostId = #{hostId}
|
and mld.status = 1
|
order by mld.create_time
|
</select>
|
|
<select id="getStockStatis" resultMap="BaseResultMap">
|
select * from
|
(
|
select
|
ROW_NUMBER() over (order by a.matnr, sum(a.anfme) desc) as row
|
, a.matnr
|
, sum(a.anfme) as anfme
|
from man_loc_detl a
|
where 1=1
|
<include refid="stockOutCondition"></include>
|
group by a.matnr
|
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
|
</select>
|
|
<select id="getStockCheck" resultMap="CheckResultMap">
|
select * from
|
(
|
select
|
ROW_NUMBER() over (order by a.matnr, sum(a.anfme) desc) as row
|
, a.matnr
|
, sum(a.anfme) as anfme
|
from asr_check_detl a
|
<include refid="stockOutCondition"></include>
|
group by a.matnr
|
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
|
</select>
|
|
<select id="getStockCheckCount" parameterType="java.util.Map" resultType="java.lang.Integer">
|
select count(1) as count from
|
(
|
select
|
a.matnr
|
from asr_check_detl a
|
where 1=1
|
<include refid="stockOutCondition"></include>
|
group by a.matnr
|
) b
|
</select>
|
|
<select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer">
|
select count(1) as count from
|
(
|
select
|
a.matnr
|
from man_loc_detl a
|
where 1=1
|
<include refid="stockOutCondition"></include>
|
group by a.matnr
|
) b
|
</select>
|
|
<sql id="stockOutCondition">
|
<if test="host_id!=null and host_id!='' ">
|
and a.host_id = #{host_id}
|
</if>
|
<if test="node_id!=null and node_id!='' ">
|
and a.node_id like '%' + #{node_id} + '%'
|
</if>
|
<if test="loc_no!=null and loc_no!='' ">
|
and a.loc_no like '%' + #{loc_no} + '%'
|
</if>
|
<if test="matnr!=null and matnr!='' ">
|
and a.matnr like '%' + #{matnr} + '%'
|
</if>
|
<if test="maktx!=null and maktx!='' ">
|
and a.maktx like '%' + #{maktx} + '%'
|
</if>
|
</sql>
|
|
<select id="getStockStatisExcel" resultMap="BaseResultMap">
|
select
|
ROW_NUMBER() over (order by a.matnr, sum(a.anfme) desc) as row
|
, a.matnr
|
, sum(a.anfme) as anfme
|
from man_loc_detl a
|
where 1=1
|
and a.host_id = #{hostId}
|
group by a.matnr
|
</select>
|
<select id="selectLocDetlSumQty" resultType="java.lang.Double"></select>
|
|
<select id="selectLocNo0" resultMap="BaseResultMap">
|
select * from man_loc_detl
|
where loc_no = #{locNo}
|
and matnr = #{matnr}
|
</select>
|
<select id="selectItem0" resultType="com.zy.asrs.entity.ManLocDetl">
|
select top 1 * from man_loc_detl
|
where loc_no = #{locNo}
|
and matnr = #{matnr}
|
</select>
|
|
<select id="listByOutPage" resultMap="BaseResultMap">
|
select * from
|
(
|
SELECT
|
ROW_NUMBER() over (order by mld.create_time desc) as row,
|
mld.*
|
FROM man_loc_detl mld
|
LEFT JOIN man_node mn ON mld.node_id = mn.id
|
LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
|
LEFT JOIN man_tag mt ON mm.tag_id = mt.id
|
WHERE 1=1
|
<include refid="locDetlCondition"></include>
|
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
|
</select>
|
<select id="listByOutPageCount" resultType="java.lang.Long">
|
select
|
count(1)
|
FROM man_loc_detl mld
|
LEFT JOIN man_node mn ON mld.node_id = mn.id
|
LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
|
LEFT JOIN man_tag mt ON mm.tag_id = mt.id
|
WHERE 1=1
|
<include refid="locDetlCondition"></include>
|
</select>
|
<select id="selectAllPage" resultMap="BaseResultMap">
|
select * from
|
(
|
SELECT
|
ROW_NUMBER() over (order by v.loc_no desc) as row,
|
v.*
|
FROM [dbo].[man_view_asrs_saas] v
|
WHERE 1=1
|
<include refid="locDetlCondition2"></include>
|
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
|
</select>
|
<select id="selectAllPageSize" resultType="java.lang.Long">
|
select
|
count(1)
|
FROM [dbo].[man_view_asrs_saas] v
|
WHERE 1=1
|
<include refid="locDetlCondition2"></include>
|
</select>
|
|
|
<update id="updateLocNo0">
|
update man_loc_detl set loc_no = #{locNo}
|
where node_id = #{nodeId}
|
</update>
|
|
<delete id="deleteLocNo0">
|
delete from man_loc_detl
|
where loc_no = #{locNo}
|
and matnr = #{matnr}
|
</delete>
|
|
<update id="updateAnfme0">
|
update man_loc_detl set anfme = #{anfme}
|
where node_id = #{nodeId} ;
|
</update>
|
|
</mapper>
|