|  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     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}"), | 
 |  |  |         ; | 
 |  |  |         // 成员变量 | 
 |  |  |         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; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | 
 |  |  |             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; | 
 |  |  | 
 |  |  |             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}"), | 
 |  |  |         PLATFORM_AGREE(7, "平台同意退回",""), | 
 |  |  |         CLOSE(8, "订单关闭",""), | 
 |  |  |         ; | 
 |  |  |         // 成员变量 | 
 |  |  |         private String name; | 
 |  |  |         private String info; | 
 |  |  |         private int key; | 
 |  |  |  | 
 |  |  |         // 构造方法 | 
 |  |  |         InsuranceApplyStatus(int key, String name) { | 
 |  |  |         InsuranceApplyStatus(int key, String name,String info) { | 
 |  |  |             this.name = name; | 
 |  |  |             this.key = key; | 
 |  |  |             this.info = info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 普通方法 | 
 |  |  |         public static String getName(int index) { | 
 |  |  |             for (ApplyLogType c : ApplyLogType.values()) { | 
 |  |  |             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; | 
 |  |  | 
 |  |  |             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){ |