| | |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="listByPage" resultMap="BaseResultMap"> |
| | | SELECT |
| | | mld.* |
| | | FROM man_loc_detl mld |
| | | LEFT JOIN man_node mn ON mld.node_id = mn.id |
| | | WHERE 1=1 |
| | | AND (CHARINDEX(#{nodeId}, ','+mn.path+',') > 0 OR mn.id = #{nodeId}) |
| | | <if test="locNo != null and locNo != ''"> |
| | | and mld.loc_no like concat('%',#{locNo},'%') |
| | | <sql id="locDetlCondition"> |
| | | <if test="loc_no != null and loc_no != ''"> |
| | | and mld.loc_no like concat('%',#{loc_no},'%') |
| | | </if> |
| | | <if test="matnr != null and matnr != ''"> |
| | | and mld.matnr like concat('%',#{matnr},'%') |
| | |
| | | <if test="maktx != null and maktx != ''"> |
| | | and mld.maktx like concat('%',#{maktx},'%') |
| | | </if> |
| | | ORDER BY mld.create_time DESC |
| | | <if test="startTime!=null and endTime!=null"> |
| | | and mld.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 * from man_loc_detl where 1=1 and node_id = #{nodeId} and matnr = #{matnr} |
| | | 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} |
| | | </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="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.status = 1 |
| | | order by mld.create_time |
| | | </select> |
| | | |
| | | <select id="getStockStatis" resultMap="BaseResultMap"> |
| | | select * from |
| | | ( |
| | | 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 |
| | | <include refid="stockOutCondition"></include> |
| | | group by a.matnr |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | </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="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 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> |
| | | |
| | | </mapper> |