diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusPdSjVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusPdSjVo.java index feb16c5c..2c1a9113 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusPdSjVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusPdSjVo.java @@ -5,7 +5,13 @@ import lombok.Data; @Data public class BusPdSjVo { + /** + * 我的派单 + */ private Long wdpdrw; + /** + * 其他派单 + */ private Long qtbmpd; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusWjzxSjDateVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusWjzxSjDateVo.java index 353ee83e..9ef281a9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusWjzxSjDateVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/BusWjzxSjDateVo.java @@ -5,6 +5,12 @@ import lombok.Data; @Data public class BusWjzxSjDateVo { + /** + * 最近上传 + */ private Long zjsc; + /** + * 总数 + */ private Long zs; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdYhxxController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdYhxxController.java new file mode 100644 index 00000000..4d8df0db --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/controller/XzdYhxxController.java @@ -0,0 +1,106 @@ +package org.dromara.xzd.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +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; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.xzd.domain.bo.XzdYhxxBo; +import org.dromara.xzd.domain.vo.XzdYhxxVo; +import org.dromara.xzd.service.IXzdYhxxService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 银行数据关联 + * + * @author Lion Li + * @date 2025-11-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/yhzjb/yhxxzjb") +public class XzdYhxxController extends BaseController { + + private final IXzdYhxxService xzdYhxxService; + + /** + * 查询银行数据关联列表 + */ + @SaCheckPermission("yhzjb:yhxxzjb:list") + @GetMapping("/list") + public TableDataInfo list(XzdYhxxBo bo, PageQuery pageQuery) { + return xzdYhxxService.queryPageList(bo, pageQuery); + } + + /** + * 导出银行数据关联列表 + */ + @SaCheckPermission("yhzjb:yhxxzjb:export") + @Log(title = "银行数据关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(XzdYhxxBo bo, HttpServletResponse response) { + List list = xzdYhxxService.queryList(bo); + ExcelUtil.exportExcel(list, "银行数据关联", XzdYhxxVo.class, response); + } + + /** + * 获取银行数据关联详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("yhzjb:yhxxzjb:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(xzdYhxxService.queryById(id)); + } + + /** + * 新增银行数据关联 + */ + @SaCheckPermission("yhzjb:yhxxzjb:add") + @Log(title = "银行数据关联", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody XzdYhxxBo bo) { + return toAjax(xzdYhxxService.insertByBo(bo)); + } + + /** + * 修改银行数据关联 + */ + @SaCheckPermission("yhzjb:yhxxzjb:edit") + @Log(title = "银行数据关联", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody XzdYhxxBo bo) { + return toAjax(xzdYhxxService.updateByBo(bo)); + } + + /** + * 删除银行数据关联 + * + * @param ids 主键串 + */ + @SaCheckPermission("yhzjb:yhxxzjb:remove") + @Log(title = "银行数据关联", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(xzdYhxxService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierOpenBank.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierOpenBank.java index 5b4b45f4..b2327667 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierOpenBank.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdSupplierOpenBank.java @@ -1,9 +1,10 @@ package org.dromara.xzd.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; @@ -28,9 +29,9 @@ public class XzdSupplierOpenBank extends BaseEntity { private Long id; /** - * 供应商id + * 审核状态 */ - private Long supplierId; + private String shzt; /** * 开户银行 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 new file mode 100644 index 00000000..9fdd9fe4 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/XzdYhxx.java @@ -0,0 +1,47 @@ +package org.dromara.xzd.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; + +/** + * 银行数据关联对象 xzd_yhxx + * + * @author Lion Li + * @date 2025-11-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xzd_yhxx") +public class XzdYhxx extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 关联供应商/客户id + */ + private Long mainId; + + /** + * 银行id + */ + private Long yhId; + + /** + * 是否默认0否1是 + */ + private String sfmr; + + +} 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 f4024a97..981dd154 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 @@ -1,13 +1,13 @@ package org.dromara.xzd.domain.bo; -import org.dromara.xzd.domain.XzdSupplierOpenBank; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.xzd.domain.XzdSupplierOpenBank; /** * 供应商信息-开户银行业务对象 xzd_supplier_open_bank @@ -26,9 +26,9 @@ public class XzdSupplierOpenBankBo extends BaseEntity { private Long id; /** - * 供应商id + * 审核状态 */ - private Long supplierId; + private String shzt; /** * 开户银行 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 new file mode 100644 index 00000000..d4650493 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdYhxxBo.java @@ -0,0 +1,41 @@ +package org.dromara.xzd.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.xzd.domain.XzdYhxx; + +/** + * 银行数据关联业务对象 xzd_yhxx + * + * @author Lion Li + * @date 2025-11-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XzdYhxx.class, reverseConvertGenerate = false) +public class XzdYhxxBo extends BaseEntity { + + /** + * id + */ + private Long id; + + /** + * 关联供应商/客户id + */ + private Long mainId; + + /** + * 银行id + */ + private Long yhId; + + /** + * 是否默认0否1是 + */ + private String sfmr; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierOpenBankVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierOpenBankVo.java index 6125340d..d747dd86 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierOpenBankVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdSupplierOpenBankVo.java @@ -1,10 +1,10 @@ package org.dromara.xzd.domain.vo; -import org.dromara.xzd.domain.XzdSupplierOpenBank; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.xzd.domain.XzdSupplierOpenBank; import java.io.Serial; import java.io.Serializable; @@ -31,9 +31,9 @@ public class XzdSupplierOpenBankVo implements Serializable { private Long id; /** - * 供应商id + * 审核状态 */ - private Long supplierId; + private String shzt; /** * 开户银行 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 new file mode 100644 index 00000000..3c9af54b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdYhxxVo.java @@ -0,0 +1,53 @@ +package org.dromara.xzd.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.xzd.domain.XzdYhxx; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * 银行数据关联视图对象 xzd_yhxx + * + * @author Lion Li + * @date 2025-11-13 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XzdYhxx.class) +public class XzdYhxxVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ExcelProperty(value = "id") + private Long id; + + /** + * 关联供应商/客户id + */ + @ExcelProperty(value = "关联供应商/客户id") + private Long mainId; + + /** + * 银行id + */ + @ExcelProperty(value = "银行id") + private Long yhId; + + /** + * 是否默认0否1是 + */ + @ExcelProperty(value = "是否默认0否1是") + private String sfmr; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdYhxxMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdYhxxMapper.java new file mode 100644 index 00000000..a6c6ec6e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdYhxxMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xzd.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.xzd.domain.XzdYhxx; +import org.dromara.xzd.domain.vo.XzdYhxxVo; + +/** + * 银行数据关联Mapper接口 + * + * @author Lion Li + * @date 2025-11-13 + */ +public interface XzdYhxxMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdYhxxService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdYhxxService.java new file mode 100644 index 00000000..0f57bff5 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdYhxxService.java @@ -0,0 +1,70 @@ +package org.dromara.xzd.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.xzd.domain.XzdYhxx; +import org.dromara.xzd.domain.bo.XzdYhxxBo; +import org.dromara.xzd.domain.vo.XzdYhxxVo; + +import java.util.Collection; +import java.util.List; + +/** + * 银行数据关联Service接口 + * + * @author Lion Li + * @date 2025-11-13 + */ +public interface IXzdYhxxService extends IService{ + + /** + * 查询银行数据关联 + * + * @param id 主键 + * @return 银行数据关联 + */ + XzdYhxxVo queryById(Long id); + + /** + * 分页查询银行数据关联列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 银行数据关联分页列表 + */ + TableDataInfo queryPageList(XzdYhxxBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的银行数据关联列表 + * + * @param bo 查询条件 + * @return 银行数据关联列表 + */ + List queryList(XzdYhxxBo bo); + + /** + * 新增银行数据关联 + * + * @param bo 银行数据关联 + * @return 是否新增成功 + */ + Boolean insertByBo(XzdYhxxBo bo); + + /** + * 修改银行数据关联 + * + * @param bo 银行数据关联 + * @return 是否修改成功 + */ + Boolean updateByBo(XzdYhxxBo bo); + + /** + * 校验并批量删除银行数据关联信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} 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 b3184ef5..925712c5 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 @@ -25,7 +25,6 @@ import org.dromara.xzd.domain.*; import org.dromara.xzd.domain.bo.XzdContractDetailsBo; import org.dromara.xzd.domain.vo.XzdContractChangeVo; import org.dromara.xzd.domain.vo.XzdContractDetailsVo; -import org.dromara.xzd.domain.vo.XzdProjectTypeVo; import org.dromara.xzd.domain.vo.XzdSupplierInfoVo; import org.dromara.xzd.enums.XzdClassEnum; import org.dromara.xzd.mapper.XzdContractDetailsMapper; @@ -72,15 +71,11 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId, info.getPartyBUnit()); - List xzdSupplierOpenBanks = xzdSupplierOpenBankService.list(lambdaQueryWrapper); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(XzdYhxx::getMainId, info.getPartyBUnit()); + List xzdYhxxList = xzdYhxxService.list(lambdaQueryWrapper); + + List xzdSupplierOpenBanks = new ArrayList<>(); + for (XzdYhxx xzdYhxx : xzdYhxxList) { + XzdSupplierOpenBank byId = xzdSupplierOpenBankService.getById(xzdYhxx.getYhId()); + if (byId != null){ + xzdSupplierOpenBanks.add(byId); + } + } + if (!xzdSupplierOpenBanks.isEmpty()) { info.setPartyBUnitOpeningBank(xzdSupplierOpenBanks); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java index eee13bdc..51d57bb0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java @@ -1,7 +1,6 @@ package org.dromara.xzd.service.impl; - import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -27,17 +26,17 @@ import org.dromara.xzd.enums.ZxdEnum; import org.dromara.xzd.mapper.XzdCustomerinformationMapper; import org.dromara.xzd.service.*; import org.dromara.xzd.utilS.AreaUtil; -import org.dromara.xzd.utilS.IdWorker; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.context.event.EventListener; - -import java.time.LocalDateTime; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; import java.util.stream.Collectors; @@ -264,7 +263,7 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { //开户银行 if(dto.getXzdSettlementInfo().getOpenBanks() != null && !dto.getXzdSettlementInfo().getOpenBanks().isEmpty()){ for (XzdSupplierOpenBank openBank : dto.getXzdSettlementInfo().getOpenBanks()) { - openBank.setSupplierId(id); +// openBank.setSupplierId(id); } xzdSupplierOpenBankService.saveBatch(dto.getXzdSettlementInfo().getOpenBanks()); } @@ -452,7 +451,7 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { // 结算信息 XzdSettlementInfoBo xzdSettlementInfo = dto.getXzdSettlementInfo(); - xzdSupplierOpenBankService.getBaseMapper().delete(new LambdaQueryWrapper().eq(XzdSupplierOpenBank::getSupplierId, dto.getXzdCustomerinformation().getId())); +// xzdSupplierOpenBankService.getBaseMapper().delete(new LambdaQueryWrapper().eq(XzdSupplierOpenBank::getSupplierId, dto.getXzdCustomerinformation().getId())); if (xzdSettlementInfo != null) { xzdSettlementInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); xzdSettlementInfo.setCustomerinformationId(dto.getXzdCustomerinformation().getId()); @@ -460,7 +459,7 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { //开户银行 if(dto.getXzdSettlementInfo().getOpenBanks() != null && !dto.getXzdSettlementInfo().getOpenBanks().isEmpty()){ for (XzdSupplierOpenBank openBank : dto.getXzdSettlementInfo().getOpenBanks()) { - openBank.setSupplierId(dto.getXzdCustomerinformation().getId()); +// openBank.setSupplierId(dto.getXzdCustomerinformation().getId()); } xzdSupplierOpenBankService.saveBatch(dto.getXzdSettlementInfo().getOpenBanks()); } @@ -556,10 +555,10 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { // 结算信息 XzdSettlementInfo xzdSettlementInfo = xzdSettlementInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper().eq(XzdSettlementInfo::getCustomerinformationId, id)); - List xzdSupplierOpenBanks = xzdSupplierOpenBankService.getBaseMapper().selectList(new LambdaQueryWrapper().eq(XzdSupplierOpenBank::getSupplierId, id)); +// List xzdSupplierOpenBanks = xzdSupplierOpenBankService.getBaseMapper().selectList(new LambdaQueryWrapper().eq(XzdSupplierOpenBank::getSupplierId, id)); dto.setXzdSettlementInfo(MapstructUtils.convert(xzdSettlementInfo, XzdSettlementInfoVo.class)); if ( dto.getXzdSettlementInfo() != null) { - dto.getXzdSettlementInfo().setOpenBanks(xzdSupplierOpenBanks); +// dto.getXzdSettlementInfo().setOpenBanks(xzdSupplierOpenBanks); } @@ -680,7 +679,7 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { // 结算信息 xzdSettlementInfoService.removeByMap(temp); - xzdSupplierOpenBankService.getBaseMapper().delete(new LambdaQueryWrapper().eq(XzdSupplierOpenBank::getSupplierId, dto)); +// xzdSupplierOpenBankService.getBaseMapper().delete(new LambdaQueryWrapper().eq(XzdSupplierOpenBank::getSupplierId, dto)); 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 edcae153..ba1f0dce 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 @@ -22,6 +22,7 @@ import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysUserServiceImpl; import org.dromara.xzd.domain.*; import org.dromara.xzd.domain.bo.XzdSupplierInfoBo; +import org.dromara.xzd.domain.bo.XzdYhxxBo; import org.dromara.xzd.domain.vo.XzdCustomertypeVo; import org.dromara.xzd.domain.vo.XzdSupplierInfoVo; import org.dromara.xzd.mapper.XzdSupplierInfoMapper; @@ -78,6 +79,8 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XzdYhxx::getMainId, old.getId()); + List oldList = xzdYhxxService.list(queryWrapper); - xzdSupplierOpenBankService.saveOrUpdateBatch(bo.getSettlement().getOpenBanks()); - - }else { - for (XzdSupplierOpenBank openBank : bo.getSettlement().getOpenBanks()) { - openBank.setSupplierId(update.getId()); - } - xzdSupplierOpenBankService.saveBatch(bo.getSettlement().getOpenBanks()); + if (oldList != null && !oldList.isEmpty()){ + //先删除老的 + xzdYhxxService.removeByIds(oldList); } + + //保存此次的 + for (XzdSupplierOpenBank bank : bo.getSettlement().getOpenBanks()) { + XzdYhxxBo xzdYhxxBo = new XzdYhxxBo(); + xzdYhxxBo.setYhId(bank.getId()); + xzdYhxxBo.setMainId(update.getId()); + xzdYhxxBo.setSfmr(bank.getIsDefault()); + 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.removeByIds(oldList); + } + } bo.getSettlement().setType("2"); @@ -662,11 +682,10 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl bankLambdaQueryWrapper = new LambdaQueryWrapper<>(); - bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId,vo.getId()); - List openBanks = xzdSupplierOpenBankService.list(bankLambdaQueryWrapper); - xzdSupplierOpenBankService.removeBatchByIds(openBanks); + //删除开户银行 关联信息 + LambdaQueryWrapper yhxxLambdaQueryWrapper = new LambdaQueryWrapper<>(); + yhxxLambdaQueryWrapper.eq(XzdYhxx::getMainId,id); + xzdYhxxService.remove(yhxxLambdaQueryWrapper); //处理业务信息 LambdaQueryWrapper businessInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -839,10 +858,11 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl bankLambdaQueryWrapper = new LambdaQueryWrapper<>(); - bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId,vo.getId()); - bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getIsDefault,"1"); - XzdSupplierOpenBank openBank = xzdSupplierOpenBankService.getOne(bankLambdaQueryWrapper); + LambdaQueryWrapper bankLambdaQueryWrapper = new LambdaQueryWrapper<>(); + bankLambdaQueryWrapper.eq(XzdYhxx::getMainId,vo.getId()); + bankLambdaQueryWrapper.eq(XzdYhxx::getSfmr,"1"); + XzdYhxx xzdYhxx = xzdYhxxService.getOne(bankLambdaQueryWrapper); + XzdSupplierOpenBank openBank = xzdSupplierOpenBankService.getById(xzdYhxx.getYhId()); if (openBank!= null){ vo.setKhyh(openBank.getOpenBank()); vo.setKhhzh(openBank.getAccount()); @@ -854,9 +874,16 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl openBanks = xzdSupplierOpenBankService.list(bankLambdaQueryWrapper); - if (vo.getSettlement() != null && openBanks != null && !openBanks.isEmpty()) { + bankLambdaQueryWrapper.eq(XzdYhxx::getMainId,vo.getId()); + List xzdYhxxList = xzdYhxxService.list(bankLambdaQueryWrapper); + if (xzdYhxxList!= null && !xzdYhxxList.isEmpty()) { + List openBanks = new ArrayList<>(); + for (XzdYhxx yhxx : xzdYhxxList) { + XzdSupplierOpenBank byId = xzdSupplierOpenBankService.getById(yhxx.getYhId()); + if (byId != null){ + openBanks.add(byId); + } + } vo.getSettlement().setOpenBanks(openBanks); } //处理业务信息 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdYhxxServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdYhxxServiceImpl.java new file mode 100644 index 00000000..31d7542b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdYhxxServiceImpl.java @@ -0,0 +1,133 @@ +package org.dromara.xzd.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.xzd.domain.XzdYhxx; +import org.dromara.xzd.domain.bo.XzdYhxxBo; +import org.dromara.xzd.domain.vo.XzdYhxxVo; +import org.dromara.xzd.mapper.XzdYhxxMapper; +import org.dromara.xzd.service.IXzdYhxxService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 银行数据关联Service业务层处理 + * + * @author Lion Li + * @date 2025-11-13 + */ +@RequiredArgsConstructor +@Service +public class XzdYhxxServiceImpl extends ServiceImpl implements IXzdYhxxService { + + private final XzdYhxxMapper baseMapper; + + /** + * 查询银行数据关联 + * + * @param id 主键 + * @return 银行数据关联 + */ + @Override + public XzdYhxxVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询银行数据关联列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 银行数据关联分页列表 + */ + @Override + public TableDataInfo queryPageList(XzdYhxxBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的银行数据关联列表 + * + * @param bo 查询条件 + * @return 银行数据关联列表 + */ + @Override + public List queryList(XzdYhxxBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XzdYhxxBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(XzdYhxx::getId); + lqw.eq(bo.getMainId() != null, XzdYhxx::getMainId, bo.getMainId()); + lqw.eq(bo.getYhId() != null, XzdYhxx::getYhId, bo.getYhId()); + lqw.eq(StringUtils.isNotBlank(bo.getSfmr()), XzdYhxx::getSfmr, bo.getSfmr()); + return lqw; + } + + /** + * 新增银行数据关联 + * + * @param bo 银行数据关联 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XzdYhxxBo bo) { + XzdYhxx add = MapstructUtils.convert(bo, XzdYhxx.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改银行数据关联 + * + * @param bo 银行数据关联 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XzdYhxxBo bo) { + XzdYhxx update = MapstructUtils.convert(bo, XzdYhxx.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XzdYhxx entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除银行数据关联信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +}