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;
|
}
|
}
|