Răsfoiți Sursa

fix(import): 解决数据导入失败结果导出和错误处理问题

- 修正导出文件名从"历史数据迁移任务"为"外部数据导入任务"
- 移除TODO注释并激活错误数据设置功能
- 添加setErrorData方法用于批量设置错误数据记录
- 优化SinsurTempDataListPlugin中的返回数据类型转换
- 为importingData操作添加条件判断,根据返回数据决定是否打开导入结果视图
- 新增openImportingView方法用于显示导入结果详情页面
Tyx 3 zile în urmă
părinte
comite
555f84913a

+ 1 - 1
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/business/importtaskguide/ImportTaskGuideExportService.java

@@ -217,7 +217,7 @@ public class ImportTaskGuideExportService {
 
             try {
                 String dd = DateTimeUtils.format(new Date(), "yyyyMMdd");
-                String exportFileName = MessageFormat.format(ResManager.loadKDString("历史数据迁移任务_数据导入失败结果_{0}", "ImportTaskGuideExportService_3", "swc-hsas-business", new Object[0]), dd);
+                String exportFileName = MessageFormat.format(ResManager.loadKDString("外部数据导入任务_数据导入失败结果_{0}", "ImportTaskGuideExportService_3", "swc-hsas-business", new Object[0]), dd);
                 String sheetName = ResManager.loadKDString("数据导入模板", "ImportTaskGuideExportService_2", "swc-hsas-business", new Object[0]);
                 SXSSFSheet sheet = wb.createSheet(sheetName);
                 sheet.setRandomAccessWindowSize(-1);

+ 8 - 1
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/business/importtaskguide/ImportTaskGuideImportService.java

@@ -185,7 +185,7 @@ public class ImportTaskGuideImportService {
             successCount = 0;
             failCount = dataRowList.size();
             errDataList.clear();
-            // TODO this.setErrorData(dataRowList.size(), lineIndexVer, errDataList, e.getMessage());
+            this.setErrorData(dataRowList.size(), lineIndexVer, errDataList, e.getMessage());
             return;
         } finally {
             allErrDataList.addAll(errDataList);
@@ -359,6 +359,13 @@ public class ImportTaskGuideImportService {
         return errMap;
     }
 
+    private void setErrorData(int size, int lineIndexVer, List<Map<String, String>> errDataList, String errorMsg) {
+        for(int i = 0; i < size; ++i) {
+            errDataList.add(this.assembleErrMap(lineIndexVer, false, errorMsg));
+            ++lineIndexVer;
+        }
+    }
+
     private void checkExcelTemplate(List<Map<Integer, String>> dataHeadList, Set<String> errDataList, Map<Integer, SinsurPresetItemEnum> tplFixItemMap) {
         Map<Integer, String> dataHeadMap = (Map)dataHeadList.get(0);
         String excelName = null;

+ 20 - 2
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/sit/hcsi/formplugin/web/tp/SinsurTempDataListPlugin.java

@@ -109,8 +109,9 @@ public class SinsurTempDataListPlugin extends AbstractListPlugin implements Plug
     public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
         super.closedCallBack(closedCallBackEvent);
         String actionId = closedCallBackEvent.getActionId();
+        Map returnData;
         if ("importData".equals(actionId)) {
-            Map<String, Object> returnData = (Map)closedCallBackEvent.getReturnData();
+            returnData = (Map)closedCallBackEvent.getReturnData();
             if (returnData == null) {
                 return;
             }
@@ -123,7 +124,12 @@ public class SinsurTempDataListPlugin extends AbstractListPlugin implements Plug
             }
         }
         else if ("importingData".equals(actionId)) {
-            this.getView().invokeOperation("refresh");
+            returnData = (Map)closedCallBackEvent.getReturnData();
+            if (returnData != null && !returnData.isEmpty()) {
+                this.openImportingView(returnData);
+            } else {
+                this.getView().invokeOperation("refresh");
+            }
         } else if (!"checkprogress".equals(actionId) && !"dataPreDeal".equals(actionId)) {
             if ("donothing_writein".equals(actionId)) {
                 this.getView().invokeOperation("refresh");
@@ -148,4 +154,16 @@ public class SinsurTempDataListPlugin extends AbstractListPlugin implements Plug
         formShowParameter.setCloseCallBack(new CloseCallBack(this, closeCalBackId));
         this.getView().showForm(formShowParameter);
     }
+
+    private void openImportingView(Map<String, Object> dataMap) {
+        FormShowParameter formShowParameter = new FormShowParameter();
+        formShowParameter.setFormId("hsas_taskguideimportret");
+        formShowParameter.getOpenStyle().setShowType(ShowType.Modal);
+        formShowParameter.setCustomParam("importTaskId", dataMap.get("importTaskId"));
+        formShowParameter.setCustomParam("successCout", dataMap.get("successCout"));
+        formShowParameter.setCustomParam("failCout", dataMap.get("failCout"));
+        formShowParameter.setCustomParam("cacheKey", dataMap.get("cacheKey"));
+        formShowParameter.setCloseCallBack(new CloseCallBack(this, "importErrorData"));
+        this.getView().showForm(formShowParameter);
+    }
 }