11-13-修改银行,增加中间表

This commit is contained in:
2025-11-13 19:01:34 +08:00
parent af247d917b
commit 034d01d604
15 changed files with 575 additions and 67 deletions

View File

@ -5,7 +5,13 @@ import lombok.Data;
@Data
public class BusPdSjVo {
/**
* 我的派单
*/
private Long wdpdrw;
/**
* 其他派单
*/
private Long qtbmpd;

View File

@ -5,6 +5,12 @@ import lombok.Data;
@Data
public class BusWjzxSjDateVo {
/**
* 最近上传
*/
private Long zjsc;
/**
* 总数
*/
private Long zs;
}

View File

@ -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<XzdYhxxVo> 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<XzdYhxxVo> list = xzdYhxxService.queryList(bo);
ExcelUtil.exportExcel(list, "银行数据关联", XzdYhxxVo.class, response);
}
/**
* 获取银行数据关联详细信息
*
* @param id 主键
*/
@SaCheckPermission("yhzjb:yhxxzjb:query")
@GetMapping("/{id}")
public R<XzdYhxxVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdYhxxService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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;
/**
* 开户银行

View File

@ -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;
}

View File

@ -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;
/**
* 开户银行

View File

@ -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;
}

View File

@ -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;
/**
* 开户银行

View File

@ -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;
}

View File

@ -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<XzdYhxx, XzdYhxxVo> {
}

View File

@ -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<XzdYhxx>{
/**
* 查询银行数据关联
*
* @param id 主键
* @return 银行数据关联
*/
XzdYhxxVo queryById(Long id);
/**
* 分页查询银行数据关联列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 银行数据关联分页列表
*/
TableDataInfo<XzdYhxxVo> queryPageList(XzdYhxxBo bo, PageQuery pageQuery);
/**
* 查询符合条件的银行数据关联列表
*
* @param bo 查询条件
* @return 银行数据关联列表
*/
List<XzdYhxxVo> 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<Long> ids, Boolean isValid);
}

View File

