diff --git a/src/main/java/neatlogic/module/framework/matrix/attrtype/handler/MatrixDataAttrTypeHandler.java b/src/main/java/neatlogic/module/framework/matrix/attrtype/handler/MatrixDateAttrTypeHandler.java similarity index 59% rename from src/main/java/neatlogic/module/framework/matrix/attrtype/handler/MatrixDataAttrTypeHandler.java rename to src/main/java/neatlogic/module/framework/matrix/attrtype/handler/MatrixDateAttrTypeHandler.java index d0317032cddd978d6ea0fd2895a8f11fba27d264..c61c16c9f6ea8a9f2c0eabf6ed7a049728db0e86 100644 --- a/src/main/java/neatlogic/module/framework/matrix/attrtype/handler/MatrixDataAttrTypeHandler.java +++ b/src/main/java/neatlogic/module/framework/matrix/attrtype/handler/MatrixDateAttrTypeHandler.java @@ -27,13 +27,10 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.Collections; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; @Service -public class MatrixDataAttrTypeHandler extends MatrixAttrTypeBase { +public class MatrixDateAttrTypeHandler extends MatrixAttrTypeBase { @Override public String getHandler() { return MatrixAttributeType.DATE.getValue(); @@ -41,24 +38,30 @@ public class MatrixDataAttrTypeHandler extends MatrixAttrTypeBase { @Override public void getTextByValue(MatrixAttributeVo matrixAttribute, Object valueObj, JSONObject resultObj) { - String newValue = null; - JSONObject config = matrixAttribute.getConfig(); - if (MapUtils.isNotEmpty(config)) { - String format = config.getString("format"); - if (StringUtils.isBlank(format)) { - format = TimeUtil.YYYY_MM_DD_HH_MM_SS; - } - String styleType = config.getString("styleType"); - if (StringUtils.isNotBlank(styleType) && !Objects.equals(styleType, "-")) { - if ("|".equals(styleType)) { - styleType = ""; + if (valueObj != null) { + if (valueObj instanceof Date) { + String format = TimeUtil.YYYY_MM_DD_HH_MM_SS; + JSONObject config = matrixAttribute.getConfig(); + if (MapUtils.isNotEmpty(config)) { + format = config.getString("format"); + if (StringUtils.isBlank(format)) { + format = TimeUtil.YYYY_MM_DD_HH_MM_SS; + } + String styleType = config.getString("styleType"); + if (StringUtils.isNotBlank(styleType) && !Objects.equals(styleType, "-")) { + if ("|".equals(styleType)) { + styleType = ""; + } + format = format.replace("-", styleType); + } } - format = format.replace("-", styleType); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); + String newValue = simpleDateFormat.format(valueObj); + resultObj.put("text", newValue); + } else { + resultObj.put("text", valueObj); } - SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); - newValue = simpleDateFormat.format(valueObj); } - resultObj.put("text", newValue); } @Override diff --git a/src/main/java/neatlogic/module/framework/matrix/handler/CustomDataSourceHandler.java b/src/main/java/neatlogic/module/framework/matrix/handler/CustomDataSourceHandler.java index c41ebf6365eb150469fbaddd8a0be5cd54f10b72..c511b681f2211398eadc4b79c3cb037dde8a48ba 100644 --- a/src/main/java/neatlogic/module/framework/matrix/handler/CustomDataSourceHandler.java +++ b/src/main/java/neatlogic/module/framework/matrix/handler/CustomDataSourceHandler.java @@ -737,6 +737,8 @@ public class CustomDataSourceHandler extends MatrixDataSourceHandlerBase { } catch (ParseException e) { throw new RuntimeException(e); } + } else { + newValue = value; } } else { newValue = value;