| | |
| | | public static final int TWO = 2 ; |
| | | public static final int |
| | | THREE = 3 ; |
| | | public static final int FIVE = 5 ; |
| | | public static final int SIX = 6 ; |
| | | public static final int SEVEN = 7 ; |
| | | public static final String ACCESS_ID="ACCESS_ID"; |
| | | public static final String BUCKETNAME = "BUCKETNAME"; |
| | |
| | | public static final String WX_MIN_APPID = "WX_MIN_APPID"; |
| | | public static final String WX_MIN_SECRET = "WX_MIN_SECRET"; |
| | | |
| | | public static final String PLAT_COMPANY_NAME ="PLAT_COMPANY_NAME"; |
| | | public static final String PLAT_CREDIT_CODE ="PLAT_CREDIT_CODE"; |
| | | public static final String PLAT_EMAIL ="PLAT_EMAIL"; |
| | | public static final String SYSTEM ="SYSTEM"; |
| | | public static final String PROTOCOL ="PROTOCOL"; |
| | | public static final String PRIVACY ="PRIVACY"; |
| | | public static final String USE ="USE"; |
| | | |
| | | |
| | | 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 SMS_COMNAME = "SMS_COMNAME"; |
| | | public static final String TAXES_FILE = "TAXES_FILE"; |
| | | public static final String APPLY_FILE ="APPLY_FILE" ; |
| | | public static final String COMPANY_USER_APPLY ="COMPANY_USER_APPLY" ; |
| | | public static final String INSURANCE ="INSURANCE" ; |
| | | public static final String CONTRACT ="CONTRACT" ; |
| | | |
| | | 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"; |
| | | public static final int FOUR = 4; |
| | | public static final String COMPANY_PHONE_AUTH ="COMPANY_PHONE_AUTH" ; |
| | | |
| | | /*RISK_TIMES_OPEN 风险提醒设置-多次出现提醒是否开启:0=否;1=是; |
| | | RISK_TIMES_REPORT_TIMES 风险提醒设置-多次出现报案次数提醒 |
| | | RISK_REPEAT_REPORT_OPEN 风险提醒设置-重复报案是否开启:0=否;1=是; |
| | | RISK_REPEAT_REPORT_TIME_UNIT 风险提醒设置-重复报案时间单位:0分钟 1小时 2天 |
| | | RISK_REPEAT_REPORT_TIME 风险提醒设置-重复报案时间 |
| | | RISK_CLAIM_TIMES_OPEN 风险提醒设置-索赔次数过多是否开启:0=否;1=是; |
| | | RISK_CLAIM_TIMES 风险提醒设置-索赔次数 |
| | | RISK_NEW_MEMBER_OPEN 风险提醒设置-新员工出险提醒是否开启:0=否;1=是; |
| | | RISK_NEW_MEMBER_TIME_UNIT 风险提醒设置-新员工出险提醒时间单位:0分钟 1小时 2天 |
| | | RISK_NEW_MEMBER_TIME 风险提醒设置-新员工出险提醒时间 |
| | | RISK_SENSITIVE_WORDS_OPEN 风险提醒设置-敏感词提醒是否开启:0=否;1=是; |
| | | RISK_SENSITIVE_WORDS 风险提醒设置-多次出现报案次数提醒*/ |
| | | |
| | | public static final String RISK_TIMES_OPEN ="RISK_TIMES_OPEN" ; |
| | | public static final String RISK_TIMES_REPORT_TIMES ="RISK_TIMES_REPORT_TIMES" ; |
| | | public static final String RISK_REPEAT_REPORT_OPEN ="RISK_REPEAT_REPORT_OPEN" ; |
| | | public static final String RISK_REPEAT_REPORT_TIME_UNIT ="RISK_REPEAT_REPORT_TIME_UNIT" ; |
| | | public static final String RISK_REPEAT_REPORT_TIME ="RISK_REPEAT_REPORT_TIME" ; |
| | | public static final String RISK_CLAIM_TIMES_OPEN ="RISK_CLAIM_TIMES_OPEN" ; |
| | | public static final String RISK_CLAIM_TIMES ="RISK_CLAIM_TIMES" ; |
| | | public static final String RISK_NEW_MEMBER_OPEN ="RISK_NEW_MEMBER_OPEN" ; |
| | | public static final String RISK_NEW_MEMBER_TIME_UNIT ="RISK_NEW_MEMBER_TIME_UNIT" ; |
| | | public static final String RISK_NEW_MEMBER_TIME ="RISK_NEW_MEMBER_TIME" ; |
| | | public static final String RISK_SENSITIVE_WORDS_OPEN ="RISK_SENSITIVE_WORDS_OPEN" ; |
| | | public static final String RISK_SENSITIVE_WORDS ="RISK_SENSITIVE_WORDS" ; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | public interface DATAPERMISSION_TYPE{ |
| | | public static final int all = 0; |
| | | public static final int departAndChild = 1; |
| | | public static final int departAndLeaf = 2; |
| | | public static final int depart = 3; |
| | | public static final int custom = 4; |
| | | public static final int self = -1; |
| | | } |
| | | |
| | | /** |
| | |
| | | WTB_CA_DONE_PDF(23, "委托加减保/换厂业务 - 合并单最终保单", "委托加减保/换厂业务 - 合并单最终保单"), |
| | | WTB_CONFIRMATION_LATTER(24, "委托保 - 投保方案确认书", "委托保 - 投保方案确认书"), |
| | | WTB_CA_TBD_PDF(25, "委托加减保/换厂业务 -申请单(商户签署后PDF)", "委托加减保/换厂业务 -申请单(商户签署后PDF)"), |
| | | |
| | | CONTRACT_PDF(26, "合同附件", "合同附件"), |
| | | CONTRACT_FIRST_PDF(27, "合同签署附件", "合同签署附件"), |
| | | CONTRACT_DONE_PDF(28, "合同签署附件", "合同签署附件"), |
| | | COMPANY_SOLUTION_SIGN_PDF(29, "企业签署后方案确认书", "企业签署后方案确认书"), |
| | | COMPANY_USER_APPLY(30, "企业申请集团用户附件", "企业申请集团用户附件"), |
| | | |
| | | LP_STAMP_FILE(31, "保险公司理赔盖章文件", "保险公司理赔盖章文件"), |
| | | LP_FILE(32, "保险公司上传理赔材料一览表", "保险公司上传理赔材料一览表"), |
| | | LP_OTHER_FILE(33, "理赔其他材料", "理赔其他材料"), |
| | | |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (ProjectRecord c : ProjectRecord.values()) { |
| | | for (MultiFile c : MultiFile.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | |
| | | |
| | | // 普通方法 |
| | | public static String getInfo(int index) { |
| | | for (ProjectRecord c : ProjectRecord.values()) { |
| | | for (MultiFile c : MultiFile.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.noteinfo; |
| | | } |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(IdcardUtil.isValidCard("342623199201150101")); |
| | | System.out.println(IdcardUtil.isValidCard("342623199201150102")); |
| | | System.out.println(IdcardUtil.isValidCard("342623199201150103")); |
| | | System.out.println(IdcardUtil.isValidCard("342623199201150104")); |
| | | System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_DOWN)); |
| | | // System.out.println(IdcardUtil.isValidCard("340621199310134818")); |
| | | // System.out.println(IdcardUtil.isValidCard("341621199310134818")); |
| | | |
| | |
| | | |
| | | public enum ApplyLogType { |
| | | UPLOAD(0, "提交投保","提交意见:${param}",0), |
| | | PLATFORM_RETURN(1, "退回投保","提交意见:${param}",0), |
| | | PLATFORM_RETURN(1, "退回申请","提交意见:${param}",0), |
| | | WAIT_SIGNATURE(2, "上传投保单","提交意见:${param}",0), |
| | | SIGNATURE(3, "企业签章","",0), |
| | | FAIL_RETURN(4, "保单出具失败退回","提交意见:${param}",0), |
| | |
| | | COMPANY_EDIT(10, "保单修改","提交意见:${param1}\n${param2}",0), |
| | | PLATFORM_CHECK_PASS(11, "投保审核通过","提交意见:${param}",0), |
| | | |
| | | CA_PLATFORM_CHECK_PASS_NO(12, "退回投保","提交意见:${param}",1), |
| | | 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_COMPANY_CLOSE(19, "关闭申请","",1), |
| | | CA_PALTFORM_REFUSE_APPLY(20, "驳回退回申请","",1), |
| | | CA_PALTFORM_EDIT_PIDAN(21, "修改批单","修改原因:${param}",1), |
| | | CA_JIAJIAN_APPLY_SIGN(23, "加减保申请企业签章","",1), |
| | |
| | | IA_HBD_UPLOAD_INSURANCE(35, "投保完成","保险生效起期:${param1}变更为${param2}",3), |
| | | IA_HBD_CLOSE(36, "退回申请","原因:${param}",3), |
| | | IA_HBD_UPLOAD_BXD(41, "上传保险单","",3), |
| | | IA_HBD_REEXAMINE_PASS(42, "复审通过","",3), |
| | | |
| | | |
| | | |
| | |
| | | UPLOAD_INSURANCE_POLICY(2, "待出单","",0), |
| | | FINISH(3, "保障中","",0), |
| | | CLOSE(4, "已退回","",0), |
| | | RETRIAL(5, "待审核","",0), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | CLOSE(9, "订单关闭","",6), |
| | | PLATFORM_CHECK_PASS(10,"平台投保审核通过","提交意见:${param}",0), |
| | | COMPANY_BACK_APPLY_PASS(11, "企业申请退回(平台投保审核通过)","提交意见:${param}",5), |
| | | |
| | | REEXAMINE(12, "商户或平台复审","复审意见:${param}",0), |
| | | |
| | | |
| | | WTB_UPLOAD(20, "提交投保","",28), |
| | |
| | | WTB_BUSINESS_CHECK_PASS(23,"商户投保审核通过","提交意见:${param}",23), |
| | | WTB_RETURN(24, "已退回","提交意见:${param}",24), |
| | | WTB_CLOSED(25, "已关闭","提交意见:${param}",25), |
| | | WTB_TOUBAOING(26, "投保中","提交意见:${param}",26), |
| | | WTB_TOUBAOING(26, "待出单","提交意见:${param}",26), |
| | | WTB_DONE(27, "保障中","提交意见:${param}",27), |
| | | |
| | | ; |
| | |
| | | CHANGE_FACTORY(2, "员工换厂申请","保险方案"), |
| | | DISPATCH_UNIT(3, "派遣单位申请","派遣单位"), |
| | | TAXES(4, "开票申请","开票金额"), |
| | | SETTLE_CLAIMS(5, "报案理赔","报案人") |
| | | SETTLE_CLAIMS(5, "报案理赔","报案人"), |
| | | CONTRACT(6, "合同签署","合同签署"), |
| | | SOLUTIONS(7, "方案签署","方案签署"), |
| | | COMPANY_USER_APPLY(8, "集团申请","集团申请"), |
| | | ; |
| | | // 成员变量 |
| | | private int key; |
| | |
| | | |
| | | public enum NoticeType { |
| | | |
| | | ZERO(0, "待审核","","","待审核","待处理","处理中"), |
| | | ONE(1, "企业待签署","","","工种待审核","","已结案"), |
| | | TWO(2, "待出单","待审核","待审核","","",""), |
| | | THREE(3, "申请退回","申请退回","申请退回","","",""), |
| | | FOUR(4, "已退回","已退回","已退回","","","已撤销"), |
| | | FIVE(5, "申请驳回","申请驳回","申请驳回","","",""), |
| | | ZERO(0, "待审核","","","待审核","待处理","处理中","待签署","待签署"), |
| | | ONE(1, "企业待签署","","","工种待审核","","已结案","",""), |
| | | TWO(2, "待出单","待审核","待审核","","","","",""), |
| | | THREE(3, "申请退回","申请退回","申请退回","","","","",""), |
| | | FOUR(4, "已退回","已退回","已退回","","","已撤销","",""), |
| | | FIVE(5, "申请驳回","申请驳回","申请驳回","","","","",""), |
| | | //续保通知 |
| | | SIX(6, "","","","","",""), |
| | | SIX(6, "","","","","","","",""), |
| | | //商户端 委托保 - 投保待审核 加减保 换厂 待审核 |
| | | SEVEN(7, "待审核","待审核","待审核","","",""), |
| | | EIGHT(8, "","","","","",""), |
| | | NINE(9, "","","","","",""), |
| | | SEVEN(7, "待审核","待审核","待审核","","","","",""), |
| | | //待复审 |
| | | EIGHT(8, "待审核","","","","","","",""), |
| | | NINE(9, "","","","","","","",""), |
| | | ; |
| | | |
| | | // 成员变量 |
| | |
| | | private String dispatchUnitDetail; |
| | | private String taxesDetail; |
| | | private String settleClaimsDetail; |
| | | private String contract; |
| | | private String solutions; |
| | | |
| | | // 构造方法 |
| | | NoticeType(int status, String insuranceApplyDetail,String applyChangeDetail |
| | | , String changeFactoryDetail,String dispatchUnitDetail |
| | | , String taxesDetail,String settleClaimsDetail) { |
| | | , String taxesDetail,String settleClaimsDetail,String contract,String solutions) { |
| | | this.status = status; |
| | | this.insuranceApplyDetail = insuranceApplyDetail; |
| | | this.applyChangeDetail = applyChangeDetail; |
| | |
| | | this.dispatchUnitDetail = dispatchUnitDetail; |
| | | this.taxesDetail = taxesDetail; |
| | | this.settleClaimsDetail = settleClaimsDetail; |
| | | this.contract = contract; |
| | | this.solutions = solutions; |
| | | } |
| | | |
| | | // 普通方法 |
| | |
| | | return c.getTaxesDetail(); |
| | | }else if(type == NoticeObjectType.SETTLE_CLAIMS.getKey()){ |
| | | return c.getSettleClaimsDetail(); |
| | | }else if(type == NoticeObjectType.CONTRACT.getKey()){ |
| | | return c.getContract(); |
| | | }else if(type == NoticeObjectType.SOLUTIONS.getKey()){ |
| | | return c.getContract(); |
| | | } |
| | | } |
| | | } |
| | |
| | | this.settleClaimsDetail = settleClaimsDetail; |
| | | } |
| | | |
| | | public String getContract() { |
| | | return contract; |
| | | } |
| | | |
| | | public void setContract(String info) { |
| | | this.contract = contract; |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | public enum CONTRACT_STATUS{ |
| | | WAIT(0, "待签署"), |
| | | OUT_SIGN(1, "我方已签署"), |
| | | COMPANY_SIGN(2, "企业/商户已签署"), |
| | | FINISH(3, "已完成"), |
| | | CANCEL(4, "已取消"), |
| | | CLOSE(5, "已关闭"), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | | private int key; |
| | | |
| | | // 构造方法 |
| | | CONTRACT_STATUS(int key, String name) { |
| | | this.name = name; |
| | | this.key = key; |
| | | } |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (CONTRACT_STATUS c : CONTRACT_STATUS.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, "完成受理"), |
| | | //状态 0暂存中 1已报案 2待立案 3已立案 4立案退回 5待受理 6拒绝受理 7商议待审批 |
| | | // 8商议审批拒绝 9已受理 10待核赔 11已核赔 12待结案 13已结案 14已撤案 |
| | | WAIT_ACCEPTANCE(0, "暂存中"), |
| | | RETURN_ACCEPTANCE(1, "已报案"), |
| | | DEAL_ING(2, "待立案"), |
| | | CONFIRM_INFORMATION(3, "已立案"), |
| | | FINISH_ACCEPTANCE(4, "立案退回"), |
| | | WAIT_DEAL(5, "待受理"), |
| | | REJECT_DEAL(6, "拒绝受理"), |
| | | WAIT_DISCUSS_AUDIT(7, "待商议审批"), |
| | | WAIT_DISCUSS_REJECT(8, "商议审批拒绝"), |
| | | ACCEPTANCE(9, "已受理"), |
| | | WAIT_AUDIT_COMPENSATION(10, "待核赔"), |
| | | COMPENSATION(11, "已核赔"), |
| | | WAIT_CLOSE_CASE(12, "待结案"), |
| | | CLOSE_CASE(13, "待结案"), |
| | | RETURN(14, "已撤案"), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | }else{ |
| | | if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ |
| | | //天为批改单位 |
| | | return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { |
| | | //半月为批改单位 |
| | | BigDecimal cycle = new BigDecimal(days).divide(insureCycleUnit.getDays(),0,RoundingMode.CEILING); |
| | | //根据投保周期 定义的 每个周期 = X个 半月周期 进行计算 |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 |
| | | return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { |
| | | //月份为批改单位 |
| | | BigDecimal cycle = new BigDecimal(DateUtil.getDifferenceMonths(reduceEndTime,reduceStartTime)); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 2 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { |
| | | //季度为批改单位 |
| | |
| | | //转换为 总季度 |
| | | cycle = cycle.divide(new BigDecimal(3),0,RoundingMode.CEILING); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { |
| | | //半年为批改单位 |
| | | //查询产生费用总月份 |
| | |
| | | //转换为 半年 |
| | | cycle = cycle.divide(new BigDecimal(6),0,RoundingMode.CEILING); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"方案配置错误"); |
| | | } |
| | |
| | | }else{ |
| | | if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ |
| | | //天为批改单位 |
| | | return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { |
| | | //半月为批改单位 |
| | | BigDecimal cycle = new BigDecimal(days).divide(insureCycleUnit.getDays(),0,RoundingMode.CEILING); |
| | | //根据投保周期 定义的 每个周期 = X个 半月周期 进行计算 |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 |
| | | return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { |
| | | //月份为批改单位 |
| | | BigDecimal cycle = new BigDecimal(DateUtil.getDifferenceMonths(newEndTime,newStartTime)); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 2 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { |
| | | //季度为批改单位 |
| | |
| | | //转换为 总季度 |
| | | cycle = cycle.divide(new BigDecimal(3),0,RoundingMode.CEILING); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { |
| | | //半年为批改单位 |
| | | //查询产生费用总月份 |
| | |
| | | //转换为 半年 |
| | | cycle = cycle.divide(new BigDecimal(6),0,RoundingMode.CEILING); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"方案配置错误"); |
| | | } |
| | |
| | | }else{ |
| | | if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ |
| | | //天为批改单位 |
| | | return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(new BigDecimal(days)).divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { |
| | | //半月为批改单位 |
| | | BigDecimal cycle = new BigDecimal(days).divide(insureCycleUnit.getDays(),0,RoundingMode.CEILING); |
| | | //根据投保周期 定义的 每个周期 = X个 半月周期 进行计算 |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 |
| | | return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { |
| | | //月份为批改单位 |
| | | BigDecimal cycle = new BigDecimal(DateUtil.getDifferenceMonths(new Date(),startTime)); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 2 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { |
| | | //季度为批改单位 |
| | |
| | | //转换为 总季度 |
| | | cycle = cycle.divide(new BigDecimal(3),0,RoundingMode.CEILING); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { |
| | | //半年为批改单位 |
| | | //查询产生费用总月份 |
| | |
| | | //转换为 半年 |
| | | cycle = cycle.divide(new BigDecimal(6),0,RoundingMode.CEILING); |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(cycle).multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"方案配置错误"); |
| | | } |
| | |
| | | }else{ |
| | | if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.DAY.getValue())){ |
| | | //天为批改单位 |
| | | return fee.divide(new BigDecimal(countDays),2, RoundingMode.HALF_UP); |
| | | return fee.divide(new BigDecimal(countDays),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_MONTH.getValue())) { |
| | | //根据投保周期 定义的 每个周期 = X个 半月周期 进行计算 |
| | | // 总金额 / 投保周期定义的 半月周期数 |
| | | return fee.divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.MONTH.getValue())) { |
| | | // 总金额 / 投保周期定义的 半月周期数 * 2 |
| | | return fee.multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(new BigDecimal(2)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.QUARTER.getValue())) { |
| | | //季度为批改单位 |
| | | // 总金额 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(new BigDecimal(6)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.InsureCycleUnit.HALF_YEAR.getValue())) { |
| | | //半年为批改单位 |
| | | // 总金额 * 产生费用的周期 / 投保周期定义的 半月周期数 * 6 |
| | | return fee.multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),2, RoundingMode.HALF_UP); |
| | | return fee.multiply(new BigDecimal(12)).divide(new BigDecimal(timeUnit.getCoefficient()),6, RoundingMode.HALF_UP); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"方案配置错误"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static BigDecimal getTwoPoint(BigDecimal bigDecimal){ |
| | | if(Objects.isNull(bigDecimal)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if(BigDecimal.ZERO.compareTo(bigDecimal) == 0){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | return bigDecimal.setScale(2,BigDecimal.ROUND_DOWN); |
| | | } |
| | | |
| | | |
| | | |
| | | } |