Files
old_fushimai_wms_1/tomcat/webapps/sm/zpwc.jsp
2025-09-12 15:53:10 +08:00

171 lines
4.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>