⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 warehousemonthserv.java

📁 我的系在线考试系统我的系在线考试系统我的系在线考试系统我的系在线考试系统我的系在线考试系统我的系在线考试系统我的系在线考试系统我的系在线考试系统
💻 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 + -