From a6f7c96d380b5db1c466066ac87b84bea79b6323 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 24 Dec 2025 15:45:29 +0800 Subject: [PATCH 1/3] =?UTF-8?q?demand:=20=20=20TMS=E7=B3=BB=E7=BB=9F=20-?= =?UTF-8?q?=20=E5=AE=A2=E6=88=B7=E7=AE=A1=E7=90=86=20-=20=E7=8E=B0?= =?UTF-8?q?=E9=87=91=E5=AE=A2=E6=88=B7-=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=E6=8E=A5=E5=8F=A3=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/emis/EmisCustomerUserController.java | 69 ++++++ .../erp/web/emis/EmisMoneyUserController.java | 132 +++++++++++ .../erp/emis/domain/EmisCustomerUser.java | 12 +- .../xdadan/erp/emis/domain/EmisMoneyUser.java | 54 +++++ .../emis/mapper/EmisCustomerUserMapper.java | 22 ++ .../erp/emis/mapper/EmisMoneyUserMapper.java | 87 +++++++ .../service/IEmisCustomerUserService.java | 40 ++-- .../emis/service/IEmisMoneyUserService.java | 75 ++++++ .../impl/EmisCustomerUserServiceImpl.java | 16 ++ .../impl/EmisMoneyUserServiceImpl.java | 126 ++++++++++ .../mapper/EmisCustomerUserMapper.xml | 25 ++ .../resources/mapper/EmisMoneyUserMapper.xml | 222 ++++++++++++++++++ 12 files changed, 860 insertions(+), 20 deletions(-) create mode 100644 emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisMoneyUserController.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisMoneyUser.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisMoneyUserMapper.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisMoneyUserService.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java create mode 100644 emis-biz/src/main/resources/mapper/EmisMoneyUserMapper.xml diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java index 6ec5041d4..2ae5ecd39 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerUserController.java @@ -100,6 +100,15 @@ public class EmisCustomerUserController extends EmisBaseController return getDataTable(list); } + @GetMapping("/listMoneyUserAll") + public TableDataInfo listMoneyUserAll(EmisCustomerUser emisCustomerUser) + { + startPage(); + emisCustomerUser.setCustomerType("1"); + List list = emisCustomerUserService.selectEmisCustomerUserList(emisCustomerUser); + return getDataTable(list); + } + // @PreAuthorize("@ss.hasPermi('emis:emisCustomerUser:list')") @GetMapping("/listSimple") @@ -530,4 +539,64 @@ public class EmisCustomerUserController extends EmisBaseController return 1; } } + + /** + * 绑定现金客户 + * 批量更新客户用户的moneyUserId + */ + @PreAuthorize("@ss.hasPermi('emis:emisCustomerUser:bindMoneyUser')") + @Log(title = "绑定现金客户", businessType = BusinessType.UPDATE) + @PutMapping("/bindMoneyUser") + public AjaxResult bindMoneyUser(@RequestBody EmisCustomerUser emisCustomerUser) { + try { + // 从params中获取ids(逗号分隔的字符串) + if (emisCustomerUser.getParams() == null || emisCustomerUser.getParams().get("ids") == null) { + return AjaxResult.error("客户用户ID列表不能为空"); + } + + String idsStr = emisCustomerUser.getParams().get("ids").toString().trim(); + if (StringUtils.isEmpty(idsStr)) { + return AjaxResult.error("客户用户ID列表不能为空"); + } + + // 解析逗号分隔的字符串为Long数组 + String[] idStrArray = idsStr.split(","); + Long[] ids = new Long[idStrArray.length]; + for (int i = 0; i < idStrArray.length; i++) { + try { + ids[i] = Long.parseLong(idStrArray[i].trim()); + } catch (NumberFormatException e) { + return AjaxResult.error("客户用户ID格式错误:" + idStrArray[i]); + } + } + + if (ids.length == 0) { + return AjaxResult.error("客户用户ID列表不能为空"); + } + + // 从对象中获取moneyUserId + if (emisCustomerUser.getMoneyUserId() == null) { + return AjaxResult.error("现金客户ID不能为空"); + } + Long moneyUserId = emisCustomerUser.getMoneyUserId(); + + // 获取当前登录用户信息 + String updateBy = null; + String updateSite = null; + try { + updateBy = getLoginUser().getUser().getEmpCode(); + updateSite = getLoginUser().getUser().getOwnerSiteCode(); + } catch (Exception e) { + // 如果获取不到用户信息,使用默认值或继续执行 + } + + return toAjax(emisCustomerUserService.batchUpdateMoneyUserId(ids, moneyUserId, updateBy, updateSite)); + } catch (NumberFormatException e) { + e.printStackTrace(); + return AjaxResult.error("参数格式错误:" + e.getMessage()); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error("绑定失败:" + e.getMessage()); + } + } } diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisMoneyUserController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisMoneyUserController.java new file mode 100644 index 000000000..e284cbcf9 --- /dev/null +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisMoneyUserController.java @@ -0,0 +1,132 @@ +/** + * @Project: emis + * @Title: EmisMoneyUserController.java + * @author heyu + * @date 2025-12-20 06:55:09 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

