package com.doumee.core.utils; 
 | 
  
 | 
import org.apache.commons.collections4.CollectionUtils; 
 | 
import org.apache.commons.lang3.StringUtils; 
 | 
  
 | 
import java.io.File; 
 | 
import java.math.BigDecimal; 
 | 
import java.net.URLDecoder; 
 | 
import java.util.*; 
 | 
import java.util.regex.Matcher; 
 | 
import java.util.regex.Pattern; 
 | 
  
 | 
public class Constants { 
 | 
  
 | 
    public static final int ZERO = 0 ; 
 | 
    public static final int ONE = 1 ; 
 | 
    public static final int TWO = 2 ; 
 | 
    public static final int THREE = 3 ; 
 | 
    public static final int SEVEN = 7 ; 
 | 
    public static final String ACCESS_ID="ACCESS_ID"; 
 | 
    public static final String BUCKETNAME = "BUCKETNAME"; 
 | 
    public static final String OSS = "OSS"; 
 | 
    public static final String ACCESS_KEY = "ACCESS_KEY"; 
 | 
    public static final String ENDPOINT = "ENDPOINT"; 
 | 
    public static final String RESOURCE_PATH = "RESOURCE_PATH"; 
 | 
    public static final String WEB_PARAM = "WEB_PARAM"; 
 | 
    public static final String MAIN_COLOR = "MAIN_COLOR"; 
 | 
    public static final String BG_IMG = "BG_IMG"; 
 | 
    public static final String TOP_IMG = "TOP_IMG"; 
 | 
    public static final String PK_IMG = "PK_IMG"; 
 | 
    public static final String RANGE_SIZE = "RANGE_SIZE"; 
 | 
    public static final String CATE_PARAM_OPEN = "_CATE_PARAM_OPEN"; 
 | 
    public static final String OPEN_SYNC_SWITCH = "OPEN_SYNC_SWITCH"; 
 | 
  
 | 
  
