package com.qrsx.ybcrm.action;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.validator.LazyValidatorForm;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.qrsx.ybcrm.chart.WebChart;
import com.qrsx.ybcrm.chart.WebChartDataset;
import com.qrsx.ybcrm.impl.ExpenseImpl;
import com.qrsx.ybcrm.page.PageUtils;
import com.qrsx.ybcrm.pojo.CommonDbUtils;
import com.qrsx.ybcrm.pojo.Employee;
import com.qrsx.ybcrm.pojo.Expense;
import com.qrsx.ybcrm.pojo.SendEmployee;
/**
* 财务报销Action
*
* @author : 丁旭 Version : 1.0<br>
* Created on : May 29, 2008
*/
public class ExpenseAction extends DispatchAction {
private PageUtils pg = null;
/**
* 添加
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
@SuppressWarnings("unchecked")
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
WebApplicationContext context = WebApplicationContextUtils
.getWebApplicationContext(request.getSession()
.getServletContext());
HttpSession session = request.getSession();
CommonDbUtils commonDbUtils = (CommonDbUtils) context
.getBean("commonDbUtilImpl");
ExpenseImpl expenseImpl = (ExpenseImpl) context.getBean("expenseImpl");
LazyValidatorForm myform = (LazyValidatorForm) form;
Expense expense = (Expense) myform.get("expense");
// 获取查询的数据集
/* 报销单信息 */
ArrayList list = new ArrayList();
list = (ArrayList) expenseImpl.sel();
// 更新时候使用-----判断是否为更新数据
String hiddenMsg = request.getParameter("hidden");
A: if (hiddenMsg != "" && hiddenMsg.trim().equals("") == false) {
for (Object obj : list) {
Expense eHidden = (Expense) obj;
if (hiddenMsg.equals(eHidden.getCode())) {
list.remove(eHidden);
expenseImpl.del(eHidden);
break A;
}
}
}
if (expense != null) {
/*
* --------------------------------Start-------------------------------
* ||||||||||||||||||||用于从界面获取员工的姓名,外派、活动的编号转换为ID|||||||||
* ||||||||||||||||||||并存储到对象中然后在存储在Expense对象中实现级联||||||||||
*/
/* =================从session范围内获取已经读取的数据================= */
/* 员工信息 */
ArrayList listEmployee = new ArrayList();
listEmployee = (ArrayList) commonDbUtils.selEmployee();
/* 外派信息 */
ArrayList listSendEmployee = new ArrayList();
listSendEmployee = (ArrayList) commonDbUtils.selSendEmployee();
/* 活动信息 */
// ArrayList listActive = new ArrayList();
// listActive=(ArrayList) commonDbUtils.selActive();
/* =================定义对象用于存放转换的ID值想级联对象expense中添加ID值================= */
SendEmployee se = new SendEmployee();
// Active a = new Active();
Employee oe = new Employee();
Employee ee = new Employee();
Employee fee = new Employee();
Employee bee = new Employee();
// String type = expense.getType();// 种类编号
// int typeid = Integer.parseInt(type);// 转换为整形进行比较
String titleid = expense.getTitle();// 主题(外派、活动)编号
String operateId = expense.getOperateId();// 产生人编号
String employeeId = expense.getEmployeeId();// 负责人编号
String financeEmployeeId = expense.getFinanceEmployeeId();// 财务员编号
String buildEmployeeId = expense.getBuildEmployeeId();// 建立人编号
/* 报销的是活动 */
// if (typeid == 0) {
// A: for (Object obj : listActive) {
// Active active = (Active) obj;
// if (titleid.equals(active.getCode())) {
// a.setId(active.getId());
// break A;
// }
// }
// }
/* 报销的是外派 */
// if (typeid == 1) {
A: for (Object obj : listSendEmployee) {
SendEmployee sendEmployee = (SendEmployee) obj;
if (titleid.equals(sendEmployee.getCode())) {
se.setId(sendEmployee.getId());
break A;
}
}
System.out.println("id " + se.getId());
// }
/* 用于产生人 */
B: for (Object obj : listEmployee) {
Employee employee = (Employee) obj;
if (operateId.equals(employee.getCode())) {
oe.setId(employee.getId());
break B;
}
}
/* 用于负责人 */
C: for (Object obj : listEmployee) {
Employee employee = (Employee) obj;
if (employeeId.equals(employee.getCode())) {
ee.setId(employee.getId());
break C;
}
}
/* 用于财务员 */
D: for (Object obj : listEmployee) {
Employee employee = (Employee) obj;
if (financeEmployeeId.equals(employee.getCode())) {
fee.setId(employee.getId());
break D;
}
}
/* 用于建立人 */
E: for (Object obj : listEmployee) {
Employee employee = (Employee) obj;
if (buildEmployeeId.equals(employee.getCode())) {
bee.setId(employee.getId());
break E;
}
}
/* 将级联的对象添加到报销对象中 */
// expense.setActive(a);
expense.setSendEmployee(se);
expense.setBuildEmployee(bee);
expense.setEmployee(ee);
expense.setFinanceEmployee(fee);
expense.setOperate(oe);
/*
* ---------------------------The
* End-----------------------------------
*/
// 用与更新数据
String hiddenId = request.getParameter("hiddenId");
if (hiddenId != null) {
int id = Integer.parseInt(hiddenId);
expense.setId(id);
}
expenseImpl.add(expense);
list.add(expense);
session.setAttribute("expenseList", list);
/**
* ---------------------分页 START----------------------
*/
int page = 1;
if (request.getParameter("page") != null) {
page = Integer.parseInt(request.getParameter("page"));
}
pg = new PageUtils(page, 7, list);
session.setAttribute("expensePage", pg);
/**
* ---------------------分页 END----------------------
*/
request.setAttribute("expenseAdd", "success");
return mapping.findForward("addSuccess");
}
request.setAttribute("expenseAdd", "fail");
return mapping.getInputForward();
}
/**
* 查询
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward sel(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
WebApplicationContext context = WebApplicationContextUtils
.getWebApplicationContext(request.getSession()
.getServletContext());
HttpSession session = request.getSession();
CommonDbUtils commonDbUtils = (CommonDbUtils) context
.getBean("commonDbUtilImpl");
ArrayList ygList = new ArrayList();
// ArrayList hdList=new ArrayList();
ArrayList wpList = new ArrayList();
// hdList=(ArrayList) commonDbUtils.selActive();
wpList = (ArrayList) commonDbUtils.selSendEmployee();
ygList = (ArrayList) commonDbUtils.selEmployee();
// request.setAttribute("hdList", hdList);
session.setAttribute("wpList", wpList);
session.setAttribute("ygList", ygList);
// 检索报销表
ExpenseImpl expenseImpl = (ExpenseImpl) context.getBean("expenseImpl");
ArrayList expenseList = new ArrayList();
expenseList = (ArrayList) expenseImpl.sel();
/**
* =======员工与活动、外派在登陆的时候已经检索存储在session范围内==========
*/
// 判断读取的报销表是否为空
if (expenseList.size() != 0) {
session.setAttribute("expenseList", expenseList);
/**
评论25
最新资源