<%@ 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"%> <% String errorInfo = null, kw = null, tp = null,ck=null; String[] items = null; if (userInfo.getYhm() == null) { out.write(""); 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() < 6) { sql.append(" OR (sfsd > 0 AND suolx=1))"); } else { sql.append(')'); } if (kw.length() > 0) { sql.append(" AND kwbh LIKE '"); sql.append(kw); if (kw.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(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(); a.gongchang="3";//带通知号未合格 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(""); } else { out.write(""); out.write(remainderItems.toString()); out.write("\">"); } %>