| | |
| | | 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 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后台导入 |
| | |
| | | // 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 已完成退回修改 |
| | |
| | | BD_APPLY_PDF(8, "保单申请表PDF ", "保单申请表PDF "), |
| | | BD_SIGNED_PDF(9, "签署后保单申请表PDF", "签署后保单申请表PDF"), |
| | | COM_SING_IMG(10, "企业印章", "企业印章"), |
| | | BD_DONE_PDF(10, "最终报单", "最终报单"), |
| | | BD_DONE_PDF(11, "最终报单", "最终报单"), |
| | | CA_PD_PDF(12, "最终报单", "最终报单"), |
| | | CA_APPLY_JIAJIAN_SIGN(13, "加减保申请签章文件", "加减保申请签章文件"), |
| | | CA_APPLY_CHANGEUNIT_SIGN(14, "换厂申请签章文件", "换厂申请签章文件"), |
| | | |
| | | |
| | | ; |
| | |
| | | |
| | | public static void main(String[] args) { |
| | | |
| | | System.out.println("hello&&devicenumber=22110002&&uuid=1e52008fb8ff\n".length()); |
| | | System.out.println("{\"companyName\":\"应宝科技\",\"endtime\":\"2024-03-01 17:19:00\",\"erpId\":\"4D40185D5BC74A13821BE46EAF8B4179\",\"erpWithVisitDTOList\":[],\"faceImg\":\"20240304/1709518170325_742.jpg\",\"idcardNo\":\"342501199609300535\",\"idcardType\":0,\"name\":\"黄晋\",\"phone\":\"17756328697\",\"reason\":\"探险\",\"receptMemberId\":\"E7E514BD7DE3F27CE0530B630A0AEAE0\",\"starttime\":\"2024-03-01 13:18:00\"}"); |
| | | } |
| | | /** |
| | | * 用户类型 0系统用户 1企业用户 2服务机构管理员 3服务机构子账号 4综合服务单位管理员 5综合服务单位子账号 6专家 7县区用户 8市局用户 |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | public enum ApplyLogType { |
| | | UPLOAD(0, "提交投保申请"), |
| | | PLATFORM_RETURN(1, "平台退回保单"), |
| | | WAIT_SIGNATURE(2, "已上传代签申请表待企业签章"), |
| | | SIGNATURE(3, "已签章待上传保险单"), |
| | | FAIL_RETURN(4, "保单出具失败退回"), |
| | | UPLOAD_INSURANCE(5, "已上传保单"), |
| | | COMPANY_APPLY_RETURN(6, "企业申请退回"), |
| | | COMPANY_APPLY_CLOSE(7, "企业关闭申请"), |
| | | PLATFORM_AGREE(8, "平台同意企业退回申请"), |
| | | PLATFORM_UN_AGREE(9, "平台拒绝企业退回申请"), |
| | | 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; |
| | | |
| | | // 构造方法 |
| | | ApplyLogType(int key, String name) { |
| | | ApplyCollectStatus(int key, String name) { |
| | | this.name = name; |
| | | this.key = key; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (ApplyLogType c : ApplyLogType.values()) { |
| | | for (ApplyCollectStatus c : ApplyCollectStatus.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | 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, "投保审核通过","提交意见:${param}",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, "提交投保","",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, "提交投保申请"), |
| | | PLATFORM_RETURN(1, "平台退回保单"), |
| | | WAIT_SIGNATURE(2, "已上传代签申请表待企业签章"), |
| | | SIGNATURE(3, "已签章待上传保险单"), |
| | | FAIL_RETURN(4, "保单出具失败退回"), |
| | | UPLOAD_INSURANCE(5, "已上传保单"), |
| | | COMPANY_APPLY_RETURN(6, "企业申请退回"), |
| | | PLATFORM_AGREE(7, "平台同意退回"), |
| | | CLOSE(8, "订单关闭"), |
| | | 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), |
| | | COMPANY_BACK_APPLY_PASS(11, "企业申请退回(平台投保审核通过)","提交意见:${param}",5), |
| | | ; |
| | | // 成员变量 |
| | | 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; |
| | | |
| | | // 构造方法 |
| | | InsuranceApplyStatus(int key, String name) { |
| | | ApplyChangeStatus(int key, String name) { |
| | | this.name = name; |
| | | this.key = key; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (ApplyLogType c : ApplyLogType.values()) { |
| | | for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | |
| | | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | } |