package com.tdtech.pdm.create.action;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.tdtech.pdm.create.pojo.DQAssemblyPojo;
import com.tdtech.pdm.create.pojo.NewMateAppBillPojo;
import com.tdtech.pdm.create.service.DQAssemblyService;
import com.tdtech.pdm.create.service.NewMateAppBillService;
import com.tdtech.pdm.create.service.RiskEvaluationService;
@SuppressWarnings("serial")
public class RiskEvaluationAction extends ActionSupport{
/**
* DQAssemblyPojo的属性
*/
// private Integer assemblyId; //DQAssemblyPojo的对象标示符--对应部件表中相应记录的主键
// private String riskgrade; //风险等级--2013-4-12
// private String risksort; //风险类别--2013-4-12
// private String riskdescrible; //风险描述--2013-4-12
// private String eludemeasureadvice; //规避措施建议--2013-4-12
// private String assemblyRecallbill; //撤单--2013-4-12
/**
* NewMateAppBillPojo的属性
*/
private Integer mateId; //NewMateAppBillPojo的对象标示符--对应物料申请单表中记录的主键
private String applyid; //物料申请单编号
private String mateRecallbill; //撤单--2013-4-12
/**
* 依赖注入属性
*/
private RiskEvaluationService riskEvaluationServiceImpl;
private NewMateAppBillService newMateAppBillServiceImpl;
private DQAssemblyService dQAssemblyServiceImpl;
/**
* 保存风险评估单信息
*/
public String saveRiskEvaluation() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
System.out.println("action execute method is:com.tdtech.pdm.create.action.RiskEvaluationAction's saveRiskEvaluation().");
String[] assemblyIds = request.getParameterValues("assemblyId");
String[] riskgrades = request.getParameterValues("riskgrade");
String[] risksorts = request.getParameterValues("risksort");
String[] riskdescribles =request.getParameterValues("riskdescrible");
String[] eludemeasureadvices = request.getParameterValues("eludemeasureadvice");
//String[] assemblyRecallbills = request.getParameterValues("assemblyRecallbill");
int len = assemblyIds.length;
DQAssemblyPojo d = null;
List<DQAssemblyPojo> assemblys = new ArrayList<DQAssemblyPojo>();
for(int i=0;i<len;i++){
d = new DQAssemblyPojo();
d.setId(Integer.parseInt(assemblyIds[i]));
d.setRiskgrade(riskgrades[i]);
d.setRisksort(risksorts[i]);
d.setRiskdescrible(riskdescribles[i]);
d.setEludemeasureadvice(eludemeasureadvices[i]);
assemblys.add(d);
}
NewMateAppBillPojo newMateAppBillPojo = new NewMateAppBillPojo();
//newMateAppBillPojo.setId(mateId);
newMateAppBillPojo.setApplyid(applyid);
newMateAppBillPojo.setRecallbill(mateRecallbill);
boolean nFlag = this.getNewMateAppBillServiceImpl().updateRiskEvaluation(newMateAppBillPojo);
boolean dFlag = false;
if(nFlag){
System.out.println("更新物料申请成功");
dFlag = this.getdQAssemblyServiceImpl().updateRiskEvaluation(assemblys);
}else{
System.out.println("更新物料申请失败");
}
if(dFlag){
System.out.println("更新部件成功");
}else{
System.out.println("更新部件失败");
}
if(!dFlag || !nFlag){
System.out.println("保存失败");
out.print("保存失败");
}else{
System.out.println("保存成功");
out.print("保存成功");
}
if(dFlag){
System.out.println("保存成功");
out.print("保存成功");
}else{
System.out.println("保存失败");
out.print("保存失败");
}
return null;
}
/**
* 查询最新的风险评估单
*/
public String queryLastestRiskEvalution() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
String mateapplyid = request.getParameter("mateapplyid");
System.out.println("查询最新的风险评估单-mateapplyid="+mateapplyid);
NewMateAppBillPojo newMateAppBillPojo = this.newMateAppBillServiceImpl.queryMateDemandAppBillByApplyid(mateapplyid);
Set<DQAssemblyPojo> set = newMateAppBillPojo.getdQAssemblys();
DQAssemblyPojo[] list=new DQAssemblyPojo[set.size()];
int i=0;
int[] ids=new int[set.size()];
for(DQAssemblyPojo d:set){
list[i]=d;
ids[i]=d.getId();
i=i+1;
}
Arrays.sort(ids);
List<DQAssemblyPojo> assemblys=new ArrayList<DQAssemblyPojo>();
for(int j=0;j<ids.length;j++){
for(DQAssemblyPojo d:list){
if(d.getId()==ids[j]){
assemblys.add(d);
}
}
}
request.setAttribute("newMateAppBillPojo", newMateAppBillPojo);
request.setAttribute("assemblys", assemblys);
return "technologyRiskEvaluation_jsp";
}
public String getApplyid() {
return applyid;
}
public void setApplyid(String applyid) {
this.applyid = applyid;
}
// public Integer getAssemblyId() {
// return assemblyId;
// }
// public void setAssemblyId(Integer assemblyId) {
// this.assemblyId = assemblyId;
// }
// public String getRiskgrade() {
// return riskgrade;
// }
// public void setRiskgrade(String riskgrade) {
// this.riskgrade = riskgrade;
// }
// public String getRisksort() {
// return risksort;
// }
// public void setRisksort(String risksort) {
// this.risksort = risksort;
// }
// public String getRiskdescrible() {
// return riskdescrible;
// }
// public void setRiskdescrible(String riskdescrible) {
// this.riskdescrible = riskdescrible;
// }
// public String getEludemeasureadvice() {
// return eludemeasureadvice;
// }
// public void setEludemeasureadvice(String eludemeasureadvice) {
// this.eludemeasureadvice = eludemeasureadvice;
// }
// public String getAssemblyRecallbill() {
// return assemblyRecallbill;
// }
// public void setAssemblyRecallbill(String assemblyRecallbill) {
// this.assemblyRecallbill = assemblyRecallbill;
// }
public Integer getMateId() {
return mateId;
}
public void setMateId(Integer mateId) {
this.mateId = mateId;
}
public String getMateRecallbill() {
return mateRecallbill;
}
public void setMateRecallbill(String mateRecallbill) {
this.mateRecallbill = mateRecallbill;
}
public RiskEvaluationService getRiskEvaluationServiceImpl() {
return riskEvaluationServiceImpl;
}
public void setRiskEvaluationServiceImpl(
RiskEvaluationService riskEvaluationServiceImpl) {
this.riskEvaluationServiceImpl = riskEvaluationServiceImpl;
}
public NewMateAppBillService getNewMateAppBillServiceImpl() {
return newMateAppBillServiceImpl;
}
public void setNewMateAppBillServiceImpl(
NewMateAppBillService newMateAppBillServiceImpl) {
this.newMateAppBillServiceImpl = newMateAppBillServiceImpl;
}
public DQAssemblyService getdQAssemblyServiceImpl() {
return dQAssemblyServiceImpl;
}
public void setdQAssemblyServiceImpl(DQAssemblyService dQAssemblyServiceImpl) {
this.dQAssemblyServiceImpl = dQAssemblyServiceImpl;
}
}
|