原因:fixlevel、reallevel沒有傳值,類型轉換出錯
public RiskBase toRiskBase() throws Exception{
RiskBase rb = new RiskBase();
rb.setRiskid(riskid);
rb.setAreaid(areaid);
rb.setRiskname(riskname);
rb.setRiskdescp(riskdescp);
rb.setAddr(addr);
rb.setStatus(Integer.parseInt(status));
rb.setManagelevel(managelevel);
rb.setOrgid(orgid);
rb.setFixlevel(Integer.parseInt(fixlevel));
rb.setReallevel(Integer.parseInt(reallevel));
rb.setManagelevel(managelevel);
rb.setManager(manager);
rb.setRisktypecode(risktypecode);
rb.setRiskreason(riskreason);
rb.setRishret(rishret);
rb.setAccident(accident);
rb.setOperator(operator);
rb.setOptime(DateUtil.parseDatetime(optime));
rb.setProjectid(projectid);
rb.setRemark(remark);
return rb;
}
解決:做個保護,設置默認值
Integer parseInt(String src,Integer df){
try{
return Integer.parseInt(src);
}catch (Exception e) {
return df;
}
}
public RiskBase toRiskBase() throws Exception{
RiskBase rb = new RiskBase();
rb.setRiskid(riskid);
rb.setAreaid(areaid);
rb.setRiskname(riskname);
rb.setRiskdescp(riskdescp);
rb.setAddr(addr);
rb.setStatus(parseInt(status,0));
rb.setManagelevel(managelevel);
rb.setOrgid(orgid);
rb.setFixlevel(parseInt(fixlevel,1));
rb.setReallevel(parseInt(reallevel,1));
rb.setManagelevel(managelevel);
rb.setManager(manager);
rb.setRisktypecode(risktypecode);
rb.setRiskreason(riskreason);
rb.setRishret(rishret);
rb.setAccident(accident);
rb.setOperator(operator);
if(optime != null && optime.length() != 0){
rb.setOptime(DateUtil.parseDatetime(optime));
}else{
rb.setOptime(new Timestamp(System.currentTimeMillis()));
}
rb.setProjectid(projectid);
rb.setRemark(remark);
return rb;
}