@ -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<XzdContractDetail
@Autowired
private SysUserServiceImpl sysUserService;
@Autowired
private XzdBudgetClassificationServiceImpl xzdBudgetClassificationService;
@Autowired
private XzdSupplierOpenBankServiceImpl xzdSupplierOpenBankService;
@Autowired
private IXzdHtglHtbgqdService xzdHtglHtbgqdService;
@Autowired
private XzdProjectTypeServiceImpl xzdProjectTypeService;
// @Autowired
// private XzdContractChangeServiceImpl xzdContractChangeService;
private XzdYhxxServiceImpl xzdYhxxService;
/**
* 查询承包合同信息
@ -472,19 +467,28 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
XzdProject projectVo = xzdProjectService.getBaseMapper().selectById(info.getProject());
if (projectVo != null) {
info.setProjectName(projectVo.getProjectName());
XzdProjectTypeVo bigType = xzdProjectTypeService.getBigType(projectVo.getProjectType());
if (bigType != null){
info.setProjectType(bigType.getTypeName());
}
// XzdProjectTypeVo bigType = xzdProjectTypeService.getBigType(projectVo.getProjectType());
// if (bigType != null){
// info.setProjectType(bigType.getTypeName());
// }
}
}
//乙方单位(供应商信息列表)
if (info.getPartyBUnit() != null) {
//供应商开户银行
LambdaQueryWrapper<XzdSupplierOpenBank> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId, info.getPartyBUnit());
List<XzdSupplierOpenBank> xzdSupplierOpenBanks = xzdSupplierOpenBankService.list(lambdaQueryWrapper);
LambdaQueryWrapper<XzdYhxx> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(XzdYhxx::getMainId, info.getPartyBUnit());
List<XzdYhxx> xzdYhxxList = xzdYhxxService.list(lambdaQueryWrapper);
List<XzdSupplierOpenBank> 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);
}

View File

@ -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<XzdSupplierOpenBank>().eq(XzdSupplierOpenBank::getSupplierId, dto.getXzdCustomerinformation().getId()));
// xzdSupplierOpenBankService.getBaseMapper().delete(new LambdaQueryWrapper<XzdSupplierOpenBank>().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<XzdSettlementInfo>().eq(XzdSettlementInfo::getCustomerinformationId, id));
List<XzdSupplierOpenBank> xzdSupplierOpenBanks = xzdSupplierOpenBankService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdSupplierOpenBank>().eq(XzdSupplierOpenBank::getSupplierId, id));
// List<XzdSupplierOpenBank> xzdSupplierOpenBanks = xzdSupplierOpenBankService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdSupplierOpenBank>().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<XzdSupplierOpenBank>().eq(XzdSupplierOpenBank::getSupplierId, dto));
// xzdSupplierOpenBankService.getBaseMapper().delete(new LambdaQueryWrapper<XzdSupplierOpenBank>().eq(XzdSupplierOpenBank::getSupplierId, dto));

View File

@ -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<XzdSupplierInfoMappe
private XzdCustomertypeServiceImpl xzdCustomertypeService;
@Autowired
private XzdSupplierOpenBankServiceImpl xzdSupplierOpenBankService;
@Autowired
private XzdYhxxServiceImpl xzdYhxxService;
@Autowired
@ -278,10 +281,13 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMappe
//开户银行
if(bo.getSettlement().getOpenBanks() != null && !bo.getSettlement().getOpenBanks().isEmpty()){
for (XzdSupplierOpenBank openBank : bo.getSettlement().getOpenBanks()) {
openBank.setSupplierId(add.getId());
for (XzdSupplierOpenBank bank : bo.getSettlement().getOpenBanks()) {
XzdYhxxBo xzdYhxxBo = new XzdYhxxBo();
xzdYhxxBo.setYhId(bank.getId());
xzdYhxxBo.setMainId(add.getId());
xzdYhxxBo.setSfmr(bank.getIsDefault());
xzdYhxxService.insertByBo(xzdYhxxBo);
}
xzdSupplierOpenBankService.saveBatch(bo.getSettlement().getOpenBanks());
}
bo.getSettlement().setType("2");
@ -436,22 +442,36 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMappe
//开户银行
if(bo.getSettlement().getOpenBanks() != null && !bo.getSettlement().getOpenBanks().isEmpty()){
if (old.getSettlement().getOpenBanks() != null && !old.getSettlement().getOpenBanks().isEmpty()){
for (XzdSupplierOpenBank openBank : old.getSettlement().getOpenBanks()) {
if (!bo.getSettlement().getOpenBanks().contains(openBank)){
xzdSupplierOpenBankService.removeById(openBank);
}
}
//先获取老数据银行关联表
LambdaQueryWrapper<XzdYhxx> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XzdYhxx::getMainId, old.getId());
List<XzdYhxx> 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<XzdYhxx> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XzdYhxx::getMainId, old.getId());
List<XzdYhxx> 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<XzdSupplierInfoMappe
settlementInfoLambdaQueryWrapper.eq(XzdSettlementInfo::getCustomerinformationId, id);
xzdSettlementInfoService.remove(settlementInfoLambdaQueryWrapper);
//删除开户银行
LambdaQueryWrapper<XzdSupplierOpenBank> bankLambdaQueryWrapper = new LambdaQueryWrapper<>();
bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId,vo.getId());
List<XzdSupplierOpenBank> openBanks = xzdSupplierOpenBankService.list(bankLambdaQueryWrapper);
xzdSupplierOpenBankService.removeBatchByIds(openBanks);
//删除开户银行 关联信息
LambdaQueryWrapper<XzdYhxx> yhxxLambdaQueryWrapper = new LambdaQueryWrapper<>();
yhxxLambdaQueryWrapper.eq(XzdYhxx::getMainId,id);
xzdYhxxService.remove(yhxxLambdaQueryWrapper);
//处理业务信息
LambdaQueryWrapper<XzdBusinessInfo> businessInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
@ -839,10 +858,11 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMappe
}
//处理开户银行
LambdaQueryWrapper<XzdSupplierOpenBank> bankLambdaQueryWrapper = new LambdaQueryWrapper<>();
bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId,vo.getId());
bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getIsDefault,"1");
XzdSupplierOpenBank openBank = xzdSupplierOpenBankService.getOne(bankLambdaQueryWrapper);
LambdaQueryWrapper<XzdYhxx> 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<XzdSupplierInfoMappe
}
bankLambdaQueryWrapper.clear();
bankLambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId,vo.getId());
List<XzdSupplierOpenBank> openBanks = xzdSupplierOpenBankService.list(bankLambdaQueryWrapper);
if (vo.getSettlement() != null && openBanks != null && !openBanks.isEmpty()) {
bankLambdaQueryWrapper.eq(XzdYhxx::getMainId,vo.getId());
List<XzdYhxx> xzdYhxxList = xzdYhxxService.list(bankLambdaQueryWrapper);
if (xzdYhxxList!= null && !xzdYhxxList.isEmpty()) {
List<XzdSupplierOpenBank> openBanks = new ArrayList<>();
for (XzdYhxx yhxx : xzdYhxxList) {
XzdSupplierOpenBank byId = xzdSupplierOpenBankService.getById(yhxx.getYhId());
if (byId != null){
openBanks.add(byId);
}
}
vo.getSettlement().setOpenBanks(openBanks);
}
//处理业务信息

View File

@ -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<XzdYhxxMapper, XzdYhxx> 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<XzdYhxxVo> queryPageList(XzdYhxxBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdYhxx> lqw = buildQueryWrapper(bo);
Page<XzdYhxxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的银行数据关联列表
*
* @param bo 查询条件
* @return 银行数据关联列表
*/
@Override
public List<XzdYhxxVo> queryList(XzdYhxxBo bo) {
LambdaQueryWrapper<XzdYhxx> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdYhxx> buildQueryWrapper(XzdYhxxBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdYhxx> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}