 | 
    public static final String SYSTEM ="SYSTEM"; 
 | 
    public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR"; 
 | 
    public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}"; 
 | 
  
 | 
  
 | 
    public static final String  ROOT_PATH="ROOT_PATH";//本地文件上传地址配置 
 | 
    public static final String  FILE_DIR="FILE_DIR";//本地文件访问地址配置 
 | 
    public static final String  HOME_IMAGE="HOME_IMAGE";//H5 首页图 
 | 
  
 | 
    public static final String PROJECTS = "PROJECTS"; 
 | 
    public static final String CATEGORY_IMG = "CATEGORY_IMG"; 
 | 
    public static final String GOODS_IMG ="GOODS_IMG" ; 
 | 
    public static final String GOODS_PRICE_RATE = "GOODS_PRICE_RATE"; 
 | 
    public static final String COMPANY_MANAGE_ROLE = "COMPANY_MANAGE_ROLE"; 
 | 
  
 | 
  
 | 
    public static final String DEFAULT_MANAGE_ROLE = "DEFAULT_MANAGE_ROLE"; 
 | 
    public static final String DEFAULT_PASSWORD = "DEFAULT_PASSWORD"; 
 | 
    public static final String BRAND_IMG = "BRAND_IMG"; 
 | 
    public static final String PLATFORM = "PLATFORM"; 
 | 
    public static final String ZHUBO_ROOM_URL = "ZHUBO_ROOM_URL"; 
 | 
  
 | 
    /** 
 | 
     * 企业数据来源 0平台注册 1后台导入 
 | 
     */ 
 | 
    public interface ORIGIN{ 
 | 
        public static final  int platformRegister  = 0; 
 | 
        public static final  int backstageImport  = 1; 
 | 
    } 
 | 
  
 | 
    public static BigDecimal formatBigdecimal(BigDecimal d) { 
 | 
        if (d == null) { 
 | 
            d = new BigDecimal(0.0); 
 | 
        } 
 | 
        //保留两位小数且四舍五入 
 | 
//        d = d.setScale(2, BigDecimal.ROUND_HALF_UP); 
 | 
        return  d; 
 | 
    } 
 | 
    public static BigDecimal formatBigdecimal4Float(BigDecimal d) { 
 | 
        if (d == null) { 
 | 
            d = new BigDecimal(0.0); 
 | 
        } 
 | 
        //保留两位小数且四舍五入 
 | 
        d = d.setScale(4, BigDecimal.ROUND_HALF_UP); 
 | 
        return  d; 
 | 
    } 
 | 
  
 | 
    public static boolean equalsObject(Object a, Object b) { 
 | 
        if (a == null && b == null) { 
 | 
            return true; 
 | 
        } 
 | 
        if (a != null){ 
 | 
            return a.equals(b); 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static boolean equalsInteger(Integer a, Integer b) { 
 | 
        if (formatIntegerNum(a) == formatIntegerNum(b)) { 
 | 
            return true; 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static int formatIntegerNum(Integer d) { 
 | 
        if (d == null) { 
 | 
            d = 0; 
 | 
        } 
 | 
        return d.intValue(); 
 | 
    } 
 | 
    /** 
 | 
     * 状态 0已保存、1待审核、2审核通过、3退回修改、4审核驳回、5待服务机构确认、6服务机构拒绝、7已分配服务机构、8诊断中 
 | 
     * (成功上传第一份服务资料)、9服务完成、10已分配评分专家、11已完成(专家上传评分) 12退回修改中 13 已完成退回修改 
 | 
     */ 
 | 
    public  enum DeclareStatus { 
 | 
  
 | 
        EDITING(0, "已保存", "已保存"), 
 | 
        CHECK_WAIT(1, "待审核", "待审核"), 
 | 
        CHECK_PASS(2, "审核通过", "审核通过"), 
 | 
        CHECK_EDIT(3, "退回修改", "退回修改"), 
 | 
        CHECK_BACK(4, "审核驳回", "审核驳回"), 
 | 
        WAIT_SO_COMFIRM(5, "待服务机构确认", "待服务机构确认"), 
 | 
        SO_BACK(6, "服务机构拒绝", "服务机构拒绝"), 
 | 
        SELECTED_SO(7, "已分配服务机构", "已分配服务机构"), 
 | 
        SERVING(8, "诊断中", "诊断中"), 
 | 
        SERVICE_DONE(9, "服务完成", "服务完成"), 
 | 
        SELECT_EXPERT(10, "已分配评分专家", "已分配评分专家"), 
 | 
        DONE(11, "已完成", "已完成"), 
 | 
        BACK_SERVER_ING(12, "退回修改", "诊断服务退回修改"), 
 | 
        BACK_SERVER_DONE(13, "退回修改完成", "诊断服务退回已修改"), 
 | 
        ; 
 | 
        // 成员变量 
 | 
        private String name; 
 | 
        private int key; 
 | 
        private String noteinfo;// 描述 
 | 
  
 | 
        // 构造方法 
 | 
        DeclareStatus(int key, String name, String noteinfo) { 
 | 
            this.name = name; 
 | 
            this.key = key; 
 | 
            this.noteinfo = noteinfo; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getName(int index) { 
 | 
            for (DeclareStatus c : DeclareStatus.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.name; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getNoteinfo(int index) { 
 | 
            for (DeclareStatus c : DeclareStatus.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.noteinfo; 
 | 
                } 
 | 
            } 
 | 
            return "-"; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getInfo(int index) { 
 | 
            for (DeclareStatus c : DeclareStatus.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.noteinfo; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // get set 方法 
 | 
        public String getName() { 
 | 
            return name; 
 | 
        } 
 | 
  
 | 
        public void setName(String name) { 
 | 
            this.name = name; 
 | 
        } 
 | 
  
 | 
        public int getKey() { 
 | 
            return key; 
 | 
        } 
 | 
  
 | 
        public void setKey(int key) { 
 | 
            this.key = key; 
 | 
        } 
 | 
  
 | 
        public String getNoteinfo() { 
 | 
            return noteinfo; 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
    public  enum DeclareCheckType{ 
 | 
        EDITING(0, "已保存", "已保存"), 
 | 
        CHECK_WAIT(1, "待审核", "待审核"), 
 | 
        CHECK_PASS(2, "审核通过", "审核通过"), 
 | 
        CHECK_EDIT(3, "退回修改", "退回修改"), 
 | 
        CHECK_BACK(4, "审核驳回", "审核驳回"), 
 | 
        WAIT_SO_COMFIRM(5, "待服务机构确认", "待服务机构确认"), 
 | 
        SO_BACK(6, "服务机构拒绝", "服务机构拒绝"), 
 | 
        SELECTED_SO(7, "已分配服务机构", "已分配服务机构"), 
 | 
        SERVING(8, "诊断中", "诊断中"), 
 | 
        SERVICE_DONE(9, "服务完成", "服务完成"), 
 | 
        SELECT_EXPERT(10, "已分配评分专家", "已分配评分专家"), 
 | 
        DONE(11, "已完成", "已完成"), 
 | 
        ; 
 | 
        // 成员变量 
 | 
        private String name; 
 | 
        private int key; 
 | 
        private String noteinfo;// 描述 
 | 
  
 | 
        // 构造方法 
 | 
        DeclareCheckType(int key, String name, String noteinfo) { 
 | 
            this.name = name; 
 | 
            this.key = key; 
 | 
            this.noteinfo = noteinfo; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getName(int index) { 
 | 
            for (ProjectRecord c : ProjectRecord.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.name; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getInfo(int index) { 
 | 
            for (ProjectRecord c : ProjectRecord.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.noteinfo; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // get set 方法 
 | 
        public String getName() { 
 | 
            return name; 
 | 
        } 
 | 
  
 | 
        public void setName(String name) { 
 | 
            this.name = name; 
 | 
        } 
 | 
  
 | 
        public int getKey() { 
 | 
            return key; 
 | 
        } 
 | 
  
 | 
        public void setKey(int key) { 
 | 
            this.key = key; 
 | 
        } 
 | 
  
 | 
        public String getNoteinfo() { 
 | 
            return noteinfo; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public enum DeclareHistoryType{ 
 | 
  
 | 
        EDITING(0,"保存","保存"), 
 | 
        CHECK_WAIT_COUNTY(1,"待县区审核",""), 
 | 
        CHECK_PASS_COUNTY(2,"县区审核通过",""), 
 | 
        CHECK_EDIT_COUNTY(3,"县区退回修改",""), 
 | 
        CHECK_BACK_COUNTY(4,"县区审核驳回",""), 
 | 
        TWO_WAY_WAIT_SO_COMFIRM(5,"双选待服务机构确认",""), 
 | 
        WO_WAY_WAIT_SO_BACK(6,"双选服务机构拒绝",""), 
 | 
        SELECTED_SO(7,"已分配服务机构",""), 
 | 
        SO_SERVICE(8,"服务机构诊断",""), 
 | 
        SO_SERVICE_DONE(9,"服务机构服务完成",""), 
 | 
        SELECT_EXPERT(10,"分配评分专家",""), 
 | 
        EXPERT_SCORE(11,"专家完成评分","") 
 | 
        ; 
 | 
  
 | 
        private int key; 
 | 
        private String name; 
 | 
  
 | 
        private String noteInfo; 
 | 
  
 | 
        DeclareHistoryType(int key, String name, String noteInfo) { 
 | 
            this.key = key; 
 | 
            this.name = name; 
 | 
            this.noteInfo = noteInfo; 
 | 
        } 
 | 
  
 | 
        public int getKey() { 
 | 
            return key; 
 | 
        } 
 | 
  
 | 
        public void setKey(int key) { 
 | 
            this.key = key; 
 | 
        } 
 | 
  
 | 
        public String getName() { 
 | 
            return name; 
 | 
        } 
 | 
  
 | 
        public void setName(String name) { 
 | 
            this.name = name; 
 | 
        } 
 | 
  
 | 
        public String getNoteInfo() { 
 | 
            return noteInfo; 
 | 
        } 
 | 
  
 | 
        public void setNoteInfo(String noteInfo) { 
 | 
            this.noteInfo = noteInfo; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public interface BasegoodsOrigin{ 
 | 
         int userAdd = 0; 
 | 
         int imported = 1; 
 | 
         int basedata = 2; 
 | 
    } 
 | 
    /** 
 | 
     * 关联对象类型 0企业营业执照 1工商变更登记  2项目申报企业资料 3企业评分表 4诊断报告 5诊断服务资料 6专家评分报告 7服务机构上传服务资料 8企业资质 9企业中标通知书 10项目图片 
 | 
     */ 
 | 
    public  enum MultiFile{ 
 | 
        BUSINESS_LICENSE(0, "企业营业执照", "企业营业执照"), 
 | 
        BUSINESS_CHANGE(1, "工商变更登记", "工商变更登记"), 
 | 
        BUSINESS_DECLARE(2, "项目申报企业资料", "项目申报企业资料"), 
 | 
        BUSINESS_SCORE(3, "企业评分表", "企业评分表"), 
 | 
        BUSINESS_DIAGNOSIS(4, "诊断报告", "诊断报告"), 
 | 
        BUSINESS_DIA_SERVICE(5, "诊断服务资料", "诊断服务资料"), 
 | 
        BUSINESS_EXPERT(6, "专家评分报告", "专家评分报告"), 
 | 
        BUSINESS_UP_SERVICE(7, "服务机构上传服务资料", "服务机构上传服务资料"), 
 | 
        BUSINESS_ZZ(8, "企业资质", "企业资质"), 
 | 
        BUSINESS_NOTICE(9, "企业中标通知书", "企业中标通知书"), 
 | 
        BUSINESS_PROURL(10, "项目图片", "项目图片"), 
 | 
  
 | 
        COMPANY_CHANGE_LICENSE(11,"变更企业营业执照","变更企业营业执照"), 
 | 
  
 | 
        COMPANY_CHANGE_CHANGE(12,"变更工商变更登记","变更工商变更登记"), 
 | 
        BUSINESS_HC(13, "综合服务单位核查资料", "综合服务单位核查资料"), 
 | 
  
 | 
        BUSINESS_UP_EXTRA(14, "服务机构上传服务补充资料", "服务机构上传服务补充资料"), 
 | 
  
 | 
  
 | 
        ; 
 | 
        // 成员变量 
 | 
        private String name; 
 | 
        private int key; 
 | 
        private String noteinfo;// 描述 
 | 
  
 | 
        // 构造方法 
 | 
        MultiFile(int key, String name, String noteinfo) { 
 | 
            this.name = name; 
 | 
            this.key = key; 
 | 
            this.noteinfo = noteinfo; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getName(int index) { 
 | 
            for (ProjectRecord c : ProjectRecord.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.name; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getInfo(int index) { 
 | 
            for (ProjectRecord c : ProjectRecord.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.noteinfo; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // get set 方法 
 | 
        public String getName() { 
 | 
            return name; 
 | 
        } 
 | 
  
 | 
        public void setName(String name) { 
 | 
            this.name = name; 
 | 
        } 
 | 
  
 | 
        public int getKey() { 
 | 
            return key; 
 | 
        } 
 | 
  
 | 
        public void setKey(int key) { 
 | 
            this.key = key; 
 | 
        } 
 | 
  
 | 
        public String getNoteinfo() { 
 | 
            return noteinfo; 
 | 
        } 
 | 
  
 | 
        private volatile static Set<Integer> multifileCompanyType; 
 | 
  
 | 
        private volatile static Set<Integer> multifileProjectType; 
 | 
  
 | 
        public static Set<Integer> multifileCompanyType(){ 
 | 
            //        0企业营业执照 1工商变更登记 7企业资质 8企业中标通知书 11 变更企业营业执照 12 变更工商变更登记 
 | 
  
 | 
            if (CollectionUtils.isEmpty(multifileCompanyType)){ 
 | 
                synchronized (MultiFile.class){ 
 | 
                    if (CollectionUtils.isEmpty(multifileCompanyType)){ 
 | 
                        multifileCompanyType = new HashSet<>(); 
 | 
                        multifileCompanyType.add(0); 
 | 
                        multifileCompanyType.add(1); 
 | 
                        multifileCompanyType.add(8); 
 | 
                        multifileCompanyType.add(9); 
 | 
                        multifileCompanyType.add(11); 
 | 
                        multifileCompanyType.add(12); 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            return multifileCompanyType; 
 | 
        } 
 | 
  
 | 
        public static Set<Integer> multifileProjectType(){ 
 | 
  
 | 
            //2项目申报企业资料 3企业评分表 4诊断报告 5诊断服务资料 6专家评分报告 7服务机构上传服务资料 
 | 
            if (CollectionUtils.isEmpty(multifileProjectType)){ 
 | 
                synchronized (MultiFile.class){ 
 | 
                    if(CollectionUtils.isEmpty(multifileProjectType)){ 
 | 
                        multifileProjectType = new HashSet<>(); 
 | 
                        multifileProjectType.add(2); 
 | 
                        multifileProjectType.add(3); 
 | 
                        multifileProjectType.add(4); 
 | 
                        multifileProjectType.add(5); 
 | 
                        multifileProjectType.add(6); 
 | 
                        multifileProjectType.add(7); 
 | 
                        multifileProjectType.add(10); 
 | 
                        multifileProjectType.add(13); 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            return multifileProjectType; 
 | 
        } 
 | 
  
 | 
        public static Integer multifileType(String name){ 
 | 
  
 | 
            boolean pic = Arrays.asList(".jpg", "png", "jpeg").stream().anyMatch(s -> name.contains(s)); 
 | 
            if (pic){ 
 | 
                return Constants.ZERO; 
 | 
            } 
 | 
            boolean  ivc = Arrays.asList(".avi", "mp4").stream().anyMatch(s -> name.contains(s)); 
 | 
            if (ivc){ 
 | 
                return Constants.ONE; 
 | 
            } 
 | 
            return Constants.TWO; 
 | 
  
 | 
        } 
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
    public static void main(String[] args) { 
 | 
  
 | 
        System.out.println("hello&&devicenumber=22110002&&uuid=1e52008fb8ff\n".length()); 
 | 
    } 
 | 
    /** 
 | 
     * 用户类型 0系统用户 1企业用户 2服务机构管理员 3服务机构子账号 4综合服务单位管理员 5综合服务单位子账号 6专家 7县区用户 8市局用户 
 | 
     */ 
 | 
    public  enum UserType { 
 | 
  
 | 
        SYSTEM(0, "系统用户", "管理员",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)), 
 | 
        COMPANY(1, "企业用户", "企业",Arrays.asList(-1)), 
 | 
        ZHUBO(2, "主播", "主播",Arrays.asList(-1)), 
 | 
        ; 
 | 
        // 成员变量 
 | 
        private String name; 
 | 
        private int key; 
 | 
        private List<Integer> historyStatus; 
 | 
        private String noteinfo;// 描述 
 | 
  
 | 
        // 构造方法 
 | 
        UserType(int key, String name, String noteinfo,List<Integer> historyStatus) { 
 | 
            this.name = name; 
 | 
            this.key = key; 
 | 
            this.noteinfo = noteinfo; 
 | 
            this.historyStatus=historyStatus; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getName(int index) { 
 | 
            for (UserType c : UserType.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.name; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getInfo(int index) { 
 | 
            for (UserType c : UserType.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.noteinfo; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
        // 普通方法 
 | 
        public static List<Integer> getHistoryStatus(int index) { 
 | 
            for (UserType c : UserType.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.historyStatus; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // get set 方法 
 | 
        public String getName() { 
 | 
            return name; 
 | 
        } 
 | 
  
 | 
        public void setName(String name) { 
 | 
            this.name = name; 
 | 
        } 
 | 
  
 | 
        public int getKey() { 
 | 
            return key; 
 | 
        } 
 | 
        public List<Integer> getHistoryStatus() { 
 | 
            return historyStatus; 
 | 
        } 
 | 
  
 | 
        public void setKey(int key) { 
 | 
            this.key = key; 
 | 
        } 
 | 
  
 | 
        public String getNoteinfo() { 
 | 
            return noteinfo; 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
    public  enum ProjectRecord { 
 | 
  
 | 
        COM_EDITING(0, "企业保存数据", "由 ${param2} ${param3}保存成功,当前进度为 【${param4}】"), 
 | 
        COM_SUBMIT(1, "企业提交数据", "由  ${param2} ${param3}提交成功,当前进度为 【${param4}】"), 
 | 
        XQ_CHECK_PASS(2, "县区审核通过", "由  ${param2} ${param3}审核通过,审核备注为:${param5};当前进度为 【${param4}】"), 
 | 
        XQ_CHECK_EDIT(3, "县区审核退回修改", "由  ${param2} ${param3}审核退回修改,审核备注为:${param5};当前进度为 【${param4}】"), 
 | 
        XQ_CHECK_BACK(4, "县区审核驳回", "由  ${param2} ${param3}审核驳回,审核备注为:${param5};当前进度为 审核驳回,流程结束。"), 
 | 
        COM_SELECT_SO(5, "企业选择服务机构", "由  ${param2} ${param3}选择 ${param5},当前进度为 【${param4}】"), 
 | 
        SO_PASS(6, "服务机构确认服务", "由  ${param2} ${param3}确认服务,当前进度为 【${param4}】"), 
 | 
        SO_BACK(7, "服务机构拒绝服务", "由  ${param2} ${param3}拒绝服务,当前进度为 【${param4}】"), 
 | 
        SJ_SELECT_SO(8, "市局分配服务机构", "由  ${param2} ${param3}完成分配服务机构,当前进度为 【${param4}】"), 
 | 
        SD_SELECT_SO(9, "综合服务单位分配服务机构", "由  ${param2} ${param3}完成分配服务机构,当前进度为 【${param4}】"), 
 | 
        SJ_RESELECT_SO(10, "市局重新分配服务机构", "由  ${param2} ${param3}完成重新分配服务机构,当前进度为 【${param4}】"), 
 | 
        SD_RESELECT_SO(11, "综合服务单位重新分配服务机构", "由  ${param2} ${param3}完成重新分配服务机构,当前进度为 【${param4}】"), 
 | 
        SO_SERVICE_UPLOAD(12, "服务机构上传服务数据", "由  ${param2} ${param3}完成上传服务数据,当前进度为 【${param4}】"), 
 | 
        SO_DONE_SERVICE(13, "服务机构完成服务", "由  ${param2} ${param3}完成服务,当前进度为 【${param4}】"), 
 | 
        SJ_SELECT_EXPERT(14, "市局分配评分专家", "由  ${param2} ${param3}完成分配评分专家,当前进度为 【${param4}】"), 
 | 
        SD_SELECT_EXPERT(15, "综合服务单位分配评分专家", "由  ${param2} ${param3}完成分配评分专家,当前进度为 【${param4}】"), 
 | 
        SJ_RESELECT_EXPERT(16, "市局重新分配评分专家", "由  ${param2} ${param3}完成重新分配评分专家,当前进度为 【${param4}】"), 
 | 
        SD_RESELECT_EXPERT(17, "综合服务单位重新分配评分专家", "由  ${param2} ${param3}完成重新分配评分专家,当前进度为 【${param4}】"), 
 | 
        EXPERT_SCORE(18, "专家上传评分", "由  ${param2} ${param3}完成评分,当前进度为 【${param4}】"), 
 | 
        SD_SERVICE_UPLOAD(19, "综合服务单位上传诊断资料", "由  ${param2} ${param3}完成上传诊断资料,当前进度为 【${param4}】"), 
 | 
        SD_BACK_DONE(20, "综合服务单位退回修改", "由  ${param2} ${param3}退回修改,当前进度为 【${param4}】"), 
 | 
  
 | 
        SO_BACK_SUBMIT(21 , "服务机构修改完成服务", "由  ${param2} ${param3}完成服务,当前进度为 【${param4}】"), 
 | 
  
 | 
        ; 
 | 
        // 成员变量 
 | 
        private String name; 
 | 
        private int key; 
 | 
        private String noteinfo;// 描述 
 | 
  
 | 
        // 构造方法 
 | 
        ProjectRecord(int key, String name, String noteinfo) { 
 | 
            this.name = name; 
 | 
            this.key = key; 
 | 
            this.noteinfo = noteinfo; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getName(int index) { 
 | 
            for (ProjectRecord c : ProjectRecord.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.name; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // 普通方法 
 | 
        public static String getInfo(int index) { 
 | 
            for (ProjectRecord c : ProjectRecord.values()) { 
 | 
                if (c.getKey() == index) { 
 | 
                    return c.noteinfo; 
 | 
                } 
 | 
            } 
 | 
            return null; 
 | 
        } 
 | 
  
 | 
        // get set 方法 
 | 
        public String getName() { 
 | 
            return name; 
 | 
        } 
 | 
  
 | 
        public void setName(String name) { 
 | 
            this.name = name; 
 | 
        } 
 | 
  
 | 
        public int getKey() { 
 | 
            return key; 
 | 
        } 
 | 
  
 | 
        public void setKey(int key) { 
 | 
            this.key = key; 
 | 
        } 
 | 
  
 | 
        public String getNoteinfo() { 
 | 
            return noteinfo; 
 | 
        } 
 | 
  
 | 
        public void setNoteinfo(String noteinfo) { 
 | 
            this.noteinfo = noteinfo; 
 | 
        } 
 | 
  
 | 
        public static String getContentWithData(ProjectRecord template, Map<String, String> params){ 
 | 
            String pattern = "\\$\\{(.+?)\\}"; 
 | 
            Pattern p = Pattern.compile(pattern); 
 | 
            Matcher m = p.matcher(template.noteinfo); 
 | 
            StringBuffer sb = new StringBuffer(); 
 | 
            while (m.find()){ 
 | 
                String key = m.group(1); 
 | 
                String value = params.get(key); 
 | 
                m.appendReplacement(sb, value == null ? "" : value); 
 | 
            } 
 | 
            m.appendTail(sb); 
 | 
            return sb.toString(); 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 数据状态枚举 
 | 
     * 
 | 
     */ 
 | 
    public enum Status { 
 | 
  
 | 
        /** 用户启用禁用枚举值*/ 
 | 
        ENABLE(0,"正常"), 
 | 
        DISABLE(1,"禁用"); 
 | 
  
 | 
        private  Integer value; 
 | 
        private  String des; 
 | 
  
 | 
  
 | 
        Status(Integer value, String des) { 
 | 
            this.value = value; 
 | 
            this.des = des; 
 | 
        } 
 | 
  
 | 
        public Integer getValue() { 
 | 
            return value; 
 | 
        } 
 | 
  
 | 
        public void setValue(Integer value) { 
 | 
            this.value = value; 
 | 
        } 
 | 
  
 | 
        public String getDes() { 
 | 
            return des; 
 | 
        } 
 | 
  
 | 
        public void setDes(String des) { 
 | 
            this.des = des; 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    public enum goodsType { 
 | 
  
 | 
        /** 用户启用禁用枚举值*/ 
 | 
        CREATE(0,"自建"), 
 | 
        PULL(1,"拉取"); 
 | 
  
 | 
        private  Integer value; 
 | 
        private  String des; 
 | 
  
 | 
  
 | 
        goodsType(Integer value, String des) { 
 | 
            this.value = value; 
 | 
            this.des = des; 
 | 
        } 
 | 
  
 | 
        public Integer getValue() { 
 | 
            return value; 
 | 
        } 
 | 
  
 | 
        public void setValue(Integer value) { 
 | 
            this.value = value; 
 | 
        } 
 | 
  
 | 
        public String getDes() { 
 | 
            return des; 
 | 
        } 
 | 
  
 | 
        public void setDes(String des) { 
 | 
            this.des = des; 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    public enum CompanyType{ 
 | 
  
 | 
        BUSINESS_COMPANYTYPE(0,"企业"), 
 | 
  
 | 
        SERVICE_COMPANYTYPE(1,"服务机构"), 
 | 
  
 | 
        ZF_SERVICE_COMPANY(2,"综合服务单位"); 
 | 
  
 | 
        private  Integer value; 
 | 
        private  String des; 
 | 
  
 | 
        CompanyType(Integer value, String des) { 
 | 
            this.value = value; 
 | 
            this.des = des; 
 | 
        } 
 | 
  
 | 
        public Integer getValue() { 
 | 
            return value; 
 | 
        } 
 | 
  
 | 
        public void setValue(Integer value) { 
 | 
            this.value = value; 
 | 
        } 
 | 
  
 | 
        public String getDes() { 
 | 
            return des; 
 | 
        } 
 | 
  
 | 
        public void setDes(String des) { 
 | 
            this.des = des; 
 | 
        } 
 | 
    } 
 | 
} 
 |