| | |
| | | <if test="standby2!=null and standby2!='' "> |
| | | and a.standby2 like '%' + #{standby2} + '%' |
| | | </if> |
| | | <if test="standby3!=null and standby3!='' "> |
| | | and a.standby3 like '%' + #{standby3} + '%' |
| | | </if> |
| | | <if test="boxType3!=null and boxType3!='' "> |
| | | and a.box_type3 like '%' + #{boxType3} + '%' |
| | | </if> |
| | | </sql> |
| | | |
| | | <sql id="stockOutCondition1"> |
| | | <if test="matnr!=null and matnr!='' "> |
| | | and a.matnr like '%' + #{matnr} + '%' |
| | | </if> |
| | | <if test="standby1!=null and standby1!='' "> |
| | | and a.standby1 like '%' + #{standby1} + '%' |
| | | </if> |
| | | <if test="standby2!=null and standby2!='' "> |
| | | and a.standby2 like '%' + #{standby2} + '%' |
| | | </if> |
| | | <if test="boxType3!=null and boxType3!='' "> |
| | | and a.box_type3 like '%' + #{boxType3} + '%' |
| | | </if> |
| | | </sql> |
| | | |
| | | <select id="getStockOutPage" resultMap="BaseResultMap"> |
| | |
| | | <include refid="stockOutCondition"></include> |
| | | </select> |
| | | |
| | | <select id="getStockStatis" resultType="com.zy.asrs.entity.LocDetl"> |
| | | select * from |
| | | ( |
| | | select |
| | | ROW_NUMBER() over (order by sum(a.anfme) desc) as row |
| | | , a.matnr |
| | | , a.batch |
| | | , a.standby1 |
| | | , a.standby2 |
| | | , sum(a.anfme) as anfme |
| | | from asr_loc_detl a |
| | | where 1=1 |
| | | <include refid="stockOutCondition"></include> |
| | | group by a.matnr, a.batch, a.standby1, a.standby2 |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | <select id="getStockStatis" resultMap="BaseResultMap"> |
| | | SELECT * FROM ( |
| | | SELECT |
| | | ROW_NUMBER() OVER (ORDER BY SUM(a.anfme) DESC) AS row, |
| | | a.matnr, |
| | | a.batch, |
| | | a.standby1, |
| | | a.standby2, |
| | | MAX(a.box_type3) AS box_type3, -- 关键:用 MAX 避免 null 或不确定性 |
| | | SUM(a.anfme) AS anfme |
| | | FROM asr_loc_detl a |
| | | WHERE 1=1 |
| | | <include refid="stockOutCondition"/> |
| | | GROUP BY |
| | | a.matnr, |
| | | a.batch, |
| | | a.standby1, |
| | | a.standby2, |
| | | a.box_type3 -- 保留,因为业务需要按采购单区分 |
| | | ) t |
| | | WHERE t.row BETWEEN ((#{pageNumber}-1)*#{pageSize}+1) AND (#{pageNumber}*#{pageSize}) |
| | | </select> |
| | | |
| | | <!-- 库存统计导出:全量汇总数据(不分页) --> |
| | | <select id="selectStockStatisExport" resultMap="BaseResultMap"> |
| | | SELECT |
| | | a.matnr, |
| | | a.batch, |
| | | a.standby1, |
| | | a.standby2, |
| | | MAX(a.box_type3) AS box_type3, |
| | | SUM(a.anfme) AS anfme |
| | | FROM asr_loc_detl a |
| | | WHERE 1=1 |
| | | <include refid="stockOutCondition1"/> |
| | | GROUP BY |
| | | a.matnr, |
| | | a.batch, |
| | | a.standby1, |
| | | a.standby2, |
| | | a.box_type3 |
| | | ORDER BY SUM(a.anfme) DESC |
| | | </select> |
| | | |
| | | <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer"> |
| | |
| | | end |
| | | desc |
| | | </select> |
| | | |
| | | <select id="queryStockMatnr" resultMap="BaseResultMap"> |
| | | select a.* |
| | | from asr_loc_detl a |
| | | left join asr_loc_mast b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | | order by |
| | | DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme |
| | | desc, |
| | | NEWID(), |
| | | case |
| | | when (left(a.loc_no, 2) = '01') then 0 |
| | | when (left(a.loc_no, 2) = '02') then 1 |
| | | when (left(a.loc_no, 2) = '03') then 1 |
| | | when (left(a.loc_no, 2) = '04') then 0 |
| | | when (left(a.loc_no, 2) = '05') then 0 |
| | | when (left(a.loc_no, 2) = '06') then 1 |
| | | when (left(a.loc_no, 2) = '07') then 1 |
| | | when (left(a.loc_no, 2) = '08') then 0 |
| | | when (left(a.loc_no, 2) = '09') then 0 |
| | | when (left(a.loc_no, 2) = '10') then 1 |
| | | when (left(a.loc_no, 2) = '11') then 1 |
| | | when (left(a.loc_no, 2) = '12') then 0 |
| | | when (left(a.loc_no, 2) = '13') then 0 |
| | | when (left(a.loc_no, 2) = '14') then 1 |
| | | when (left(a.loc_no, 2) = '15') then 1 |
| | | when (left(a.loc_no, 2) = '16') then 0 |
| | | when (left(a.loc_no, 2) = '17') then 0 |
| | | when (left(a.loc_no, 2) = '18') then 1 |
| | | when (left(a.loc_no, 2) = '19') then 1 |
| | | when (left(a.loc_no, 2) = '20') then 0 |
| | | when (left(a.loc_no, 2) = '21') then 0 |
| | | when (left(a.loc_no, 2) = '22') then 1 |
| | | when (left(a.loc_no, 2) = '23') then 1 |
| | | when (left(a.loc_no, 2) = '24') then 0 |
| | | when (left(a.loc_no, 2) = '25') then 0 |
| | | when (left(a.loc_no, 2) = '26') then 1 |
| | | when (left(a.loc_no, 2) = '27') then 1 |
| | | when (left(a.loc_no, 2) = '28') then 0 |
| | | when (left(a.loc_no, 2) = '29') then 0 |
| | | when (left(a.loc_no, 2) = '30') then 1 |
| | | when (left(a.loc_no, 2) = '31') then 1 |
| | | when (left(a.loc_no, 2) = '32') then 0 |
| | | when (left(a.loc_no, 2) = '33') then 0 |
| | | when (left(a.loc_no, 2) = '34') then 1 |
| | | when (left(a.loc_no, 2) = '35') then 1 |
| | | when (left(a.loc_no, 2) = '36') then 0 |
| | | when (left(a.loc_no, 2) = '37') then 0 |
| | | when (left(a.loc_no, 2) = '38') then 1 |
| | | when (left(a.loc_no, 2) = '39') then 1 |
| | | when (left(a.loc_no, 2) = '40') then 0 |
| | | when (left(a.loc_no, 2) = '41') then 0 |
| | | when (left(a.loc_no, 2) = '42') then 1 |
| | | when (left(a.loc_no, 2) = '43') then 1 |
| | | when (left(a.loc_no, 2) = '44') then 0 |
| | | when (left(a.loc_no, 2) = '45') then 0 |
| | | when (left(a.loc_no, 2) = '46') then 1 |
| | | when (left(a.loc_no, 2) = '47') then 1 |
| | | when (left(a.loc_no, 2) = '48') then 0 |
| | | else 0 |
| | | end |
| | | desc |
| | | </select> |
| | | <select id="queryStockAll" resultMap="BaseResultMap"> |
| | | select a.* |
| | | from asr_loc_detl a |