|  |  |  | 
|---|
|  |  |  | package com.doumee.core.utils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.doumee.core.constants.ResponseStatus; | 
|---|
|  |  |  | import com.doumee.core.exception.BusinessException; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Solutions; | 
|---|
|  |  |  | import com.doumee.dao.business.vo.CountCyclePriceVO; | 
|---|
|  |  |  | import io.swagger.models.auth.In; | 
|---|
|  |  |  | import org.apache.commons.collections4.CollectionUtils; | 
|---|
|  |  |  | import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; | 
|---|
|  |  |  | import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.File; | 
|---|
|  |  |  | import javax.servlet.ServletOutputStream; | 
|---|
|  |  |  | import java.io.*; | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.net.URL; | 
|---|
|  |  |  | import java.net.URLDecoder; | 
|---|
|  |  |  | import java.time.LocalDate; | 
|---|
|  |  |  | import java.time.temporal.ChronoUnit; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.regex.Matcher; | 
|---|
|  |  |  | import java.util.regex.Pattern; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public static final String SIGN_URL = "SIGN_URL"; | 
|---|
|  |  |  | public static final String SIGN_APPKEY = "SIGN_APPKEY"; | 
|---|
|  |  |  | public static final String SIGN_APPSECRET = "SIGN_APPSECRET"; | 
|---|
|  |  |  | public static final String COMPANY_FILE ="COMPANY_FILE" ; | 
|---|
|  |  |  | public static final String SMS_COMNAME = "SMS_COMNAME"; | 
|---|
|  |  |  | public static final String TAXES_FILE = "TAXES_FILE"; | 
|---|
|  |  |  | public static final String APPLY_FILE ="APPLY_FILE" ; | 
|---|
|  |  |  | public static final String SETTLE_FILE ="SETTLE_FILE" ; | 
|---|
|  |  |  | public static final String DU_FILE ="DU_FILE" ; | 
|---|
|  |  |  | public static final String SIGN_DONE_NOTIFY_URL = "SIGN_DONE_NOTIFY_URL"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 企业数据来源 0平台注册 1后台导入 | 
|---|
|  |  |  | 
|---|
|  |  |  | public static final  int platformRegister  = 0; | 
|---|
|  |  |  | public static final  int backstageImport  = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getRandom6Num( ) { | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | StringBuilder sb = new StringBuilder(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (int i = 0; i < 6; i++) { | 
|---|
|  |  |  | int digit = random.nextInt(10); | 
|---|
|  |  |  | sb.append(digit); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return sb.toString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 formatBigdecimal2Float(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); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return d.intValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static long getAgeByIdCard(String idCard){ | 
|---|
|  |  |  | int birthYear = Integer.parseInt(idCard.substring(6, 10)); | 
|---|
|  |  |  | int birthMonth = Integer.parseInt(idCard.substring(10, 12)); | 
|---|
|  |  |  | int birthDay = Integer.parseInt(idCard.substring(12, 14)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay); | 
|---|
|  |  |  | LocalDate currentDate = LocalDate.now(); | 
|---|
|  |  |  | long age = ChronoUnit.YEARS.between(birthDate, currentDate); | 
|---|
|  |  |  | return age; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static CountCyclePriceVO countPriceVO(Date startDate, Solutions solutions){ | 
|---|
|  |  |  | CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO(); | 
|---|
|  |  |  | if(solutions.getInsureCycleUnit().equals(Constants.ZERO)){ | 
|---|
|  |  |  | countCyclePriceVO.setEndDate( | 
|---|
|  |  |  | DateUtil.getMontageDate( | 
|---|
|  |  |  | DateUtil.afterDateByType(startDate,0,solutions.getInsureCycle()-1) | 
|---|
|  |  |  | ,2) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }else if(solutions.getInsureCycleUnit().equals(Constants.TWO)){ | 
|---|
|  |  |  | //获取当月天数 | 
|---|
|  |  |  | Integer monthDays = DateUtil.monthDays(startDate); | 
|---|
|  |  |  | //获取天数后的日期 | 
|---|
|  |  |  | Date afterDate = DateUtil.afterDateByType(startDate,0,monthDays); | 
|---|
|  |  |  | //赋值 每日结束时分秒 | 
|---|
|  |  |  | countCyclePriceVO.setEndDate(DateUtil.getMontageDate(afterDate,3)); | 
|---|
|  |  |  | }else if(solutions.getInsureCycleUnit().equals(Constants.THREE)){ | 
|---|
|  |  |  | //获取X年后日期 多了一天 | 
|---|
|  |  |  | Date afterDate = DateUtil.afterDateByType(startDate,2,solutions.getInsureCycle()); | 
|---|
|  |  |  | //赋值 每日结束时分秒 然后减少一天 | 
|---|
|  |  |  | countCyclePriceVO.setEndDate(DateUtil.getMontageDate(afterDate,3)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | countCyclePriceVO.setCyclePrice(Constants.countDetailFee(solutions,countCyclePriceVO.getEndDate(),startDate)); | 
|---|
|  |  |  | return countCyclePriceVO; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static Integer getSexByIdCard(String idCard){ | 
|---|
|  |  |  | Pattern pattern = Pattern.compile("\\d{17}[\\d|x]"); // 定义身份证号码格式的正则表达式 | 
|---|
|  |  |  | Matcher matcher = pattern.matcher(idCard); | 
|---|
|  |  |  | Integer sex = 0; | 
|---|
|  |  |  | if (matcher.matches()) { | 
|---|
|  |  |  | int genderCode = Integer.parseInt(idCard.substring(16, 17)); // 从第17位开始提取性别编码(奇数为男性,偶数为女性) | 
|---|
|  |  |  | if ((genderCode % 2 == 1) ) { | 
|---|
|  |  |  | sex = 0; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | sex = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | sex = -1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return sex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 状态 0已保存、1待审核、2审核通过、3退回修改、4审核驳回、5待服务机构确认、6服务机构拒绝、7已分配服务机构、8诊断中 | 
|---|
|  |  |  | * (成功上传第一份服务资料)、9服务完成、10已分配评分专家、11已完成(专家上传评分) 12退回修改中 13 已完成退回修改 | 
|---|
|  |  |  | 
|---|
|  |  |  | int basedata = 2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 关联对象类型 0企业营业执照 1工商变更登记  2项目申报企业资料 3企业评分表 4诊断报告 5诊断服务资料 6专家评分报告 7服务机构上传服务资料 8企业资质 9企业中标通知书 10项目图片 | 
|---|
|  |  |  | * 关联对象类型 | 
|---|
|  |  |  | 关联对象类型 0企业营业执照 1理赔报案事故视频或图片 2理赔员工关系证明材料 3理赔门诊资料 4理赔住院资料 5理赔伤残资料 6理赔赔付结案材料 7企业身份证号 8保单申请表PDF 9签署后保单申请表PDF 10企业签章 11最终报单 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 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, "服务机构上传服务补充资料", "服务机构上传服务补充资料"), | 
|---|
|  |  |  | COM_BUSINESS_LICENSE(0, "企业营业执照", "企业营业执照"), | 
|---|
|  |  |  | LP_SGXC_FILE(1, "理赔报案事故视频或图片", "理赔报案事故视频或图片"), | 
|---|
|  |  |  | LP_YGGX_FILE(2, "理赔员工关系证明材料 ", "理赔员工关系证明材料 "), | 
|---|
|  |  |  | LP_MZCL_FILE(3, "理赔门诊资料 ", "理赔门诊资料"), | 
|---|
|  |  |  | LP_ZYCL_FILE(4, "理赔住院资料", "理赔住院资料"), | 
|---|
|  |  |  | LP_SCZL_FILE(5, "理赔伤残资料", "理赔伤残资料"), | 
|---|
|  |  |  | LP_JACL_FILE(6, "理赔赔付结案材料", "理赔赔付结案材料"), | 
|---|
|  |  |  | COM_IDCARD_IMG(7, "企业身份证号", "企业身份证号"), | 
|---|
|  |  |  | BD_APPLY_PDF(8, "保单申请表PDF ", "保单申请表PDF "), | 
|---|
|  |  |  | BD_SIGNED_PDF(9, "签署后保单申请表PDF", "签署后保单申请表PDF"), | 
|---|
|  |  |  | COM_SING_IMG(10, "企业印章", "企业印章"), | 
|---|
|  |  |  | BD_DONE_PDF(11, "最终报单", "最终报单"), | 
|---|
|  |  |  | CA_PD_PDF(12, "最终报单", "最终报单"), | 
|---|
|  |  |  | CA_APPLY_JIAJIAN_SIGN(13, "加减保申请签章文件", "加减保申请签章文件"), | 
|---|
|  |  |  | CA_APPLY_CHANGEUNIT_SIGN(14, "换厂申请签章文件", "换厂申请签章文件"), | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum DispatchUnitLogType { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | UPLOAD(0, "提交申请"), | 
|---|
|  |  |  | AUDIT_PASS(1, "派遣单位通过"), | 
|---|
|  |  |  | AUDIT_UN_PASS(2, "派遣单位不通过"), | 
|---|
|  |  |  | EDIT_UNIT(3, "修改派遣单位信息"), | 
|---|
|  |  |  | ADD_WORK_TYPE(4, "提交添加工种"), | 
|---|
|  |  |  | WORK_TYPE_AUDIT_PASS(5, "添加工种审批通过"), | 
|---|
|  |  |  | WORK_TYPE_AUDIT_UN_PASS(5, "添加工种审批不通过"), | 
|---|
|  |  |  | WORK_TYPE_AUDIT_UN_PASS(6, "添加工种审批不通过"), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum ApplyCollectStatus { | 
|---|
|  |  |  | DSP(0, "待审批"), | 
|---|
|  |  |  | DCD(1, "待出单"), | 
|---|
|  |  |  | BZZ(2, "保障中"), | 
|---|
|  |  |  | YGQ(3, "已过期"), | 
|---|
|  |  |  | YTH(4, "已退回"), | 
|---|
|  |  |  | THSQZ(5, "申请退回"), | 
|---|
|  |  |  | YGB(6, "已关闭"), | 
|---|
|  |  |  | DQYQZ(7, "待签署"), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | ApplyCollectStatus(int key, String name) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (ApplyCollectStatus c : ApplyCollectStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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  enum ApplyLogType { | 
|---|
|  |  |  | UPLOAD(0, "提交投保","提交意见:${param}",0), | 
|---|
|  |  |  | PLATFORM_RETURN(1, "退回投保","提交意见:${param}",0), | 
|---|
|  |  |  | WAIT_SIGNATURE(2, "上传投保单","提交意见:${param}",0), | 
|---|
|  |  |  | SIGNATURE(3, "企业签章","",0), | 
|---|
|  |  |  | FAIL_RETURN(4, "保单出具失败退回","提交意见:${param}",0), | 
|---|
|  |  |  | UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param1}变更为${param2}",0), | 
|---|
|  |  |  | COMPANY_APPLY_RETURN(6, "申请退回","提交意见:${param}",0), | 
|---|
|  |  |  | COMPANY_APPLY_CLOSE(7, "关闭申请","",0), | 
|---|
|  |  |  | PLATFORM_AGREE_BACK(8, "同意退回申请","",0), | 
|---|
|  |  |  | PLATFORM_UN_AGREE_BACK(9, "驳回退回申请","提交意见:${param}",0), | 
|---|
|  |  |  | COMPANY_EDIT(10, "保单修改","提交意见:${param1}\n${param2}",0), | 
|---|
|  |  |  | PLATFORM_CHECK_PASS(11, "投保审核通过","",0), | 
|---|
|  |  |  | UPLOAD_AGAIN(26, "再次投保","",0), | 
|---|
|  |  |  | PALTFORM_EDIT_BD(22, "修改保单","修改原因:${param}",0), | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CA_PLATFORM_CHECK_PASS_NO(12, "退回投保","提交意见:${param}",1), | 
|---|
|  |  |  | CA_PLATFORM_AGREE_BACK_APPLY(13, "同意退回申请","提交意见:${param}",1), | 
|---|
|  |  |  | CA_PLATFORM_APPROVE(14, "批单完成","保险生效起期:${param1}变更为${param2}",1), | 
|---|
|  |  |  | CA_PLATFORM_CHECK_SIGNATURE(15, "企业签章","",1), | 
|---|
|  |  |  | CA_COMPANY_EDIT(16, "批单修改","提交意见:${param1}\n${param2}",1), | 
|---|
|  |  |  | CA_COMPANY_COMMIT(17, "提交投保","提交意见:${param}",1), | 
|---|
|  |  |  | CA_COMPANY_BACK_APPLY(18, "申请退回","提交意见:${param}",1), | 
|---|
|  |  |  | CA_COMPANY_CLOSE(19, "关闭订单","",1), | 
|---|
|  |  |  | CA_PALTFORM_REFUSE_APPLY(20, "驳回退回申请","",1), | 
|---|
|  |  |  | CA_PALTFORM_EDIT_PIDAN(21, "修改批单","修改原因:${param}",1), | 
|---|
|  |  |  | CA_JIAJIAN_APPLY_SIGN(23, "加减保申请企业签章","",1), | 
|---|
|  |  |  | CA_CHANGUNIT_APPLY_SIGN(24, "换厂申请企业签章","",1), | 
|---|
|  |  |  | CA_UPLOAD_AGAIN(25, "再次投保","",1), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  | private int type; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | ApplyLogType(int key, String name,String info,int type) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | this.type = type; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (ApplyLogType c : ApplyLogType.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getInfo(int index) { | 
|---|
|  |  |  | for (ApplyLogType c : ApplyLogType.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static List<Integer> getTypeList(int type) { | 
|---|
|  |  |  | List<Integer> list = new ArrayList<>(); | 
|---|
|  |  |  | for (ApplyLogType c : ApplyLogType.values()) { | 
|---|
|  |  |  | if (c.getType() == type) { | 
|---|
|  |  |  | list.add(c.getKey()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 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 getInfo() { | 
|---|
|  |  |  | return info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setInfo(String info) { | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public int getType() { | 
|---|
|  |  |  | return type; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setType(int type) { | 
|---|
|  |  |  | this.type = type; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum InsuranceApplyStatus { | 
|---|
|  |  |  | UPLOAD(0, "提交投保","",0), | 
|---|
|  |  |  | PLATFORM_RETURN(1, "审核不通过","提交意见:${param}",4), | 
|---|
|  |  |  | WAIT_SIGNATURE(2, "已上传代签申请表待企业签章","",7), | 
|---|
|  |  |  | SIGNATURE(3, "已签章待上传保险单","",1), | 
|---|
|  |  |  | FAIL_RETURN(4, "保单出具失败退回","",4), | 
|---|
|  |  |  | UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param}变更为${param1}",2), | 
|---|
|  |  |  | COMPANY_BACK_APPLY_UPLOAD(6, "企业申请退回(提交投保)","提交意见:${param}",5), | 
|---|
|  |  |  | COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "企业申请退回(待签章)","提交意见:${param}",5), | 
|---|
|  |  |  | COMPANY_BACK_APPLY_SIGNATURE(8, "企业申请退回(已签章)","提交意见:${param}",5), | 
|---|
|  |  |  | CLOSE(9, "订单关闭","",6), | 
|---|
|  |  |  | PLATFORM_CHECK_PASS(10,"平台投保审核通过","提交意见:${param}",0), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  | private int collectStatus; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | InsuranceApplyStatus(int key, String name,String info,int collectStatus) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.collectStatus = collectStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static List<Integer> getKesByStatus(Integer collectStatus) { | 
|---|
|  |  |  | List<Integer>  list = new ArrayList<>(); | 
|---|
|  |  |  | if(collectStatus!=null){ | 
|---|
|  |  |  | for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { | 
|---|
|  |  |  | if (Constants.equalsInteger(c.getCollectStatus() ,collectStatus)) { | 
|---|
|  |  |  | list.add(c.getKey()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static Integer getCollectStatus(Integer index) { | 
|---|
|  |  |  | for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { | 
|---|
|  |  |  | if (Constants.equalsInteger(c.getKey() , index)) { | 
|---|
|  |  |  | return c.collectStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getInfo(int index) { | 
|---|
|  |  |  | for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 getInfo() { | 
|---|
|  |  |  | return info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setInfo(String info) { | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public int getCollectStatus() { | 
|---|
|  |  |  | return collectStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setCollectStatus(int collectStatus) { | 
|---|
|  |  |  | this.collectStatus = collectStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum NoticeObjectType { | 
|---|
|  |  |  | INSURANCE_APPLY(0, "投保申请","保险方案"), | 
|---|
|  |  |  | APPLY_CHANGE(1, "加减保申请","保险方案"), | 
|---|
|  |  |  | CHANGE_FACTORY(2, "员工换厂申请","保险方案"), | 
|---|
|  |  |  | DISPATCH_UNIT(3, "派遣单位申请","派遣单位"), | 
|---|
|  |  |  | TAXES(4, "开票申请","开票金额"), | 
|---|
|  |  |  | SETTLE_CLAIMS(5, "报案理赔","报案人") | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | NoticeObjectType(int key, String name,String info) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (NoticeObjectType c : NoticeObjectType.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 getInfo() { | 
|---|
|  |  |  | return info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setInfo(String info) { | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum NoticeType { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ZERO(0, "待审批","","","待审核","已申请","待受理"), | 
|---|
|  |  |  | ONE(1, "企业待签署","","","工种待审核","","完成受理"), | 
|---|
|  |  |  | TWO(2, "待出单","待审批","待审批","","",""), | 
|---|
|  |  |  | THREE(3, "申请退回","申请退回","申请退回","","",""), | 
|---|
|  |  |  | FOUR(4, "已退回","已退回","已退回","","",""), | 
|---|
|  |  |  | FIVE(5, "申请驳回","申请驳回","申请驳回","","",""), | 
|---|
|  |  |  | SIX(6, "","","","","","") | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private int status; | 
|---|
|  |  |  | private String insuranceApplyDetail; | 
|---|
|  |  |  | private String applyChangeDetail; | 
|---|
|  |  |  | private String changeFactoryDetail; | 
|---|
|  |  |  | private String dispatchUnitDetail; | 
|---|
|  |  |  | private String taxesDetail; | 
|---|
|  |  |  | private String settleClaimsDetail; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | NoticeType(int status, String insuranceApplyDetail,String applyChangeDetail | 
|---|
|  |  |  | , String changeFactoryDetail,String dispatchUnitDetail | 
|---|
|  |  |  | , String taxesDetail,String settleClaimsDetail) { | 
|---|
|  |  |  | this.status = status; | 
|---|
|  |  |  | this.insuranceApplyDetail = insuranceApplyDetail; | 
|---|
|  |  |  | this.applyChangeDetail = applyChangeDetail; | 
|---|
|  |  |  | this.changeFactoryDetail = changeFactoryDetail; | 
|---|
|  |  |  | this.dispatchUnitDetail = dispatchUnitDetail; | 
|---|
|  |  |  | this.taxesDetail = taxesDetail; | 
|---|
|  |  |  | this.settleClaimsDetail = settleClaimsDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getDetail(int status,int type) { | 
|---|
|  |  |  | for (NoticeType c : NoticeType.values()) { | 
|---|
|  |  |  | if (c.getStatus() == status) { | 
|---|
|  |  |  | if(type==NoticeObjectType.INSURANCE_APPLY.getKey() ){ | 
|---|
|  |  |  | return c.getInsuranceApplyDetail(); | 
|---|
|  |  |  | }else if(type == NoticeObjectType.APPLY_CHANGE.getKey()){ | 
|---|
|  |  |  | return c.getApplyChangeDetail(); | 
|---|
|  |  |  | }else if(type == NoticeObjectType.CHANGE_FACTORY.getKey()){ | 
|---|
|  |  |  | return c.getChangeFactoryDetail(); | 
|---|
|  |  |  | }else if(type == NoticeObjectType.DISPATCH_UNIT.getKey()){ | 
|---|
|  |  |  | return c.getDispatchUnitDetail(); | 
|---|
|  |  |  | }else if(type == NoticeObjectType.TAXES.getKey()){ | 
|---|
|  |  |  | return c.getTaxesDetail(); | 
|---|
|  |  |  | }else if(type == NoticeObjectType.SETTLE_CLAIMS.getKey()){ | 
|---|
|  |  |  | return c.getSettleClaimsDetail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // get set 方法 | 
|---|
|  |  |  | public int getStatus() { | 
|---|
|  |  |  | return status; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setStatus(int status) { | 
|---|
|  |  |  | this.status = status; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String getInsuranceApplyDetail() { | 
|---|
|  |  |  | return insuranceApplyDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setInsuranceApplyDetail(String name) { | 
|---|
|  |  |  | this.insuranceApplyDetail = insuranceApplyDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String getApplyChangeDetail() { | 
|---|
|  |  |  | return applyChangeDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setApplyChangeDetail(String info) { | 
|---|
|  |  |  | this.applyChangeDetail = applyChangeDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String getChangeFactoryDetail() { | 
|---|
|  |  |  | return changeFactoryDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setChangeFactoryDetail(String info) { | 
|---|
|  |  |  | this.changeFactoryDetail = changeFactoryDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String getDispatchUnitDetail() { | 
|---|
|  |  |  | return dispatchUnitDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setDispatchUnitDetail(String info) { | 
|---|
|  |  |  | this.dispatchUnitDetail = dispatchUnitDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String getTaxesDetail() { | 
|---|
|  |  |  | return taxesDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setTaxesDetail(String info) { | 
|---|
|  |  |  | this.taxesDetail = taxesDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String getSettleClaimsDetail() { | 
|---|
|  |  |  | return settleClaimsDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setSettleClaimsDetail(String info) { | 
|---|
|  |  |  | this.settleClaimsDetail = settleClaimsDetail; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static BigDecimal countDetailFee(Solutions solutions,Date startDate, Date endDate){ | 
|---|
|  |  |  | //查询保险实际周期 | 
|---|
|  |  |  | Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getTimeUnit()); | 
|---|
|  |  |  | if(cycle==-1){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"日期信息错误!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return solutions.getPrice().multiply(new BigDecimal(cycle)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static BigDecimal countDetailFee(int timeUnit ,BigDecimal price,Date startDate, Date endDate){ | 
|---|
|  |  |  | //查询保险实际周期 | 
|---|
|  |  |  | Integer cycle = DateUtil.calculateBetween(endDate,startDate,timeUnit); | 
|---|
|  |  |  | if(cycle==-1){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"日期信息错误!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return Constants.formatBigdecimal(price).multiply(new BigDecimal(cycle)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum ApplyChangeStatus { | 
|---|
|  |  |  | UPLOAD(0, "提交加减保/换厂申请"), | 
|---|
|  |  |  | SIGNATURE(1, "已签章"), | 
|---|
|  |  |  | APPROVE(2, "已上传审核"), | 
|---|
|  |  |  | RETURN_APPLY_UPLOAD(3, "发起退回申请(待审核)"), | 
|---|
|  |  |  | RETURN_APPLY_SIGNATURE(4, "发起退回申请(已签章)"), | 
|---|
|  |  |  | PLATFORM_AGREE(5, "平台同意(已退回)"), | 
|---|
|  |  |  | CLOSE(6, "已关闭"), | 
|---|
|  |  |  | PALTFORM_CHECK_PASS(7, "审核通过"), | 
|---|
|  |  |  | PALTFORM_CHECK_PASS_NO(8, "审核不通过"), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | ApplyChangeStatus(int key, String name) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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  enum SettleClaimsStatus { | 
|---|
|  |  |  | WAIT_ACCEPTANCE(0, "待受理"), | 
|---|
|  |  |  | RETURN_ACCEPTANCE(1, "退回受理"), | 
|---|
|  |  |  | DEAL_ING(2, "受理中"), | 
|---|
|  |  |  | CONFIRM_INFORMATION(3, "确认资料"), | 
|---|
|  |  |  | FINISH_ACCEPTANCE(4, "完成受理"), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | SettleClaimsStatus(int key, String name) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (SettleClaimsStatus c : SettleClaimsStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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  enum SettleClaimsLogType { | 
|---|
|  |  |  | UPLOAD(0, "提交报案","提交意见:${param}"), | 
|---|
|  |  |  | PLATFORM_RETURN(1, "平台退回","提交意见:${param}"), | 
|---|
|  |  |  | PLATFORM_CONFIRM_INFORMATION(2, "平台确认资料",""), | 
|---|
|  |  |  | PLATFORM_FINISH(3, "结案提交","提交意见:${param}"), | 
|---|
|  |  |  | UPDATE_DATA(4, "修改信息","提交意见:${param}"), | 
|---|
|  |  |  | SUPPLEMENT(5, "补充说明","提交意见:${param}"), | 
|---|
|  |  |  | PLATFORM_LP_DEAL(6, "平台理赔处理","提交意见:${param}"), | 
|---|
|  |  |  | PLATFORM_REMARK(7, "平台备注标签","${param}"), | 
|---|
|  |  |  | PLATFORM_ADDCODE(8, "平台添加报案号","备案号:${param}"), | 
|---|
|  |  |  | PLATFORM_UN_AGREE_BACK(9, "企业下载资料",""), | 
|---|
|  |  |  | PLATFORM_DOWNLOAD(10, "平台下载资料",""), | 
|---|
|  |  |  | PLATFORM_CHECK_PASS(11, "平台上传资料",""), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | SettleClaimsLogType(int key, String name,String info) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (ApplyLogType c : ApplyLogType.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getInfo(int index) { | 
|---|
|  |  |  | for (ApplyLogType c : ApplyLogType.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 getInfo() { | 
|---|
|  |  |  | return info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setInfo(String info) { | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum ApplyChangeLogStatus { | 
|---|
|  |  |  | UPLOAD(0, "发起申请",""), | 
|---|
|  |  |  | RETURN_APPLY(3, "发起退回申请","提交意见:${param}"), | 
|---|
|  |  |  | PLATFORM_AGREE(4, "平台审核通过" ,"提交意见:${param}"), | 
|---|
|  |  |  | PLATFORM_UN_AGREE(0, "审核驳回","提交意见:${param}"), | 
|---|
|  |  |  | CLOSE(5, "关闭",""), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | ApplyChangeLogStatus(int key, String name,String info) { | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 普通方法 | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (ApplyChangeLogStatus c : ApplyChangeLogStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getInfo(int index) { | 
|---|
|  |  |  | for (ApplyChangeLogStatus c : ApplyChangeLogStatus.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | return c.info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 getInfo() { | 
|---|
|  |  |  | return info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setInfo(String info) { | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum ProjectRecord { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | this.des = des; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static File getFileByNetFile(String url,String fileName)   { | 
|---|
|  |  |  | //对本地文件命名 | 
|---|
|  |  |  | File file = null; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | URL urlfile; | 
|---|
|  |  |  | InputStream inStream = null; | 
|---|
|  |  |  | OutputStream os = null; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String tempDir = System.getProperty("java.io.tmpdir")+fileName; | 
|---|
|  |  |  | file = new File(tempDir); | 
|---|
|  |  |  | //下载 | 
|---|
|  |  |  | urlfile = new URL(url); | 
|---|
|  |  |  | inStream = urlfile.openStream(); | 
|---|
|  |  |  | os = new FileOutputStream(file); | 
|---|
|  |  |  | int bytesRead = 0; | 
|---|
|  |  |  | byte[] buffer = new byte[8192]; | 
|---|
|  |  |  | while ((bytesRead = inStream.read(buffer, 0, 8192)) != -1) { | 
|---|
|  |  |  | os.write(buffer, 0, bytesRead); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } finally { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if (null != os) { | 
|---|
|  |  |  | os.close(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null != inStream) { | 
|---|
|  |  |  | inStream.close(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return file; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static void packFilesToZip(List<File> files,    ServletOutputStream os) throws IOException { | 
|---|
|  |  |  | try (ZipArchiveOutputStream zipOutputStream = new ZipArchiveOutputStream(os)) { | 
|---|
|  |  |  | for (File file : files) { | 
|---|
|  |  |  | ZipArchiveEntry entry = new ZipArchiveEntry(file.getName()); | 
|---|
|  |  |  | zipOutputStream.putArchiveEntry(entry); | 
|---|
|  |  |  | try (FileInputStream fileInputStream = new FileInputStream(file)) { | 
|---|
|  |  |  | byte[] buffer = new byte[1024]; | 
|---|
|  |  |  | int length; | 
|---|
|  |  |  | while ((length = fileInputStream.read(buffer)) > 0) { | 
|---|
|  |  |  | zipOutputStream.write(buffer, 0, length); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | zipOutputStream.closeArchiveEntry(); | 
|---|
|  |  |  | file.delete(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|