zhuguifei
2025-04-28 442928123f63ee497d766f9a7a14f0a6ee067e25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package org.jeecg.common.utils;
 
import com.google.common.collect.Lists;
import lombok.Data;
import lombok.Getter;
 
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
 
/**
 * 字典枚举
 */
@Getter
public enum DictEnum {
 
    /*********************** 公共模块 *************************/
    // 星期
    BASE_WEEKS_SUNDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "1", "星期日"),
    BASE_WEEKS_MONDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "2", "星期一"),
    BASE_WEEKS_TUESDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "3", "星期二"),
    BASE_WEEKS_WEDNESDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "4", "星期三"),
    BASE_WEEKS_THURSDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "5", "星期四"),
    BASE_WEEKS_FRIDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "6", "星期五"),
    BASE_WEEKS_SATURDAY(DictModelConstant.MODEL_BASE, DictModelConstant.MODEL_BASE_WEEK, "7", "星期六"),
 
 
    /*********************** 任务申请模块 *************************/
 
    // 流程状态
    APPLY_STATUS_NOT_START(DictModelConstant.MODEL_APPLY, DictModelConstant.MODEL_APPLY_STATUS, "0", "未开始"),
    APPLY_STATUS_PROCESSING(DictModelConstant.MODEL_APPLY, DictModelConstant.MODEL_APPLY_STATUS, "1", "进行中"),
    APPLY_STATUS_FINISH(DictModelConstant.MODEL_APPLY, DictModelConstant.MODEL_APPLY_STATUS, "2", "已结束"),
 
    //流程审批结果
    APPLY_RESULT_REFUSE(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_RESULT,"0","未通过"),
    APPLY_RESULT_AGREE(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_RESULT,"1","通过"),
    APPLY_RESULT_PROCESSING(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_RESULT,"2","审批中"),
    APPLY_RESULT_CANCEL(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_RESULT,"3","申请取消"),
 
    //流程审批操作类型
    Apply_APPROVAL_OPINION_REFUSE(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"0","拒绝"),
    Apply_APPROVAL_OPINION_AGREE(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"1","同意"),
    APPLY_APPROVAL_OPINION_REJECT(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"2","驳回"),
    APPLY_APPROVAL_OPINION_CONFIRM(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"3","确认"),
    APPLY_APPROVAL_OPINION_REAPPLY(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"4","继续申请"),
    APPLY_APPROVAL_OPINION_ABANDON(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"5","取消申请"),
    APPLY_APPROVAL_OPINION_ASSIGN(DictModelConstant.MODEL_APPLY,DictModelConstant.MODEL_APPLY_APPROVAL_OPINION_FLAG,"6","撤回到指定节点"),
 
 
    /*********************** 流程审批表单配置模块 *************************/
    //zshb_contact 表名
    FORMKEY_APPLY(DictModelConstant.MODEL_APPLY_CONFIG, DictModelConstant.MODEL_APPLY_CONFIG_FORMKEY, "leave", "请假"),
    FORMKEY_RECTIFY(DictModelConstant.MODEL_APPLY_CONFIG, DictModelConstant.MODEL_APPLY_CONFIG_FORMKEY, "zshb_contact", "工作联系单"),
    FORMKEY_PROBLEM(DictModelConstant.MODEL_APPLY_CONFIG, DictModelConstant.MODEL_APPLY_CONFIG_FORMKEY, "zshb_contact_problem", "问题跟踪"),
    ;
 
 
    DictEnum(String model, String code, String key, String value) {
        this.model = model;
        this.code = code;
        this.key = key;
        this.value = value;
    }
 
    private String model;
    private String code;
    private String key;
    private String value;
 
    /**
     * 返回字典值
     *
     * @param model
     * @param code
     * @param key
     * @return
     */
    public static String getValue(String model, String code, String key) {
        for (DictEnum dictEnum : DictEnum.values()) {
            if (dictEnum.getModel().equals(model) && dictEnum.getCode().equals(code) && dictEnum.getKey().equals(key)) {
                return dictEnum.getValue();
            }
        }
        return "其他";
    }
 
    /**
     * 返回模块枚举集合
     *
     * @param model
     * @param code
     * @return
     */
    public static List<DictEnum> getEnumList(String model, String code) {
        List<DictEnum> result = Arrays.stream(DictEnum.values())
                .filter(dictEnum -> dictEnum.getModel().equals(model) && dictEnum.getCode().equals(code))
                .collect(Collectors.toList());
 
        return result;
    }
 
    /**
     * 获取 数据字典 集合
     *
     * @param model
     * @param code
     * @return
     */
    public static List<DictVO> getDictVOList(String model, String code) {
        List<DictVO> list = Lists.newArrayList();
        for (DictEnum dictEnum : DictEnum.values()) {
            if (dictEnum.getModel().equals(model) && dictEnum.getCode().equals(code)) {
                DictVO vo = new DictVO();
                vo.setKey(dictEnum.getKey());
                vo.setValue(dictEnum.getValue());
                list.add(vo);
            }
        }
        return list;
    }
 
    @Data
    static class DictVO {
        private String key;
        private String value;
    }
 
}