--获取规字符串中的指定名称的某个字段值
1、public String getValueByName(String params,String name)
--用于通过表单选中的复选框获取它的值(js的方法)
2、function getSelectedMasterKeys()
--获取当前年
--汇总指定列的 总和
4、public String getListColumnSum(List list,String coulumName,int point)
--保留小数不进行四舍五入
5、public String getDoublePoint(Double d,int point)
--获取下一月(还没到来)
6、public String getNextMonth(String datestr)
--获取本年1月到当前月份
7、public List getStartMonthToCurMonth()
--退一天(获取昨天)
8、public String getNextDay(String datestr)
--将集合中HashMap的指定列收集成字符串返回 多个用逗号分开
9、public String ListMapToStrs(List list,String name)
--将list转成字符串
10、public String ListStringToStrs(List list)
--获得当前周- 周一的日期
11、private String getWeekFirstDay()
--获得当前周- 周日的日期
12、private String getWeekLastDay()
--获取本周 周一到周日 的日期
13、public HashMap getWeekFirstToLastDay()
--万元单位换算
14、public String unitWConversion(String str,int point,boolean showunit)
--获取占比
15、public String getBaifenbi(String d1,String d2)
--获取指定日期所属月份的 最后一天
16、public String getEndDayByMonth(String datatimestr)
--比较两个日期大小 DATE1>DATE2 1,DATE1
17、public static int compareDate(String DATE1, String DATE2)
--计算同比方法
18、public HashMap getTongbiData(String sd1,String sd2)
--获取规字符串中的指定名称的某个字段值
/**
* username:nvalue,id:idval
* 获取规字符串中的指定名称的某个字段值
* @param filters
* @param name
* @return
*/
public String getValueByName(String params,String name){
String value="";
String[] one_arr=params.split(",");
for(int i=;i<one_arr.length;i++){
if(!one_arr[i].equals("")){
String[] two_arr=one_arr[i].split(":");
if(two_arr[].equals(name)){
if(two_arr.length>){
value=two_arr[];
}
}
}
}
return value;
}
--用于通过表单选中的复选框获取它的值
/**
* 用于通过表单选中的复选框获取它的值
*/
function getSelectedMasterKeys(){
var r_arr=new Array();
var elements=document.getElementsByTagName("INPUT");
var val="";
for(i=;i<elements.length;i++){
var name=elements[i].name;
if(elements[i].type=="checkbox"){
if(name.indexOf("master_key")!=-){
if(elements[i].checked==true){
r_arr[r_arr.length]=elements[i].value;
}
}
}
}
return r_arr;
}
--获取当前年
/**
* 获取当前年
* @return 字符串
*/
public String getCurMonth(){
Calendar now = Calendar.getInstance();
String datestr = new SimpleDateFormat("yyyy-MM").format(now.getTime());
return datestr;
}
--汇总指定列的 总和
/**
* 汇总指定列的 总和
* @param list
* @param coulumName 列名
* @param point 保留小数位
* @return
*/
public String getListColumnSum(List<HashMap> list,String coulumName,int point){
DecimalFormat df = new DecimalFormat("######0.00"); String main_total_str="";
String main_total="0.00";
for(HashMap map:list){
String total=this.getMapValue(map,coulumName); df.setMaximumFractionDigits(point);
df.setMinimumFractionDigits();
df.setRoundingMode(RoundingMode.FLOOR);
String total2=df.format(Double.parseDouble(total)/100f); BigDecimal b1 = new BigDecimal(total2);
BigDecimal b2 = new BigDecimal(main_total+"");
if(total!=null && !total.equals("")){
main_total=df.format(b1.add(b2).doubleValue());
}
}
main_total_str=this.getDoublePoint(df.format(Double.parseDouble(main_total)),point);
return main_total_str;
}
--保留小数不进行四舍五入
/**
* 保留小数不进行四舍五入
* @param d
* @return
*/
public String getDoublePoint(Double d,int point){
String r_dstr=d+"";
String[] d_arr=(d+"").split("\\.");
if(d_arr.length==){
String point_str=d_arr[];
if(!point_str.equals("") && point_str.length()>){point_str=point_str.substring(,);}
if(Integer.parseInt(point_str)==){
r_dstr=d_arr[];
}else{
if(point>d_arr[].length()){point=d_arr[].length();}
r_dstr=d_arr[]+"."+d_arr[].substring(, point);
}
}
return r_dstr;
}
--获取下一月(还没到来)
/**
* 下一月(还没到来)
* @param datestr
* @return
*/
public String getNextMonth(String datestr){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String newDatestr="";
try {
Date d = sdf.parse(datestr); Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH)+);
newDatestr = sdf.format(calendar.getTime());
} catch (Exception e) {
e.printStackTrace();
} return newDatestr;
}
--获取本年1月到当前月份
/**
* 获取本年1月到当前月份
* @return
*/
public List<String> getStartMonthToCurMonth(){
Calendar now = Calendar.getInstance();
String cmonth = new SimpleDateFormat("MM").format(now.getTime());
List<String> list=new ArrayList<String>();
int cmonth_int=Integer.parseInt(cmonth);
for(int i=;i<=cmonth_int;i++){
list.add(i+"");
}
return list;
}
--退一天(获取昨天)
/**
* 退一天
* @param datestr
* @return
*/
public String getNextDay(String datestr){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String newDatestr="";
try {
Date d = sdf.parse(datestr); Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(calendar.DATE,-1); newDatestr = sdf.format(calendar.getTime());
} catch (Exception e) {
e.printStackTrace();
} return newDatestr;
}
--将集合中HashMap的指定列收集成字符串返回 多个用逗号分开
/**
* 将集合中HashMap的指定列收集成字符串返回 多个用逗号分开s
* @param list
* @param name
* @return
*/
public String ListMapToStrs(List<HashMap> list,String name){
String strs="";
for(HashMap map:list){
String value=this.getMapValue(map,name);
if(!value.equals("")){
strs=strs+value+",";
}
}
if(strs.endsWith(",")){
strs=strs.substring(0,strs.length()-1);
}
return strs;
}
--将list转成字符串
/**
* 将list转成字符串
* @param list
* @return
*/
public String ListStringToStrs(List<String> list){
String strs="";
for(String str:list){
if(!str.equals("")){
strs=strs+str+",";
}
}
if(strs.endsWith(",")){
strs=strs.substring(0,strs.length()-1);
}
return strs;
}
--获得当前周- 周一的日期
/**
* 获得当前周- 周一的日期
* @return
*/
private String getWeekFirstDay() {
int mondayPlus = getMondayPlus();
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(GregorianCalendar.DATE, mondayPlus);
Date monday = currentDate.getTime(); String default_format="yyyy-MM-dd";
SimpleDateFormat df=new SimpleDateFormat(default_format); String preMonday = df.format(monday);
return preMonday;
}
--获得当前周- 周日的日期
/**
* 获得当前周- 周日 的日期
* @return
*/
private String getWeekLastDay() {
int mondayPlus = getMondayPlus();
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(GregorianCalendar.DATE, mondayPlus +6);
Date monday = currentDate.getTime(); String default_format="yyyy-MM-dd";
SimpleDateFormat df=new SimpleDateFormat(default_format); String preMonday = df.format(monday);
return preMonday; }
--获取本周 周一到周日 的日期
/**
* 获取本周 周一到周日 日期
* @return
*/
public HashMap getWeekFirstToLastDay(){
HashMap weekday=new HashMap();
weekday.put("starttime",this.getWeekFirstDay());
weekday.put("endtime",this.getWeekLastDay());
return weekday;
}
--万元单位换算
/**
* 万元单位换算
* @param str 需要转换的值
* @param point 保留单位数
* @param unitstr 单位万元
* @return
*/
public String unitWConversion(String str,int point,boolean showunit){
DecimalFormat df = new DecimalFormat("######0.00");
df.setMaximumFractionDigits(point);
df.setRoundingMode(RoundingMode.FLOOR);
String total=str;
String unitstr="";
if(Double.parseDouble(str)>9999){
total=df.format(Double.parseDouble(str)/10000f);
if(showunit==true){unitstr="万元";}
}else{
total=total;
if(showunit==true){unitstr="元";}
}
return total+unitstr;
}
--获取占比
/**
* 获取占比
* @param d1
* @param d2
* @return
*/
public String getBaifenbi(String d1,String d2){
String value="0";
if(d1.matches("^[-\\+]?[.\\d]*$") && d2.matches("^[-\\+]?[.\\d]*$")){
Double tb=(Double.parseDouble(d1)/Double.parseDouble(d2))*100;
value=this.getDoublePoint(tb,2);
}
if(!value.matches("^[-\\+]?[.\\d]*$")){
value="0";
}
return value;
}
--获取指定日期所属月份的 最后一天
/**
* 获取指定日期所属月份的 最后一天
* @param datatimestr
* @return
*/
public String getEndDayByMonth(String datatimestr){
String endtime="";
try{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(datatimestr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.set(Calendar.DATE, 1);
calendar.roll(Calendar.DATE, -1);
int maxDate = calendar.get(Calendar.DATE);
endtime=datatimestr.substring(0,datatimestr.lastIndexOf("-"))+"-"+this.zeroFill(maxDate+"",2);
}catch(Exception ex){
ex.printStackTrace();
}
return endtime;
}
--比较两个日期大小 DATE1>DATE2 1,DATE1
/**
* 比较两个日期大小 DATE1>DATE2 1,DATE1<DATE2 2,DATE1=DATE2 3
* @param DATE1
* @param DATE2
* @return
*/
public static int compareDate(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
return 2;
} else if (dt1.getTime() == dt2.getTime()) {
return 3;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
--计算同比方法
/**
* 计算同比方法
* @param d1 上年数据
* @param d2 本年数据
* @return
*/
public HashMap getTongbiData(String sd1,String sd2){
//System.out.println("sd1::" + sd1 + " sd2:"+sd2);
Double d1=Double.parseDouble(sd1);
Double d2=Double.parseDouble(sd2); String orderby="";
String value="";
Double tb=0.00;
if(d1>0){//上一年有数据
if(d2>0){
if(d2>d1){
orderby="asc";//代表上升
tb=(Double.parseDouble((d2-d1)+"")/Double.parseDouble(d1+""))*100;
}else{//代表下升
if(!d2.equals(d1)){
orderby="desc";
}
tb=(Double.parseDouble((d1-d2)+"")/Double.parseDouble(d1+""))*100;
}
}else{
if(d2>0){
orderby="desc";//代表下降
}else{
orderby="";
}
}
}else{//上一年没有数据
if(d2>0){
orderby="asc";
tb=100.0;
}else{
tb=0.0;
}
}
value=this.getDoublePoint(tb,2)+"%";
HashMap map=new HashMap();
map.put("value",value);
map.put("orderby",orderby);
return map;
}