From c54ef63b785758c4516ff8a6b5dac3a3a58f3420 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 25 Jun 2025 10:20:43 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E6=96=B0=E5=A2=9E=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E7=BD=91=E7=82=B9=E6=8E=A5=E5=8F=A3=E3=80=82=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E4=BE=9B=E5=BA=94=E5=95=86=E6=8E=A5=E5=8F=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9EnameEn.=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/web/emis/EmisSiteController.java | 11 ++++++++++ .../erp/emis/mapper/EmisSiteMapper.java | 7 +++++++ .../erp/emis/service/IEmisSiteService.java | 7 +++++++ .../service/impl/EmisSiteServiceImpl.java | 6 ++++++ .../service/impl/EmisSupplierServiceImpl.java | 20 +++++++++++++------ .../main/resources/mapper/EmisSiteMapper.xml | 15 ++++++++++++++ .../resources/mapper/EmisSupplierMapper.xml | 6 +++++- 7 files changed, 65 insertions(+), 7 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java index e40f20fe5..8443b5d1b 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java @@ -17,8 +17,11 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; +import com.xdadan.erp.emis.domain.EmisSupplier; import com.xdadan.erp.emis.service.EmisBaseService; import com.xdadan.erp.emis.utils.WaybillHelper; +import jodd.util.StringUtil; +import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -70,6 +73,14 @@ public class EmisSiteController extends EmisBaseController } + @GetMapping("/chooseSite") + public TableDataInfo chooseSite(EmisSite emisSite) { + startPage(); + List list = emisSiteService.selectSiteByConditions(emisSite); + return getDataTable(list); + } + + /** * 查询网点-精简 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSiteMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSiteMapper.java index 66d72464f..71e4b048a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSiteMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSiteMapper.java @@ -93,4 +93,11 @@ public interface EmisSiteMapper extends BaseMapper * @return */ List selectSeaWaySiteList(EmisSite emisSite); + + /** + * + * @param emisSite + * @return + */ + List selectSiteByConditions(EmisSite emisSite); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSiteService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSiteService.java index a1f640672..97eff13f1 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSiteService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSiteService.java @@ -84,4 +84,11 @@ public interface IEmisSiteService * @return 海运网点 */ List selectSeaWaySiteList(EmisSite emisSite); + + /** + * + * @param emisSite + * @return + */ + List selectSiteByConditions(EmisSite emisSite); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSiteServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSiteServiceImpl.java index 37c00412c..3341ea73d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSiteServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSiteServiceImpl.java @@ -10,6 +10,7 @@ package com.xdadan.erp.emis.service.impl; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; @@ -193,4 +194,9 @@ public class EmisSiteServiceImpl extends EmisBaseService implements IEmisSiteSer return emisSiteMapper.selectSeaWaySiteList(emisSite); } + @Override + public List selectSiteByConditions(EmisSite emisSite) { + return emisSiteMapper.selectSiteByConditions(emisSite); + } + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java index 96b6facc0..61a3436ed 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java @@ -138,20 +138,24 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService for (EmisSupplier supplier : originalList) { String code = supplier.getCode(); String name = supplier.getName(); + String nameEn = supplier.getNameEn(); - // 如果code或name包含逗号,说明有多个值需要拆分 + // 如果code、name或nameEn包含逗号,说明有多个值需要拆分 if (StringUtils.isNotBlank(code) && code.contains(",") || - StringUtils.isNotBlank(name) && name.contains(",")) { + StringUtils.isNotBlank(name) && name.contains(",") || + StringUtils.isNotBlank(nameEn) && nameEn.contains(",")) { String[] codes = StringUtils.isNotBlank(code) ? code.split(",") : new String[0]; String[] names = StringUtils.isNotBlank(name) ? name.split(",") : new String[0]; + String[] nameEns = StringUtils.isNotBlank(nameEn) ? nameEn.split(",") : new String[0]; - // 取两个数组的最大长度,确保能处理code和name数量不一致的情况 - int maxLength = Math.max(codes.length, names.length); + // 取三个数组的最大长度,确保能处理code、name和nameEn数量不一致的情况 + int maxLength = Math.max(Math.max(codes.length, names.length), nameEns.length); for (int i = 0; i < maxLength; i++) { String currentCode = null; String currentName = null; + String currentNameEn = null; if (i < codes.length) { currentCode = codes[i].trim(); @@ -159,6 +163,9 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService if (i < names.length) { currentName = names[i].trim(); } + if (i < nameEns.length) { + currentNameEn = nameEns[i].trim(); + } // 如果code为空或已存在,跳过 if (StringUtils.isBlank(currentCode) || codeSet.contains(currentCode)) { @@ -169,14 +176,15 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService codeSet.add(currentCode); EmisSupplier newSupplier = new EmisSupplier(); - // 设置拆分后的code和name + // 设置拆分后的code、name和nameEn newSupplier.setCode(currentCode); newSupplier.setName(currentName); + newSupplier.setNameEn(currentNameEn); resultList.add(newSupplier); } } else { - // 如果code和name都不包含逗号,检查是否已存在 + // 如果code、name和nameEn都不包含逗号,检查是否已存在 if (StringUtils.isNotBlank(code) && !codeSet.contains(code)) { codeSet.add(code); resultList.add(supplier); diff --git a/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml b/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml index 870a1da97..c7e26053c 100644 --- a/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml @@ -761,4 +761,19 @@ #{id} + + + \ No newline at end of file diff --git a/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml b/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml index 436c95cf4..5df9cc88c 100644 --- a/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml @@ -263,7 +263,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" (SELECT GROUP_CONCAT(s.name) FROM emis_supplier s WHERE FIND_IN_SET(s.code, r.supplier_code) - AND s.del_flag = '0') as name + AND s.del_flag = '0') as name, + (SELECT GROUP_CONCAT(s.name_en) + FROM emis_supplier s + WHERE FIND_IN_SET(s.code, r.supplier_code) + AND s.del_flag = '0') as name_en from emis_trans_plan_rule r r.del_flag = '0'