| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="WarningResultMap" type="com.zy.asrs.entity.LocDetlWarningDTO"> |
| | | <result column="loc_no" property="locNo" /> |
| | | <result column="matnr" property="matnr" /> |
| | | <result column="maktx" property="maktx" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="specs" property="specs" /> |
| | | <result column="inventory_max" property="inventoryMax" /> |
| | | <result column="inventory_min" property="inventoryMin" /> |
| | | <result column="inventory_age_max" property="inventoryAgeMax" /> |
| | | <result column="count_anfme" property="countAnfme" /> |
| | | <result column="diff_time" property="diffTime" /> |
| | | <result column="pageNumber" property="pageNumber" /> |
| | | <result column="pageSize" property="pageSize" /> |
| | | <result column="row" property="row" /> |
| | | </resultMap> |
| | | |
| | | <sql id="batchSeq"> |
| | | <choose> |
| | | <when test="batch != null"> |
| | |
| | | ROW_NUMBER() over (order by sum(a.anfme) desc) as row |
| | | , a.matnr |
| | | , sum(a.anfme) as anfme |
| | | from asr_loc_detl a |
| | | from asr_loc_detl_all a |
| | | where 1=1 |
| | | group by a.matnr |
| | | </select> |
| | |
| | | <select id="sumAll" resultType="java.lang.Double"> |
| | | SELECT SUM(anfme) FROM asr_loc_detl_all |
| | | </select> |
| | | <!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> |
| | | <sql id="selectAllWarningSql"> |
| | | <if test="locNo!=null and locNo!='' "> |
| | | and t.loc_no like '%' + #{locNo} + '%' |
| | | </if> |
| | | <if test="matnr != null and matnr !='' "> |
| | | and t.matnr like '%' + #{matnr} + '%' |
| | | </if> |
| | | |
| | | </sql> |
| | | |
| | | <select id="selectAllWarning" resultMap="WarningResultMap" parameterType="com.zy.asrs.entity.LocDetlWarningDTO"> |
| | | SELECT |
| | | * |
| | | FROM |
| | | ( |
| | | SELECT |
| | | ROW_NUMBER ( ) OVER ( ORDER BY matnr ) AS row,* |
| | | FROM |
| | | ( |
| | | SELECT |
| | | loc_no, |
| | | locd.matnr, |
| | | locd.maktx, |
| | | create_time, |
| | | locd.specs, |
| | | locd.unit, |
| | | inventory_max, |
| | | inventory_min, |
| | | inventory_age_max, |
| | | count_anfme, |
| | | DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time] |
| | | FROM |
| | | man_loc_detl locd |
| | | LEFT JOIN ( |
| | | SELECT |
| | | man_mat.matnr, |
| | | maktx, |
| | | specs, |
| | | unit, |
| | | inventory_max, |
| | | inventory_min, |
| | | inventory_age_max, |
| | | count_anfme |
| | | FROM |
| | | man_mat |
| | | RIGHT JOIN ( SELECT matnr, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr ) aa ON aa.matnr = man_mat.matnr |
| | | ) warn ON locd.matnr = warn.matnr |
| | | WHERE |
| | | DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max |
| | | OR count_anfme > inventory_max |
| | | OR count_anfme < inventory_min |
| | | ) t |
| | | WHERE |
| | | 1 = 1 |
| | | <include refid="selectAllWarningSql"></include> |
| | | ) a |
| | | WHERE a.row BETWEEN ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | |
| | | </select> |
| | | <select id="getAllWarningCount" resultType="java.lang.Integer"> |
| | | SELECT |
| | | COUNT(1) |
| | | FROM |
| | | ( |
| | | SELECT |
| | | ROW_NUMBER ( ) OVER ( ORDER BY matnr ) AS row,* |
| | | FROM |
| | | ( |
| | | SELECT |
| | | loc_no, |
| | | locd.matnr, |
| | | locd.maktx, |
| | | create_time, |
| | | locd.specs, |
| | | locd.unit, |
| | | inventory_max, |
| | | inventory_min, |
| | | inventory_age_max, |
| | | count_anfme, |
| | | DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time] |
| | | FROM |
| | | man_loc_detl locd |
| | | LEFT JOIN ( |
| | | SELECT |
| | | man_mat.matnr, |
| | | maktx, |
| | | specs, |
| | | unit, |
| | | inventory_max, |
| | | inventory_min, |
| | | inventory_age_max, |
| | | count_anfme |
| | | FROM |
| | | man_mat |
| | | RIGHT JOIN ( SELECT matnr, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr ) aa ON aa.matnr = man_mat.matnr |
| | | ) warn ON locd.matnr = warn.matnr |
| | | WHERE |
| | | DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max |
| | | OR count_anfme > inventory_max |
| | | OR count_anfme < inventory_min |
| | | ) t |
| | | WHERE |
| | | 1 = 1 |
| | | <include refid="selectAllWarningSql"></include> |
| | | ) a |
| | | |
| | | |
| | | |
| | | |
| | | </select> |
| | | |
| | | |
| | | </mapper> |