cl
15 小时以前 0e85601e2f80b6cb580c0fad9be9518f58c5882c
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
package com.vincent.rsf.server.manager.enums;
 
import org.apache.commons.lang3.StringUtils;
 
/**
 * 云仓单据与 cus_item_sync_view 的物料策略(对应 sys_config.flag=CUS_ITEM_SYNC_MODE 的 val)
 */
public enum CusItemSyncMode {
 
    /** 不强制:视图能查到则对物料表新增/更新;查不到再查物料表,存在则放行 */
    NONE("none"),
    /** 强制:明细物料均须在视图中存在,查到则对物料表新增/更新 */
    FORCE_VIEW("force_view");
 
    private final String code;
 
    CusItemSyncMode(String code) {
        this.code = code;
    }
 
    public String getCode() {
        return code;
    }
 
    public static CusItemSyncMode fromConfig(String val) {
        if (StringUtils.isBlank(val)) {
            return NONE;
        }
        String v = val.trim().toLowerCase();
        if ("true".equals(v) || "1".equals(v)) {
            return FORCE_VIEW;
        }
        if ("false".equals(v) || "0".equals(v)) {
            return NONE;
        }
        // 历史值,与「不强制」行为一致
        if ("fallback_matnr".equals(v)) {
            return NONE;
        }
        for (CusItemSyncMode m : values()) {
            if (m.code.equals(v)) {
                return m;
            }
        }
        return NONE;
    }
}