k94314517
2024-04-09 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -3,6 +3,7 @@
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;
@@ -26,7 +27,8 @@
    public static final int ZERO = 0 ;
    public static final int ONE = 1 ;
    public static final int TWO = 2 ;
    public static final int THREE = 3 ;
    public static final int
            THREE = 3 ;
    public static final int SEVEN = 7 ;
    public static final String ACCESS_ID="ACCESS_ID";
    public static final String BUCKETNAME = "BUCKETNAME";
@@ -42,7 +44,9 @@
    public static final String RANGE_SIZE = "RANGE_SIZE";
    public static final String CATE_PARAM_OPEN = "_CATE_PARAM_OPEN";
    public static final String OPEN_SYNC_SWITCH = "OPEN_SYNC_SWITCH";
    public static final String WX_MIN_PROGRAM = "WX_MIN_PROGRAM";
    public static final String WX_MIN_APPID = "WX_MIN_APPID";
    public static final String WX_MIN_SECRET = "WX_MIN_SECRET";
    public static final String SYSTEM ="SYSTEM";
    public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR";
@@ -81,6 +85,7 @@
    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;
    /**
     * 企业数据来源 0平台注册 1后台导入
@@ -154,26 +159,60 @@
        int birthYear = Integer.parseInt(idCard.substring(6, 10));
        int birthMonth = Integer.parseInt(idCard.substring(10, 12));
        int birthDay = Integer.parseInt(idCard.substring(12, 14));
        try{
            LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay);
            LocalDate currentDate = LocalDate.now();
            long age = ChronoUnit.YEARS.between(birthDate, currentDate);
            return age;
        }catch (Exception e){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号码错误:"+idCard);
        }
        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){
        if(StringUtils.isBlank(idCard)){
            return 2;
        }
        Pattern pattern = Pattern.compile("\\d{17}[\\d|x]"); // 定义身份证号码格式的正则表达式
        Matcher matcher = pattern.matcher(idCard);
        Integer sex = 1;
        Integer sex = 0;
        if (matcher.matches()) {
            int genderCode = Integer.parseInt(idCard.substring(16, 17)); // 从第17位开始提取性别编码(奇数为男性,偶数为女性)
            if ((genderCode % 2 == 1) ) {
                sex = 1;
                sex = 0;
            } else {
                sex = 2;
                sex = 1;
            }
        } else {
           sex = -1;
           sex = 2;
        }
        return sex;
    }
@@ -410,7 +449,15 @@
        CA_APPLY_JIAJIAN_SIGN(13, "加减保申请签章文件", "加减保申请签章文件"),
        CA_APPLY_CHANGEUNIT_SIGN(14, "换厂申请签章文件", "换厂申请签章文件"),
        HBD_BD_APPLY_PDF(15, "合并单-保单申请表PDF ", "合并单-保单申请表PDF "),
        HBD_BD_SIGNED_PDF(16, "合并单-签署后保单申请表PDF", "合并单-签署后保单申请表PDF"),
        SOLUTIONS_CONFIRMATION_LATTER(18, "投保方案确认书", "投保方案确认书"),
        MEMBER_LIST_LATTER(19, "委托保 - 投保人员名单", "委托保 - 投保人员名单"),
//        CHANGE_MEMBER_LIST_LATTER(20, "委托保 - 加减保人员名单", "委托保 - 加减保人员名单"),
        WTB_BD_DONE_PDF(21, "委托投保单 - 合并单最终保单", "委托投保单 - 合并单最终保单"),
        WTB_CA_DONE_PDF(23, "委托加减保/换厂业务 - 合并单最终保单", "委托加减保/换厂业务 - 合并单最终保单"),
        WTB_CONFIRMATION_LATTER(24, "委托保 - 投保方案确认书", "委托保 - 投保方案确认书"),
        WTB_CA_TBD_PDF(25, "委托加减保/换厂业务 -申请单(商户签署后PDF)", "委托加减保/换厂业务 -申请单(商户签署后PDF)"),
        ;
        // 成员变量
        private String name;
@@ -528,7 +575,7 @@
    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市局用户
@@ -537,7 +584,7 @@
        SYSTEM(0, "系统用户", "管理员",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)),
        COMPANY(1, "企业用户", "企业",Arrays.asList(-1)),
        ZHUBO(2, "主播", "主播",Arrays.asList(-1)),
        ZHUBO(2, "商户", "商户",Arrays.asList(-1)),
        ;
        // 成员变量
        private String name;
@@ -668,6 +715,14 @@
        THSQZ(5, "申请退回"),
        YGB(6, "已关闭"),
        DQYQZ(7, "待签署"),
        WTBDQS(28, "待签署"),
        WTBDSH(22, "待审核"),
        WTBDCD(23, "待出单"),
        WTBYTH(24, "已退回"),
        WTBYGB(25, "已关闭"),
        WTBTBZ(26, "投保中"),
        WTBBZZ(27, "保障中"),
        ;
        // 成员变量
        private String name;
@@ -710,43 +765,78 @@
    public  enum ApplyLogType {
        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, "投保审核通过",""),
        CA_PLATFORM_CHECK_PASS_NO(12, "退回投保","提交意见:${param}"),
        CA_PLATFORM_AGREE_BACK_APPLY(13, "同意退回申请","提交意见:${param}"),
        CA_PLATFORM_APPROVE(14, "批单完成","保险生效起期:${param1}变更为${param2}"),
        CA_PLATFORM_CHECK_SIGNATURE(15, "企业签章",""),
        CA_COMPANY_EDIT(16, "批单修改","提交意见:${param1}\n${param2}"),
        CA_COMPANY_COMMIT(17, "提交投保","提交意见:${param}"),
        CA_COMPANY_BACK_APPLY(18, "申请退回","提交意见:${param}"),
        CA_COMPANY_CLOSE(19, "关闭订单",""),
        CA_PALTFORM_REFUSE_APPLY(20, "驳回退回申请",""),
        CA_PALTFORM_EDIT_PIDAN(21, "修改批单","修改原因:${param}"),
        PALTFORM_EDIT_BD(22, "修改保单","修改原因:${param}"),
        CA_JIAJIAN_APPLY_SIGN(23, "加减保申请企业签章",""),
        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),
        CA_CHANGUNIT_APPLY_SIGN(24, "换成申请企业签章",""),
        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),
        WTB_FINISH_FAQRS(26, "委托保 - 企业完成签署方案确认书","",0),
        WTB_FINISH_MEMBER_LIST(27, "委托保 - 企业完成签署人员名单","",0),
        CA_WTB_FINISH_MEMBER_LIST(28, "委托保 - 加减保签署人员名单","",1),
        UPLOAD_AGAIN(29, "再次投保","",0),
        PALTFORM_EDIT_BD(30, "修改保单","修改原因:${param}",0),
        SHOP_CLOSE_WTB_APPLY(31, "关闭申请","原因:${param}",0),
        /**
         * 委托保 投保单合并单日志
         */
        IA_HBD_UPLOAD(32, "提交申请","",3),
        IA_HBD_UPLOAD_TBD(33, "上传投保单","",3),
        IA_HBD_SIGNATURE_TBD(34, "商户签章","",3),
        IA_HBD_UPLOAD_INSURANCE(35, "投保完成","保险生效起期:${param1}变更为${param2}",3),
        IA_HBD_CLOSE(36, "退回申请","原因:${param}",3),
        IA_HBD_UPLOAD_BXD(41, "上传保险单","",3),
        /**
         * 委托保 加减保/换厂 合并单
         */
        CA_HBD_UPLOAD(37, "提交申请","",4),
        CA_HBD_SIGNATURE_TBD(38, "商户签章","",4),
        CA_HBD_UPLOAD_INSURANCE(39, "投保完成","",4),
        CA_HBD_CLOSE(40, "退回申请","原因:${param}",4),
        ;
        // 成员变量
        private String name;
        private String info;
        private int key;
        private int type;
        // 构造方法
        ApplyLogType(int key, String name,String info) {
        ApplyLogType(int key, String name,String info,int type) {
            this.name = name;
            this.info = info;
            this.key = key;
            this.type = type;
        }
        // 普通方法
@@ -760,6 +850,183 @@
        }
        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 UnionApplyStatus {
        MERGE(0, "待审核","",0),
        WAIT_SIGNATURE(1, "待签署","",0),
        UPLOAD_INSURANCE_POLICY(2, "待出单","",0),
        FINISH(3, "保障中","",0),
        CLOSE(4, "已退回","",0),
        ;
        // 成员变量
        private String name;
        private String info;
        private int key;
        private int collectStatus;
        // 构造方法
        UnionApplyStatus(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 (UnionApplyStatus c : UnionApplyStatus.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 (UnionApplyStatus c : UnionApplyStatus.values()) {
                    if (Constants.equalsInteger(c.getCollectStatus() ,collectStatus)) {
                        list.add(c.getKey());
                    }
                }
            }
            return list;
        }
        public static Integer getCollectStatus(Integer index) {
            for (UnionApplyStatus c : UnionApplyStatus.values()) {
                if (Constants.equalsInteger(c.getKey() , index)) {
                    return c.collectStatus;
                }
            }
            return null;
        }
        public static String getInfo(int index) {
            for (UnionApplyStatus c : UnionApplyStatus.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 UnionChangeStatus {
        MERGE(0, "待签署",""),
        UPLOAD_INSURANCE_POLICY(1, "待出单",""),
        FINISH(2, "保障中",""),
        CLOSE(3, "已退回",""),
        ;
        // 成员变量
        private String name;
        private String info;
        private int key;
        // 构造方法
        UnionChangeStatus(int key, String name,String info) {
            this.name = name;
            this.key = key;
            this.info = info;
        }
        // 普通方法
        public static String getName(int index) {
            for (UnionChangeStatus c : UnionChangeStatus.values()) {
                if (c.getKey() == index) {
                    return c.name;
                }
            }
            return null;
        }
        public static String getInfo(int index) {
            for (UnionChangeStatus c : UnionChangeStatus.values()) {
                if (c.getKey() == index) {
                    return c.info;
                }
@@ -804,7 +1071,20 @@
        COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "企业申请退回(待签章)","提交意见:${param}",5),
        COMPANY_BACK_APPLY_SIGNATURE(8, "企业申请退回(已签章)","提交意见:${param}",5),
        CLOSE(9, "订单关闭","",6),
        PLATFORM_CHECK_PASS(10,"平台投保审核通过","提交意见:${param}",1),
        PLATFORM_CHECK_PASS(10,"平台投保审核通过","提交意见:${param}",0),
        COMPANY_BACK_APPLY_PASS(11, "企业申请退回(平台投保审核通过)","提交意见:${param}",5),
        WTB_UPLOAD(20, "提交投保","",28),
        WTB_COMPANY_APPLY_SIGNATURE(21, "企业已签署投保确认书","提交意见:${param}",28),
        WTB_COMPANY_MEMBER_LIST_SIGNATURE(22, "企业已签署人员名单","提交意见:${param}",22),
        WTB_BUSINESS_CHECK_PASS(23,"商户投保审核通过","提交意见:${param}",23),
        WTB_RETURN(24, "已退回","提交意见:${param}",24),
        WTB_CLOSED(25, "已关闭","提交意见:${param}",25),
        WTB_TOUBAOING(26, "投保中","提交意见:${param}",26),
        WTB_DONE(27, "保障中","提交意见:${param}",27),
        ;
        // 成员变量
        private String name;
@@ -892,6 +1172,187 @@
        }
    }
    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, "","","","","",""),
        //商户端 委托保 - 投保待审核 加减保 换厂 待审核
        SEVEN(7, "待审核","待审核","待审核","","",""),
        EIGHT(8, "","","","","",""),
        NINE(9, "","","","","",""),
        ;
        // 成员变量
        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());
@@ -914,13 +1375,14 @@
    public  enum ApplyChangeStatus {
        UPLOAD(0, "提交加减保/换厂申请"),
        SIGNATURE(1, "已签章"),
        APPROVE(2, "已上传审批"),
        APPROVE(2, "已上传审核"),
        RETURN_APPLY_UPLOAD(3, "发起退回申请(待审核)"),
        RETURN_APPLY_SIGNATURE(4, "发起退回申请(已签章)"),
        PLATFORM_AGREE(5, "平台同意(已退回)"),
        CLOSE(6, "已关闭"),
        PALTFORM_CHECK_PASS(7, "审核通过"),
        CHECHED_PASSED(7, "审核通过"),
        PALTFORM_CHECK_PASS_NO(8, "审核不通过"),
        WTB_TOUBAOING(9, "投保中"),
        ;
        // 成员变量
        private String name;
@@ -1084,8 +1546,8 @@
    public  enum ApplyChangeLogStatus {
        UPLOAD(0, "发起申请",""),
        RETURN_APPLY(3, "发起退回申请","提交意见:${param}"),
        PLATFORM_AGREE(4, "平台审批通过" ,"提交意见:${param}"),
        PLATFORM_UN_AGREE(0, "审批驳回","提交意见:${param}"),
        PLATFORM_AGREE(4, "平台审核通过" ,"提交意见:${param}"),
        PLATFORM_UN_AGREE(0, "审核驳回","提交意见:${param}"),
        CLOSE(5, "关闭",""),
        ;
        // 成员变量
@@ -1402,6 +1864,7 @@
                    }
                }
                zipOutputStream.closeArchiveEntry();
                file.delete();
            }
        }
    }