For input string: ""(數據類型轉換錯誤)

原因: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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章