常用方法公共代码

原创 2017年01月03日 14:29:16
//*******************************************************************   
//系统名称:PMS2.0
//模块名称:工具类
//版本信息:
//版本         日期                           作者            备注  
//1.0      2016-06-04    石蕴杰
//Copyright(C)2014-2022 NARI Information and Communication Technology Branch.All rights reserved.
//#作者:石蕴杰$权重:100% $手机: #
//********************************************************************
package utils;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.sgcc.uap.rest.support.RequestCondition;

public class Utils{
/**
 * 如果是空字符就返回"",如果是时间类型就返回时间的字符串值,如果不是就返回字符串值
 * @param obj
 * @return
 */
public static String nullToEmp(Object obj){
if (obj == null) {
return "";
}
if(obj instanceof Date){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return df.format(obj);
}
return obj.toString();
}
public static boolean nullOrEmp(Object o){
if (o==null) 
 return true;
if (o.toString().equalsIgnoreCase("null"))
 return true;
if (o.toString().equals(""))
 return true;
return false;
}
public static String replace(String p, String regex) {
if (p == null)
throw new NullPointerException("传入的字符串(p)不能为null!");
if ("".equals(p.trim()))
return "''";
if (regex == null || (regex != null && "".equals(regex.trim())))
regex = ",";
String[] ps = p.split(regex);
int len = ps.length;
for (int i = 0; i < len - 1; i++) {
ps[i]=ps[i].replace(ps[i], "'"+ps[i]+"',");
}
ps[len-1]=ps[len-1].replace(ps[len-1], "'"+ps[len-1]+"'");
String str="";
for(int i=0;i<len;i++){
str += ps[i];
}
return str;
}
public static String addOneDay(String time) throws Exception{
if("".equals(time)||time==null)
return "";
SimpleDateFormat dateFormat = new SimpleDateFormat();
dateFormat.applyPattern("yyyy-MM-dd");
Date d = dateFormat.parse(time);
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(Calendar.DATE, 1);
return dateFormat.format(c.getTime());
}
public static Map<String,String> trans2Map(String desStr,String splitStr) {
Map<String,String> map =  null;
if("".equals(desStr) || null == desStr || "null".equals(desStr)) {
} else {
String _splitStr = splitStr;
map = new HashMap<String, String>();
String[] filterArr = desStr.split(_splitStr);
int len = filterArr.length;
for(int i = 0; i < len; i++) {
int indexSplit = filterArr[i].indexOf("=");
if(indexSplit > -1){
String text = filterArr[i].substring(0, indexSplit);
String value = filterArr[i].substring(indexSplit+1);
map.put(text, value);
}
}
}
return map;
}
public static String trunc(double a,int n){
String s = a+"";
String[] ss = s.split("\\.");
StringBuffer sb = new StringBuffer();
sb.append(ss[0]);
if(ss.length==2){
sb.append(".");
int len = ss[1].length();
if(len<n){
n = len;
}
for(int i=0;i<n;i++){
sb.append(ss[1].charAt(i));
}
}
while(sb.charAt(sb.length()-1)=='0'||sb.charAt(sb.length()-1)=='.'){
if(sb.charAt(sb.length()-1)=='.'){
sb.deleteCharAt(sb.length()-1);
break;
}
sb.deleteCharAt(sb.length()-1);
}
return sb.toString();
}
public static ArrayList<Map> trans2maplist2(List result, String columns) {
// TODO Auto-generated method stub
if (result==null||nullOrEmp(columns))
return null;
ArrayList<Map> maplist = new ArrayList<Map>();
String cols[] = columns.split(",");
for (int i=0;i<result.size();i++){
Object tmp[] =  (Object[]) result.get(i);
HashMap tmpmap = new HashMap();
for (int j =0;j<cols.length;j++){
tmpmap.put(cols[j], tmp[j]);
}
maplist.add(tmpmap);
}
return maplist;

}
public static ArrayList<Map> trans2maplist(List result, String columns) {
// TODO Auto-generated method stub
if (result==null||nullOrEmp(columns))
return null;
ArrayList<Map> maplist = new ArrayList<Map>();
String cols[] = columns.split(",");
for (int i=0;i<result.size();i++){
ArrayList tmp = (ArrayList) result.get(i);
HashMap tmpmap = new HashMap();
for (int j =0;j<tmp.size();j++){
tmpmap.put(cols[j], tmp.get(j));
}
maplist.add(tmpmap);
}
return maplist;

}
public static String getSqlZd(String deleteid) {
// TODO Auto-generated method stub
String[] arr = deleteid.split(",");
    StringBuffer str = new StringBuffer();
    str.append("'");
    for (int i = 0; i < arr.length; i++) {
      str.append(arr[i]);
      str.append("','");
    }
    str.append("'");
    return str.toString().substring(0, str.toString().length() - 3);
}
    public static String hibRstostr(Object o){
     if (o==null)
     return "";
     if (o instanceof BigDecimal){
     return ((BigDecimal)o).toString();
     }
     return o.toString();
    }
    public static String queryForString(String sql,Object obj[])
    {
        return "";
    }
    /*
     * 从查询条件中搜索出关键字段
     */
    public static String searchKey(String searchKey,RequestCondition queryCondition)
    {
        String newfilter = (String)queryCondition.getFilter();
        if(newfilter==null)return "";
        String[] listnewFilter = newfilter.split("&");
        String key = "";
        for (int i = 0; i < listnewFilter.length; i++) {
            if(listnewFilter[i].contains(searchKey))
            {
                String[] keyarray=listnewFilter[i].toString().split("=");
                key = keyarray[1];
                return key;
            }
        }
        return "";
        
    }
    /**
     * 
     * <b>功能</b>:移出过滤条件中的指定字段<br/>
     * 
     * @param queryCondition
     * @return
     */
    public static RequestCondition removefilterzd(String zd,RequestCondition queryCondition) {
        if (queryCondition.getFilter()==null||queryCondition.getFilter().toString().equals("")) {
            return queryCondition;
        }
        String filterString = queryCondition.getFilter().toString();
        filterString=filterString.replaceAll("&"+zd+"="+Utils.searchKey(zd, queryCondition),"");
        filterString=filterString.replaceAll(zd+"="+Utils.searchKey(zd, queryCondition)+"&","");
        filterString=filterString.replaceAll(zd+"="+Utils.searchKey(zd, queryCondition),"");
        queryCondition.setFilter(filterString);
        return queryCondition;
    }
    /**
     * 
     * <b>功能</b>:将specondition的过滤条件拼接为sql中的where<br/>
     * @param specondition
     * @return
     */
    public static String transfil2whe(RequestCondition queryCondition)
    {
        if (queryCondition.getFilter()==null||queryCondition.getFilter().toString().equals("")) {
            return " 1=1";
        }
        String filter = queryCondition.getFilter().toString();
        String wher = "";
        String[] split = filter.split("&");
        for (int i = 0; i < split.length; i++) {
            if(split[i].contains(","))//如果包含逗号,则=转化为in,其中的,转化为
            {
                String[] splitequal = split[i].split("=");
                splitequal[1] = replace(splitequal[1], ",");
                split[i] = splitequal[0]+" in ("+splitequal[1]+")";
            }else {
                String[] splitequal = split[i].split("=");
                split[i] = splitequal[0]+"='"+splitequal[1]+"'";
            }
            if (wher.equals("")) {
                //如果条件为空,则直接赋值
                wher = split[i];
            }
            else {
                wher = wher +" and "+split[i];
            }
        }
        if("".equals(wher))wher=" 1=1";
        else {
            wher = " "+wher;
        }
        return wher;
    }

/**
     * @param 返回java.sql.Date格式的
     * */
    public static java.sql.Date strToDate(String strDate) {
        java.sql.Date date = new java.sql.Date(0);
        try {
            date = date.valueOf(strDate);//直接转化年月日,如果失败,则包含时分秒
        } catch (Exception e) {
        
            String str = strDate;
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            java.util.Date d = null;
            try {
                d = format.parse(str);
                java.sql.Date date2 = new java.sql.Date(d.getTime());
                return date2;
            } catch (Exception e1) {
//                e1.printStackTrace();
                System.out.println("error time ="+strDate);
                return date;
            }
        }
        
        return date;
    }
    /**
     * @param 返回java.sql.Time格式的
     * */
    public static java.sql.Time strToTime(String strDate) {
        String str = strDate;
        SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
        java.util.Date d = null;
        try {
            d = format.parse(str);
        } catch (Exception e) {
            e.printStackTrace();
        }
        java.sql.Time time = new java.sql.Time(d.getTime());
        return time.valueOf(str);
    }
    /**
        * 字符串转换为日期时间
        * @author dingyongli
        * @param String strDateTime:日期时间的字符串形式
        * @param String format:转换格式
        * @return String
        * @throws
        */
        public static Date strToDateTime(String strDateTime, String fromat){//可以用
            SimpleDateFormat dateTimeFormat = new SimpleDateFormat(fromat);
            Date dateTime = null;
            try{
              dateTime = dateTimeFormat.parse(strDateTime);
            }catch(Exception e){
                e.printStackTrace();
            }
            return dateTime;
        }
        
