From 2047b444891c3959c881a1e4e3c8c99d11502b59 Mon Sep 17 00:00:00 2001 From: Paidax Date: Mon, 13 Jan 2025 10:01:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statistics/WelfareSingleController.java | 29 +++++++++++++++++-- .../model/template/WelfareExportEntityTc.java | 12 ++++++-- .../impl/WelfareSingleServiceImpl.java | 24 ++++++++++++--- .../platform/welfare/list/ListMange.html | 22 +++++++------- .../platform/welfare/statistics/single.html | 4 +-- 5 files changed, 69 insertions(+), 22 deletions(-) diff --git a/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java b/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java index 07cc6f1..fda046e 100644 --- a/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java +++ b/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java @@ -824,6 +824,27 @@ public class WelfareSingleController { //cnd.groupBy("wpus.selectUserId", "wpus.selectOptionId"); sql.setCondition(cnd); List list = welfareSingleService.listMap(sql); + + list.forEach(v->{ + Map addressMap = new HashMap<>(); + String receiveAddress = v.getString("receiveAddress"); + if (StrUtil.isNotBlank(receiveAddress)) { + List addressList = Arrays.stream(receiveAddress.split("[,,]")).toList(); + for (String pair : addressList) { + // 2. 根据冒号分割键和值 + String[] keyValue = pair.split("[::]", 2); + if (keyValue.length == 2) { + String key = keyValue[0].trim(); + String value = keyValue[1].trim(); + addressMap.put(key, value); + } + } + v.put("recipient", addressMap.get("收件人")); + v.put("address", addressMap.get("收货地址")); + v.put("phone", addressMap.get("联系方式")); + } + }); + Map> optionGroupData = list.stream().collect(Collectors.groupingBy(v -> v.getString("optionName"))); List exportEntities = new ArrayList<>(); @@ -834,11 +855,14 @@ public class WelfareSingleController { exportEntities.add(new ExcelExportEntity("人员类型", "personType", 20)); exportEntities.add(new ExcelExportEntity("所在分工会", "unionname", 30)); exportEntities.add(new ExcelExportEntity("所在单位", "unitname", 50)); - exportEntities.add(new ExcelExportEntity("选择份数", "selectNum", 20)); + exportEntities.add(new ExcelExportEntity("选择份数", "selectNum", 10)); // if (Globals.MyConfig.getBoolean("isThreeUnit")) { // exportEntities.add(new ExcelExportEntity("所在部门", "threeUnitName", 50)); // } - exportEntities.add(new ExcelExportEntity("收货地址", "receiveAddress", 100)); +// exportEntities.add(new ExcelExportEntity("收货地址", "receiveAddress", 100)); + exportEntities.add(new ExcelExportEntity("收货人", "recipient", 15)); + exportEntities.add(new ExcelExportEntity("联系方式", "phone", 20)); + exportEntities.add(new ExcelExportEntity("收货地址", "address", 60)); Workbook workbook = new XSSFWorkbook(); optionGroupData.forEach((k, v) -> { @@ -850,7 +874,6 @@ public class WelfareSingleController { service.createSheetForMap(workbook, exportParams, exportEntities, v); }); - try (ServletOutputStream outputStream = response.getOutputStream()) { ViTool.excelResponse(response, projectName + ".xlsx"); workbook.write(outputStream); diff --git a/src/main/java/io/v/nutz/zhgh/welfare/model/template/WelfareExportEntityTc.java b/src/main/java/io/v/nutz/zhgh/welfare/model/template/WelfareExportEntityTc.java index c4a69ad..4e2f5ec 100644 --- a/src/main/java/io/v/nutz/zhgh/welfare/model/template/WelfareExportEntityTc.java +++ b/src/main/java/io/v/nutz/zhgh/welfare/model/template/WelfareExportEntityTc.java @@ -31,7 +31,16 @@ public class WelfareExportEntityTc { @Excel(name = "已选福利", width = 80d) private String optionName; - @Excel(name = "收货信息", width = 100d) + @Excel(name = "收货人", width = 15d) + private String recipient; + + @Excel(name = "联系方式", width = 20d) + private String phone; + + @Excel(name = "收货地址", width = 60d) + private String address; + +// @Excel(name = "收货信息", width = 100d) private String receiveAddress; @Excel(name = "快递单号", width = 40d) @@ -41,5 +50,4 @@ public class WelfareExportEntityTc { private byte[] qzBytes; private String userSign; - } diff --git a/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareSingleServiceImpl.java b/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareSingleServiceImpl.java index 1dbd3b0..d0e96c3 100644 --- a/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareSingleServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/welfare/service/impl/WelfareSingleServiceImpl.java @@ -45,9 +45,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -1196,8 +1194,26 @@ public class WelfareSingleServiceImpl extends ViServiceImpl impl } else { v.setQzBytes(null); } - } + + Map addressMap = new HashMap<>(); + String receiveAddress = v.getReceiveAddress(); + if (StrUtil.isNotBlank(receiveAddress)) { + List addressList = Arrays.stream(receiveAddress.split("[,,]")).toList(); + for (String pair : addressList) { + // 2. 根据冒号分割键和值 + String[] keyValue = pair.split("[::]", 2); + if (keyValue.length == 2) { + String key = keyValue[0].trim(); + String value = keyValue[1].trim(); + addressMap.put(key, value); + } + } + v.setRecipient(addressMap.get("收件人")); + v.setPhone(addressMap.get("联系方式")); + v.setAddress(addressMap.get("收货地址")); + } + }); ExportParams exportParams = new ExportParams(); exportParams.setType(ExcelType.HSSF); diff --git a/src/main/resources/views/platform/welfare/list/ListMange.html b/src/main/resources/views/platform/welfare/list/ListMange.html index 4136b26..960c493 100644 --- a/src/main/resources/views/platform/welfare/list/ListMange.html +++ b/src/main/resources/views/platform/welfare/list/ListMange.html @@ -272,13 +272,13 @@ layout("/layouts/platform.html"){ v-if="judgmentAuthority"> 导出报销表 - 导出发放名单 - + --> {{item.optionName}} - - - 在职人员 - 劳务派遣人员 - 空状态 - 全部 - - + + + + + + + + + 取消 diff --git a/src/main/resources/views/platform/welfare/statistics/single.html b/src/main/resources/views/platform/welfare/statistics/single.html index ffa0ff3..6e80534 100644 --- a/src/main/resources/views/platform/welfare/statistics/single.html +++ b/src/main/resources/views/platform/welfare/statistics/single.html @@ -140,7 +140,7 @@ layout("/layouts/platform.html"){ - + -->