|
|
@@ -243,7 +243,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
String djbh = String.valueOf(receivableItem.get("djbh"));
|
|
|
List<Map<String, Object>> tableListData = UtilMap.getList(receivableItem, "tableList");
|
|
|
List<Map<String, Object>> paymentListData = UtilMap.getList(receivableItem, "paymentList");
|
|
|
- Long receivableId = UtilMap.getLong(receivableItem, "receivableId");
|
|
|
+// String receivableId = UtilMap.getString(receivableItem, "receivableId");
|
|
|
|
|
|
// 检查应收单明细数据是否存在
|
|
|
if (tableListData == null || tableListData.isEmpty()) {
|
|
|
@@ -256,13 +256,12 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
}
|
|
|
|
|
|
// 处理应收单明细
|
|
|
- int count = 1;
|
|
|
+
|
|
|
ArrayList<Object> tableList = new ArrayList<>();
|
|
|
for (Map<String, Object> detailItem : tableListData) {
|
|
|
HashMap<Object, Object> tablemap = new HashMap<>();
|
|
|
|
|
|
// 使用辅助方法安全获取和格式化数据
|
|
|
- tablemap.put("textField_mgt4w4ip", count);
|
|
|
tablemap.put("textField_mf6el3zy", String.valueOf(detailItem.get("wlbm")));
|
|
|
tablemap.put("textField_mf6el3zz", String.valueOf(detailItem.get("wlmc")));
|
|
|
tablemap.put("textField_mejmtic5", String.valueOf(detailItem.get("ggxh")));
|
|
|
@@ -271,7 +270,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
tablemap.put("numberField_mf6el402", safeFormatBigDecimal(detailItem.get("dj")));
|
|
|
tablemap.put("numberField_mejmticb", safeFormatBigDecimal(detailItem.get("hsdj")));
|
|
|
tablemap.put("numberField_mf6el403", safeFormatBigDecimal(detailItem.get("sl")));
|
|
|
- tablemap.put("numberField_mejmtic7", safeFormatBigDecimal(detailItem.get("jshj")));
|
|
|
+ tablemap.put("numberField_mejmtic7", safeFormatBigDecimal(detailItem.get("jshj1")));
|
|
|
tablemap.put("textField_mf6el409", String.valueOf(detailItem.get("kcdw")));
|
|
|
tablemap.put("textField_mf6el408", String.valueOf(detailItem.get("ph")));
|
|
|
tablemap.put("numberField_mf6el406", safeFormatBigDecimal(detailItem.get("se")));
|
|
|
@@ -286,7 +285,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
tablemap.put("textField_mf6el40b", String.valueOf(detailItem.get("gg")));
|
|
|
tablemap.put("numberField_mf6el405", safeFormatBigDecimal(detailItem.get("zke")));
|
|
|
|
|
|
- count++;
|
|
|
+
|
|
|
tableList.add(tablemap);
|
|
|
}
|
|
|
|
|
|
@@ -298,21 +297,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
|
|
|
// 处理日期字段
|
|
|
Object endTimeObj = paymentItem.get("endTime");
|
|
|
- if (endTimeObj instanceof LocalDateTime) {
|
|
|
- long timestamp = ((LocalDateTime) endTimeObj).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
|
|
|
- tablemap1.put("dateField_mhiui6v9", timestamp);
|
|
|
- } else if (endTimeObj instanceof String) {
|
|
|
- // 尝试解析字符串日期
|
|
|
- try {
|
|
|
- LocalDateTime dateTime = LocalDateTime.parse((String) endTimeObj,
|
|
|
- DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
|
|
- long timestamp = dateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
|
|
|
- tablemap1.put("dateField_mhiui6v9", timestamp);
|
|
|
- } catch (Exception e) {
|
|
|
- log.warn("无法解析日期字符串: {}", endTimeObj);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ tablemap1.put("dateField_mhiui6v9", safeConvertDateTimeToString(endTimeObj));
|
|
|
tablemap1.put("textField_mhiui6va", String.valueOf(paymentItem.get("xsddh")));
|
|
|
tablemap1.put("numberField_mhiui6v8", safeFormatBigDecimal(paymentItem.get("ysje")));
|
|
|
tablemap1.put("numberField_mhiui6v6", safeFormatBigDecimal(paymentItem.get("ysbl")));
|
|
|
@@ -374,18 +359,11 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
updateData.put("selectField_mev13l3r", String.valueOf(receivableItem.get("sktj")));
|
|
|
|
|
|
// 处理主表日期字段
|
|
|
- Object endTimeObj = receivableItem.get("endTime");
|
|
|
- if (endTimeObj instanceof LocalDateTime) {
|
|
|
- updateData.put("dateField_mejmtic3",
|
|
|
- ((LocalDateTime) endTimeObj).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
|
|
|
- }
|
|
|
+ Object endTimeObj1 = receivableItem.get("endTime");
|
|
|
+ updateData.put("dateField_mejmtic3", safeConvertDateTimeToString(endTimeObj1));
|
|
|
|
|
|
Object businessTimeObj = receivableItem.get("businessTime");
|
|
|
- if (businessTimeObj instanceof LocalDateTime) {
|
|
|
- updateData.put("dateField_mejmtic2",
|
|
|
- ((LocalDateTime) businessTimeObj).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
|
|
|
- }
|
|
|
-
|
|
|
+ updateData.put("dateField_mejmtic2", safeConvertDateTimeToString(endTimeObj1));
|
|
|
updateData.put("numberField_mejmtic8", safeFormatBigDecimal(receivableItem.get("jshj")));
|
|
|
updateData.put("textField_mejmml3k", String.valueOf(receivableItem.get("kh")));
|
|
|
updateData.put("textField_mhjy9hzh", String.valueOf(receivableItem.get("xsy")));
|
|
|
@@ -412,7 +390,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
singleResult.put("paymentCount", tableListPay.size());
|
|
|
successCount++;
|
|
|
|
|
|
- log.info("应收单同步成功: djbh={}, receivableId={}", djbh, receivableId);
|
|
|
+// log.info("应收单同步成功: djbh={}, receivableId={}", djbh, receivableId);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
String djbh = String.valueOf(receivableItem.get("djbh"));
|
|
|
@@ -459,7 +437,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
HashMap<String, Object> result = new HashMap<>();
|
|
|
|
|
|
try {
|
|
|
- MDC.put("MDC_KEY_PID", "1006");
|
|
|
+ MDC.put("MDC_KEY_PID", "1003");
|
|
|
List<Map<String, Object>> kdYdPaymentReceiptDels = UtilMap.getList(json, "data");
|
|
|
String action = UtilMap.getString(json, "action");
|
|
|
String table = UtilMap.getString(json, "table");
|
|
|
@@ -547,7 +525,7 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
try {
|
|
|
String djbh = String.valueOf(paymentItem.get("djbh"));
|
|
|
List<Map<String, Object>> tableListData = UtilMap.getList(paymentItem, "tableList");
|
|
|
- Long paymentReceiptId = UtilMap.getLong(paymentItem, "paymentReceiptId");
|
|
|
+// String paymentReceiptId = UtilMap.getString(paymentItem, "paymentReceiptId");
|
|
|
|
|
|
// 检查明细数据是否存在
|
|
|
if (tableListData == null || tableListData.isEmpty()) {
|
|
|
@@ -634,22 +612,8 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
|
|
|
// 处理日期字段
|
|
|
Object ywrqObj = paymentItem.get("ywrq");
|
|
|
- if (ywrqObj != null) {
|
|
|
- if (ywrqObj instanceof LocalDateTime) {
|
|
|
- long timestamp = ((LocalDateTime) ywrqObj).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
|
|
|
- updateMap.put("dateField_mh9woan5", timestamp);
|
|
|
- } else if (ywrqObj instanceof String) {
|
|
|
- // 尝试解析字符串日期
|
|
|
- try {
|
|
|
- LocalDateTime dateTime = LocalDateTime.parse((String) ywrqObj,
|
|
|
- DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
|
|
- long timestamp = dateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
|
|
|
- updateMap.put("dateField_mh9woan5", timestamp);
|
|
|
- } catch (Exception e) {
|
|
|
- log.warn("无法解析日期字符串: {}", ywrqObj);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ updateMap.put("dateField_mh9woan5", safeConvertDateTimeToString(ywrqObj));
|
|
|
+
|
|
|
|
|
|
updateMap.put("textField_mh9woanp", String.valueOf(paymentItem.get("wldwlx")));
|
|
|
updateMap.put("textField_mh9woanq", String.valueOf(paymentItem.get("wldw")));
|
|
|
@@ -672,10 +636,9 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
singleResult.put("operationResult", operationResult);
|
|
|
singleResult.put("status", "success");
|
|
|
singleResult.put("ddformInstanceId", ddformInstanceId);
|
|
|
- singleResult.put("paymentReceiptId", paymentReceiptId);
|
|
|
successCount++;
|
|
|
|
|
|
- log.info("收款单同步成功: djbh={}, paymentReceiptId={}", djbh, paymentReceiptId);
|
|
|
+// log.info("收款单同步成功: djbh={}, paymentReceiptId={}", djbh, paymentReceiptId);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
String djbh = String.valueOf(paymentItem.get("djbh"));
|
|
|
@@ -715,7 +678,27 @@ public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper,
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+ private String safeConvertDateTimeToString(Object dateTime) {
|
|
|
+ try {
|
|
|
+ if (dateTime instanceof LocalDateTime) {
|
|
|
+ return String.valueOf(((LocalDateTime) dateTime)
|
|
|
+ .atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
|
|
|
+ }
|
|
|
+ if (dateTime instanceof Date) return String.valueOf(((Date) dateTime).getTime());
|
|
|
+ if (dateTime instanceof Long) return String.valueOf(dateTime);
|
|
|
+ if (dateTime instanceof Integer) {
|
|
|
+ long t = ((Integer) dateTime).longValue();
|
|
|
+ return String.valueOf(t < 10000000000L ? t * 1000L : t);
|
|
|
+ }
|
|
|
+ if (dateTime instanceof String) {
|
|
|
+ String s = ((String) dateTime).trim();
|
|
|
+ if (s.matches("\\d+")) {
|
|
|
+ return String.valueOf(s.length() == 10 ? Long.parseLong(s) * 1000L : Long.parseLong(s));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ } catch (Exception e) { return ""; }
|
|
|
+ }
|
|
|
// 辅助方法 - 安全格式化 BigDecimal 为字符串(保留2位小数)
|
|
|
private String safeFormatBigDecimalToString(Object value) {
|
|
|
if (value == null) {
|