diff --git a/src/main/java/neatlogic/module/process/api/processtask/ImportProcessTaskDataApi.java b/src/main/java/neatlogic/module/process/api/processtask/ImportProcessTaskDataApi.java index 7e2542ffa5dc3bfc8acee5933ed546f884827dc3..bbcce5037f8d3765699855c20161bc618da7af55 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ImportProcessTaskDataApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ImportProcessTaskDataApi.java @@ -27,6 +27,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.zip.ZipEntry; @@ -67,6 +68,7 @@ public class ImportProcessTaskDataApi extends PrivateBinaryStreamApiComponentBas @Description(desc = "导入工单相关表数据") @Override public Object myDoService(JSONObject paramObj, HttpServletRequest request, HttpServletResponse response) throws Exception { + Map> resultObj = new HashMap<>(); Long fileId = paramObj.getLong("fileId"); FileVo fileVo = fileMapper.getFileById(fileId); if (fileVo == null) { @@ -102,7 +104,8 @@ public class ImportProcessTaskDataApi extends PrivateBinaryStreamApiComponentBas columnNameList.add(entry1.getKey()); columnValueList.add(entry1.getValue()); } - processTaskDataMapper.insertOne(tableName, columnNameList, columnValueList); + int count = processTaskDataMapper.replaceOne(tableName, columnNameList, columnValueList); + resultObj.computeIfAbsent(tableName, k -> new ArrayList<>()).add(count); } } else if (value instanceof JSONArray) { JSONArray valueArray = (JSONArray) value; @@ -115,7 +118,8 @@ public class ImportProcessTaskDataApi extends PrivateBinaryStreamApiComponentBas columnNameList.add(entry1.getKey()); columnValueList.add(entry1.getValue()); } - processTaskDataMapper.insertOne(tableName, columnNameList, columnValueList); + int count = processTaskDataMapper.replaceOne(tableName, columnNameList, columnValueList); + resultObj.computeIfAbsent(tableName, k -> new ArrayList<>()).add(count); } } } @@ -127,6 +131,6 @@ public class ImportProcessTaskDataApi extends PrivateBinaryStreamApiComponentBas } catch (IOException e) { logger.error(e.getMessage(), e); } - return null; + return resultObj; } } diff --git a/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.java index 728370c31d0df0910b5a822087f5b9b3b3fa9631..8f28beac8a8cc3a5beb07c67b6d2d03752f512cd 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.java @@ -13,4 +13,6 @@ public interface ProcessTaskDataMapper { Long getLong(String sql); int insertOne(@Param("tableName") String tableName, @Param("columnNameList") List columnNameList, @Param("columnValueList") List columnValueList); + + int replaceOne(@Param("tableName") String tableName, @Param("columnNameList") List columnNameList, @Param("columnValueList") List columnValueList); } diff --git a/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.xml index aaf9044fc157ddff5827bfae1484711a5aff1b68..cf8030cec0b2e0a1754ab4bf0b8f3bf5e318ca9f 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/ProcessTaskDataMapper.xml @@ -38,4 +38,15 @@ along with this program. If not, see .--> #{columnValue} + + + replace into ${tableName} + + `${columnName}` + + values + + #{columnValue} + + \ No newline at end of file