jiangping
2024-02-02 f8b1073fbb28d37e08016eed32c682f8c5eae391
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -910,6 +910,181 @@
        }
    }
    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, "申请驳回","申请驳回","申请驳回","","","")
        ;
        // 成员变量
        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());