254 lines
6.1 KiB
Plaintext
254 lines
6.1 KiB
Plaintext
<?xml version="1.0" encoding="gb2312"?>
|
|
<%@ page contentType="text/xml; charset=GBK" %>
|
|
<%@ page import="java.util.*"%>
|
|
<%@ page import="com.zcsoft.dbvisit.DB"%>
|
|
<%@ page import="com.wxzd.wms.util.ServerUtil"%>
|
|
<jsp:useBean id="db1" scope="application" class="com.zcsoft.dbvisit.DB" />
|
|
<jsp:useBean id="userInfo" scope="session" class="com.zcsoft.purview.data.UserInfoData" />
|
|
<%
|
|
if (userInfo.getYhm() == null)
|
|
{
|
|
out.write("<redirect href=\"sm.jsp\"/>");
|
|
return;
|
|
}
|
|
String errorInfo = null;
|
|
|
|
String kwsx = request.getParameter("kw");//库位筛选
|
|
String rkcp = request.getParameter("item");//待入库产品信息
|
|
String kwlx = DB.regulateInput(request.getParameter("kwlx"));
|
|
List data = null;
|
|
try
|
|
{
|
|
int index = rkcp != null?rkcp.indexOf('='):-1;
|
|
if (index > 0)
|
|
{
|
|
//提取入库产品的限定存放分区、质量状态、入库仓库等信息
|
|
String mxbh = rkcp.substring(0, index);
|
|
String rksl = rkcp.substring(1 + index);
|
|
String rkxxFetchSql;
|
|
if (mxbh.charAt(0) == 'R')
|
|
{
|
|
rkxxFetchSql = "SELECT a.ckbh,a.zl,b.cpbh,b.lpxx,c.cfkwFqsx"
|
|
+ "\nFROM cprkd a JOIN cprkdmx b ON a.ysdh=b.ysdh"
|
|
+ "\nJOIN cpxx c ON b.cpbh=c.cpbh"
|
|
+ "\nWHERE b.mxbh=? AND a.zt=0 AND b.rksl>b.yapsl";
|
|
}
|
|
else
|
|
{
|
|
rkxxFetchSql = "SELECT a.ckbh,a.zl,b.cpbh,b.lpxx,c.cfkwFqsx"
|
|
+ "\nFROM ckd a JOIN ckdmx b ON a.ckdh=b.ckdh"
|
|
+ "\nJOIN cpxx c ON b.cpbh=c.cpbh"
|
|
+ "\nWHERE b.mxbh=? AND a.zt=0 AND b.shsl>b.yapsl";
|
|
}
|
|
Map rkwzxx = db1.getSingleRow(rkxxFetchSql, mxbh.substring(1));
|
|
if (rkwzxx == null)
|
|
{
|
|
throw new IllegalStateException("单据记录不再存在!");
|
|
}
|
|
Object rkWzlb = rkwzxx.get("cfkwFqsx");
|
|
Object rkZlzt = rkwzxx.get("zl");
|
|
Object ckbh = rkwzxx.get("ckbh");
|
|
Object rkCpbh = rkwzxx.get("cpbh");
|
|
Object rkCpph = rkwzxx.get("lpxx");
|
|
|
|
//提取可入库位
|
|
StringBuffer sql = new StringBuffer("SELECT kwbh,tpbh,sfwzzl");
|
|
sql.append("\nFROM kwjbxx a");
|
|
sql.append("\nWHERE (sfsd=0");
|
|
if (kwsx != null)
|
|
{
|
|
if (kwsx.length() < 6)
|
|
{
|
|
sql.append(" OR (sfsd > 0 AND suolx=1))");
|
|
}
|
|
else
|
|
{
|
|
sql.append(')');
|
|
}
|
|
if (kwsx.length() > 0)
|
|
{
|
|
sql.append(" AND kwbh LIKE '");
|
|
sql.append(kwsx);
|
|
if (kwsx.length() < 6) sql.append('%');
|
|
sql.append('\'');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
sql.append(')');
|
|
}
|
|
|
|
//限定分区
|
|
if (!ServerUtil.isNull(rkWzlb))
|
|
{
|
|
sql.append("\nAND (qysx IS NULL OR qysx='");
|
|
sql.append(rkWzlb).append("')");
|
|
}
|
|
|
|
//限定入库质量状态筛选条件
|
|
sql.append("\nAND (zlzt IS NULL OR zlzt='");
|
|
//对于待验品,只能放入限定存放合格品的库位上
|
|
sql.append("1".equals(rkZlzt)?"2":rkZlzt);
|
|
sql.append("')");
|
|
|
|
//入库仓库筛选条件
|
|
sql.append(" AND ckmc='").append(ckbh).append('\'');
|
|
|
|
//库位类型筛选
|
|
if (!ServerUtil.isNull(kwlx))
|
|
{
|
|
if ("kkw".equals(kwlx))
|
|
{
|
|
sql.append(" AND zsl=0");
|
|
}
|
|
else if ("ktp".equals(kwlx))
|
|
{
|
|
sql.append(" AND zsl>0 AND sfwzzl='T'");
|
|
}
|
|
else if ("tcp".equals(kwlx))
|
|
{
|
|
sql.append(" AND EXISTS(SELECT 2 FROM cpkcxx b");
|
|
sql.append("\nWHERE b.ckmc=a.ckmc AND b.kwbh=a.kwbh");
|
|
sql.append("\nAND cpbh='").append(rkCpbh);
|
|
sql.append("' AND zlzt='").append(rkZlzt);
|
|
sql.append("' AND lpxx");
|
|
if (ServerUtil.isNull(kwlx))
|
|
{
|
|
sql.append(" IS NULL");
|
|
}
|
|
else
|
|
{
|
|
sql.append("='").append(rkCpph).append('\'');
|
|
}
|
|
sql.append(')');
|
|
}
|
|
else if ("xn".equals(kwlx))
|
|
{
|
|
sql.append(" AND xnkw=1");
|
|
}
|
|
else if ("kz".equals(kwlx))
|
|
{
|
|
sql.append(" AND flagKzkw=1");
|
|
}
|
|
}
|
|
|
|
sql.append("\nORDER BY qysx DESC,zsl,ceng,lie,pai");
|
|
|
|
data = db1.getVDataWithException(sql.toString());
|
|
}
|
|
else
|
|
{
|
|
errorInfo = "无效参数";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ex.printStackTrace();
|
|
errorInfo = ex.getMessage();
|
|
if (errorInfo == null) errorInfo = ex.toString();
|
|
}
|
|
//返回结果
|
|
out.write("<result status=\"");
|
|
if (errorInfo != null)
|
|
{
|
|
out.write("false\" exception=\"");
|
|
out.write(errorInfo);
|
|
out.write("\">");
|
|
}
|
|
else
|
|
{
|
|
out.println("true\">");
|
|
out.println("<table border=\"1\" class=\"data\" style=\"text-align:center;\">");
|
|
if (kwsx == null || !kwsx.matches("[0-9][0-9][0-9][0-9][0-9][0-9]"))
|
|
{
|
|
out.println("<tr><td colspan=\"3\">");
|
|
String[] queryItems = new String[]{"空库位", "kkw",
|
|
"空托盘", "ktp",
|
|
"同货库位", "tcp",
|
|
"虚拟库位", "xn",
|
|
"扩展库位", "kz"};
|
|
for (int i = 0; i < queryItems.length; i++)
|
|
{
|
|
String text = queryItems[i++];
|
|
String id = queryItems[i];
|
|
out.print("<input type=\"radio\" name=\"kwlx\"");
|
|
if (kwlx != null && id.equals(kwlx))
|
|
{
|
|
out.print(" checked=\"true\"");
|
|
}
|
|
out.print(" onclick=\"xkw('");
|
|
out.print(id);
|
|
out.print("');\">");
|
|
out.print(text);
|
|
out.print("</input>");
|
|
if (i > 0 && i % 5 == 0)
|
|
{
|
|
out.print("</td></tr><tr><td colspan=\"3\">");
|
|
}
|
|
}
|
|
out.println("</td></tr>");
|
|
}
|
|
out.println("<tr><th>库位</th><th>托盘</th><th>备注</th></tr>");
|
|
int i = 0, n = data.size();
|
|
if (n == 0)
|
|
{
|
|
out.print("<tr><td colspan=\"3\">");
|
|
out.print("未找到满足条件的库位,可<a href=\"javascript:xdkw();\">");
|
|
out.print("关闭");
|
|
out.print("</a>");
|
|
out.println("</td></tr>");
|
|
}
|
|
else for (; i < n; i++)
|
|
{
|
|
out.print("<tr>");
|
|
|
|
List rowData = (List)data.get(i);
|
|
|
|
String kwbh = (String)rowData.get(0);
|
|
String tpbh = (String)rowData.get(1);
|
|
String sfwzzl= (String)rowData.get(2);
|
|
String bz = ServerUtil.isNull(sfwzzl)
|
|
?"空库位"
|
|
:("M".equals(sfwzzl)?"有货":"空托盘");
|
|
|
|
out.print("<td>");
|
|
out.print("<a href=\"javascript:xdkw('");
|
|
out.print(kwbh);
|
|
out.print("','");
|
|
out.print(tpbh);
|
|
out.print("');\"/>");
|
|
out.print(kwbh);
|
|
out.print("</td>");
|
|
|
|
out.print("<td>");
|
|
out.print(tpbh);
|
|
out.print("</td>");
|
|
|
|
out.print("<td>");
|
|
out.print(bz);
|
|
out.print("</td>");
|
|
|
|
out.println("</tr>");
|
|
|
|
if (i == 14)
|
|
{
|
|
if (n >= 15)
|
|
{
|
|
out.print("<tr><td colspan=\"3\">");
|
|
out.print("...... ");
|
|
out.print(n);
|
|
out.print(" 个可选 <a href=\"javascript:xdkw();\">");
|
|
out.print("关闭");
|
|
out.print("</a>");
|
|
out.println("</td></tr>");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
out.print("</table>");
|
|
}
|
|
%>
|
|
</result>
|
|
|