📄 newrequisitionbean.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 + -