|
@@ -18,6 +18,7 @@ import java.io.File;
|
|
|
import java.io.FileInputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
@@ -178,7 +179,22 @@ public class StNzydkServiceImpl extends ServiceImpl<StNzydkMapper, StNzydk> impl
|
|
|
stNzydk.setPch(batchInfo.containsKey("批次名称") ? String.valueOf(batchInfo.get("批次名称")) : null);
|
|
|
stNzydk.setLx(batchInfo.containsKey("类型") ? String.valueOf(batchInfo.get("类型")) : null);
|
|
|
stNzydk.setPwh(batchInfo.containsKey("批准文号") ? String.valueOf(batchInfo.get("批准文号")) : null);
|
|
|
- stNzydk.setPzrq(batchInfo.containsKey("批准日期") ? String.valueOf(batchInfo.get("批准日期")) : null);
|
|
|
+ // 解析批准日期为Date并格式化为yyyy-MM-dd字符串
|
|
|
+ String pzrqStr = batchInfo.containsKey("批准日期") ? String.valueOf(batchInfo.get("批准日期")) : null;
|
|
|
+ if (pzrqStr != null && !pzrqStr.isEmpty()) {
|
|
|
+ try {
|
|
|
+ Date pzrqDate = parseDate(pzrqStr);
|
|
|
+ java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ stNzydk.setPzrq(sdf.format(pzrqDate));
|
|
|
+ } catch (Exception e) {
|
|
|
+ String msg = String.format("批准日期格式化失败: %s,错误:%s", pzrqStr, e.getMessage());
|
|
|
+ log.warn(msg);
|
|
|
+ errorList.add(msg);
|
|
|
+ stNzydk.setPzrq(pzrqStr); // 回退为原始字符串
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ stNzydk.setPzrq(null);
|
|
|
+ }
|
|
|
stNzydk.setPzMj(parseBigDecimal(batchInfo.containsKey("批次总面积(公顷)") ? String.valueOf(batchInfo.get("批次总面积(公顷)")) : null));
|
|
|
stNzydk.setNmjf(batchInfo.containsKey("是否农民建房") ? String.valueOf(batchInfo.get("是否农民建房")) : null);
|
|
|
} else {
|
|
@@ -235,4 +251,23 @@ public class StNzydkServiceImpl extends ServiceImpl<StNzydkMapper, StNzydk> impl
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 解析时间字段
|
|
|
+ * @param dateStr
|
|
|
+ * @return
|
|
|
+ * @throws java.text.ParseException
|
|
|
+ */
|
|
|
+ private static Date parseDate(String dateStr) throws java.text.ParseException {
|
|
|
+ List<SimpleDateFormat> formats = Arrays.asList(
|
|
|
+ new SimpleDateFormat("yyyy/MM/dd"),
|
|
|
+ new SimpleDateFormat("yyyy-MM-dd"),
|
|
|
+ new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH)
|
|
|
+ );
|
|
|
+ for (SimpleDateFormat sdf : formats) {
|
|
|
+ try {
|
|
|
+ return sdf.parse(dateStr);
|
|
|
+ } catch (java.text.ParseException ignored) {}
|
|
|
+ }
|
|
|
+ throw new java.text.ParseException("Unparseable date: \"" + dateStr + "\"", 0);
|
|
|
+ }
|
|
|
}
|