From f29e6f31e4f2d533124fc68346b7cc072f427c9b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期四, 11 十二月 2025 16:58:24 +0800
Subject: [PATCH] Z三导入逻辑

---
 service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 3 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java b/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java
index 03c6a8a..b379f69 100644
--- a/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java
@@ -1,8 +1,13 @@
 package com.java110.common.bmo.assetImportLogDetail.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.common.bmo.assetImportLogDetail.IGetAssetImportLogDetailBMO;
-import com.java110.dto.assetImportLog.AssetImportLogDetailDto;
+import com.java110.dto.log.AssetImportLogDetailDto;
+import com.java110.dto.log.AssetImportLogTypeDto;
 import com.java110.intf.common.IAssetImportLogDetailInnerServiceSMO;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -28,17 +33,73 @@
         int count = assetImportLogDetailInnerServiceSMOImpl.queryAssetImportLogDetailsCount(assetImportLogDetailDto);
 
         List<AssetImportLogDetailDto> assetImportLogDetailDtos = null;
+
+        JSONArray datas = null;
         if (count > 0) {
             assetImportLogDetailDtos = assetImportLogDetailInnerServiceSMOImpl.queryAssetImportLogDetails(assetImportLogDetailDto);
+            // todo 杞崲涓簀sonArray
+            datas = covertToData(assetImportLogDetailDtos);
         } else {
-            assetImportLogDetailDtos = new ArrayList<>();
+            datas = new JSONArray();
         }
 
-        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) assetImportLogDetailDto.getRow()), count, assetImportLogDetailDtos);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) assetImportLogDetailDto.getRow()), count, datas);
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
         return responseEntity;
     }
 
+    private JSONArray covertToData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
+        JSONArray datas = new JSONArray();
+
+        // 绌哄垪琛ㄧ洿鎺ヨ繑鍥炵┖JSONArray
+        if (assetImportLogDetailDtos == null || assetImportLogDetailDtos.size() < 1) {
+            return datas;
+        }
+
+        JSONObject data = null;
+        Object contentObj = null;
+
+        for (AssetImportLogDetailDto assetImportLogDetailDto : assetImportLogDetailDtos) {
+            // 灏咲TO杞崲涓篔SONObject
+            data = BeanConvertUtil.beanCovertJson(assetImportLogDetailDto);
+            contentObj = assetImportLogDetailDto.getContent();
+
+            // 澶勭悊content瀛楁锛堢湡瀹炲�间负String[]锛屽寘鍚玭ull銆佸瓧绗︿覆銆佹暟瀛椼�佸竷灏斿�硷級
+            if (contentObj != null && contentObj instanceof String[]) {
+                String[] contentArray = (String[]) contentObj;
+                // 杞崲String[]涓篔SONArray锛屼繚鐣欏師鏈夋暟鎹被鍨嬶紙null銆佸瓧绗︿覆绛夛級
+                JSONArray contentJsonArray = new JSONArray();
+                for (Object item : contentArray) { // 鐢∣bject鎺ユ敹锛屽吋瀹规暟缁勫唴鐨刵ull鍜屽悇绉嶇被鍨�
+                    contentJsonArray.add(item);
+                }
+                // 灏嗘暟缁勫瓨鍏SONObject锛宬ey涓�"content"
+                data.put("content", contentJsonArray);
+            } else if (contentObj != null && contentObj instanceof String) {
+                // 鍏煎鍙兘鐨勫瓧绗︿覆鏍煎紡锛堜繚鐣欏師鏈夐�昏緫锛�
+                String contentStr = (String) contentObj;
+                if (!StringUtil.isEmpty(contentStr)) {
+                    try {
+                        // 鑻ュ瓧绗︿覆鏄疛SON瀵硅薄/鏁扮粍锛屽垎鍒В鏋�
+                        if (contentStr.startsWith("{")) {
+                            data.putAll(JSONObject.parseObject(contentStr));
+                        } else if (contentStr.startsWith("[")) {
+                            data.put("content", JSONArray.parseArray(contentStr));
+                        } else {
+                            data.put("content", contentStr);
+                        }
+                    } catch (Exception e) {
+                        // 闈濲SON鏍煎紡瀛楃涓茬洿鎺ュ瓨鍏�
+                        data.put("content", contentStr);
+                    }
+                }
+            }
+
+            datas.add(data);
+        }
+
+        return datas;
+    }
+
 }

--
Gitblit v1.8.0