|  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     <sql id="pageCondition"> | 
 |  |  |         <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},'%') | 
 |  |  |             and mp.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 test="node_id != null and node_id != ''"> | 
 |  |  |             and mp.node_id like concat('%',#{node_id},'%') | 
 |  |  |         </if> | 
 |  |  |     </sql> | 
 |  |  |  | 
 |  |  | 
 |  |  |         select * from | 
 |  |  |         ( | 
 |  |  |             select | 
 |  |  |             ROW_NUMBER() over (order by mp.create_time desc) as row, | 
 |  |  |             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, | 
 |  |  | 
 |  |  |             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.5 then 2 | 
 |  |  |             when isnull(round((ls.amount/mp.safe_qua),2),0) > 0.75 then 2 | 
 |  |  |             else 3 | 
 |  |  |             end as status | 
 |  |  |             from man_prior mp |