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

📄 newrequisitionbean.java

📁 用JSF.Spring和Hibernate开发的一个办公用品管理系统的WEB应用。
💻 JAVA
字号:
package com.jsfabc.jsh.view.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import com.jsfabc.jsh.model.bo.Article;
import com.jsfabc.jsh.model.bo.BuyBill;
import com.jsfabc.jsh.model.bo.Requisition;
import com.jsfabc.jsh.model.bo.RequisitionState;
import com.jsfabc.jsh.model.exception.DbException;
import com.jsfabc.jsh.model.service.ArticleService;
import com.jsfabc.jsh.utils.MessageFactory;

public class NewRequisitionBean {
	//属性
	//申请名称
	private String requisitionName;
	//申请人
	private String proposer;
	//申请事由
	private String comment;
	//申请人签字
	private String proposerSign;

    //构造函数
    public NewRequisitionBean(){
    	
    }
	
	//setter和getter方法
    public String getRequisitionName(){
    	return requisitionName;
    }
	
    public void setRequisitionName(String newValue){
    	this.requisitionName=newValue;
    }	
	
    public String getProposer(){
    	return proposer;
    }
	
    public void setProposer(String newValue){
    	this.proposer=newValue;
    }
    
    public String getComment(){
    	return comment;
    }
	
    public void setComment(String newValue){
    	this.comment=newValue;
    }   
 
    public String getProposerSign(){
    	return proposerSign;
    }
	
    public void setProposerSign(String newValue){
    	this.proposerSign=newValue;
    }    

    //注入对象
    private UserBean userBean;
	private CategoryBean categoryBean;
	private ArticleService articleService;

    public void setUserBean(UserBean newValue){
    	this.userBean=newValue;
    }
	
    public void setCategoryBean(CategoryBean newValue){
    	this.categoryBean=newValue;
    }

    public void setArticleService(ArticleService newValue){
    	this.articleService=newValue;
    }

    public String saveRequisitionAction(){
        //取得faces上下文
    	FacesContext facesContext= FacesContext.getCurrentInstance();    	
    	//申请对象
    	Requisition requisition=new Requisition();    	
    	//申请对象的属性设置    	
    	requisition.setRequisitionName(requisitionName); 
        //得到申请人的标识  	
    	this.proposer=userBean.getUserName();
    	//在申请中设置申请人标识
    	requisition.setProposer(proposer);
    	//设置申请人备注
    	requisition.setComment(comment); 
    	//设置申请人签名
    	requisition.setProposerSign(proposerSign);
    	
    	//申请日期
    	Date requisitionDate=new Date();    	
    	requisition.setRequisitionDate(requisitionDate); 
    	//申请采购的清单
    	List buyBills=new ArrayList();
    	//声明该申请拟采购用品的总价变量
    	Double totalPrice=0.00;
    	//声明每种用品拟采购数量
    	Integer requisitionNumber=0;
    	//求申请采购用品的总价和每种用品的采购数量
    	//并生成采购清单列表
    	for(int i=0;i<categoryBean.getSelectedArticles().size();i++){
    		//声明一个采购清单变量
    		BuyBill buyBill=new BuyBill();
    		//取得一个拟购用品
    		Article article=(Article)categoryBean.getSelectedArticles().get(i); 
    		//求总价
    	    Double subTotalPrice=article
    	           .getCurrentPrice()*article.getRequisitionNumber();
    	    totalPrice=totalPrice+subTotalPrice;
    	    //取得采购数
    	    requisitionNumber=article.getRequisitionNumber(); 
    	    //设置采购清单的各属性
    	    buyBill.setArticle(article);
    	    buyBill.setRequisitionNumber(requisitionNumber);
    	    buyBill.setSubTotalPrice(subTotalPrice);
    	    //将采购清单加入清单列表中
    	    buyBills.add(buyBill);
    	}
    	requisition.setTotalPrice(totalPrice);    	
    	//申请的状态
    	RequisitionState requisitionState=new RequisitionState();
    	/*申请状态标识为"10"表示申请处于待审批状态,
    	 * 与此类似,"20"表示待采购,"zz"表示已办结
    	*/
    	requisitionState.setRequisitionStateId("10");
    	requisition.setRequisitionState(requisitionState); 
    	try{
    		//保存申请信息到数据库
    		articleService.saveRequisition(requisition,buyBills);
    		//发送邮件给申请人
    		String txt=userBean.getPersonName()+
    		            ":您好,您的申请已经成功提交了。";
    		articleService.sendMail(userBean.getEmail(), txt);
    		//做一些必要的清理工作
    		categoryBean.setCategoryId(0);
    		//返回导航字符串
    		return "success";
    	}
        catch(DbException de){
            //捕获DbException异常
            FacesMessage msg=MessageFactory.getMessage
                       (facesContext,"error_database_error","");
            msg.setSeverity(FacesMessage.SEVERITY_WARN);
            facesContext.addMessage(null,msg);
            //返回导航字符串
            return "failure";
        }
    	catch(Exception e){
            //捕获其他异常
            FacesMessage msg=MessageFactory.getMessage
                       (facesContext,"error_unexpected","");            
            msg.setSeverity(FacesMessage.SEVERITY_ERROR);
            facesContext.addMessage(null,msg);
            //返回导航字符串
            return "failure";
        }    	
    }    
}

⌨️ 快捷键说明

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