jiangping
2024-01-22 ac1c48e5ae523ec6f62366542478bc5d451326a0
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,5 +1,8 @@
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 org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -7,6 +10,7 @@
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.util.*;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -66,6 +70,8 @@
    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" ;
    /**
     * 企业数据来源 0平台注册 1后台导入
@@ -93,6 +99,15 @@
//        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);
@@ -605,24 +620,28 @@
    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, "平台拒绝企业退回申请"),
        UPLOAD(0, "提交投保","提交意见:${param}"),
        PLATFORM_RETURN(1, "退回投保","提交意见:${param}"),
        WAIT_SIGNATURE(2, "上传投保单","提交意见:${param}"),
        SIGNATURE(3, "企业签章",""),
        FAIL_RETURN(4, "保单出具失败退回","提交意见:${param}"),
        UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param1}变更为${param2}"),
        COMPANY_APPLY_RETURN(6, "申请退回","提交意见:${param}"),
        COMPANY_APPLY_CLOSE(7, "关闭申请",""),
        PLATFORM_AGREE_BACK(8, "同意退回申请",""),
        PLATFORM_UN_AGREE_BACK(9, "驳回退回申请","提交意见:${param}"),
        COMPANY_EDIT(10, "保单修改","提交意见:${param1}\n${param2}"),
        PLATFORM_CHECK_PASS(11, "投保审核通过",""),
        ;
        // 成员变量
        private String name;
        private String info;
        private int key;
        // 构造方法
        ApplyLogType(int key, String name) {
        ApplyLogType(int key, String name,String info) {
            this.name = name;
            this.info = info;
            this.key = key;
        }
@@ -631,6 +650,14 @@
            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;
@@ -653,25 +680,109 @@
            this.key = key;
        }
        public String getInfo() {
            return info;
        }
        public void setInfo(String info) {
            this.info = info;
        }
    }
    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, "提交投保",""),
        PLATFORM_RETURN(1, "审核不通过","提交意见:${param}"),
        WAIT_SIGNATURE(2, "已上传代签申请表待企业签章",""),
        SIGNATURE(3, "已签章待上传保险单",""),
        FAIL_RETURN(4, "保单出具失败退回",""),
        UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param}变更为${param1}"),
        COMPANY_APPLY_RETURN(6, "企业申请退回(不可驳回)","提交意见:${param}"),
        COMPANY_APPLY_RETURN_SELECT(7, "企业申请退回(可驳回)","提交意见:${param}"),
        CLOSE(8, "订单关闭",""),
        PLATFORM_CHECK_PASS(9,"平台投保审核通过",""),
        ;
        // 成员变量
        private String name;
        private String info;
        private int key;
        // 构造方法
        InsuranceApplyStatus(int key, String name,String info) {
            this.name = name;
            this.key = key;
            this.info = info;
        }
        // 普通方法
        public static String getName(int index) {
            for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
                if (c.getKey() == index) {
                    return c.name;
                }
            }
            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 static BigDecimal countDetailFee(Solutions solutions,Date startDate, Date endDate){
        //查询保险实际周期
        Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getDataType());
        if(cycle==-1){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"日期信息错误!");
        }
        return solutions.getPrice().multiply(new BigDecimal(cycle));
    }
    public  enum ApplyChangeStatus {
        UPLOAD(0, "提交加减保/换厂申请"),
        SIGNATURE(1, "已签章"),
        APPROVE(2, "已上传审批"),
        RETURN_APPLY(3, "发起退回申请"),
        PLATFORM_AGREE(4, "平台同意(已退回)"),
        CLOSE(5, "已关闭"),
        PALTFORM_CHECK_PASS(6, "审核不通过"),
        PALTFORM_CHECK_PASS_NO(7, "审核通过"),
        ;
        // 成员变量
        private String name;
        private int key;
        // 构造方法
        InsuranceApplyStatus(int key, String name) {
        ApplyChangeStatus(int key, String name) {
            this.name = name;
            this.key = key;
        }
@@ -705,7 +816,52 @@
    }
//3=退回申请;4=平台审批通过;0=审批驳回;5=平台审批驳回
    public  enum ApplyChangeLogStatus {
        UPLOAD(0, "发起申请"),
        RETURN_APPLY(3, "发起退回申请"),
        PLATFORM_AGREE(4, "平台审批通过"),
        PLATFORM_UN_AGREE(0, "审批驳回"),
        CLOSE(5, "关闭"),
        ;
        // 成员变量
        private String name;
        private int key;
        // 构造方法
        ApplyChangeLogStatus(int key, String name) {
            this.name = name;
            this.key = key;
        }
        // 普通方法
        public static String getName(int index) {
            for (ApplyLogType c : ApplyLogType.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 ProjectRecord {