181 lines
5.8 KiB
Plaintext
181 lines
5.8 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" />
|
|||
|
|
<%
|
|||
|
|
String errorInfo = null, zlbh = null, jhs = null, xh = null, tpbh = null;
|
|||
|
|
int wsmsl = 0;//<2F>˴α<CBB4><CEB1><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD>δɨ<CEB4><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
String ysmsl = "0";
|
|||
|
|
session = request.getSession(false);
|
|||
|
|
boolean boxOnStore = false;
|
|||
|
|
if (session != null && session.getAttribute("userInfo") != null)
|
|||
|
|
{
|
|||
|
|
zlbh = request.getParameter("zlbh");
|
|||
|
|
jhs = request.getParameter("jhs");//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
xh = request.getParameter("xh");//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tpbh = request.getParameter("tpbh");//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
|||
|
|
boolean end = "1".equals(request.getParameter("end"));
|
|||
|
|
//ת<><D7AA>ָ<EFBFBD><D6B8><EFBFBD>š<EFBFBD><C5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><D1A1>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|||
|
|
if (zlbh != null && zlbh.length() > 1//1<><31><EFBFBD>м<EFBFBD><D0BC>ķָ<C4B7><D6B8><EFBFBD>
|
|||
|
|
&& (jhs != null && (jhs.length() > 2 || end)))
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
Map rkdxx = db1.getSingleRow("SELECT zckw,zcck,zysl,kindToTransfer,swzt FROM zkzl WHERE zlbh=? AND zt IN(0,1)"
|
|||
|
|
, zlbh);
|
|||
|
|
if (rkdxx == null)
|
|||
|
|
{
|
|||
|
|
throw new IllegalArgumentException("ת<><D7AA>ָ<EFBFBD><EFBFBD><EEB2BB><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ѱ<EFBFBD><D1B1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>");
|
|||
|
|
}
|
|||
|
|
wsmsl = end?0:1;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
String copiedFields = ",jh,kind,zcfl,model,sym,swzt,rkdh,rkrq,MISFlag,pc,zzdw,volt,curr,wiring_mode"
|
|||
|
|
+ ",t_factor,comm_no,comm_mode,disp_mode,meter_close_mode,acuuracy,volt_ratio,current_ratio,MIS_ID,MADE_NO,PR_CODE";
|
|||
|
|
String insertItem = " INSERT INTO zkzlLxmx(zlbh,kcjlh,zcxh,zrxh" + copiedFields + ")";
|
|||
|
|
insertItem += "\nSELECT ?,?,xh,?" + copiedFields + " FROM kcmx WHERE jlh=?";
|
|||
|
|
//<2F>ı<DEB8><C4B1><EFBFBD>״̬
|
|||
|
|
List sqls = new ArrayList(), values = new ArrayList();
|
|||
|
|
boolean isBoxTransfer = jhs.length() == 0;//<2F>Ƿ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
boolean qxsm = "1".equals(request.getParameter("qxsm"));//<2F>Ƿ<EFBFBD>ȡ<EFBFBD><C8A1>ɨ<EFBFBD><C9A8>
|
|||
|
|
StringTokenizer jhList = new StringTokenizer(jhs, "|");
|
|||
|
|
String jh = "", zrxh = xh;
|
|||
|
|
Object kind = rkdxx.get("kindToTransfer");
|
|||
|
|
Object swzt = rkdxx.get("swzt");
|
|||
|
|
while (jhList.hasMoreTokens() || isBoxTransfer)
|
|||
|
|
{
|
|||
|
|
String sql;
|
|||
|
|
Object[] params;
|
|||
|
|
if (isBoxTransfer)
|
|||
|
|
{
|
|||
|
|
sql = "SELECT jlh,InUse FROM kcmx WHERE InUse>0 AND xh=? AND ckdm=? AND kwbh=?";
|
|||
|
|
params = new Object[]{xh, rkdxx.get("zcck"), rkdxx.get("zckw")};
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
jh = jhList.nextToken();
|
|||
|
|
sql = "SELECT jlh,InUse FROM kcmx WHERE InUse>0 AND (jh=? OR MADE_NO=?) AND ckdm=? AND kwbh=?";
|
|||
|
|
params = new Object[]{jh, jh, rkdxx.get("zcck"), rkdxx.get("zckw")};
|
|||
|
|
}
|
|||
|
|
if (kind != DB.NULL)
|
|||
|
|
{
|
|||
|
|
sql += " AND kind=" + kind;
|
|||
|
|
}
|
|||
|
|
if (swzt != DB.NULL)
|
|||
|
|
{
|
|||
|
|
sql += " AND swzt=" + swzt;
|
|||
|
|
}
|
|||
|
|
List kcxx = db1.getVDataWithPrepareStatement(sql, params);
|
|||
|
|
int n = kcxx.size();
|
|||
|
|
if (n == 0)
|
|||
|
|
{
|
|||
|
|
if (isBoxTransfer)
|
|||
|
|
{//<2F>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>λ<EFBFBD>ϵģ<CFB5><C4A3><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>ˡ<EFBFBD><CBA1><EFBFBD>Ϊ<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>ݵ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>λ<EFBFBD>ϲ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|||
|
|
boxOnStore = true;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
throw new IllegalArgumentException("<22><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>λ<EFBFBD>豸<EFBFBD>б<EFBFBD><D0B1>У<EFBFBD>û<EFBFBD><C3BB>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>" + jh);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (n > 1 && !isBoxTransfer)
|
|||
|
|
{
|
|||
|
|
throw new IllegalArgumentException("<22><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>λ<EFBFBD>豸<EFBFBD>б<EFBFBD><D0B1>У<EFBFBD><D0A3><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> " + jh + " <20><><EFBFBD><EFBFBD><EFBFBD>豸");
|
|||
|
|
}
|
|||
|
|
for (int i = 0; i < n; i++)
|
|||
|
|
{
|
|||
|
|
List kcxxRow = (List)kcxx.get(i);
|
|||
|
|
Object InUse = kcxxRow.get(1);
|
|||
|
|
if ("2".equals(InUse))
|
|||
|
|
{
|
|||
|
|
throw new IllegalArgumentException("<22><><EFBFBD>룺" + jh + "<22>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD>ų<EFBFBD><C5B3><EFBFBD>");
|
|||
|
|
}
|
|||
|
|
else if (qxsm == false && "3".equals(InUse))
|
|||
|
|
{
|
|||
|
|
throw new IllegalArgumentException("<22><><EFBFBD>룺" + jh + " <20>ѱ<EFBFBD>ɨ<EFBFBD><C9A8>");
|
|||
|
|
}
|
|||
|
|
else if (qxsm && !"3".equals(InUse))
|
|||
|
|
{
|
|||
|
|
throw new IllegalArgumentException("<22><><EFBFBD>룺" + jh + " <20><>δ<EFBFBD><CEB4>ɨ<EFBFBD><C9A8>");
|
|||
|
|
}
|
|||
|
|
Object kcjlh = kcxxRow.get(0);
|
|||
|
|
if (qxsm)
|
|||
|
|
{
|
|||
|
|
sqls.add("DELETE zkzlLxmx WHERE zlbh=? AND kcjlh=?");
|
|||
|
|
values.add(new Object[]{zlbh, kcjlh});
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
sqls.add(insertItem);
|
|||
|
|
values.add(new Object[]{zlbh, kcjlh, zrxh, kcjlh});
|
|||
|
|
}
|
|||
|
|
sqls.add("UPDATE kcmx SET InUse=? WHERE jlh=? AND InUse=?");
|
|||
|
|
values.add(new Object[]{qxsm?"1":"3", kcjlh, InUse});
|
|||
|
|
}
|
|||
|
|
//
|
|||
|
|
if (isBoxTransfer) break;
|
|||
|
|
}
|
|||
|
|
//<2F>ĵ<DEB8>֤<EFBFBD><D6A4>״̬λ<CCAC><CEBB>ִ<EFBFBD><D6B4><EFBFBD>С<EFBFBD>
|
|||
|
|
String updateVoucherStmt = "UPDATE zkzl SET zt=1,zysl=(SELECT COUNT(*) jls FROM zkzlLxmx WHERE zlbh=?)";
|
|||
|
|
if (tpbh != null && tpbh.length() > 0)
|
|||
|
|
{
|
|||
|
|
System.out.println("tpbh = " + tpbh);
|
|||
|
|
updateVoucherStmt += ",zrtp='" + tpbh + "'";
|
|||
|
|
}
|
|||
|
|
updateVoucherStmt += "\nWHERE zlbh=? AND zt IN(0,1)";
|
|||
|
|
sqls.add(updateVoucherStmt);
|
|||
|
|
values.add(new Object[]{zlbh, zlbh});
|
|||
|
|
|
|||
|
|
//<2F>ύ<EFBFBD><E1BDBB><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//System.out.println("sqls = " + sqls);
|
|||
|
|
db1.preparedUpdate(sqls, values, true);
|
|||
|
|
//
|
|||
|
|
ysmsl = (String)db1.getSingleField("SELECT COUNT(*) jls FROM zkzlLxmx WHERE zlbh=?", zlbh);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
//ex.printStackTrace();
|
|||
|
|
errorInfo = ex.getMessage();
|
|||
|
|
if (errorInfo == null) errorInfo = ex.toString();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8><EFBFBD>ŵĽ<C5B5><C4BD><EFBFBD>
|
|||
|
|
if (zlbh == null || zlbh.length() == 0) errorInfo = "δ<><CEB4><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>";
|
|||
|
|
else errorInfo = "δ<><CEB4><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
errorInfo = "δ<><CEB4>¼";
|
|||
|
|
}
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
out.write("<result status=\"");
|
|||
|
|
if (errorInfo != null)
|
|||
|
|
{
|
|||
|
|
out.write("false\" exception=\"");
|
|||
|
|
out.write(errorInfo);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
out.write("true\" wsmsl=\"");
|
|||
|
|
if (wsmsl == 0)
|
|||
|
|
{
|
|||
|
|
if (!db1.hasAnyData("SELECT 2 FROM zkzl WHERE zt IN(0,1) AND (zrtpRkzt=0 OR zrtpRkzt IS NULL)", null))
|
|||
|
|
{
|
|||
|
|
wsmsl = -1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>κ<EFBFBD>Ϊ<EFBFBD><CEAA>ʾ<EFBFBD><CABE><EFBFBD>ɵ<EFBFBD>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
out.write(Integer.toString(wsmsl));
|
|||
|
|
out.write("\" ysmsl=\"");
|
|||
|
|
out.write(ysmsl);
|
|||
|
|
out.write("\" boxOnStore=\"");
|
|||
|
|
out.write(String.valueOf(boxOnStore));
|
|||
|
|
}
|
|||
|
|
out.write("\"></result>");
|
|||
|
|
%>
|
|||
|
|
|