修改之前,
public static String createJhbh(QueryDataService queryservice){
Date objDate = new Date();SimpleDateFormat dt = new SimpleDateFormat("yyyy");
String strY = dt.format(objDate);
String FileShowHtml = "";
Map<String, String> map;
map=queryservice.queryRowDataBySql("select (max(jh_bh)+1) count1 from t_sc_scjh where jh_bh like '"+strY+"%' and jh_zt<>0");
String count1=map.get("count1");
if(count1==null){
FileShowHtml=strY+"0001";
return FileShowHtml;
}
BigDecimal bd=new BigDecimal(count1);
FileShowHtml=bd.toString();
return FileShowHtml;
}
修改过后,
public static String createJhbh(QueryDataService queryservice){
Date objDate = new Date();SimpleDateFormat dt = new SimpleDateFormat("yyyy");
String strY = dt.format(objDate);
String FileShowHtml = "";
Map<String, String> map;
map=queryservice.queryRowDataBySql("select (max(jh_bh)+1) count1 from t_sc_scjh where jh_bh like '"+strY+"%' and jh_zt<>0");
String count1=map.get("count1");
Double count=Double.parseDouble(count1);
if(count1==null){
FileShowHtml=strY+"0001";
return FileShowHtml;
}
BigDecimal bd=new BigDecimal(count);
FileShowHtml=bd.toString();
return FileShowHtml;
}
总结:
new BigDecimal(count);里面的count应为Double类型,加了一个类型转换。
Double count=Double.parseDouble(count1);
map.get()是一个返回String类型的方法,如果直接查询sql查到的结果会被封装成String 类型。
如果为String 类型,20170001...20170009都可以显示,但是到20170010则显示为2.017001E7。