现金用户 控制器

+ */ + +package com.xdadan.erp.web.emis; + +import com.xdadan.erp.common.annotation.Log; +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.EmisMoneyUser; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.emis.service.IEmisMoneyUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 现金用户Controller + * + * @author heyu + * @date 2025-12-20 06:55:09 + */ +@RestController +@RequestMapping("/emis/emisMoneyUser") +public class EmisMoneyUserController extends EmisBaseController +{ + @Autowired + private IEmisMoneyUserService emisMoneyUserService; + + /** + * 查询现金用户列表 + */ + @PreAuthorize("@ss.hasPermi('emis:emisMoneyUser:list')") + @GetMapping("/list") + public TableDataInfo list(EmisMoneyUser emisMoneyUser) + { + startPage(); + setPrivParams(emisMoneyUser); + List list = emisMoneyUserService.selectEmisMoneyUserList(emisMoneyUser); + return getDataTable(list); + } + + /** + * 导出现金用户列表 + */ + @PreAuthorize("@ss.hasPermi('emis:emisMoneyUser:export')") + @Log(title = "现金用户", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EmisMoneyUser emisMoneyUser) + { + List list = emisMoneyUserService.selectEmisMoneyUserList(emisMoneyUser); + ExcelUtil util = new ExcelUtil(EmisMoneyUser.class); + util.exportExcel(response, list, "现金用户数据"); + } + + /** + * 获取现金用户详细信息 + */ + @PreAuthorize("@ss.hasPermi('emis:emisMoneyUser:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(emisMoneyUserService.selectEmisMoneyUserById(id)); + } + + /** + * 新增现金用户 + */ + @PreAuthorize("@ss.hasPermi('emis:emisMoneyUser:add')") + @Log(title = "现金用户", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EmisMoneyUser emisMoneyUser) throws EmisBizError { + try { + return toAjax(emisMoneyUserService.insertEmisMoneyUser(emisMoneyUser)); + } catch (DuplicateKeyException e) { + e.printStackTrace(); + return AjaxResult.error("数据重复!"); + } + } + + /** + * 修改现金用户 + */ + @PreAuthorize("@ss.hasPermi('emis:emisMoneyUser:edit')") + @Log(title = "现金用户", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EmisMoneyUser emisMoneyUser) throws EmisBizError { + try { + return toAjax(emisMoneyUserService.updateEmisMoneyUser(emisMoneyUser)); + } catch (DuplicateKeyException e) { + e.printStackTrace(); + return AjaxResult.error("数据重复!"); + } + } + + /** + * 删除现金用户 + */ + @PreAuthorize("@ss.hasPermi('emis:emisMoneyUser:remove')") + @Log(title = "现金用户", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(emisMoneyUserService.deleteEmisMoneyUserByIds(ids)); + } + + @GetMapping("/listMoneyUserAll") + public TableDataInfo listMoneyUserAll(EmisMoneyUser emisMoneyUser) + { + startPage(); + List list = emisMoneyUserService.selectEmisMoneyUserList(emisMoneyUser); + return getDataTable(list); + } +} + + + + + + diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerUser.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerUser.java index 90d66281e..70b5f539a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerUser.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerUser.java @@ -13,15 +13,11 @@ package com.xdadan.erp.emis.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.xdadan.erp.common.annotation.Excel; import com.xdadan.erp.common.core.domain.BaseEntity; -import com.xdadan.erp.common.core.domain.TreeEntity; -import java.io.Serializable; +import lombok.Data; + import java.math.BigDecimal; import java.util.Date; -import lombok.Data; /** @@ -39,6 +35,10 @@ public class EmisCustomerUser extends BaseEntity /* id */ @TableId(value = "id", type = IdType.AUTO) private Long id; + /* 现金客户表id */ + private Long moneyUserId; + /* 现金客户表客户名称 */ + private String moneyUserName; /* 客户编码 */ private String customerCode; /* 客户名称 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisMoneyUser.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisMoneyUser.java new file mode 100644 index 000000000..a17eddc31 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisMoneyUser.java @@ -0,0 +1,54 @@ +/** + * @Project: emis + * @Title: EmisMoneyUser.java + * @author heyu + * @date 2025-12-20 06:55:09 + * @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.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.xdadan.erp.common.core.domain.BaseEntity; +import lombok.Data; + + +/** + * @ClassName EmisMoneyUser + * @Description 现金用户 + * @author 何宇 + * @date 2025-12-20 06:55:09 + */ +@Data +@TableName("emis_money_user") +public class EmisMoneyUser extends BaseEntity +{ + + private static final long serialVersionUID = 1L; + + /* id */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /* 客户名称 */ + private String company; + /* 回款联系人 */ + private String payee; + /* 销售联系人 */ + private String salesmen; + /* 销售支持 */ + private String salesSupport; + /* 销售主管 */ + private String salesExecutive; + /* 企业名称 */ + private String enterpriseName; + /* 企业税号 */ + private String enterpriseTaxId; + /* 启用状态 1-启用 0-未启用 */ + private String status; + + +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java index 7706e40b2..d1cfe8f5d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java @@ -13,6 +13,8 @@ package com.xdadan.erp.emis.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xdadan.erp.emis.domain.EmisCustomerUser; +import org.apache.ibatis.annotations.Param; + /** * @ClassName EmisCustomerUserMapper * @Description

快递客户用户 Mapper 接口

@@ -106,4 +108,24 @@ public interface EmisCustomerUserMapper extends BaseMapper */ public int updateEnterpriseInfoByMonthlyPayCode(EmisCustomerUser emisCustomerUser); + /** + * 批量更新客户用户的moneyUserId + * + * @param ids 客户用户ID数组 + * @param moneyUserId 现金客户ID + * @param updateBy 更新人 + * @param updateSite 更新站点 + * @return 结果 + */ + public int batchUpdateMoneyUserId(@Param("ids") Long[] ids, @Param("moneyUserId") Long moneyUserId, + @Param("updateBy") String updateBy, @Param("updateSite") String updateSite); + + /** + * 根据现金客户ID数组,清空关联客户用户表中的 money_user_id 字段 + * + * @param moneyUserIds 现金客户ID数组 + * @return 结果 + */ + public int clearMoneyUserIdByMoneyUserIds(@Param("moneyUserIds") Long[] moneyUserIds); + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisMoneyUserMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisMoneyUserMapper.java new file mode 100644 index 000000000..3f86022ec --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisMoneyUserMapper.java @@ -0,0 +1,87 @@ +/** + * @Project: emis + * @Title: EmisMoneyUserMapper.java + * @author heyu + * @date 2025-12-20 06:55:09 + * @Copyright: ShangHai Doitinfo 2025 All rights reserved. + * @version v1.0 + * @Description:

现金用户 Mapper 接口

+ * Warning : This file is generate by ai tools,don't edit!!! + */ +package com.xdadan.erp.emis.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xdadan.erp.emis.domain.EmisMoneyUser; + +import java.util.List; + +/** + * @ClassName EmisMoneyUserMapper + * @Description

现金用户 Mapper 接口

+ * @author heyu + * @date 2025-12-20 06:55:09 + */ +public interface EmisMoneyUserMapper extends BaseMapper +{ + /** + * 主键查询 + * @param id + * @return + */ + public EmisMoneyUser selectEmisMoneyUserById(Long id); + + /** + * 查询列表 + * + * @param emisMoneyUser + * @return 集合 + */ + public List selectEmisMoneyUserList(EmisMoneyUser emisMoneyUser); + + /** + * 新增 + * + * @param emisMoneyUser + * @return + */ + public int insertEmisMoneyUser(EmisMoneyUser emisMoneyUser); + + + /** + * 修改 + * + * @param emisMoneyUser + * @return + */ + public int updateEmisMoneyUser(EmisMoneyUser emisMoneyUser); + + + /** + * 删除 + * + * @param id 主键 + * @return 结果 + */ + public int deleteEmisMoneyUserById(Long id); + + /** + * 批量删除 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmisMoneyUserByIds(Long[] ids); + + /** + * 根据公司名称查询现金用户(用于唯一性校验) + * + * @param company 公司名称 + * @return 现金用户 + */ + public EmisMoneyUser selectMoneyUserByCompany(String company); + + + EmisMoneyUser selectEmisMoneyUserByCompany(String moneyUserCompany); +} + + diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java index 2d13a2a31..ea0061527 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCustomerUserService.java @@ -9,13 +9,14 @@ */ package com.xdadan.erp.emis.service; -import java.util.List; -import com.xdadan.erp.emis.domain.EmisCustomerUser; -import com.xdadan.erp.emis.domain.EmisWaybill; -import com.xdadan.erp.emis.domain.exception.EmisBizError; -import com.xdadan.erp.emis.domain.vo.MonthlyCustomerShipmentStatVO; + import com.xdadan.erp.emis.domain.EmisCustomerUser; + import com.xdadan.erp.emis.domain.EmisWaybill; + import com.xdadan.erp.emis.domain.exception.EmisBizError; + import com.xdadan.erp.emis.domain.vo.MonthlyCustomerShipmentStatVO; -/** + import java.util.List; + + /** * @ClassName EmisCustomerUserService * @Description 快递客户用户 * @author linfso @@ -99,11 +100,22 @@ public interface IEmisCustomerUserService */ public List selectMonthlyCustomerShipmentStat(EmisWaybill emisWaybill) throws EmisBizError; - /** - * 查询月结客户出货明细 - * - * @param emisWaybill 查询条件 - * @return 运单明细列表 - */ - public List selectMonthlyCustomerShipmentDetail(EmisWaybill emisWaybill); -} + /** + * 查询月结客户出货明细 + * + * @param emisWaybill 查询条件 + * @return 运单明细列表 + */ + public List selectMonthlyCustomerShipmentDetail(EmisWaybill emisWaybill); + + /** + * 批量更新客户用户的moneyUserId + * + * @param ids 客户用户ID数组 + * @param moneyUserId 现金客户ID + * @param updateBy 更新人 + * @param updateSite 更新站点 + * @return 结果 + */ + public int batchUpdateMoneyUserId(Long[] ids, Long moneyUserId, String updateBy, String updateSite); + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisMoneyUserService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisMoneyUserService.java new file mode 100644 index 000000000..9f04f6a78 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisMoneyUserService.java @@ -0,0 +1,75 @@ +/** + * @Project: emis + * @Title: IEmisMoneyUserService.java + * @author heyu + * @date 2025-12-20 06:55:09 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

现金用户 服务类接口

+ */ +package com.xdadan.erp.emis.service; + +import com.xdadan.erp.emis.domain.EmisMoneyUser; +import com.xdadan.erp.emis.domain.exception.EmisBizError; + +import java.util.List; + +/** + * @ClassName IEmisMoneyUserService + * @Description 现金用户 + * @author heyu + * @date 2025-12-20 06:55:09 + */ +public interface IEmisMoneyUserService +{ + /** + * 主键查询 + * @param id + * @return + */ + public EmisMoneyUser selectEmisMoneyUserById(Long id); + + /** + * 查询现金用户列表 + * + * @param emisMoneyUser 现金用户 + * @return 现金用户集合 + */ + public List selectEmisMoneyUserList(EmisMoneyUser emisMoneyUser); + + /** + * 新增现金用户 + * + * @param emisMoneyUser 现金用户 + * @return 结果 + */ + public int insertEmisMoneyUser(EmisMoneyUser emisMoneyUser) throws EmisBizError; + + /** + * 修改现金用户 + * + * @param emisMoneyUser 现金用户 + * @return 结果 + */ + public int updateEmisMoneyUser(EmisMoneyUser emisMoneyUser) throws EmisBizError; + + /** + * 批量删除现金用户 + * + * @param ids 需要删除的现金用户主键集合 + * @return 结果 + */ + public int deleteEmisMoneyUserByIds(Long[] ids); + + /** + * 删除现金用户信息 + * + * @param id 现金用户主键 + * @return 结果 + */ + public int deleteEmisMoneyUserById(Long id); +} + + + + diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java index 9408141b1..d5a38480e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCustomerUserServiceImpl.java @@ -380,4 +380,20 @@ public class EmisCustomerUserServiceImpl extends EmisBaseService implements IEmi return emisWaybillMapper.selectMonthlyCustomerShipmentDetail(emisWaybill); } + /** + * 批量更新客户用户的moneyUserId + * + * @param ids 客户用户ID数组 + * @param moneyUserId 现金客户ID + * @param updateBy 更新人 + * @param updateSite 更新站点 + * @return 结果 + */ + @Override + public int batchUpdateMoneyUserId(Long[] ids, Long moneyUserId, String updateBy, String updateSite) { + if (ids == null || ids.length == 0) { + return 0; + } + return emisCustomerUserMapper.batchUpdateMoneyUserId(ids, moneyUserId, updateBy, updateSite); + } } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java new file mode 100644 index 000000000..2d89aa0bf --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java @@ -0,0 +1,126 @@ +/** + * @Project: emis + * @Title: EmisMoneyUserServiceImpl.java + * @author heyu + * @date 2025-12-20 06:55:09 + * @Copyright: ShangHai Duta 2025 All rights reserved. + * @version v1.0 + * @Description:

现金用户 服务类实现

+ */ + +package com.xdadan.erp.emis.service.impl; + +import com.xdadan.erp.emis.domain.EmisMoneyUser; +import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.emis.mapper.EmisMoneyUserMapper; +import com.xdadan.erp.emis.service.EmisBaseService; +import com.xdadan.erp.emis.service.IEmisMoneyUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 现金用户Service业务层处理 + * + * @author heyu + * @date 2025-12-20 06:55:09 + */ +@Service +public class EmisMoneyUserServiceImpl extends EmisBaseService implements IEmisMoneyUserService +{ + @Autowired + private EmisMoneyUserMapper emisMoneyUserMapper; + + /** + * 查询现金用户 + * + * @param id 现金用户主键 + * @return 现金用户 + */ + @Override + public EmisMoneyUser selectEmisMoneyUserById(Long id) + { + return emisMoneyUserMapper.selectEmisMoneyUserById(id); + } + + /** + * 查询现金用户列表 + * + * @param emisMoneyUser 现金用户 + * @return 现金用户 + */ + @Override + public List selectEmisMoneyUserList(EmisMoneyUser emisMoneyUser) + { + return emisMoneyUserMapper.selectEmisMoneyUserList(emisMoneyUser); + } + + /** + * 新增现金用户 + * + * @param emisMoneyUser 现金用户 + * @return 结果 + */ + @Override + public int insertEmisMoneyUser(EmisMoneyUser emisMoneyUser) throws EmisBizError { + + // company 唯一性校验 + if (org.apache.commons.lang3.StringUtils.isNotBlank(emisMoneyUser.getCompany())) { + EmisMoneyUser exists = emisMoneyUserMapper.selectMoneyUserByCompany(emisMoneyUser.getCompany()); + if (exists != null) { + throw new EmisBizError(EmisBizErrorType.EXISTS, "客户名称" + + "已存在"); + } + } + + emisMoneyUser.preInsert(); + return emisMoneyUserMapper.insertEmisMoneyUser(emisMoneyUser); + } + + /** + * 修改现金用户 + * + * @param emisMoneyUser 现金用户 + * @return 结果 + */ + @Override + public int updateEmisMoneyUser(EmisMoneyUser emisMoneyUser) throws EmisBizError { + // company 唯一性校验(排除自身) + if (org.apache.commons.lang3.StringUtils.isNotBlank(emisMoneyUser.getCompany())) { + EmisMoneyUser exists = emisMoneyUserMapper.selectMoneyUserByCompany(emisMoneyUser.getCompany()); + if (exists != null && !exists.getId().equals(emisMoneyUser.getId())) { + throw new EmisBizError(EmisBizErrorType.EXISTS, "客户名称已存在"); + } + } + emisMoneyUser.preUpdate(); + return emisMoneyUserMapper.updateEmisMoneyUser(emisMoneyUser); + } + + /** + * 批量删除现金用户 + * + * @param ids 需要删除的现金用户主键 + * @return 结果 + */ + @Override + public int deleteEmisMoneyUserByIds(Long[] ids) + { + return emisMoneyUserMapper.deleteEmisMoneyUserByIds(ids); + } + + /** + * 删除现金用户信息 + * + * @param id 现金用户主键 + * @return 结果 + */ + @Override + public int deleteEmisMoneyUserById(Long id) + { + return emisMoneyUserMapper.deleteEmisMoneyUserById(id); + } +} + + diff --git a/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml b/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml index 8212c096e..b79391a0e 100644 --- a/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml @@ -633,4 +633,29 @@ AND del_flag = '0' + + + UPDATE emis_customer_user + SET money_user_id = #{moneyUserId}, + update_by = #{updateBy}, + update_site = #{updateSite}, + update_time = NOW() + WHERE id IN + + #{id} + + AND del_flag = '0' + + + + + UPDATE emis_customer_user + SET money_user_id = NULL + WHERE money_user_id IN + + #{id} + + AND del_flag = '0' + + diff --git a/emis-biz/src/main/resources/mapper/EmisMoneyUserMapper.xml b/emis-biz/src/main/resources/mapper/EmisMoneyUserMapper.xml new file mode 100644 index 000000000..b7e2aac2e --- /dev/null +++ b/emis-biz/src/main/resources/mapper/EmisMoneyUserMapper.xml @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + select + a.id, + a.company, + a.payee, + a.salesmen, + a.sales_support, + a.sales_executive, + a.enterprise_name, + a.enterprise_tax_id, + a.status, + a.remark, + a.del_flag, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.create_site, + a.update_site + from emis_money_user a + + + + + + + + + + + insert into emis_money_user + + company, + payee, + salesmen, + sales_support, + sales_executive, + enterprise_name, + enterprise_tax_id, + status, + remark, + del_flag, + create_by, + create_time, + update_by, + update_time, + create_site, + update_site, + + + #{company}, + #{payee}, + #{salesmen}, + #{salesSupport}, + #{salesExecutive}, + #{enterpriseName}, + #{enterpriseTaxId}, + #{status}, + #{remark}, + #{delFlag}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{createSite}, + #{updateSite}, + + + + + update emis_money_user + + company = #{company}, + payee = #{payee}, + salesmen = #{salesmen}, + sales_support = #{salesSupport}, + sales_executive = #{salesExecutive}, + enterprise_name = #{enterpriseName}, + enterprise_tax_id = #{enterpriseTaxId}, + status = #{status}, + remark = #{remark}, + del_flag = #{delFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + create_site = #{createSite}, + update_site = #{updateSite}, + + where id = #{id} + + + + update emis_money_user + + password = #{password}, + update_by = #{updateBy}, + update_time = #{updateTime}, + update_site = #{updateSite}, + + where id = #{id} + + + + + update emis_money_user set del_flag='1' where id = #{id} + + + + update emis_money_user set del_flag='1' where id in + + #{id} + + + + + + + + + + + insert into sys_oms_user_role(user_id,role_id) + select #{userId},127 from dual + where not exists (select 1 from sys_oms_user_role where user_id=#{userId} and role_id=127) + + + From cc6663fb71d8fa41b1ca7ab2f82dfafc5c00d218 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 24 Dec 2025 16:01:09 +0800 Subject: [PATCH 2/3] =?UTF-8?q?demand:=20=20=20TMS=E7=B3=BB=E7=BB=9F=20-?= =?UTF-8?q?=20=E5=AE=A2=E6=88=B7=E7=AE=A1=E7=90=86=20-=20=E7=8E=B0?= =?UTF-8?q?=E9=87=91=E5=AE=A2=E6=88=B7-=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=E6=8E=A5=E5=8F=A3=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emis/mapper/EmisCustomerUserMapper.java | 10 +++++- .../mapper/EmisCustomerUserMapper.xml | 34 ++++++++++++++----- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java index d1cfe8f5d..42acd2f03 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerUserMapper.java @@ -10,11 +10,12 @@ */ package com.xdadan.erp.emis.mapper; -import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xdadan.erp.emis.domain.EmisCustomerUser; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @ClassName EmisCustomerUserMapper * @Description

快递客户用户 Mapper 接口

@@ -98,6 +99,13 @@ public interface EmisCustomerUserMapper extends BaseMapper public EmisCustomerUser selectMonthCustomerByMonthlyPayCode(String monthlyPayCode); + /** + * 根据公司名称查询现金客户列表 + * @param company 公司名称 + * @return 现金客户列表 + */ + public List selectMoneyCustomerByCompany(String company); + public int insertSysOmsUserRole(Long omsUserId); diff --git a/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml b/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml index b79391a0e..328b084f3 100644 --- a/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCustomerUserMapper.xml @@ -6,6 +6,8 @@ + + @@ -88,6 +90,8 @@ select /*+ INDEX(a idx_emis_customer_user_owner_site) */ a.id, + a.money_user_id, + mu.company as money_user_name, a.customer_code, a.customer_name, a.customer_name_en, @@ -164,6 +168,7 @@ us.site_name as update_site_name, lw.last_order_time from emis_customer_user a + left join emis_money_user mu on mu.id = a.money_user_id left join emis_country c on c.code = a.country left join emis_region rp on rp.region_code = a.province left join emis_region rc on rc.region_code = a.city @@ -252,6 +257,9 @@ and a.settle_day = #{settleDay} and a.sales_support = #{salesSupport} and a.sales_executive = #{salesExecutive} + + and ( a.customer_name like concat('%',#{searchValue}, '%') or a.customer_code like concat('%',#{searchValue}, '%') or a.company like concat('%',#{searchValue}, '%') or a.phone like concat('%',#{searchValue}, '%') ) + and ( a.salesmen=#{params.privEmpName} @@ -279,7 +287,7 @@ @@ -287,6 +295,7 @@ insert into emis_customer_user + money_user_id, customer_code, customer_name, customer_name_en, @@ -354,6 +363,7 @@ update_site, + #{moneyUserId}, #{customerCode}, #{customerName}, #{customerNameEn}, @@ -425,6 +435,7 @@ update emis_customer_user + money_user_id = #{moneyUserId}, customer_code = #{customerCode}, customer_name = #{customerName}, customer_name_en = #{customerNameEn}, @@ -529,29 +540,35 @@ + + insert into sys_oms_user_role(user_id,role_id) @@ -564,6 +581,7 @@ update emis_customer_user + money_user_id = #{moneyUserId}, customer_code = #{customerCode}, customer_name = #{customerName}, customer_name_en = #{customerNameEn}, @@ -637,9 +655,9 @@ UPDATE emis_customer_user SET money_user_id = #{moneyUserId}, - update_by = #{updateBy}, - update_site = #{updateSite}, - update_time = NOW() + update_by = #{updateBy}, + update_site = #{updateSite}, + update_time = NOW() WHERE id IN #{id} From 8da3ece306680e177bd8bd518f02a9eff25ad84d Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 24 Dec 2025 16:09:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?demand:=20=20=20TMS=E7=B3=BB=E7=BB=9F=20-?= =?UTF-8?q?=20=E5=AE=A2=E6=88=B7=E7=AE=A1=E7=90=86=20-=20=E7=8E=B0?= =?UTF-8?q?=E9=87=91=E5=AE=A2=E6=88=B7-=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=E6=8E=A5=E5=8F=A3=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emis/service/impl/EmisMoneyUserServiceImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java index 2d89aa0bf..245fbe17b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisMoneyUserServiceImpl.java @@ -107,6 +107,11 @@ public class EmisMoneyUserServiceImpl extends EmisBaseService implements IEmisMo @Override public int deleteEmisMoneyUserByIds(Long[] ids) { + if (ids == null || ids.length == 0) { + return 0; + } + // 删除现金用户前,先清空客户用户表中关联的 money_user_id + emisCustomerUserMapper.clearMoneyUserIdByMoneyUserIds(ids); return emisMoneyUserMapper.deleteEmisMoneyUserByIds(ids); } @@ -119,6 +124,11 @@ public class EmisMoneyUserServiceImpl extends EmisBaseService implements IEmisMo @Override public int deleteEmisMoneyUserById(Long id) { + if (id == null) { + return 0; + } + // 删除单个现金用户前,先清空客户用户表中关联的 money_user_id + emisCustomerUserMapper.clearMoneyUserIdByMoneyUserIds(new Long[]{id}); return emisMoneyUserMapper.deleteEmisMoneyUserById(id); } }