From 3549f862b0a3d126ac75659212c4d3fa2e112804 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 13 Aug 2025 09:31:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?demand:=20=E6=9C=88=E7=BB=93=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=BD=91=E7=82=B9=E7=BB=B4=E6=8A=A4=E5=A2=9E=E5=88=A0?= =?UTF-8?q?=E6=94=B9=E6=9F=A5=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=20=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../emis/EmisTmsCustomerSiteController.java | 132 ++++++++++ .../erp/emis/domain/EmisTmsCustomerSite.java | 47 ++++ .../erp/emis/mapper/EmisSiteMapper.java | 36 ++- .../mapper/EmisTmsCustomerSiteMapper.java | 92 +++++++ .../service/IEmisTmsCustomerSiteService.java | 88 +++++++ .../impl/EmisTmsCustomerSiteServiceImpl.java | 227 ++++++++++++++++++ .../main/resources/mapper/EmisSiteMapper.xml | 135 +++++++++++ .../mapper/EmisTmsCustomerSiteMapper.xml | 89 +++++++ 8 files changed, 835 insertions(+), 11 deletions(-) create mode 100644 emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCustomerSiteController.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCustomerSite.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCustomerSiteMapper.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCustomerSiteService.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCustomerSiteServiceImpl.java create mode 100644 emis-biz/src/main/resources/mapper/EmisTmsCustomerSiteMapper.xml diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCustomerSiteController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCustomerSiteController.java new file mode 100644 index 000000000..ae2bff2c3 --- /dev/null +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCustomerSiteController.java @@ -0,0 +1,132 @@ +/** + * @Project: emis + * @Title: EmisTmsCustomerSiteController.java + * @author heyu + * @date 2025-08-11 04:52:26 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

月结客户网点维护 控制器

+ */ + +package com.xdadan.erp.web.emis; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.xdadan.erp.common.annotation.Log; +import com.xdadan.erp.common.core.controller.BaseController; +import com.xdadan.erp.common.core.domain.AjaxResult; +import com.xdadan.erp.common.core.page.TableDataInfo; +import com.xdadan.erp.common.enums.BusinessType; +import com.xdadan.erp.common.utils.poi.ExcelUtil; + +import com.xdadan.erp.emis.domain.EmisTmsCustomerSite; +import com.xdadan.erp.emis.service.IEmisTmsCustomerSiteService; + +/** + * 月结客户网点维护Controller + * + * @author heyu + * @date 2025-08-11 04:52:26 + */ +@RestController +@RequestMapping("/emis/emisTmsCustomerSite") +public class EmisTmsCustomerSiteController extends EmisBaseController { + @Autowired + private IEmisTmsCustomerSiteService emisTmsCustomerSiteService; + + /** + * 查询月结客户网点维护列表 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:list')") + @GetMapping("/list") + public TableDataInfo list(EmisTmsCustomerSite emisTmsCustomerSite) { + startPage(); + List list = emisTmsCustomerSiteService.selectEmisTmsCustomerSiteList(emisTmsCustomerSite); + return getDataTable(list); + } + + /** + * 导出月结客户网点维护列表 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:export')") + @Log(title = "月结客户网点维护", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EmisTmsCustomerSite emisTmsCustomerSite) { + List list = emisTmsCustomerSiteService.selectEmisTmsCustomerSiteList(emisTmsCustomerSite); + ExcelUtil util = new ExcelUtil(EmisTmsCustomerSite.class); + util.exportExcel(response, list, "月结客户网点维护数据"); + } + + /** + * 获取月结客户网点维护详细信息 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(emisTmsCustomerSiteService.selectEmisTmsCustomerSiteById(id)); + } + + /** + * 新增月结客户网点维护 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:add')") + @Log(title = "月结客户网点维护", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EmisTmsCustomerSite emisTmsCustomerSite) { + return toAjax(emisTmsCustomerSiteService.insertEmisTmsCustomerSite(emisTmsCustomerSite)); + } + + /** + * 修改月结客户网点维护 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:edit')") + @Log(title = "月结客户网点维护", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EmisTmsCustomerSite emisTmsCustomerSite) { + return toAjax(emisTmsCustomerSiteService.updateEmisTmsCustomerSite(emisTmsCustomerSite)); + } + + /** + * 删除月结客户网点维护 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:remove')") + @Log(title = "月结客户网点维护", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(emisTmsCustomerSiteService.deleteEmisTmsCustomerSiteByIds(ids)); + } + + /** + * 检查网点列表名称是否重复 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:query')") + @GetMapping("/checkDuplicate") + public AjaxResult checkDuplicate(@RequestParam("siteListName") String siteListName, + @RequestParam(value = "excludeId", required = false) Long excludeId) { + boolean isDuplicate = emisTmsCustomerSiteService.checkSiteListNameDuplicate(siteListName, excludeId); + return AjaxResult.success("检查完成", isDuplicate); + } + + /** + * 根据网点列表名称查询记录 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsCustomerSite:query')") + @GetMapping("/getByName") + public AjaxResult getByName(@RequestParam("siteListName") String siteListName) { + EmisTmsCustomerSite result = emisTmsCustomerSiteService.selectEmisTmsCustomerSiteByName(siteListName); + return AjaxResult.success(result); + } +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCustomerSite.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCustomerSite.java new file mode 100644 index 000000000..72e940fcd --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCustomerSite.java @@ -0,0 +1,47 @@ +/** + * @Project: emis + * @Title: EmisTmsCustomerSite.java + * @author heyu + * @date 2025-08-11 04:52:26 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

月结客户网点维护 实体类

+ */ + +package com.xdadan.erp.emis.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xdadan.erp.common.annotation.audit.DataAuditField; +import com.xdadan.erp.common.annotation.audit.DataAuditTable; +import com.xdadan.erp.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @ClassName EmisTmsCustomerSite + * @Description 月结客户网点维护 + * @author heyu + * @date 2025-08-11 04:52:26 + */ +@Data +public class EmisTmsCustomerSite extends BaseEntity { + private static final long serialVersionUID = 1L; + + /* id */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /* 自定义网点列表名称 */ + private String siteListName; + /* 网点代码,多个用逗号分隔 */ + private String siteCode; + + private List emisSiteList; + +} 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 71e4b048a..88dbe5901 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 @@ -21,17 +21,20 @@ import org.apache.ibatis.annotations.Param; /** * @ClassName EmisSiteMapper - * @Description

网点 Mapper 接口

+ * @Description + *

+ * 网点 Mapper 接口 + *

* @author linfso * @date 2023-12-14 13:02:46 */ -@CacheNamespace(implementation= MybatisRedisCache.class,eviction=MybatisRedisCache.class) -public interface EmisSiteMapper extends BaseMapper -{ +@CacheNamespace(implementation = MybatisRedisCache.class, eviction = MybatisRedisCache.class) +public interface EmisSiteMapper extends BaseMapper { /** * 主键查询 - * @param id - * @return + * + * @param id + * @return */ public EmisSite selectEmisSiteById(Long id); @@ -42,31 +45,32 @@ public interface EmisSiteMapper extends BaseMapper /** * 查询列表 * - * @param emisSite + * @param emisSite * @return 集合 */ public List selectEmisSiteList(EmisSite emisSite); /** * 网点作为仓库 + * * @param emisSite * @return */ public List selectEmisSiteListAsWarehouse(EmisSite emisSite); /** - * 新增 + * 新增 * * @param emisSite - * @return + * @return */ public int insertEmisSite(EmisSite emisSite); /** * 修改 * - * @param emisSite - * @return + * @param emisSite + * @return */ public int updateEmisSite(EmisSite emisSite); @@ -100,4 +104,14 @@ public interface EmisSiteMapper extends BaseMapper * @return */ List selectSiteByConditions(EmisSite emisSite); + + public EmisSite getEmisSiteByCodeWithoutName(@Param("siteCode") String siteCode); + + /** + * 根据网点代码列表批量查询网点信息(不包含网点名称) + * + * @param siteCodes 网点代码列表 + * @return 网点信息列表 + */ + public List getEmisSiteByCodesWithoutName(@Param("siteCodes") List siteCodes); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCustomerSiteMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCustomerSiteMapper.java new file mode 100644 index 000000000..d59329cd9 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCustomerSiteMapper.java @@ -0,0 +1,92 @@ +/** + * @Project: emis + * @Title: EmisTmsCustomerSiteMapper.java + * @author heyu + * @date 2025-08-11 04:52:26 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

月结客户网点维护 数据层

+ */ + +package com.xdadan.erp.emis.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.xdadan.erp.emis.domain.EmisTmsCustomerSite; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @ClassName EmisTmsCustomerSiteMapper + * @Description 月结客户网点维护 + * @author heyu + * @date 2025-08-11 04:52:26 + */ +public interface EmisTmsCustomerSiteMapper extends BaseMapper { + /** + * 主键查询 + * + * @param id + * @return + */ + public EmisTmsCustomerSite selectEmisTmsCustomerSiteById(Long id); + + /** + * 查询月结客户网点维护列表 + * + * @param emisTmsCustomerSite + * @return 月结客户网点维护集合 + */ + public List selectEmisTmsCustomerSiteList(EmisTmsCustomerSite emisTmsCustomerSite); + + /** + * 新增月结客户网点维护 + * + * @param emisTmsCustomerSite + * @return + */ + public int insertEmisTmsCustomerSite(EmisTmsCustomerSite emisTmsCustomerSite); + + /** + * 修改月结客户网点维护 + * + * @param emisTmsCustomerSite + * @return + */ + public int updateEmisTmsCustomerSite(EmisTmsCustomerSite emisTmsCustomerSite); + + /** + * 删除月结客户网点维护信息 + * + * @param id + * @return + */ + public int deleteEmisTmsCustomerSiteById(Long id); + + /** + * 批量删除月结客户网点维护 + * + * @param ids + * @return + */ + public int deleteEmisTmsCustomerSiteByIds(Long[] ids); + + /** + * 根据网点列表名称查询记录 + * + * @param siteListName 网点列表名称 + * @return 月结客户网点维护记录 + */ + public EmisTmsCustomerSite selectEmisTmsCustomerSiteByName(@Param("siteListName") String siteListName); + + /** + * 检查网点列表名称是否重复(排除指定ID) + * + * @param siteListName 网点列表名称 + * @param excludeId 排除的ID + * @return 重复记录数量 + */ + public int countBySiteListNameExcludeId(@Param("siteListName") String siteListName, + @Param("excludeId") Long excludeId); +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCustomerSiteService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCustomerSiteService.java new file mode 100644 index 000000000..e1151a7de --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCustomerSiteService.java @@ -0,0 +1,88 @@ +/** + * @Project: emis + * @Title: IEmisTmsCustomerSiteService.java + * @author heyu + * @date 2025-08-11 04:52:26 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

月结客户网点维护 服务类接口

+ */ + +package com.xdadan.erp.emis.service; + +import java.util.List; + +import com.xdadan.erp.emis.domain.EmisTmsCustomerSite; + +/** + * @ClassName IEmisTmsCustomerSiteService + * @Description 月结客户网点维护 + * @author heyu + * @date 2025-08-11 04:52:26 + */ +public interface IEmisTmsCustomerSiteService { + /** + * 主键查询 + * + * @param id + * @return + */ + public EmisTmsCustomerSite selectEmisTmsCustomerSiteById(Long id); + + /** + * 查询月结客户网点维护列表 + * + * @param emisTmsCustomerSite 月结客户网点维护 + * @return 月结客户网点维护集合 + */ + public List selectEmisTmsCustomerSiteList(EmisTmsCustomerSite emisTmsCustomerSite); + + /** + * 新增月结客户网点维护 + * + * @param emisTmsCustomerSite 月结客户网点维护 + * @return 结果 + */ + public int insertEmisTmsCustomerSite(EmisTmsCustomerSite emisTmsCustomerSite); + + /** + * 修改月结客户网点维护 + * + * @param emisTmsCustomerSite 月结客户网点维护 + * @return 结果 + */ + public int updateEmisTmsCustomerSite(EmisTmsCustomerSite emisTmsCustomerSite); + + /** + * 批量删除月结客户网点维护 + * + * @param ids 需要删除的月结客户网点维护主键集合 + * @return 结果 + */ + public int deleteEmisTmsCustomerSiteByIds(Long[] ids); + + /** + * 删除月结客户网点维护信息 + * + * @param id 月结客户网点维护主键 + * @return 结果 + */ + public int deleteEmisTmsCustomerSiteById(Long id); + + /** + * 检查网点列表名称是否重复 + * + * @param siteListName 网点列表名称 + * @param excludeId 排除的ID(用于修改时检查) + * @return true-重复 false-不重复 + */ + public boolean checkSiteListNameDuplicate(String siteListName, Long excludeId); + + /** + * 根据网点列表名称查询记录 + * + * @param siteListName 网点列表名称 + * @return 月结客户网点维护记录 + */ + public EmisTmsCustomerSite selectEmisTmsCustomerSiteByName(String siteListName); +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCustomerSiteServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCustomerSiteServiceImpl.java new file mode 100644 index 000000000..4776de705 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCustomerSiteServiceImpl.java @@ -0,0 +1,227 @@ +/** + * @Project: emis + * @Title: EmisTmsCustomerSiteServiceImpl.java + * @author heyu + * @date 2025-08-11 04:52:26 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

月结客户网点维护 服务实现类

+ */ + +package com.xdadan.erp.emis.service.impl; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.HashSet; +import java.util.HashMap; +import java.util.ArrayList; +import java.util.Map; +import java.util.Set; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.xdadan.erp.emis.domain.EmisSite; +import com.xdadan.erp.emis.domain.EmisTmsCustomerSite; +import com.xdadan.erp.emis.mapper.EmisSiteMapper; +import com.xdadan.erp.emis.mapper.EmisTmsCustomerSiteMapper; +import com.xdadan.erp.emis.service.IEmisTmsCustomerSiteService; + +/** + * @ClassName EmisTmsCustomerSiteServiceImpl + * @Description 月结客户网点维护 + * @author heyu + * @date 2025-08-11 04:52:26 + */ +@Service +public class EmisTmsCustomerSiteServiceImpl implements IEmisTmsCustomerSiteService { + @Autowired + private EmisTmsCustomerSiteMapper emisTmsCustomerSiteMapper; + + @Autowired + private EmisSiteMapper emisSiteMapper; + + /** + * 主键查询 + * + * @param id + * @return + */ + @Override + public EmisTmsCustomerSite selectEmisTmsCustomerSiteById(Long id) { + EmisTmsCustomerSite emisTmsCustomerSite = emisTmsCustomerSiteMapper.selectEmisTmsCustomerSiteById(id); + if (emisTmsCustomerSite != null && emisTmsCustomerSite.getSiteCode() != null) { + // 收集需要查询的网点代码 + String[] siteCodes = emisTmsCustomerSite.getSiteCode().split(","); + Set siteCodeSet = Arrays.stream(siteCodes) + .map(String::trim) + .collect(Collectors.toSet()); + + // 批量查询网点信息 + Map siteCodeMap = new HashMap<>(); + if (!siteCodeSet.isEmpty()) { + List allSites = emisSiteMapper.getEmisSiteByCodesWithoutName(new ArrayList<>(siteCodeSet)); + for (EmisSite site : allSites) { + if (site != null && site.getSiteCode() != null) { + siteCodeMap.put(site.getSiteCode(), site); + } + } + } + + // 填充关联的网点信息 + List emisSiteList = Arrays.stream(siteCodes) + .map(code -> siteCodeMap.get(code.trim())) + .filter(site -> site != null) + .collect(Collectors.toList()); + emisTmsCustomerSite.setEmisSiteList(emisSiteList); + } + return emisTmsCustomerSite; + } + + /** + * 查询月结客户网点维护列表 + * + * @param emisTmsCustomerSite 月结客户网点维护 + * @return 月结客户网点维护集合 + */ + @Override + public List selectEmisTmsCustomerSiteList(EmisTmsCustomerSite emisTmsCustomerSite) { + List list = emisTmsCustomerSiteMapper.selectEmisTmsCustomerSiteList(emisTmsCustomerSite); + + // 批量收集所有需要查询的网点代码 + Set allSiteCodes = new HashSet<>(); + for (EmisTmsCustomerSite item : list) { + if (item.getSiteCode() != null) { + String[] siteCodes = item.getSiteCode().split(","); + for (String code : siteCodes) { + allSiteCodes.add(code.trim()); + } + } + } + + // 批量查询所有网点信息 + Map siteCodeMap = new HashMap<>(); + if (!allSiteCodes.isEmpty()) { + List allSites = emisSiteMapper.getEmisSiteByCodesWithoutName(new ArrayList<>(allSiteCodes)); + for (EmisSite site : allSites) { + if (site != null && site.getSiteCode() != null) { + siteCodeMap.put(site.getSiteCode(), site); + } + } + } + + // 为每个记录填充关联的网点信息 + for (EmisTmsCustomerSite item : list) { + if (item.getSiteCode() != null) { + String[] siteCodes = item.getSiteCode().split(","); + List emisSiteList = Arrays.stream(siteCodes) + .map(code -> siteCodeMap.get(code.trim())) + .filter(site -> site != null) + .collect(Collectors.toList()); + item.setEmisSiteList(emisSiteList); + } + } + return list; + } + + /** + * 新增月结客户网点维护 + * + * @param emisTmsCustomerSite 月结客户网点维护 + * @return 结果 + */ + @Override + @Transactional + public int insertEmisTmsCustomerSite(EmisTmsCustomerSite emisTmsCustomerSite) { + // 检查网点列表名称是否重复 + if (checkSiteListNameDuplicate(emisTmsCustomerSite.getSiteListName(), null)) { + throw new RuntimeException("网点列表名称已存在,请使用其他名称"); + } + + // 只保存siteListName和siteCode + if (emisTmsCustomerSite.getEmisSiteList() != null && !emisTmsCustomerSite.getEmisSiteList().isEmpty()) { + String siteCode = emisTmsCustomerSite.getEmisSiteList().stream() + .map(EmisSite::getSiteCode) + .collect(Collectors.joining(",")); + emisTmsCustomerSite.setSiteCode(siteCode); + } + return emisTmsCustomerSiteMapper.insertEmisTmsCustomerSite(emisTmsCustomerSite); + } + + /** + * 修改月结客户网点维护 + * + * @param emisTmsCustomerSite 月结客户网点维护 + * @return 结果 + */ + @Override + @Transactional + public int updateEmisTmsCustomerSite(EmisTmsCustomerSite emisTmsCustomerSite) { + // 检查网点列表名称是否重复(排除当前记录) + if (checkSiteListNameDuplicate(emisTmsCustomerSite.getSiteListName(), emisTmsCustomerSite.getId())) { + throw new RuntimeException("网点列表名称已存在,请使用其他名称"); + } + + if (emisTmsCustomerSite.getEmisSiteList() != null && !emisTmsCustomerSite.getEmisSiteList().isEmpty()) { + String siteCode = emisTmsCustomerSite.getEmisSiteList().stream() + .map(EmisSite::getSiteCode) + .collect(Collectors.joining(",")); + emisTmsCustomerSite.setSiteCode(siteCode); + } + return emisTmsCustomerSiteMapper.updateEmisTmsCustomerSite(emisTmsCustomerSite); + } + + /** + * 批量删除月结客户网点维护 + * + * @param ids 需要删除的月结客户网点维护主键集合 + * @return 结果 + */ + @Override + public int deleteEmisTmsCustomerSiteByIds(Long[] ids) { + return emisTmsCustomerSiteMapper.deleteEmisTmsCustomerSiteByIds(ids); + } + + /** + * 删除月结客户网点维护信息 + * + * @param id 月结客户网点维护主键 + * @return 结果 + */ + @Override + public int deleteEmisTmsCustomerSiteById(Long id) { + return emisTmsCustomerSiteMapper.deleteEmisTmsCustomerSiteById(id); + } + + /** + * 检查网点列表名称是否重复 + * + * @param siteListName 网点列表名称 + * @param excludeId 排除的ID(用于修改时检查) + * @return true-重复 false-不重复 + */ + @Override + public boolean checkSiteListNameDuplicate(String siteListName, Long excludeId) { + if (siteListName == null || siteListName.trim().isEmpty()) { + return false; + } + int count = emisTmsCustomerSiteMapper.countBySiteListNameExcludeId(siteListName.trim(), excludeId); + return count > 0; + } + + /** + * 根据网点列表名称查询记录 + * + * @param siteListName 网点列表名称 + * @return 月结客户网点维护记录 + */ + @Override + public EmisTmsCustomerSite selectEmisTmsCustomerSiteByName(String siteListName) { + if (siteListName == null || siteListName.trim().isEmpty()) { + return null; + } + return emisTmsCustomerSiteMapper.selectEmisTmsCustomerSiteByName(siteListName.trim()); + } +} diff --git a/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml b/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml index 43a72542c..c51f3423a 100644 --- a/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSiteMapper.xml @@ -135,6 +135,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, site_code, site_name, site_name_en, parent_site_code, default_currency, cut_off_time, superior_finance_center_code, site_type, scope_type, default_destination_name_code, default_send_place, country_code, province, city, county, town, area_code, area_name, range_name, phone, principal, manager, manager_phone, sale_phone, exigence_phone, fax, site_levels, site_desc, dispatch_range, not_dispatch_range, public_remark, private_remark, order_num, financial_account, tb_ser_name, tb_ser_tel, tb_ser_ww, car_start_time, car_end_time, bl_web, join_time, maps_coordinate, specservice_range, qq, email, service_quality, sales_quality, levels, warehouse_name, site_limite, jy_mobile, jy_pwd, bl_not_input, stop_date, bl_allow_agent_money, bl_allow_topayment, goods_payment_limited, topayment_limited, bl_rec, bl_disp, bl_come, bl_open_taobao, bl_arbitration_department, bl_allow_agent_sign, bl_message, bl_provide, bl_projectclient, bl_vip_site, bl_dispatch_zt, bl_billto_account, account_code, address, disp_delivery_mode, trans_type_id, trans_type_name, org_id, org_name, data_from, site_area, bl_allow_disp_agent_money, disp_goods_payment_limited, disp_delivery_site, disp_delivery_site_code, vendor_name, credit_code, bl_cargo_service, bl_handling_service, pickup_center_site_code, bl_disp_good, bl_push_jd, push_date, reason, site_pos, distribute_code, bl_push_site, logo_type, size_code2, size_code3, audit_status, audit_date, audit_man_code, audit_site_code, bl_class, bl_material, soon_piece_type, province_area, second_area, second_area_code, province_area_code, bl_disp_good_name, bl_not_rec, bl_not_disp, bl_not_cash_out, status, increment_service, bl_warehouse_in, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_site @@ -353,6 +473,21 @@ where a.del_flag='0' and a.site_code = #{siteCode} limit 1 + + + + + + + del_flag='0' + and id = #{id} + and site_list_name like concat('%', #{siteListName}, '%') + and site_code like concat('%', #{siteCode}, '%') + + + + + + + + + + + insert into emis_tms_customer_site + + site_list_name, + site_code, + remark, + create_by, + create_time, + create_site, + + + #{siteListName}, + #{siteCode}, + #{remark}, + #{createBy}, + #{createTime}, + #{createSite}, + + + + + update emis_tms_customer_site + + site_list_name = #{siteListName}, + site_code = #{siteCode}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = #{updateTime}, + update_site = #{updateSite}, + + where id = #{id} + + + + update emis_tms_customer_site set del_flag = '1' where id = #{id} + + + + update emis_tms_customer_site set del_flag = '1' where id in + + #{id} + + + + From f09fe0b7306fc13c279f666a6942d8cffa2f06da Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 13 Aug 2025 17:31:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?demand:=20TMS=E7=B3=BB=E7=BB=9F-=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86-=E5=AF=84=E4=BB=B6=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2/=E5=AF=84=E4=BB=B6=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2=E6=96=B0=E6=94=AF=E6=8C=81=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=A4=9A=E4=B8=AA=E4=BA=A7=E5=93=81=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index f172f139a..2f0883b98 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -1205,7 +1205,7 @@ and cust_no like concat('%', #{custNo}, '%') and cust_name like concat('%', #{custName}, '%') and trans_line_type=#{transLineType} - and product_type=#{productType} + and FIND_IN_SET(product_type,#{productType}) and time_type like concat('%', #{timeType}, '%') and meter_type=#{meterType} and FIND_IN_SET(a.carry_type,#{carryType})