        public static double getFormDoubleValue(Object b){
            if(b instanceof Double||b instanceof Integer){
                return ((Number)b).doubleValue();
            }
            if (b instanceof BigDecimal)
                return((BigDecimal) b).doubleValue();
            if (b instanceof String)
                return Double.parseDouble((String) b);
            return 0;
        }
        /**
         * 
         * <b>功能</b>:将类型英文和中文互换<br/>
         * 
         * @param lx
         * @return
         */
        public static String getLxString(String lx)
        {
            if (lx.equals("SD")) {
                return "输电";
            }
            else if (lx.equals("BD")) {
                return "变电";
            }
            else if(lx.equals("PD")){
                return "配电";
            }else if(lx.equals("输电")){
                return "SD";
            }else if(lx.equals("变电")){
                return "BD";
            }else if(lx.equals("配电")){
                return "PD";
            }
            return "";
        }
        /**
         * 
         * <b>功能</b>:将obj转换为String字符串<br/>
         * 
         * @param obj
         * @return
         */
        public static String objtoString(Object obj) {
            String retStr="";
            if(obj==null)
                return retStr;
            else
            return obj.toString();
        }
        /**
         * 
         * <b>功能</b>:将类型英文和中文互换<br/>
         * 
         * @param lx
         * @return
         */
        public static Double obj2double(Object object)
        {
            String tempString=objtoString(object);
            Double result = new Double(tempString);
            return result;
        }
        /**
         * 
         * <b>功能</b>:将结果按照分页进行查找<br/>
         * 
         * @param result
         * @param queryCondition
         * @return
         */
        public static List<Map<String, String>> getIndexPageList(List<Map<String, String>> result,RequestCondition queryCondition)
        {
            List<Map<String, String>> result2 = new ArrayList<Map<String, String>>();
            long pageindex = Long.valueOf(queryCondition.getPageIndex());
            long pagesize = Long.valueOf(queryCondition.getPageSize());
            for (long i = ((pageindex-1)*pagesize); i < pageindex*pagesize&&i<result.size(); i++) {
                result2.add(result.get((int) i));
            }
            return result2;
        }

