depreciationdispatchaction.java

来自「struts做得固定资产管理系统 带毕业论文完整版」· Java 代码 · 共 240 行

JAVA
240
字号
package com.qrsx.appcam.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.qrsx.appcam.dao.AssetDAO;
import com.qrsx.appcam.dao.DepreciationDAO;
import com.qrsx.appcam.form.DepreciationForm;
import com.qrsx.appcam.model.Asset;
import com.qrsx.appcam.model.Depreciation;

public class DepreciationDispatchAction extends BaseDispatchAction {
	/**
	 * 保存
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward save(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		BaseDispatchAction.isLogon(request, response);// 验证用户是否已经登陆
		// 验证数据有效性,如果验证不成功再返回编辑界面
		ActionErrors errors = form.validate(mapping, request);
		if (!errors.isEmpty()) {
			saveErrors(request, errors);
			return mapping.findForward("edit");
		}
		// 获取表单信息
		DepreciationForm depreciationForm = (DepreciationForm) form;
		Depreciation depreciation = new Depreciation();
		// 把获取的表单的信息,复制到depreciation中
		BeanUtils.copyProperties(depreciation, depreciationForm);
		DepreciationDAO dao = new DepreciationDAO();
		// 判断对象Id是否为空,如果为空则执行创建操作,否则执行更新操作
		if (depreciationForm.getId() == null
				|| depreciationForm.getId().trim().length() == 0) {

			String assetId = depreciationForm.getAssetId();
			// 如果该资产已经选择了折旧算法,这不能再创建了
			if (dao.findById(assetId) != null) {

				saveMessage(request, "depreciationForm.added.failure");
				return mapping.findForward("lossFailure");
			}

			dao.create(depreciation);// 创建
			saveMessage(request, "depreciationForm.added.success");
			return mapping.findForward("lossSuccess");
		} else {

			dao.update(depreciation);// 更新
			saveMessage(request, "depreciationForm.updated");
			return mapping.findForward("success");
		}
	}

	/**
	 * 编辑:用于创建
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward lossEdit(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		BaseDispatchAction.isLogon(request, response);// 验证用户是否已经登陆
		String id = request.getParameter("id");// 获取的是资产的Id
		if (id != null && id.trim().length() > 0) {

			AssetDAO assetDao = new AssetDAO();
			Asset asset = assetDao.findById(Integer.valueOf(id));// 获取资产对象
			DepreciationForm depreciationForm = new DepreciationForm();
			// 把编辑对象映射到depreciationForm中,并且设置code name属性
			depreciationForm.setAssetId(id);
			depreciationForm.setAssetCode(asset.getCode());
			depreciationForm.setAssetName(asset.getName());
			depreciationForm.setBuyDate(asset.getBuyDate());
			depreciationForm.setPrice(asset.getPrice().toString());
			depreciationForm.setLife(asset.getLife().toString());
			// 映射到form表单返回到编辑页面
			BeanUtils.copyProperties(form, depreciationForm);
		}
		return mapping.findForward("lossEdit");
	}

	/**
	 * 编辑:用于更新
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward edit(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		BaseDispatchAction.isLogon(request, response);// 验证用户是否已经登陆
		String id = request.getParameter("id");// 获取的是资产的Id
		if (id != null && id.trim().length() > 0) {
			DepreciationDAO dao = new DepreciationDAO();
			// 获取折旧对象
			Depreciation depreciation = dao.findById(Integer.valueOf(id));

			DepreciationForm depreciationForm = new DepreciationForm();
			// 把编辑对象映射到depreciationForm中,并且设置code name属性
			BeanUtils.copyProperties(depreciationForm, depreciation);
			AssetDAO assetDao = new AssetDAO();
			Asset asset = assetDao.findById(depreciation.getAssetId());// 获取资产对象
			depreciationForm.setAssetCode(asset.getCode());
			depreciationForm.setAssetName(asset.getName());
			depreciationForm.setBuyDate(asset.getBuyDate());
			depreciationForm.setPrice(asset.getPrice().toString());
			depreciationForm.setLife(asset.getLife().toString());
			// 映射到form表单返回到编辑页面
			BeanUtils.copyProperties(form, depreciationForm);
		}
		return mapping.findForward("edit");
	}

	/**
	 * 查看:折旧情况
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward check(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		BaseDispatchAction.isLogon(request, response);// 验证用户是否已经登陆
		String id = request.getParameter("id");
		if (id != null || id.trim().length() > 0) {

			DepreciationDAO dao = new DepreciationDAO();
			// 获取折旧对象
			Depreciation depreciation = dao.findById(Integer.valueOf(id));
			DepreciationForm depreciationForm = new DepreciationForm();
			// 如果选择的算法为平均折旧法
			if ("average".equals(depreciation.getArithmetic())) {
				Asset asset = depreciation.getAsset();
				double price = asset.getPrice();// 获取资产价格
				int life = asset.getLife();// 获取资产使用年限
				Double everyYearSum = price / life;// 计算得到每年折旧金额
				Double everyMonthSum = everyYearSum / 12;// 计算得到每月折旧获取的金额

				depreciationForm.setAssetId(asset.getId().toString());
				depreciationForm.setAssetCode(asset.getCode());
				depreciationForm.setAssetName(asset.getName());
				depreciationForm.setBuyDate(asset.getBuyDate());
				depreciationForm.setArithmetic(depreciation.getArithmetic());
				depreciationForm.setPrice(asset.getPrice().toString());
				depreciationForm.setLife(asset.getLife().toString());
				depreciationForm.setEveryMonthSum(everyMonthSum.toString());
				depreciationForm.setEveryYearSum(everyYearSum.toString());
				// 映射到form表单返回到编辑页面
				BeanUtils.copyProperties(form, depreciationForm);
			} else if ("speedup".equals(depreciation.getArithmetic())) {
				saveMessage(request, "depreciationForm.speedup.null");				
			}
		}
		return mapping.findForward("check");
	}

	/**
	 * 删除
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward delete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		BaseDispatchAction.isLogon(request, response);// 验证用户是否已经登陆
		String id = request.getParameter("id");

		if (id != null && id.trim().length() > 0) {
			DepreciationDAO dao = new DepreciationDAO();
			dao.delete(Integer.valueOf(id));// 执行删除操作
			saveMessage(request, "depreciationForm.deleted");
		}
		return mapping.findForward("success");
	}

	/**
	 * 动态检索
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward list(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		BaseDispatchAction.isLogon(request, response);// 验证用户是否已经登陆
		Asset asset = new Asset();
		DepreciationDAO dao = new DepreciationDAO();
		Depreciation depreciation = new Depreciation();
		DepreciationForm depreciationForm = new DepreciationForm();
		// 获取表单的数据,并设置Asset对应的code name值
		BeanUtils.copyProperties(depreciationForm, form);
		asset.setCode(depreciationForm.getAssetCode());
		asset.setName(depreciationForm.getAssetName());
		BeanUtils.copyProperties(depreciation, depreciationForm);
		depreciation.setAsset(asset);
		// 执行检索操作
		List<Depreciation> list = dao.list(depreciation);
		request.setAttribute("depreciations", list);
		return mapping.findForward("list");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?