From 5942c54cb571d6014558dd6ce106532058b070c6 Mon Sep 17 00:00:00 2001 From: dhy1725534722 <1725534722@qq.com> Date: Tue, 26 Mar 2024 20:54:41 +0800 Subject: [PATCH] =?UTF-8?q?json=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=8C=89?= =?UTF-8?q?=E5=80=BC=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ent/controller/JMemorandumController.java | 6 ++-- .../ent/controller/JProjectController.java | 14 ++++------ .../common/utils/poi/ProjectExcelUtil.java | 28 ++++++++++++++----- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JMemorandumController.java b/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JMemorandumController.java index aa51c09..a18ca41 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JMemorandumController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JMemorandumController.java @@ -86,13 +86,13 @@ public class JMemorandumController extends BaseController { /** * 删除数据 * - * @param idList 主键结合 + * @param id 主键结合 * @return 删除结果 */ @ApiOperation(value = "删除数据") @DeleteMapping - public AjaxResult delete(@RequestParam("idList") List idList) { - return success(this.jMemorandumService.removeByIds(idList)); + public AjaxResult delete(@RequestParam("id") Long id) { + return success(this.jMemorandumService.removeById(id)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JProjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JProjectController.java index a991ec4..e8ca3c9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JProjectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/jjh/ent/controller/JProjectController.java @@ -87,13 +87,13 @@ public class JProjectController extends BaseController { /** * 删除数据 * - * @param idList 主键结合 + * @param id 主键 * @return 删除结果 */ @ApiOperation(value = "删除项目") @DeleteMapping - public AjaxResult delete(@RequestParam("idList") List idList) { - return success(this.jProjectService.removeByIds(idList)); + public AjaxResult delete(@RequestParam("id") Long id) { + return success(this.jProjectService.removeById(id)); } /** @@ -114,12 +114,8 @@ public class JProjectController extends BaseController { if(proList == null && proList.isEmpty()){ throw new ServiceException("项目导入数据不能为空"); }else { - if (!proList.isEmpty()) { - jProjectService.saveBatch(proList); - successMsg.append("导入成功"); - } else { - successMsg.append("导入失败,文件为空"); - } + jProjectService.saveBatch(proList); + successMsg.append("导入成功"); } return AjaxResult.success(successMsg); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ProjectExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ProjectExcelUtil.java index 05ebd10..c99863f 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ProjectExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ProjectExcelUtil.java @@ -310,7 +310,7 @@ public class ProjectExcelUtil { fieldsMap.put(column, objects); } } - if(fieldsMap.size() != 4){ + if (fieldsMap.size() != 4) { throw new ServiceException("请导入正确的项目数据"); } for (int i = titleNum + 1; i <= rows; i++) { @@ -387,20 +387,34 @@ public class ProjectExcelUtil { } cellMap.entrySet().removeIf(entry -> hasStr.contains(entry.getKey())); StringBuilder str = new StringBuilder(); + Map sortHash = new HashMap<>(); str.append("{"); for (Map.Entry entry : cellMap.entrySet()) { String key1 = entry.getKey(); Object val1 = this.getCellValue(row, entry.getValue()); - if (val1 == "" || val1 == null) { - val1 = null; - str.append('"').append(key1).append('"').append(":").append(val1).append(","); - }else { - str.append('"').append(key1).append('"').append(":").append('"').append(val1).append('"').append(","); + sortHash.put(key1, String.valueOf(val1)); + } + // 自定义比较器按值排序 + Comparator> customComparator = Comparator.comparingInt(entry -> entry.getValue().length()); + Map sortedMap = sortHash.entrySet().stream() + .sorted(customComparator) + .collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue, + (oldVal, newVal) -> oldVal, + LinkedHashMap::new + )); + for (Map.Entry entry : sortedMap.entrySet()) { + if (Objects.equals(entry.getValue(), "") || entry.getValue() == null) { + String nulls = null; + str.append('"').append(entry.getKey()).append('"').append(":").append(nulls).append(","); + } else { + str.append('"').append(entry.getKey()).append('"').append(":").append('"').append(entry.getValue()).append('"').append(","); } } str.append("}"); String res = String.valueOf(str).replaceAll("\\s*|\r|\n|\t", ""); - ReflectUtils.invokeSetter(entity, "otherJson", res.replaceAll(",(?!.*,)","")); + ReflectUtils.invokeSetter(entity, "otherJson", res.replaceAll(",(?!.*,)", "")); list.add(entity); } }