    public final static boolean isNumeric(String s)
    {
        if(s!=null&&!"".equals(s.trim()))
            return s.matches("^[0-9*$]");
        else
            return false;
    }
/**
     * 非法字符校验
     * @param s
     * @return
     */
    public final static boolean isLegal(String s)
    {
        if(s!=null&&!"".equals(s.trim()))
            return s.matches("[a-zA-Z0-9_\u4e00-\u9fa5]*");
        else
            return false;
    }  
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于iOS常用的26中公共方法,可copy的代码

1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; ...

公共类封装常用JavaScript代码提示

using System; using System.Web; namespace Jake.PublicJS { /// /// Summary description for PublicJS ...

常用公共代码三对象的管理(仿Spring IOC和AOP)

在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 在我们的项目中,经常会出现dao、daoImpl、service、serv...

常用公共类代码一之数据库的连接

在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 一、数据库的连接,常用的方式有直接将那些要连接的参数放到java类中、将连...

iOS常用公共方法

获取磁盘总空间大小 [Objective-C] 查看源文件 复制代码 //磁盘总空间 (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NS...

iOS 常用公共方法

文章参考:iOS 常用公共方法 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; ...

iOS 常用公共方法(一)

1、获取磁盘总空间大小//磁盘总大小 + (CGFloat)diskofAllSizeMBytes{ CGFloat size = 0.0; NSError* error; N...

iOS 开发 一些常用的公共方法

iOS 开发 一些常用的公共方法1、 获取磁盘空间大小// 获取磁盘空间大小 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)