171 lines
4.9 KiB
Plaintext
171 lines
4.9 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"%>
|
||
<%@ page import="com.zcsoft.purview.data.Purview"%>
|
||
<%@ page import="com.wxzd.wms.sys.data.ModuleConstant"%>
|
||
<%@ page import="com.wxzd.wms.cpgl.data.WlRkzlItem"%>
|
||
<%@ page import="com.wxzd.wms.cpgl.server.CprkglManager"%>
|
||
<jsp:useBean id="db1" scope="application" class="com.zcsoft.dbvisit.DB" />
|
||
<jsp:useBean id="userInfo" scope="session" class="com.zcsoft.purview.data.UserInfoData" />
|
||
<%
|
||
String errorInfo = null, kw = null, tp = null,ck=null;
|
||
String[] items = null;
|
||
if (userInfo.getYhm() == null)
|
||
{
|
||
out.write("<redirect href=\"sm.jsp\"/>");
|
||
return;
|
||
}
|
||
kw = request.getParameter("kw");
|
||
tp = request.getParameter("tp");
|
||
ck = request.getParameter("ck");
|
||
items = request.getParameterValues("item");
|
||
Vector data = null;
|
||
StringBuffer remainderItems = null;
|
||
try
|
||
{
|
||
//再次检查权限
|
||
String module = ModuleConstant.入库作业管理;
|
||
Purview p = userInfo.getUserPurview(module);
|
||
if (p == null || (p.getQx() & 1) == 0)
|
||
{
|
||
throw new IllegalArgumentException("您没有授予库存查询权限");
|
||
}
|
||
// if("802".equals(ck)&& kw!=null &&kw.length()>0&&db1.hasAnyData("SELECT * FROM cprkzl WHERE kwbh=? AND ckmc='802' AND zt!=2 ",kw))//RDC入库,有库位号
|
||
// {
|
||
// throw new IllegalArgumentException("RDC入库时,入库库位有未完成的入库任务");
|
||
// }
|
||
if(tp!=null&&tp.length()>0&&("801".equals(ck)?db1.hasAnyData("SELECT * FROM cprkzl WHERE tpbh=? AND ckmc='801' AND zt !=2",tp):db1.hasAnyData("SELECT * FROM cprkzl WHERE tpbh=? AND ckmc='802' AND zt=0",tp)))
|
||
{
|
||
throw new IllegalArgumentException("此托盘有未完成的任务!");
|
||
}
|
||
if(tp!=null&&tp.length()>0&&db1.hasAnyData("select * from kwjbxx where tpbh=?",tp))
|
||
{
|
||
throw new IllegalArgumentException("有相同托盘号!"+tp);
|
||
}
|
||
if (items != null && items.length > 0 && tp != null)
|
||
{
|
||
WlRkzlItem[] zl = new WlRkzlItem[items.length];
|
||
String table = "cprkzl";
|
||
Object rkZlzt = null;
|
||
Object rkCkbh = ck;
|
||
Object rkWzlb = null;
|
||
Map rkkwxx = null;
|
||
remainderItems = new StringBuffer();
|
||
//
|
||
//提取可入库位
|
||
StringBuffer sql = new StringBuffer("SELECT zsl,xnkw,flagKzkw,kwbh");
|
||
sql.append("\nFROM kwjbxx a");
|
||
// sql.append("\nWHERE zsl=0 AND (sfsd=0");
|
||
if (kw != null&&kw.length()>0)
|
||
{
|
||
|
||
// if (kw.length() < 1)
|
||
// {
|
||
// sql.append("\nWHERE zsl=0 AND (sfsd=0");
|
||
// sql.append(" OR (sfsd > 0 AND suolx=1))");
|
||
// }
|
||
// else
|
||
// {
|
||
// sql.append(')');
|
||
// }
|
||
if (kw.length() > 0)//RDC入库时已经安排了库位
|
||
{
|
||
sql.append("\nWHERE ");
|
||
sql.append(" kwbh LIKE '");
|
||
sql.append(kw);
|
||
if (kw.length() < 6) sql.append('%');
|
||
sql.append('\'');
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sql.append("\nWHERE zsl=0 AND (sfsd=0");
|
||
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(rkCkbh).append('\'');
|
||
sql.append("\nORDER BY qysx DESC,zsl,ceng,lie,pai");
|
||
//System.out.println(sql.toString());
|
||
rkkwxx = db1.getSingleRow(sql.toString(), null);
|
||
if (rkkwxx == null)
|
||
{
|
||
errorInfo = "未找到满足要求的库位";
|
||
}
|
||
else
|
||
{
|
||
if (!"0".equals(rkkwxx.get("xnkw"))
|
||
&& !"0".equals(rkkwxx.get("flagKzkw"))
|
||
&& ServerUtil.isNull(tp))
|
||
{
|
||
throw new RuntimeException("入货架库位时,需要输托盘号");
|
||
}
|
||
String rkkw = (String)rkkwxx.get("kwbh");
|
||
//System.out.println(rkkw);
|
||
if("802".equals(ck)&&(kw==null||(kw!=null&&kw.length()<6)))
|
||
{
|
||
rkkw="";
|
||
}
|
||
|
||
//设定指令的库位信息
|
||
for (int i = 0; i < zl.length; i++)
|
||
{
|
||
WlRkzlItem a = zl[i]=new WlRkzlItem();
|
||
a.ckdm = rkCkbh;
|
||
a.kwbh = rkkw;
|
||
a.tpbh = tp.toUpperCase();
|
||
a.ykcs = (String)rkkwxx.get("zsl");
|
||
a.yhm=userInfo.getYhm();
|
||
String row=items[i];
|
||
a.BoxNo=row.substring(row.indexOf("cpp")+4,row.indexOf(";cpbh"));
|
||
a.cpbh=row.substring(row.indexOf(";cpbh")+6,row.indexOf(";lpxx"));
|
||
a.lpxx=row.substring(row.indexOf(";lpxx")+6,row.indexOf(";sl"));
|
||
a.sl= row.substring(row.indexOf(";sl")+4,row.length());
|
||
|
||
}
|
||
new CprkglManager(db1, null).generateRkzl(zl, table, null);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
errorInfo = "无效参数";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
//ex.printStackTrace();
|
||
errorInfo = ex.getMessage();
|
||
if (errorInfo == null) errorInfo = ex.toString();
|
||
}
|
||
//返回结果
|
||
if (errorInfo != null)
|
||
{
|
||
out.write("<result status=\"false\" exception=\"");
|
||
out.write(errorInfo);
|
||
out.write("\">");
|
||
}
|
||
else
|
||
{
|
||
out.write("<result status=\"true\" remainder=\">");
|
||
out.write(remainderItems.toString());
|
||
out.write("\">");
|
||
}
|
||
%>
|
||
</result>
|
||
|