📄 warehousemonthserv.java
字号:
package net.intuitsoft.xeon.table.warehouse.month;
import intuitsoft.eclipse.table.common.ConcreteListAdapter;
import intuitsoft.eclipse.table.common.DatabaseConnection;
import intuitsoft.eclipse.table.common.DateUtilities;
import intuitsoft.eclipse.table.common.FindTransaction;
import intuitsoft.eclipse.table.common.ListAdapter;
import intuitsoft.eclipse.table.common.MsgBean;
import intuitsoft.eclipse.table.common.MsgConstant;
import intuitsoft.eclipse.table.common.NumericUtilities;
import intuitsoft.eclipse.table.common.ToolKit;
import intuitsoft.eclipse.table.common.WriteLog;
import intuitsoft.eclipse.table.system.user.LoginInfo;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.transaction.UserTransaction;
import net.intuitsoft.xeon.table.basic.warehouse.WarehouseBean;
import net.intuitsoft.xeon.table.basic.warehouse.WarehouseModel;
import net.intuitsoft.xeon.table.preview.PrintCond;
import net.intuitsoft.xeon.table.preview.ReportExcelListTemplet;
import net.intuitsoft.xeon.table.preview.ReportListTemplet;
import net.intuitsoft.xeon.table.preview.ReportPrintParam;
import net.intuitsoft.xeon.table.warehouse.EventCode;
/**
* <p>
* Title: 零售连锁管理系统
* </p>
* <p>
* Description: 零售业最佳应用
* </p>
* <p>
* Copyright: Copyright (c) 1999 - 2004
* </p>
* <p>
* Company: 直觉软件科技
* </p>
*
* @author: KENT
* @version 1.0 Since 2004-03-22 04-10
*/
public class WarehouseMonthServ extends HttpServlet {
UserTransaction trans = null;
private Map perms = null;
private static Map logins = null;
public void init() throws ServletException {
logins = new LinkedHashMap();
}
public synchronized void service(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
WarehouseMonth warehouseMonth = null;
HttpSession session = req.getSession();
LoginInfo loginInfo = (LoginInfo) session.getAttribute("LoginInfo");
if (loginInfo == null) {
loginInfo = new LoginInfo();
}
try {
if (logins.get(loginInfo.getJndiName()) == null) {
logins.put(loginInfo.getJndiName(), new Boolean(true));
} else {
int i = 0;
while (((Boolean) logins.get(loginInfo.getJndiName()))
.booleanValue()) {
if (i > DatabaseConnection.times) {
error(0, MsgConstant.HAS_USE, req, resp);
return;
}
i++;
try {
Thread.sleep(DatabaseConnection.time);
} catch (Exception ex) {
ex.printStackTrace();
}
}
logins.put(loginInfo.getJndiName(), new Boolean(true));
}
try {
FindTransaction find = new FindTransaction(loginInfo
.getJndiName());
trans = find.getTransaction();
} catch (Exception ex) {
ex.printStackTrace();
}
this.perms = loginInfo.getPerms();
WarehouseMonthItems warehouseMonthItems = null;
DrpMonthItems drpMonthItems = null;
// 赋值
warehouseMonth = new WarehouseMonth(loginInfo.getJndiName());
warehouseMonth.setWarehouseMonthCode(req
.getParameter("warehouseMonthCode"));
warehouseMonth.setWarehouseCode(req.getParameter("warehouseCode"));
warehouseMonth.setCreateDate(req.getParameter("createDate"));
warehouseMonth.setSMonth(req.getParameter("sMonth"));
warehouseMonth.setUserName(req.getParameter("userName"));
// 条件适配器
WarehouseMonth adapter2 = new WarehouseMonth(loginInfo
.getJndiName());
adapter2.setWarehouseMonthCode(req
.getParameter("warehouseMonthCode2"));
adapter2.setCreateDate(req.getParameter("createDate2"));
adapter2.setWarehouseCode(req.getParameter("warehosueCode2"));
String sqlCond = ToolKit.toCN(req.getParameter("sqlCond"));
String eventCodeStr = req.getParameter("eventCode");
if (!NumericUtilities.isInteger(eventCodeStr)) {
this.error(0, MsgConstant.NO_ASSIGN_EVENTCODE, req, resp);
return;
}
int eventCode = Integer.parseInt(eventCodeStr);
boolean b = true;
switch (eventCode) {
case EventCode.WAREHOUSE_MONTH_NEW_V:
b = true;
if (!warehouseMonth.isPass()) {
this.error(0, "商品库存结存发生错误,要结存的日期之前已经结存了!", req, resp);
b = false;
return;
}
try {
trans.begin();
} catch (Exception ex) {
ex.printStackTrace();
}
warehouseMonth.setWarehouseMonthCode(warehouseMonth
.newWarehouseMonthCode());
warehouseMonth.setCreateDate(DateUtilities
.getCurDate("yyyy-MM-dd"));
warehouseMonth.setUserName(loginInfo.getName());
// 区分不同用户
warehouseMonth
.setTitle(warehouseMonth.getSMonth() + "商品库存结存日记");
warehouseMonth.setOperator(loginInfo.getSysUserCode());
b = b && warehouseMonth.insert();
// 客户
warehouseMonthItems = new WarehouseMonthItems(loginInfo
.getJndiName());
b = b
&& warehouseMonthItems.buildReport(warehouseMonth
.getWarehouseMonthCode(), warehouseMonth
.getSMonth());
drpMonthItems = new DrpMonthItems(loginInfo.getJndiName());
b = b
&& drpMonthItems.buildReport(warehouseMonth
.getWarehouseMonthCode(), warehouseMonth
.getSMonth());
try {
if (b) {
trans.commit();
new WriteLog(loginInfo.getJndiName(), 2,
EventCode.WAREHOUSE_MONTH_NEW_V, loginInfo
.getName(), req.getRemoteAddr(),
"增加:商品库存结存日记:"
+ warehouseMonth
.getWarehouseMonthCode()
+ " :Y", this.getClass().getName()
+ ":WAREHOUSE_MONTH_NEW_V", true,
loginInfo.getSysUserCode());
} else {
trans.rollback();
new WriteLog(loginInfo.getJndiName(), 3,
EventCode.WAREHOUSE_MONTH_NEW_V, loginInfo
.getName(), req.getRemoteAddr(),
"增加:商品库存结存日记:"
+ warehouseMonth
.getWarehouseMonthCode()
+ " :N", this.getClass().getName()
+ ":WAREHOUSE_MONTH_NEW_V", true,
loginInfo.getSysUserCode());
this.error(0, MsgConstant.DAO_ERROR, req, resp);
return;
}
} catch (Exception ex) {
ex.printStackTrace();
}
break;
case EventCode.WAREHOUSE_MONTH_DELETE:
if (warehouseMonth.content()) {
if (!ToolKit.allowModify(warehouseMonth.getOperator(),
loginInfo.getSysUserCode())
&& !intuitsoft.eclipse.table.system.SystemPerms
.agree(
perms,
intuitsoft.eclipse.table.system.EventCode.PRIVILEGE)) {
this.error(0, MsgConstant.NO_ALLOW_MODIFY, req, resp);
return;
}
} else {
this.error(0, MsgConstant.NO_CONTENT, req, resp);
return;
}
b = true;
try {
trans.begin();
} catch (Exception ex) {
ex.printStackTrace();
}
warehouseMonthItems = new WarehouseMonthItems(loginInfo
.getJndiName());
b = b
&& warehouseMonthItems.delete(warehouseMonth
.getWarehouseMonthCode());
drpMonthItems = new DrpMonthItems(loginInfo.getJndiName());
b = b
&& drpMonthItems.delete(warehouseMonth
.getWarehouseMonthCode());
b = b && warehouseMonth.delete();
try {
if (b) {
trans.commit();
new WriteLog(loginInfo.getJndiName(), 2,
EventCode.WAREHOUSE_MONTH_DELETE, loginInfo
.getName(), req.getRemoteAddr(),
"删除:商品库存结存日记:"
+ warehouseMonth
.getWarehouseMonthCode()
+ " :Y", this.getClass().getName()
+ ":WAREHOUSE_MONTH_DELETE", true,
loginInfo.getSysUserCode());
} else {
trans.rollback();
new WriteLog(loginInfo.getJndiName(), 3,
EventCode.WAREHOUSE_MONTH_DELETE, loginInfo
.getName(), req.getRemoteAddr(),
"删除:商品库存结存日记:"
+ warehouseMonth
.getWarehouseMonthCode()
+ " :N", this.getClass().getName()
+ ":WAREHOUSE_MONTH_DELETE", true,
loginInfo.getSysUserCode());
this.error(0, MsgConstant.DAO_ERROR, req, resp);
return;
}
} catch (Exception ex) {
ex.printStackTrace();
}
break;
case EventCode.WAREHOUSE_MONTH_QUERY_S:
break;
}
ListAdapter listAdapter = new ConcreteListAdapter(loginInfo
.getJndiName());
listAdapter.setOrder(req.getParameter("order"));
listAdapter.setSort(req.getParameter("sort"));
listAdapter.setPage(req.getParameter("page"));
listAdapter.setPageSize(req.getParameter("pageSize"));
listAdapter.setSql(ToolKit.toCN(req.getParameter("sql")));
listAdapter.setSqlCond(sqlCond);
req.setAttribute("WarehouseMonth", warehouseMonth);
req.setAttribute("WarehouseMonth2", adapter2);
req.setAttribute("ListAdapter", listAdapter);
ReportPrintParam printParam = null;
PrintCond printCond = null;
WarehouseMonth wmi = new WarehouseMonth(loginInfo.getJndiName());
wmi.setWarehouseMonthCode(req.getParameter("warehouseMonthCode"));
wmi.content();
wmi.setWarehouseCode(req.getParameter("warehouseCode"));
WarehouseModel warehouseModel = new WarehouseBean(loginInfo
.getJndiName());
warehouseModel.setWarehouseCode(wmi.getWarehouseCode());
warehouseModel.content();
logins.put(loginInfo.getJndiName(), new Boolean(false));
switch (eventCode) {
case EventCode.WAREHOUSE_MONTH_MODIFY:
case EventCode.WAREHOUSE_MONTH_NEW:
direct("/warehouse/month/new.jsp", req, resp);
break;
case EventCode.WAREHOUSE_MONTH_REPORT:
case EventCode.WAREHOUSE_MONTH_REPORT_LIST:
direct(req.getParameter("requestUrl"), req, resp);
break;
case EventCode.WAREHOUSE_MONTH_REPORT_PREVIEW:
try {
printParam = new ReportPrintParam(
loginInfo.getJndiName(),
intuitsoft.eclipse.table.common.DocPrefix.WAREHOUSE_MONTH_REPORT_PREVIEW);
printCond = new PrintCond();
printParam.setPrintMode(req.getParameter("print"));
printParam.setOrient(req.getParameter("r"));
printParam.setTitle("本地仓库结存报表[" + wmi.getSMonth() + "]");
printParam.setIsDetail(req.getParameter("isDetail"));
printParam.setPageRows(req.getParameter("pageRows"));
printParam.setTotallist(req.getParameter("totals"));
printParam.initial(ToolKit
.toCN(req.getParameter("columns")));
printParam
.setSql(ToolKit.toCN(req.getParameter("NeatSql")));
if ("xls".equals(ToolKit
.toCN(req.getParameter("printType")))) {
new ReportExcelListTemplet(printParam, printCond,
listAdapter, resp, req);
} else {
new ReportListTemplet(
printParam,
listAdapter,
printCond,
intuitsoft.eclipse.table.common.DocPrefix.WAREHOUSE_MONTH_REPORT_PREVIEW,
resp, req);
}
} catch (Exception e) {
e.printStackTrace();
}
break;
case EventCode.WAREHOUSE_MONTH_PREVIEW:
try {
printParam = new ReportPrintParam(
loginInfo.getJndiName(),
intuitsoft.eclipse.table.common.DocPrefix.WAREHOUSE_MONTH_PREVIEW);
printCond = new PrintCond();
printParam.setPrintMode(req.getParameter("print"));
printParam.setOrient(req.getParameter("r"));
printParam.setTitle("连锁客户结存报表[" + wmi.getSMonth() + "]");
printParam.setIsDetail(req.getParameter("isDetail"));
printParam.setPageRows(req.getParameter("pageRows"));
printParam.setTotallist(req.getParameter("totals"));
printParam.initial(ToolKit
.toCN(req.getParameter("columns")));
printParam
.setSql(ToolKit.toCN(req.getParameter("NeatSql")));
if ("xls".equals(ToolKit
.toCN(req.getParameter("printType")))) {
new ReportExcelListTemplet(printParam, printCond,
listAdapter, resp, req);
} else {
new ReportListTemplet(
printParam,
listAdapter,
printCond,
intuitsoft.eclipse.table.common.DocPrefix.WAREHOUSE_MONTH_PREVIEW,
resp, req);
}
} catch (Exception e) {
e.printStackTrace();
}
break;
default:
direct("/warehouse/month/list.jsp", req, resp);
break;
}
} catch (Exception ex) {
ex.printStackTrace();
logins.put(((LoginInfo) req.getSession().getAttribute("LoginInfo"))
.getJndiName(), new Boolean(false));
ex.printStackTrace();
return;
}
}
private void error(int type, String msg, HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
logins.put(((LoginInfo) req.getSession().getAttribute("LoginInfo"))
.getJndiName(), new Boolean(false));
MsgBean msgBean = new MsgBean();
msgBean.setType(type);
msgBean.setMsg(msg);
req.setAttribute("MsgBean", msgBean);
getServletContext().getRequestDispatcher("/common/prompt.jsp").forward(
req, resp);
}
private void direct(String path, HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
getServletContext().getRequestDispatcher(path).forward(req, resp);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -