<?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="zy.cloud.wms.manager.mapper.PriorMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="zy.cloud.wms.manager.entity.Prior">
|
<id column="id" property="id" />
|
<result column="uuid" property="uuid" />
|
<result column="name" property="name" />
|
<result column="mat_id" property="matId" />
|
<result column="matnr" property="matnr" />
|
<result column="maktx" property="maktx" />
|
<result column="node_id" property="nodeId" />
|
<result column="node_name" property="nodeName" />
|
<result column="safe_qua" property="safeQua" />
|
<result column="prio" property="prio" />
|
<result column="barcode" property="barcode" />
|
<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="updateTime" />
|
<result column="memo" property="memo" />
|
|
</resultMap>
|
|
|
<sql id="pageCondition">
|
<if test="matnr != null and matnr != ''">
|
and mp.matnr like concat('%',#{matnr},'%')
|
</if>
|
<if test="node_id != null and node_id != ''">
|
and mp.node_id like concat('%',#{node_id},'%')
|
</if>
|
</sql>
|
|
<select id="selectSafeStoPage" resultType="zy.cloud.wms.manager.entity.SafeStoDo">
|
select * from
|
(
|
select
|
ROW_NUMBER() over (order by isnull(round((ls.amount/mp.safe_qua),2),0) asc) as row,
|
mp.node_id,
|
mp.node_name,
|
mp.matnr,
|
mp.maktx,
|
mp.safe_qua,
|
ISNULL(ls.amount, 0) as amount,
|
ISNULL((cast(round((ls.amount/(mp.safe_qua*1.0))*100,2) as varchar)+'%'), '0.00%') as progress,
|
case
|
when isnull(round((ls.amount/mp.safe_qua),2),0) > 1 then 1
|
when isnull(round((ls.amount/mp.safe_qua),2),0) > 0.75 then 2
|
else 3
|
end as status
|
from man_prior mp
|
left join
|
(
|
select
|
node_id,
|
matnr,
|
sum(anfme) as amount
|
from man_loc_detl
|
group by node_id, matnr
|
) as ls on ls.node_id = mp.node_id and ls.matnr = mp.matnr
|
where 1=1
|
<include refid="pageCondition"></include>
|
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
|
</select>
|
|
<select id="selectSafeStoPageCount" resultType="java.lang.Integer">
|
select
|
count(1) as count
|
from man_prior mp
|
left join
|
(
|
select
|
node_id,
|
matnr,
|
sum(anfme) as amount
|
from man_loc_detl
|
group by node_id, matnr
|
) as ls on ls.node_id = mp.node_id and ls.matnr = mp.matnr
|
where 1=1
|
<include refid="pageCondition"></include>
|
</select>
|
|
</mapper>
|