刘光辉
6 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
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
package jnpf.elnService.template.docx;
 
import jnpf.exception.DataException;
import jnpf.util.JsonUtil;
import org.springframework.util.StringUtils;
 
import java.util.LinkedHashMap;
import java.util.Map;
 
public final class DocxExpectedControlConfig {
 
    public static final String DATE_FORMAT = "yyyy-MM-dd";
    public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
 
    private DocxExpectedControlConfig() {
    }
 
    @SuppressWarnings("unchecked")
    public static Map<String, Object> from(String dataType, String json) {
        Map<String, Object> result = StringUtils.hasText(json)
                ? new LinkedHashMap<>(JsonUtil.getJsonToBean(json, Map.class))
                : new LinkedHashMap<>();
        String defaultFormat = "DATETIME".equals(dataType) ? DATETIME_FORMAT
                : "DATE".equals(dataType) ? DATE_FORMAT : null;
        if (defaultFormat == null) {
            return result;
        }
        Object configured = result.get("dateFormat");
        if (configured == null || configured instanceof String
                && !StringUtils.hasText((String) configured)) {
            result.put("dateFormat", defaultFormat);
        } else if (!(configured instanceof String)) {
            throw new DataException("日期控件格式必须是字符串");
        }
        return result;
    }
}