| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- package com.loan.system.domain.enums;
- import java.util.*;
- import static com.loan.system.domain.enums.RoleEnum.*;
- /**
- * 针对特殊环节的标识设置
- * @author : EdwinXu
- * @date : Created in 2021/1/25 16:57
- */
- public enum StepPropertyEnum {
- /* ========== 环节定义 ========== */
- BUSINESS_ACCEPT_PARENT(501, "业务受理", true),
- BUSINESS_ADD(502, "新增业务", false),
- BUSINESS_ACCEPT(503, "业务调查", false),
- PRE_TRIAL_PARENT(511, "预审环节", true),
- PRE_TRIAL(512, "预审处理", false),
- APPROVAL_PARENT(521, "审批环节", true),
- APPROVAL(522, "业务一审", false),
- APPROVAL_2(513, "业务二审", false),
- CONTRACT_SIGN_PARENT(531, "合同签订", true),
- CONTRACT_SIGN(532, "合同签署", false),
- COLLATERAL_RECEIVE(541, "押品取证", true),
- PLAN_SUBMISSION(542, "取证申报", false),
- APPROVAL_ASSIGNMENT(543, "取证派单", false),
- EVIDENCE_CONFIRMATION(544, "取证确认", false),
- // CHANNEL_PUSH(545, "推送渠道", false),
- // CHANNEL_CONFIRMATION(546, "渠道确认", false),
- DISBURSE_PARENT(551, "出帐环节", true),
- PLAN_REPORT(552, "出帐申报", false),
- PLAN_AUDIT(553, "出帐派单", false),
- DISBURSE_START(554, "出帐操作", false),
- DISBURSE_AUDIT(555, "出帐审批", false),
- FINANCE_DISBURSE(556, "财务复核", false),
- DISBURSE_CONFIRM(557, "出帐确认", false),
- COLLATERAL_DELIVERY(561, "押品送证", true),
- PLAN_SUBMISSION_2(562, "送证申报", false),
- APPROVAL_ASSIGNMENT_2(563, "送证派单", false),
- DELIVERY_CONFIRMATION(564, "送证确认", false),
- // CHANNEL_PUSH_2(565, "推送渠道", false),
- // CHANNEL_RECEIVE(566, "渠道接收", false),
- REPAY_PARENT(571, "回款环节", true),
- REPAY_START(572, "回款申报", false),
- REPAY_APPROVAL(573, "回款派单", false),
- BALANCE_REPAY(574, "回款操作", false),
- AUTO_REPAY(575, "主动回款", false),
- FINANCE_CONFIRM(576, "财务确认", false),
- REPAYMENT_COMPLETE(577, "完成回款", false),
- CASE_COMPLETE(578, "业务终结", false),
- CASE_ARCHIVE(579, "业务归档", false);
- /* ========== 字段 & 构造 ========== */
- private final int code;
- private final String label;
- private final boolean parent;
- StepPropertyEnum(int code, String label, boolean parent) {
- this.code = code;
- this.label = label;
- this.parent = parent;
- }
- /* ========== getter ========== */
- public int getCode() { return code; }
- public String getLabel() { return label; }
- public boolean isParent() { return parent; }
- public static List<StepPropertyEnum> listAll() {
- return Arrays.asList(values()); // 顺序与源码声明一致
- }
- public static Map<String, List<String>> roleAndStep() {
- Map<String, List<String>> map = new HashMap<>();
- /* 1. 业务员 */
- map.put(LEAD_SALES.getMsg(), Arrays.asList(
- BUSINESS_ADD.getLabel(),
- BUSINESS_ACCEPT.getLabel(),
- PRE_TRIAL.getLabel(),
- CONTRACT_SIGN.getLabel(),
- PLAN_SUBMISSION.getLabel(),
- EVIDENCE_CONFIRMATION.getLabel(),
- // CHANNEL_PUSH.getLabel(),
- PLAN_REPORT.getLabel(),
- DISBURSE_START.getLabel(),
- DISBURSE_CONFIRM.getLabel(),
- PLAN_SUBMISSION_2.getLabel(),
- DELIVERY_CONFIRMATION.getLabel(),
- // CHANNEL_CONFIRMATION.getLabel(),
- REPAY_START.getLabel(),
- BALANCE_REPAY.getLabel(),
- REPAYMENT_COMPLETE.getLabel()
- ));
- map.put(RoleEnum.ASSIST_SALES.getMsg(), Arrays.asList(
- BUSINESS_ADD.getLabel(),
- BUSINESS_ACCEPT.getLabel(),
- PRE_TRIAL.getLabel(),
- CONTRACT_SIGN.getLabel(),
- PLAN_SUBMISSION.getLabel(),
- EVIDENCE_CONFIRMATION.getLabel(),
- PLAN_REPORT.getLabel(),
- DISBURSE_START.getLabel(),
- DISBURSE_CONFIRM.getLabel(),
- PLAN_SUBMISSION_2.getLabel(),
- DELIVERY_CONFIRMATION.getLabel(),
- REPAY_START.getLabel(),
- BALANCE_REPAY.getLabel(),
- REPAYMENT_COMPLETE.getLabel()
- ));
- /* 2. 审批人 */
- map.put(RoleEnum.APPROVER.getMsg(), Arrays.asList(
- APPROVAL.getLabel(),
- APPROVAL_2.getLabel(),
- APPROVAL_ASSIGNMENT.getLabel(),
- PLAN_AUDIT.getLabel(),
- DISBURSE_AUDIT.getLabel(),
- APPROVAL_ASSIGNMENT_2.getLabel(),
- REPAY_APPROVAL.getLabel()
- ));
- /* 3. 财务人员 */
- map.put(RoleEnum.FINANCE.getMsg(), Arrays.asList(
- FINANCE_DISBURSE.getLabel(),
- // FINANCE_CHECK.getLabel(),
- FINANCE_CONFIRM.getLabel()
- ));
- // /* 4. 外部人员 */
- // map.put(RoleEnum.EXTERNAL.getMsg(), Arrays.asList(
- // CHANNEL_CONFIRMATION.getLabel(),
- // CHANNEL_RECEIVE.getLabel()
- // ));
- /* 5. 综合员 */
- map.put(RoleEnum.BACK_OFFICE.getMsg(), Arrays.asList(
- CASE_COMPLETE.getLabel()
- ));
- return map;
- }
- public static Map<Integer , List<String>> stepAndRole() {
- Map<Integer, List<String>> bizRoleMap = new HashMap<>();
- /* 新增业务 */
- bizRoleMap.put(BUSINESS_ADD.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 业务调查 */
- bizRoleMap.put(BUSINESS_ACCEPT.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 预审处理 */
- bizRoleMap.put(PRE_TRIAL.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 业务一审 / 二审 —— 仅审批人,无业务员 */
- bizRoleMap.put(APPROVAL.getCode(), Arrays.asList(RoleEnum.APPROVER.getMsg()));
- bizRoleMap.put(APPROVAL_2.getCode(), Arrays.asList(RoleEnum.APPROVER.getMsg()));
- /* 合同签署 */
- bizRoleMap.put(CONTRACT_SIGN.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 取证相关 */
- bizRoleMap.put(PLAN_SUBMISSION.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(EVIDENCE_CONFIRMATION.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- // bizRoleMap.put(CHANNEL_PUSH.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(APPROVAL_ASSIGNMENT.getCode(), Arrays.asList(APPROVER.getMsg()));
- /* 渠道推送/接收 —— 外部人员,业务员不介入 */
- // bizRoleMap.put(CHANNEL_CONFIRMATION.getCode(), Arrays.asList(EXTERNAL.getMsg()));
- // bizRoleMap.put(CHANNEL_RECEIVE.getCode(), Arrays.asList(EXTERNAL.getMsg()));
- /* 出帐环节 */
- bizRoleMap.put(PLAN_REPORT.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(DISBURSE_START.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(DISBURSE_CONFIRM.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 出帐派单/审批 —— 审批人 */
- bizRoleMap.put(PLAN_AUDIT.getCode(), Arrays.asList(APPROVER.getMsg()));
- bizRoleMap.put(DISBURSE_AUDIT.getCode(), Arrays.asList(APPROVER.getMsg()));
- /* 财务出帐 —— 财务人员 */
- bizRoleMap.put(FINANCE_DISBURSE.getCode(), Arrays.asList(FINANCE.getMsg()));
- /* 送证环节 */
- bizRoleMap.put(PLAN_SUBMISSION_2.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(DELIVERY_CONFIRMATION.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- // bizRoleMap.put(CHANNEL_PUSH_2.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 送证派单 —— 审批人 */
- bizRoleMap.put(APPROVAL_ASSIGNMENT_2.getCode(), Arrays.asList(APPROVER.getMsg()));
- /* 回款环节 */
- bizRoleMap.put(REPAY_START.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(BALANCE_REPAY.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- bizRoleMap.put(REPAYMENT_COMPLETE.getCode(), Arrays.asList(LEAD_SALES.getMsg(), ASSIST_SALES.getMsg()));
- /* 回款派单/财务核算/确认 —— 审批人/财务人员 */
- bizRoleMap.put(REPAY_APPROVAL.getCode(), Arrays.asList(APPROVER.getMsg()));
- // bizRoleMap.put(FINANCE_CHECK.getCode(), Arrays.asList(FINANCE.getMsg()));
- bizRoleMap.put(FINANCE_CONFIRM.getCode(),Arrays.asList(FINANCE.getMsg()));
- /* 业务终结 —— 综合员 */
- bizRoleMap.put(CASE_COMPLETE.getCode(), Arrays.asList(BACK_OFFICE.getMsg()));
- bizRoleMap.put(CASE_ARCHIVE.getCode(), Arrays.asList(BACK_OFFICE.getMsg()));
- return bizRoleMap;
- }
- public static List<List<Integer>> seqList(){
- List<List<Integer>> list = new ArrayList<>(Arrays.asList(
- Arrays.asList(),//受理0
- Arrays.asList(2),
- Arrays.asList(4),
- Arrays.asList(),//预审3
- Arrays.asList(6),
- Arrays.asList(),//审批5
- Arrays.asList(7),
- Arrays.asList(9),
- Arrays.asList(),//合同签约8
- Arrays.asList(11,15,22),
- Arrays.asList(),//押品取证10
- Arrays.asList(12),
- Arrays.asList(13),
- Arrays.asList(),
- Arrays.asList(),//出款14
- Arrays.asList(16),
- Arrays.asList(17),
- Arrays.asList(18),
- Arrays.asList(19),
- Arrays.asList(20),
- Arrays.asList(26),
- Arrays.asList(),//送证21
- Arrays.asList(23),
- Arrays.asList(24),
- Arrays.asList(),
- Arrays.asList(),//回款25
- Arrays.asList(27),
- Arrays.asList(28,29),
- Arrays.asList(30),
- Arrays.asList(30),
- Arrays.asList(31),
- Arrays.asList(32),
- Arrays.asList(33),
- Arrays.asList()
- ));
- return list;
- }
- }
|