From 1eaf29b28237b90da6bcda0ee4204ad735a68fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Fri, 14 Nov 2025 19:24:17 +0800 Subject: [PATCH] =?UTF-8?q?11-14-=E6=9B=B4=E6=94=B9=E9=93=B6=E8=A1=8C?= =?UTF-8?q?=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/xzd/bx/bxsq/domain/XzdBxBxsq.java | 8 +- .../xzd/bx/bxsq/domain/bo/XzdBxBxsqBo.java | 3 +- .../xzd/bx/bxsq/domain/vo/XzdBxBxsqVo.java | 8 +- .../service/impl/XzdBxBxsqServiceImpl.java | 98 ++++++++++++++++++- .../XzdSupplierOpenBankController.java | 3 +- .../java/org/dromara/xzd/domain/XzdYhxx.java | 9 ++ .../xzd/domain/bo/XzdSupplierOpenBankBo.java | 4 +- .../org/dromara/xzd/domain/bo/XzdYhxxBo.java | 9 ++ .../org/dromara/xzd/domain/vo/XzdYhxxVo.java | 9 ++ .../impl/XzdContractChangeServiceImpl.java | 11 ++- .../impl/XzdContractDetailsServiceImpl.java | 3 +- .../impl/XzdSupplierInfoServiceImpl.java | 33 ++++--- .../mapper/xzd/XzdSupplierInfoMapper.xml | 6 +- 13 files changed, 172 insertions(+), 32 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/XzdBxBxsq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/XzdBxBxsq.java index d73682c6..135afd47 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/XzdBxBxsq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/XzdBxBxsq.java @@ -65,10 +65,10 @@ public class XzdBxBxsq extends BaseEntity { */ private Long xm; - /** - * 开户银行 - */ - private String khyh; +// /** +// * 开户银行 +// */ +// private Long khyh; /** * 开户银行账号 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/bo/XzdBxBxsqBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/bo/XzdBxBxsqBo.java index d1aba8cc..cb3ef31b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/bo/XzdBxBxsqBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/bo/XzdBxBxsqBo.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.xzd.bx.bxsq.domain.XzdBxBxsq; import org.dromara.xzd.bx.bxsq.fymx.domain.XzdBxBxsqFymx; +import org.dromara.xzd.domain.XzdSupplierOpenBank; import java.math.BigDecimal; import java.time.LocalDate; @@ -60,7 +61,7 @@ public class XzdBxBxsqBo extends BaseEntity { /** * 开户银行 */ - private String khyh; + private List khyh; /** * 开户银行账号 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/vo/XzdBxBxsqVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/vo/XzdBxBxsqVo.java index 0f86b182..78188af9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/vo/XzdBxBxsqVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/domain/vo/XzdBxBxsqVo.java @@ -6,6 +6,7 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.xzd.bx.bxsq.domain.XzdBxBxsq; import org.dromara.xzd.bx.bxsq.fymx.domain.vo.XzdBxBxsqFymxVo; +import org.dromara.xzd.domain.XzdSupplierOpenBank; import java.io.Serial; import java.io.Serializable; @@ -99,7 +100,12 @@ public class XzdBxBxsqVo implements Serializable { /** * 开户银行 */ - private String khyh; + private List khyh; + + /** + * 开户银行名称 + */ + private String khyhmc; /** * 开户银行账号 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/service/impl/XzdBxBxsqServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/service/impl/XzdBxBxsqServiceImpl.java index 80a4f832..23378aa4 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/service/impl/XzdBxBxsqServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/bx/bxsq/service/impl/XzdBxBxsqServiceImpl.java @@ -30,7 +30,12 @@ import org.dromara.xzd.bx.bxsq.fymx.service.impl.XzdBxBxsqFymxServiceImpl; import org.dromara.xzd.bx.bxsq.mapper.XzdBxBxsqMapper; import org.dromara.xzd.bx.bxsq.service.IXzdBxBxsqService; import org.dromara.xzd.domain.XzdProject; +import org.dromara.xzd.domain.XzdSupplierOpenBank; +import org.dromara.xzd.domain.XzdYhxx; +import org.dromara.xzd.domain.bo.XzdYhxxBo; import org.dromara.xzd.service.impl.XzdProjectServiceImpl; +import org.dromara.xzd.service.impl.XzdSupplierOpenBankServiceImpl; +import org.dromara.xzd.service.impl.XzdYhxxServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.event.EventListener; @@ -64,6 +69,10 @@ public class XzdBxBxsqServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XzdYhxx::getMainId, old.getId()); + List oldList = xzdYhxxService.list(queryWrapper); + + if (oldList != null && !oldList.isEmpty()){ + //先删除老的 + xzdYhxxService.removeByIds(oldList); + } + + //保存此次的 + for (XzdSupplierOpenBank bank : bo.getKhyh()) { + XzdYhxxBo xzdYhxxBo = new XzdYhxxBo(); + xzdYhxxBo.setYhId(bank.getId()); + xzdYhxxBo.setMainId(update.getId()); + xzdYhxxBo.setSfmr(bank.getIsDefault()); + xzdYhxxBo.setAccount(bank.getAccount()); + xzdYhxxBo.setType("3"); + xzdYhxxService.insertByBo(xzdYhxxBo); + } + }else { + //先获取老数据银行关联表 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XzdYhxx::getMainId, old.getId()); + List oldList = xzdYhxxService.list(queryWrapper); + + //如果不为空则删除 + if (oldList != null && !oldList.isEmpty()){ + xzdYhxxService.remove(queryWrapper); + } + + } + return baseMapper.updateById(update) > 0; } @@ -233,11 +292,48 @@ public class XzdBxBxsqServiceImpl extends ServiceImpl lqw2 = new LambdaQueryWrapper<>(); + lqw2.in(XzdYhxx::getMainId, ids); + xzdYhxxService.remove(lqw2); + return baseMapper.deleteByIds(ids) > 0; } public void setValue(List vos){ for (XzdBxBxsqVo vo : vos) { + + //开户银行 + LambdaQueryWrapper lqw3 = new LambdaQueryWrapper<>(); + lqw3.eq(XzdYhxx::getMainId, vo.getId()); + lqw3.eq(XzdYhxx::getSfmr,"1"); + XzdYhxx one = xzdYhxxService.getOne(lqw3); + if (one != null){ + XzdSupplierOpenBank byId = xzdSupplierOpenBankService.getById(one.getYhId()); + if (byId != null){ + vo.setKhyhmc(byId.getOpenBank()); + vo.setKhyhzh(byId.getAccount()); + vo.setKhhhm(byId.getPersonName()); + } + } + + lqw3.clear(); + lqw3.eq(XzdYhxx::getMainId,vo.getId()); + List xzdYhxxList = xzdYhxxService.list(lqw3); + if (xzdYhxxList!= null && !xzdYhxxList.isEmpty()) { + List openBanks = new ArrayList<>(); + for (XzdYhxx yhxx : xzdYhxxList) { + XzdSupplierOpenBank byId = xzdSupplierOpenBankService.getById(yhxx.getYhId()); + if (byId != null){ + byId.setAccount(yhxx.getAccount()); + byId.setIsDefault(yhxx.getSfmr()); + byId.setPersonName(yhxx.getKhhm()); + openBanks.add(byId); + } + } + vo.setKhyh(openBanks); + } + //费用明细 LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(XzdBxBxsqFymx::getBxId, vo.getId()); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdSupplierOpenBankController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdSupplierOpenBankController.java index d413a2ce..d27f88db 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdSupplierOpenBankController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdSupplierOpenBankController.java @@ -6,6 +6,7 @@ import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -76,7 +77,7 @@ public class XzdSupplierOpenBankController extends BaseController { @Log(title = "供应商信息-开户银行", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(XzdSupplierOpenBankBo bo) { + public R add(@Validated(AddGroup.class) @RequestBody XzdSupplierOpenBankBo bo) { return xzdSupplierOpenBankService.insertByBo(bo); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdYhxx.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdYhxx.java index 6f187d35..6f950299 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdYhxx.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdYhxx.java @@ -43,10 +43,19 @@ public class XzdYhxx extends BaseEntity { */ private String account; + /** + * 开户户名 + */ + private String khhm; + /** * 是否默认0否1是 */ private String sfmr; + /** + * 类型1供应商2客户3报销 + */ + private String type; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierOpenBankBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierOpenBankBo.java index 981dd154..32883b0d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierOpenBankBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSupplierOpenBankBo.java @@ -39,7 +39,7 @@ public class XzdSupplierOpenBankBo extends BaseEntity { /** * 开户账号 */ - @NotBlank(message = "开户账号不能为空", groups = { AddGroup.class, EditGroup.class }) +// @NotBlank(message = "开户账号不能为空", groups = { AddGroup.class, EditGroup.class }) private String account; /** @@ -70,7 +70,7 @@ public class XzdSupplierOpenBankBo extends BaseEntity { /** * 1是2否 */ - @NotBlank(message = "1是2否不能为空", groups = { AddGroup.class, EditGroup.class }) +// @NotBlank(message = "1是2否不能为空", groups = { AddGroup.class, EditGroup.class }) private String isDefault; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdYhxxBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdYhxxBo.java index 702faffa..e6faee30 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdYhxxBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdYhxxBo.java @@ -37,10 +37,19 @@ public class XzdYhxxBo extends BaseEntity { */ private String account; + /** + * 开户户名 + */ + private String khhm; + /** * 是否默认0否1是 */ private String sfmr; + /** + * 类型1供应商2客户3报销 + */ + private String type; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdYhxxVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdYhxxVo.java index e8d1fcb8..e270024f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdYhxxVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdYhxxVo.java @@ -48,11 +48,20 @@ public class XzdYhxxVo implements Serializable { */ private String account; + /** + * 开户户名 + */ + private String khhm; + /** * 是否默认0否1是 */ @ExcelProperty(value = "是否默认0否1是") private String sfmr; + /** + * 类型1供应商2客户3报销 + */ + private String type; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java index d332af51..a36f93dd 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractChangeServiceImpl.java @@ -83,9 +83,14 @@ public class XzdContractChangeServiceImpl extends ServiceImpl changeVo1 = List.of(changeVo); - setValue(changeVo1); - return changeVo1.getFirst(); + List changeVo1; + if (changeVo != null) { + changeVo1 = List.of(changeVo); + setValue(changeVo1); + return changeVo1.getFirst(); + }else { + return null; + } } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java index 925712c5..f6ac49c9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdContractDetailsServiceImpl.java @@ -124,8 +124,9 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl buildQueryWrapper(XzdContractDetailsBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.orderByDesc(XzdContractDetails::getId); + lqw.orderByDesc(XzdContractDetails::getCreateTime); lqw.eq(StringUtils.isNotBlank(bo.getHtzt()), XzdContractDetails::getHtzt, bo.getHtzt()); + lqw.eq(bo.getId() != null, XzdContractDetails::getId, bo.getId()); lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdContractDetails::getContractType, bo.getContractType()); lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdContractDetails::getContractCode, bo.getContractCode()); lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdContractDetails::getContractName, bo.getContractName()); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdSupplierInfoServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdSupplierInfoServiceImpl.java index d88c1246..e34a768e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdSupplierInfoServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdSupplierInfoServiceImpl.java @@ -290,6 +290,8 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl 0; @@ -491,6 +492,9 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl xzdCustomertypeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); - xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdSupplierEvaluation::getSupplierId, update.getId()); - xzdSupplierEvaluationService.remove(xzdCustomertypeInfoLambdaQueryWrapper); -// xzdSupplierEvaluationService.removeByIds(old.getEvaluations()); +// LambdaQueryWrapper xzdCustomertypeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdSupplierEvaluation::getSupplierId, update.getId()); +// xzdSupplierEvaluationService.remove(xzdCustomertypeInfoLambdaQueryWrapper); + xzdSupplierEvaluationService.removeByIds(old.getEvaluations()); } for (XzdSupplierEvaluation customerType : bo.getEvaluations()) { customerType.setSupplierId(update.getId()); @@ -575,10 +579,10 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl xzdCustomertypeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); - xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdSupplierEvaluation::getSupplierId, update.getId()); - xzdSupplierEvaluationService.remove(xzdCustomertypeInfoLambdaQueryWrapper); -// xzdSupplierEvaluationService.removeByIds(old.getEvaluations()); +// LambdaQueryWrapper xzdCustomertypeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdSupplierEvaluation::getSupplierId, update.getId()); +// xzdSupplierEvaluationService.remove(xzdCustomertypeInfoLambdaQueryWrapper); + xzdSupplierEvaluationService.removeByIds(old.getEvaluations()); } } @@ -931,10 +935,6 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl