Files
2025-09-12 17:05:46 +08:00

221 lines
6.7 KiB
Plaintext

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*"%>
<%@ page import="com.wxzd.wms.util.ServerUtil"%>
<html><head>
<title>盘点表计扫描确认</title>
<link rel="stylesheet" type="text/css" href="css/sm.css">
<script type="text/javascript" src="script/ajax.js"></script>
<script type="text/javascript" src="script/pd.js"></script>
<script type="text/javascript" src="script/logic.js"></script>
</head>
<jsp:useBean id="db1" scope="application" class="com.zcsoft.dbvisit.DB" />
<%
String errorInfo = null, pddh = null, kwbh = null;
session = request.getSession(false);
if (session != null && session.getAttribute("userInfo") != null)
{
pddh = request.getParameter("pddh");
kwbh = request.getParameter("kwbh");
//盘点单号。如果还没有,则首先让用户选择盘点单号
if (pddh != null && pddh.length() > 0
&& kwbh != null && kwbh.length() > 1)
{
//检查盘点单号是否有效。PEDING 因为是选择输入的,所以检查不重要
//db1.getSingleField("SELECT )
}
else
{//弹出选择盘点单号的界面
if (pddh != null && pddh.length() == 0) pddh = null;
if (kwbh != null && kwbh.length() == 0) kwbh = null;
}
}
else
{
response.sendRedirect("sm.jsp");
return;
}
%>
<body>
<form name=pdbjxx onsubmit="return check(false);">
<table align="center">
<%
if (errorInfo != null)
{
out.println("<tr><td colspan=2><font color=red>" + errorInfo + "</font>");
}
if (pddh == null)
{//弹出盘点单选择表单
out.println("<tr><td colspan=2 class=title>请选择盘点单");
List pds = db1.getVDataWithException("SELECT pddh,zcfl,model FROM pdd_sm_v WHERE zt IN(0,1) ORDER BY 1");
out.println("<tr><td colspan=2><table border=1>");
out.println("<tr bgcolor=gray><th>单号<th>设备类型<th>型号");
for (int i = 0; i < pds.size(); i++)
{
List row = (List)pds.get(i);
int j = 0;
String dh = (String)row.get(j++);
out.write("<tr><td><input name=pddh type=radio value=\"");
out.write(dh);out.write("\"");
if (i == 0 && pds.size() == 1)
{
out.write(" checked");//仅一张单据时,默认选中
}
out.write(">");out.write(dh);
out.write("<td>");out.write((String)row.get(j++));//zcfl
out.write("<td>");out.write((String)row.get(j++));//model
}
out.println("</table>");
out.println("<tr><td colspan=2><input name=submit type=submit value=\"提 交\">");
}
else if (kwbh == null)
{
out.write("<input type=hidden name=pddh value=\"" + pddh + "\">");
List pdds = db1.getVDataWithPrepareStatement("SELECT kwbh,kssl,tpbh,qczt FROM w_pdmx"
+ " WHERE pddh=? AND qczt<2 ORDER BY kwbh"
, pddh);
if (pdds.size() == 0)//全部取出来了,就对整张扫表
{
response.sendRedirect("pd.jsp?pddh=" + pddh + "&kwbh=0");
return;
}
out.println("<tr><td colspan=2 class=title>请选择盘点库位");
out.println("<tr><td colspan=2><table border=1>");
out.println("<tr bgcolor=gray><th>库位号<th>账面数量<th>托盘号<th>取出状态");
for (int i = 0; i < pdds.size(); i++)
{
List row = (List)pdds.get(i);
int j = 0;
kwbh = (String)row.get(j++);
String kssl = (String)row.get(j++);
String tpbh = (String)row.get(j++);
out.write("<tr><td>");
out.write("<input name=kwbh type=radio value=\"");
out.write(kwbh + "|" + kssl + "|" + tpbh);out.write("\"");
if (i == 0) out.write(" checked");
out.write(">");
out.write(kwbh);
out.write("<td class=numeric>");out.write(kssl);
out.write("<td>");out.write(tpbh);
int qczt = ServerUtil.getInt((String)row.get(j++));
String qcztms;
switch (qczt)
{
case 0:
qcztms = "就绪";
break;
case 1:
qcztms = "执行中";
break;
case 2:
qcztms = "已完成";
break;
case 4:
qcztms = "空出";
break;
default:
qcztms = Integer.toString(qczt);
break;
}
out.write("<td>");out.write(qcztms);
}
out.println("</table>");
out.println("<tr><td colspan=2><input name=submit type=submit value=\"提 交\">");
}
else
{
Map pddxx;
String zlh = null, pdkw = null, zmsl = null, tpbh = null;
if (kwbh.indexOf('|') > 0)
{
int indexSeparator = kwbh.indexOf('|');
int indexSeparator2 = kwbh.indexOf('|', indexSeparator + 1);;
pdkw = kwbh.substring(0, indexSeparator);
zmsl = kwbh.substring(indexSeparator + 1, indexSeparator2);//预留显示账面数量用
tpbh = kwbh.substring(indexSeparator2 + 1);
}
//显示盘点单号和库位编号
out.write("<input type=hidden name=pddh value=\"" + pddh + "\">");
out.write("<input type=hidden name=kwbhAndTpbh value=\"" + (pdkw != null?pdkw + "|" + tpbh:"") + "\">");
out.write("<tr><td colspan=2>盘点单:" + pddh);
if (pdkw != null)
{
pddxx = db1.getSingleRow("SELECT SUM(CASE sfsm WHEN 1 THEN 1 ELSE 0 END) smsl,SUM(CASE sfsm WHEN 0 THEN 1 ELSE 0 END) wssl,COUNT(*) kssl"
+" FROM w_pdbjxx WHERE kwbh=? AND pddh=?"
, new Object[]{pdkw, pddh});
}
else
{
pddxx = db1.getSingleRow("SELECT SUM(CASE sfsm WHEN 1 THEN 1 ELSE 0 END) smsl,SUM(CASE sfsm WHEN 0 THEN 1 ELSE 0 END) wssl,COUNT(*) kssl"
+" FROM w_pdbjxx WHERE pddh=?"
, pddh);
}
if (pddxx != null)
{
int cnt = ServerUtil.getInt(pddxx.get("smsl"));//扫入表计条码的个数
out.write("<tr bgcolor=yellow><td colspan=2 id=count total=" + cnt + ">");
out.write(cnt == 0?"请扫描出库托盘上的表计条码":("已扫描确认的表计数:" + cnt));
out.println("<tr><td width=60>条&nbsp;&nbsp;&nbsp;&nbsp;码:<td><input name=barcode size=25 maxlength=40>");
out.write("<input id=\"jhs\" type=hidden name=jhs value=\"");
out.write("\">");
}
//显示待出数量,盘点库位和托盘编号
if (pdkw != null)
{
if (pddxx != null)
{
String wssl = (String)pddxx.get("wssl");
out.write("<tr><td>未扫数量:<td id=wssl>");
out.write(wssl);
out.write("<tr><td>盘点库位:<td id=pdkw>");
out.write(pdkw);
out.println("<tr><td>托盘号:<td id=tpbh>");
out.write(tpbh);
if (db1.hasAnyData("SELECT 2 FROM w_pdmx WHERE pddh=? AND kwbh=? AND qczt<2", new Object[]{pddh, pdkw}))
{
out.write("<input name=cmdQctp type=button value=取出托盘 onclick=\"qctp('" + pddh + "','" + pdkw + "','" + tpbh + "');\">");
}
}
else
{
out.println("盘点库位不存在");
}
}
else
{//显示整张盘点单扫描数量同已安排盘点数量差
if (pddxx != null)
{
String wssl = (String)pddxx.get("wssl");
out.write("<tr><td>未扫数量:<td id=wssl>");
out.write(wssl);
out.println("<tr><td>账面数量:<td>");
out.write((String)pddxx.get("kssl"));
}
else
{
out.println("盘点单不存在");
}
}
out.println("<tr><td><input name=submit type=submit value=\"提 交\">");
out.write("<td><input name=cmdSave type=button value=立即保存 onclick=\"save();\">");
if (db1.hasAnyData("SELECT 2 FROM w_pdmx WHERE pddh=? AND smzt=0"
+ (pdkw != null?(" AND kwbh='" + pdkw + "'"):""), pddh))
{
out.write("&nbsp;<input name=cmdEnd type=button value=完成扫描 onclick=\"endScan();\">");
}
}
%>
</table>
</form>
</body>
<script language=javascript>
check(true);
</script>
</html>