10-16-承包合同收款-分包合同付款
This commit is contained in:
@ -0,0 +1,102 @@
|
||||
package org.dromara.xzd.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 收款信息对象 xzd_contract_skxx
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_contract_skxx")
|
||||
public class XzdContractSkxx extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
*/
|
||||
private Long mainId;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 方向
|
||||
*/
|
||||
private String fx;
|
||||
|
||||
/**
|
||||
* 款项类别
|
||||
*/
|
||||
private String kxlb;
|
||||
|
||||
/**
|
||||
* 款项属性
|
||||
*/
|
||||
private String kxsx;
|
||||
|
||||
/**
|
||||
* 本期申请金额
|
||||
*/
|
||||
private Long bqsqje;
|
||||
|
||||
/**
|
||||
* 本期审批金额
|
||||
*/
|
||||
private Long bqspje;
|
||||
|
||||
/**
|
||||
* 收款账龄
|
||||
*/
|
||||
private Long skzl;
|
||||
|
||||
/**
|
||||
* 归还日期
|
||||
*/
|
||||
private Date ghrq;
|
||||
|
||||
/**
|
||||
* 应收日期
|
||||
*/
|
||||
private Date ysrq;
|
||||
|
||||
/**
|
||||
* 累计审批金额
|
||||
*/
|
||||
private Long ljspje;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private Long zftkId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,111 @@
|
||||
package org.dromara.xzd.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
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 lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 收款信息业务对象 xzd_contract_skxx
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdContractSkxx.class, reverseConvertGenerate = false)
|
||||
public class XzdContractSkxxBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
*/
|
||||
private Long mainId;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 方向
|
||||
*/
|
||||
private String fx;
|
||||
|
||||
/**
|
||||
* 款项类别
|
||||
*/
|
||||
private String kxlb;
|
||||
|
||||
/**
|
||||
* 款项属性
|
||||
*/
|
||||
@NotBlank(message = "款项属性不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String kxsx;
|
||||
|
||||
/**
|
||||
* 本期申请金额
|
||||
*/
|
||||
private BigDecimal bqsqje;
|
||||
|
||||
/**
|
||||
* 本期审批金额
|
||||
*/
|
||||
@NotNull(message = "本期审批金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal bqspje;
|
||||
|
||||
/**
|
||||
* 收款账龄
|
||||
*/
|
||||
private Long skzl;
|
||||
|
||||
/**
|
||||
* 归还日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date ghrq;
|
||||
|
||||
/**
|
||||
* 应收日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date ysrq;
|
||||
|
||||
/**
|
||||
* 累计审批金额
|
||||
*/
|
||||
private BigDecimal ljspje;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private Long zftkId;
|
||||
|
||||
|
||||
}
|
||||
@ -123,6 +123,11 @@ public class XzdContractDetailsVo implements Serializable {
|
||||
*/
|
||||
private String partyBUnitName;
|
||||
|
||||
/**
|
||||
* 乙方单位开户行
|
||||
*/
|
||||
private List<XzdSupplierOpenBank> partyBUnitOpeningBank;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
|
||||
@ -0,0 +1,122 @@
|
||||
package org.dromara.xzd.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 收款信息视图对象 xzd_contract_skxx
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdContractSkxx.class)
|
||||
public class XzdContractSkxxVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
*/
|
||||
private Long mainId;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@ExcelProperty(value = "类型")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 方向
|
||||
*/
|
||||
@ExcelProperty(value = "方向")
|
||||
private String fx;
|
||||
|
||||
/**
|
||||
* 款项类别
|
||||
*/
|
||||
@ExcelProperty(value = "款项类别")
|
||||
private String kxlb;
|
||||
|
||||
/**
|
||||
* 款项属性
|
||||
*/
|
||||
@ExcelProperty(value = "款项属性")
|
||||
private String kxsx;
|
||||
|
||||
/**
|
||||
* 本期申请金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期申请金额")
|
||||
private Long bqsqje;
|
||||
|
||||
/**
|
||||
* 本期审批金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期审批金额")
|
||||
private Long bqspje;
|
||||
|
||||
/**
|
||||
* 收款账龄
|
||||
*/
|
||||
@ExcelProperty(value = "收款账龄")
|
||||
private Long skzl;
|
||||
|
||||
/**
|
||||
* 归还日期
|
||||
*/
|
||||
@ExcelProperty(value = "归还日期")
|
||||
private Date ghrq;
|
||||
|
||||
/**
|
||||
* 应收日期
|
||||
*/
|
||||
@ExcelProperty(value = "应收日期")
|
||||
private Date ysrq;
|
||||
|
||||
/**
|
||||
* 累计审批金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计审批金额")
|
||||
private Long ljspje;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
@ExcelProperty(value = "数据来源")
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
@ExcelProperty(value = "支付条款")
|
||||
private Long zftkId;
|
||||
|
||||
/**
|
||||
* 支付条款类别
|
||||
*/
|
||||
private String zftkLb;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.mapper;
|
||||
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
import org.dromara.xzd.domain.vo.XzdContractSkxxVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 收款信息Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
public interface XzdContractSkxxMapper extends BaseMapperPlus<XzdContractSkxx, XzdContractSkxxVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.service;
|
||||
|
||||
import org.dromara.xzd.domain.vo.XzdContractSkxxVo;
|
||||
import org.dromara.xzd.domain.bo.XzdContractSkxxBo;
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收款信息Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
public interface IXzdContractSkxxService extends IService<XzdContractSkxx>{
|
||||
|
||||
/**
|
||||
* 查询收款信息
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收款信息
|
||||
*/
|
||||
XzdContractSkxxVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询收款信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收款信息分页列表
|
||||
*/
|
||||
TableDataInfo<XzdContractSkxxVo> queryPageList(XzdContractSkxxBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的收款信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收款信息列表
|
||||
*/
|
||||
List<XzdContractSkxxVo> queryList(XzdContractSkxxBo bo);
|
||||
|
||||
/**
|
||||
* 新增收款信息
|
||||
*
|
||||
* @param bo 收款信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdContractSkxxBo bo);
|
||||
|
||||
/**
|
||||
* 修改收款信息
|
||||
*
|
||||
* @param bo 收款信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdContractSkxxBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除收款信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -74,6 +74,8 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
|
||||
private SysUserServiceImpl sysUserService;
|
||||
@Autowired
|
||||
private XzdBudgetClassificationServiceImpl xzdBudgetClassificationService;
|
||||
@Autowired
|
||||
private XzdSupplierOpenBankServiceImpl xzdSupplierOpenBankService;
|
||||
|
||||
/**
|
||||
* 查询承包合同信息
|
||||
@ -454,6 +456,13 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
|
||||
XzdSupplierInfoVo xzdSupplierInfoVo = xzdSupplierInfoService.queryById(info.getPartyBUnit());
|
||||
if (xzdSupplierInfoVo != null) {
|
||||
info.setPartyBUnitName(xzdSupplierInfoVo.getUnitName());
|
||||
//供应商开户银行
|
||||
LambdaQueryWrapper<XzdSupplierOpenBank> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(XzdSupplierOpenBank::getSupplierId, info.getPartyBUnit());
|
||||
List<XzdSupplierOpenBank> xzdSupplierOpenBanks = xzdSupplierOpenBankService.list(lambdaQueryWrapper);
|
||||
if (!xzdSupplierOpenBanks.isEmpty()) {
|
||||
info.setPartyBUnitOpeningBank(xzdSupplierOpenBanks);
|
||||
}
|
||||
}
|
||||
}
|
||||
//开票单位名称(供应商名称)
|
||||
|
||||
@ -0,0 +1,142 @@
|
||||
package org.dromara.xzd.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.domain.bo.XzdContractSkxxBo;
|
||||
import org.dromara.xzd.domain.vo.XzdContractSkxxVo;
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
import org.dromara.xzd.mapper.XzdContractSkxxMapper;
|
||||
import org.dromara.xzd.service.IXzdContractSkxxService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 收款信息Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdContractSkxxServiceImpl extends ServiceImpl<XzdContractSkxxMapper, XzdContractSkxx> implements IXzdContractSkxxService {
|
||||
|
||||
private final XzdContractSkxxMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询收款信息
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收款信息
|
||||
*/
|
||||
@Override
|
||||
public XzdContractSkxxVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询收款信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收款信息分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdContractSkxxVo> queryPageList(XzdContractSkxxBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdContractSkxx> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdContractSkxxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的收款信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收款信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdContractSkxxVo> queryList(XzdContractSkxxBo bo) {
|
||||
LambdaQueryWrapper<XzdContractSkxx> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdContractSkxx> buildQueryWrapper(XzdContractSkxxBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdContractSkxx> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdContractSkxx::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdContractSkxx::getType, bo.getType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFx()), XzdContractSkxx::getFx, bo.getFx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKxlb()), XzdContractSkxx::getKxlb, bo.getKxlb());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKxsx()), XzdContractSkxx::getKxsx, bo.getKxsx());
|
||||
lqw.eq(bo.getBqsqje() != null, XzdContractSkxx::getBqsqje, bo.getBqsqje());
|
||||
lqw.eq(bo.getBqspje() != null, XzdContractSkxx::getBqspje, bo.getBqspje());
|
||||
lqw.eq(bo.getSkzl() != null, XzdContractSkxx::getSkzl, bo.getSkzl());
|
||||
lqw.eq(bo.getGhrq() != null, XzdContractSkxx::getGhrq, bo.getGhrq());
|
||||
lqw.eq(bo.getYsrq() != null, XzdContractSkxx::getYsrq, bo.getYsrq());
|
||||
lqw.eq(bo.getLjspje() != null, XzdContractSkxx::getLjspje, bo.getLjspje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSjly()), XzdContractSkxx::getSjly, bo.getSjly());
|
||||
lqw.eq(bo.getZftkId() != null, XzdContractSkxx::getZftkId, bo.getZftkId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收款信息
|
||||
*
|
||||
* @param bo 收款信息
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdContractSkxxBo bo) {
|
||||
XzdContractSkxx add = MapstructUtils.convert(bo, XzdContractSkxx.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收款信息
|
||||
*
|
||||
* @param bo 收款信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdContractSkxxBo bo) {
|
||||
XzdContractSkxx update = MapstructUtils.convert(bo, XzdContractSkxx.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdContractSkxx entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除收款信息信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.skyfk.cbhtsc.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
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.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.vo.XzdContractPaymentVo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.bo.XzdContractPaymentBo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.service.IXzdContractPaymentService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 承包合同收款
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/skyfk/contractPayment")
|
||||
public class XzdContractPaymentController extends BaseController {
|
||||
|
||||
private final IXzdContractPaymentService xzdContractPaymentService;
|
||||
|
||||
/**
|
||||
* 查询承包合同收款列表
|
||||
*/
|
||||
@SaCheckPermission("skyfk:contractPayment:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdContractPaymentVo> list(XzdContractPaymentBo bo, PageQuery pageQuery) {
|
||||
return xzdContractPaymentService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出承包合同收款列表
|
||||
*/
|
||||
@SaCheckPermission("skyfk:contractPayment:export")
|
||||
@Log(title = "承包合同收款", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdContractPaymentBo bo, HttpServletResponse response) {
|
||||
List<XzdContractPaymentVo> list = xzdContractPaymentService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "承包合同收款", XzdContractPaymentVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取承包合同收款详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("skyfk:contractPayment:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdContractPaymentVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdContractPaymentService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增承包合同收款
|
||||
*/
|
||||
@SaCheckPermission("skyfk:contractPayment:add")
|
||||
@Log(title = "承包合同收款", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdContractPaymentBo bo) {
|
||||
return toAjax(xzdContractPaymentService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改承包合同收款
|
||||
*/
|
||||
@SaCheckPermission("skyfk:contractPayment:edit")
|
||||
@Log(title = "承包合同收款", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdContractPaymentBo bo) {
|
||||
return toAjax(xzdContractPaymentService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除承包合同收款
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("skyfk:contractPayment:remove")
|
||||
@Log(title = "承包合同收款", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdContractPaymentService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,174 @@
|
||||
package org.dromara.xzd.skyfk.cbhtsc.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 承包合同收款对象 xzd_contract_payment
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_contract_payment")
|
||||
public class XzdContractPayment extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String documentCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String titile;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 收款性质
|
||||
*/
|
||||
private String collectionNature;
|
||||
|
||||
/**
|
||||
* 实际收款日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date paymentDate;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 付款单位(客户)id
|
||||
*/
|
||||
private Long payer;
|
||||
|
||||
/**
|
||||
* 收款银行
|
||||
*/
|
||||
private Long beneficiaryBank;
|
||||
|
||||
/**
|
||||
* 收款银行账号
|
||||
*/
|
||||
private String bankAccount;
|
||||
|
||||
/**
|
||||
* 本期审批收款金额
|
||||
*/
|
||||
private BigDecimal paymentAmount;
|
||||
|
||||
/**
|
||||
* 预收款剩余未抵扣金额
|
||||
*/
|
||||
private BigDecimal undischargedPayment;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private String taxRate;
|
||||
|
||||
/**
|
||||
* 累计审定产值金额
|
||||
*/
|
||||
private BigDecimal outputAmount;
|
||||
|
||||
/**
|
||||
* 累计收款金额(不含本期)
|
||||
*/
|
||||
private BigDecimal ljskjeElse;
|
||||
|
||||
/**
|
||||
* 累计收款金额(含本期)
|
||||
*/
|
||||
private BigDecimal ljskjeAll;
|
||||
|
||||
/**
|
||||
* 已收款比例(不含本期)
|
||||
*/
|
||||
private BigDecimal yskblElse;
|
||||
|
||||
/**
|
||||
* 本次收款比例
|
||||
*/
|
||||
private BigDecimal bcskbl;
|
||||
|
||||
/**
|
||||
* 截止本期收款比例
|
||||
*/
|
||||
private BigDecimal jzbqskbl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 0否1是
|
||||
*/
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
private BigDecimal hthsje;
|
||||
|
||||
/**
|
||||
* 合同累计实际收款金额
|
||||
*/
|
||||
private BigDecimal htljsjskje;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private BigDecimal ljjsje;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,193 @@
|
||||
package org.dromara.xzd.skyfk.cbhtsc.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.domain.bo.XzdContractSkxxBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.XzdContractPayment;
|
||||
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 lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 承包合同收款业务对象 xzd_contract_payment
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdContractPayment.class, reverseConvertGenerate = false)
|
||||
public class XzdContractPaymentBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String documentCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String titile;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@NotBlank(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 收款性质
|
||||
*/
|
||||
@NotBlank(message = "收款性质不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String collectionNature;
|
||||
|
||||
/**
|
||||
* 实际收款日期
|
||||
*/
|
||||
@NotNull(message = "实际收款日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date paymentDate;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 付款单位(客户)id
|
||||
*/
|
||||
@NotNull(message = "付款单位(客户)id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long payer;
|
||||
|
||||
/**
|
||||
* 收款银行
|
||||
*/
|
||||
private Long beneficiaryBank;
|
||||
|
||||
/**
|
||||
* 收款银行账号
|
||||
*/
|
||||
private String bankAccount;
|
||||
|
||||
/**
|
||||
* 本期审批收款金额
|
||||
*/
|
||||
private BigDecimal paymentAmount;
|
||||
|
||||
/**
|
||||
* 预收款剩余未抵扣金额
|
||||
*/
|
||||
private BigDecimal undischargedPayment;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@NotBlank(message = "税率不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String taxRate;
|
||||
|
||||
/**
|
||||
* 累计审定产值金额
|
||||
*/
|
||||
private BigDecimal outputAmount;
|
||||
|
||||
/**
|
||||
* 累计收款金额(不含本期)
|
||||
*/
|
||||
private BigDecimal ljskjeElse;
|
||||
|
||||
/**
|
||||
* 累计收款金额(含本期)
|
||||
*/
|
||||
private BigDecimal ljskjeAll;
|
||||
|
||||
/**
|
||||
* 已收款比例(不含本期)
|
||||
*/
|
||||
private BigDecimal yskblElse;
|
||||
|
||||
/**
|
||||
* 本次收款比例
|
||||
*/
|
||||
private BigDecimal bcskbl;
|
||||
|
||||
/**
|
||||
* 截止本期收款比例
|
||||
*/
|
||||
private BigDecimal jzbqskbl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
private BigDecimal hthsje;
|
||||
|
||||
/**
|
||||
* 合同累计实际收款金额
|
||||
*/
|
||||
private BigDecimal htljsjskje;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private BigDecimal ljjsje;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 发票信息
|
||||
*/
|
||||
List<XzdSfkFapiaoBo> fpxx;
|
||||
|
||||
/**
|
||||
* 收款信息
|
||||
*/
|
||||
List<XzdContractSkxxBo> skxx;
|
||||
|
||||
}
|
||||
@ -0,0 +1,233 @@
|
||||
package org.dromara.xzd.skyfk.cbhtsc.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
|
||||
import org.dromara.xzd.domain.vo.XzdContractSkxxVo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.vo.XzdSfkFapiaoVo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.XzdContractPayment;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 承包合同收款视图对象 xzd_contract_payment
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdContractPayment.class)
|
||||
public class XzdContractPaymentVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码")
|
||||
private String documentCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@ExcelProperty(value = "标题")
|
||||
private String titile;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ExcelProperty(value = "单据日期")
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@ExcelProperty(value = "合同id")
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码")
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 收款性质
|
||||
*/
|
||||
@ExcelProperty(value = "收款性质")
|
||||
private String collectionNature;
|
||||
|
||||
/**
|
||||
* 实际收款日期
|
||||
*/
|
||||
@ExcelProperty(value = "实际收款日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date paymentDate;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 付款单位(客户)id
|
||||
*/
|
||||
@ExcelProperty(value = "付款单位(客户)id")
|
||||
private Long payer;
|
||||
|
||||
/**
|
||||
* 付款单位(客户)名称
|
||||
*/
|
||||
private String payerName;
|
||||
|
||||
/**
|
||||
* 收款银行
|
||||
*/
|
||||
@ExcelProperty(value = "收款银行")
|
||||
private Long beneficiaryBank;
|
||||
|
||||
/**
|
||||
* 收款银行名称
|
||||
*/
|
||||
private String beneficiaryBankName;
|
||||
|
||||
/**
|
||||
* 收款银行账号
|
||||
*/
|
||||
@ExcelProperty(value = "收款银行账号")
|
||||
private String bankAccount;
|
||||
|
||||
/**
|
||||
* 本期审批收款金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期审批收款金额")
|
||||
private BigDecimal paymentAmount;
|
||||
|
||||
/**
|
||||
* 预收款剩余未抵扣金额
|
||||
*/
|
||||
@ExcelProperty(value = "预收款剩余未抵扣金额")
|
||||
private BigDecimal undischargedPayment;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@ExcelProperty(value = "税率")
|
||||
private String taxRate;
|
||||
|
||||
/**
|
||||
* 累计审定产值金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计审定产值金额")
|
||||
private BigDecimal outputAmount;
|
||||
|
||||
/**
|
||||
* 累计收款金额(不含本期)
|
||||
*/
|
||||
@ExcelProperty(value = "累计收款金额(不含本期)")
|
||||
private BigDecimal ljskjeElse;
|
||||
|
||||
/**
|
||||
* 累计收款金额(含本期)
|
||||
*/
|
||||
@ExcelProperty(value = "累计收款金额(含本期)")
|
||||
private BigDecimal ljskjeAll;
|
||||
|
||||
/**
|
||||
* 已收款比例(不含本期)
|
||||
*/
|
||||
@ExcelProperty(value = "已收款比例(不含本期)")
|
||||
private BigDecimal yskblElse;
|
||||
|
||||
/**
|
||||
* 本次收款比例
|
||||
*/
|
||||
@ExcelProperty(value = "本次收款比例")
|
||||
private BigDecimal bcskbl;
|
||||
|
||||
/**
|
||||
* 截止本期收款比例
|
||||
*/
|
||||
@ExcelProperty(value = "截止本期收款比例")
|
||||
private BigDecimal jzbqskbl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "0否1是")
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同含税金额")
|
||||
private BigDecimal hthsje;
|
||||
|
||||
/**
|
||||
* 合同累计实际收款金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同累计实际收款金额")
|
||||
private BigDecimal htljsjskje;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额")
|
||||
private BigDecimal ljjsje;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 发票信息
|
||||
*/
|
||||
List<XzdSfkFapiaoVo> fpxx;
|
||||
|
||||
/**
|
||||
* 收款信息
|
||||
*/
|
||||
List<XzdContractSkxxVo> skxx;
|
||||
|
||||
private XzdContractDetailsVo contract;
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.skyfk.cbhtsc.mapper;
|
||||
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.XzdContractPayment;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.vo.XzdContractPaymentVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 承包合同收款Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
public interface XzdContractPaymentMapper extends BaseMapperPlus<XzdContractPayment, XzdContractPaymentVo> {
|
||||
|
||||
}
|
||||
@ -1,8 +1,8 @@
|
||||
package org.dromara.xzd.skyfk.service;
|
||||
package org.dromara.xzd.skyfk.cbhtsc.service;
|
||||
|
||||
import org.dromara.xzd.skyfk.domain.vo.XzdContractPaymentVo;
|
||||
import org.dromara.xzd.skyfk.domain.bo.XzdContractPaymentBo;
|
||||
import org.dromara.xzd.skyfk.domain.XzdContractPayment;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.vo.XzdContractPaymentVo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.bo.XzdContractPaymentBo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.XzdContractPayment;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
@ -0,0 +1,343 @@
|
||||
package org.dromara.xzd.skyfk.cbhtsc.service.impl;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.ctr.domain.vo.ContractPaymentClauseVo;
|
||||
import org.dromara.ctr.service.impl.ContractPaymentClauseServiceImpl;
|
||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
import org.dromara.xzd.domain.bo.XzdContractSkxxBo;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
|
||||
import org.dromara.xzd.domain.vo.XzdContractSkxxVo;
|
||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||
import org.dromara.xzd.domain.vo.XzdSupplierOpenBankVo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFapiao;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.paymentsReceipts.service.impl.XzdSfkFapiaoServiceImpl;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.XzdContractDetailsServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdContractSkxxServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdProjectServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdSupplierOpenBankServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.bo.XzdContractPaymentBo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.vo.XzdContractPaymentVo;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.domain.XzdContractPayment;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.mapper.XzdContractPaymentMapper;
|
||||
import org.dromara.xzd.skyfk.cbhtsc.service.IXzdContractPaymentService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 承包合同收款Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdContractPaymentServiceImpl extends ServiceImpl<XzdContractPaymentMapper, XzdContractPayment> implements IXzdContractPaymentService {
|
||||
|
||||
private final XzdContractPaymentMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private XzdSfkFapiaoServiceImpl sfkFapiaoService;
|
||||
@Autowired
|
||||
private XzdContractSkxxServiceImpl xzdContractSkxxService;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
@Autowired
|
||||
private XzdContractDetailsServiceImpl xzdContractDetailsService;
|
||||
@Autowired
|
||||
private XzdSupplierOpenBankServiceImpl xzdSupplierOpenBankService;
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private ContractPaymentClauseServiceImpl contractPaymentClauseService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
|
||||
/**
|
||||
* 查询承包合同收款
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 承包合同收款
|
||||
*/
|
||||
@Override
|
||||
public XzdContractPaymentVo queryById(Long id){
|
||||
XzdContractPaymentVo paymentVo = baseMapper.selectVoById(id);
|
||||
List<XzdContractPaymentVo> paymentVo1 = List.of(paymentVo);
|
||||
setValue(paymentVo1);
|
||||
return paymentVo1.getFirst();
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询承包合同收款列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 承包合同收款分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdContractPaymentVo> queryPageList(XzdContractPaymentBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdContractPayment> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdContractPaymentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
setValue(result.getRecords());
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的承包合同收款列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 承包合同收款列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdContractPaymentVo> queryList(XzdContractPaymentBo bo) {
|
||||
LambdaQueryWrapper<XzdContractPayment> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdContractPayment> buildQueryWrapper(XzdContractPaymentBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdContractPayment> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdContractPayment::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentCode()), XzdContractPayment::getDocumentCode, bo.getDocumentCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitile()), XzdContractPayment::getTitile, bo.getTitile());
|
||||
lqw.eq(bo.getDocumentDate() != null, XzdContractPayment::getDocumentDate, bo.getDocumentDate());
|
||||
lqw.eq(bo.getContractId() != null, XzdContractPayment::getContractId, bo.getContractId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdContractPayment::getContractCode, bo.getContractCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCollectionNature()), XzdContractPayment::getCollectionNature, bo.getCollectionNature());
|
||||
lqw.eq(bo.getPaymentDate() != null, XzdContractPayment::getPaymentDate, bo.getPaymentDate());
|
||||
lqw.eq(bo.getProjectId() != null, XzdContractPayment::getProjectId, bo.getProjectId());
|
||||
lqw.eq(bo.getPayer() != null, XzdContractPayment::getPayer, bo.getPayer());
|
||||
lqw.eq(bo.getBeneficiaryBank() != null, XzdContractPayment::getBeneficiaryBank, bo.getBeneficiaryBank());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBankAccount()), XzdContractPayment::getBankAccount, bo.getBankAccount());
|
||||
lqw.eq(bo.getPaymentAmount() != null, XzdContractPayment::getPaymentAmount, bo.getPaymentAmount());
|
||||
lqw.eq(bo.getUndischargedPayment() != null, XzdContractPayment::getUndischargedPayment, bo.getUndischargedPayment());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaxRate()), XzdContractPayment::getTaxRate, bo.getTaxRate());
|
||||
lqw.eq(bo.getOutputAmount() != null, XzdContractPayment::getOutputAmount, bo.getOutputAmount());
|
||||
lqw.eq(bo.getLjskjeElse() != null, XzdContractPayment::getLjskjeElse, bo.getLjskjeElse());
|
||||
lqw.eq(bo.getLjskjeAll() != null, XzdContractPayment::getLjskjeAll, bo.getLjskjeAll());
|
||||
lqw.eq(bo.getYskblElse() != null, XzdContractPayment::getYskblElse, bo.getYskblElse());
|
||||
lqw.eq(bo.getBcskbl() != null, XzdContractPayment::getBcskbl, bo.getBcskbl());
|
||||
lqw.eq(bo.getJzbqskbl() != null, XzdContractPayment::getJzbqskbl, bo.getJzbqskbl());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSssx()), XzdContractPayment::getSssx, bo.getSssx());
|
||||
lqw.eq(bo.getHthsje() != null, XzdContractPayment::getHthsje, bo.getHthsje());
|
||||
lqw.eq(bo.getHtljsjskje() != null, XzdContractPayment::getHtljsjskje, bo.getHtljsjskje());
|
||||
lqw.eq(bo.getLjjsje() != null, XzdContractPayment::getLjjsje, bo.getLjjsje());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增承包合同收款
|
||||
*
|
||||
* @param bo 承包合同收款
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public Boolean insertByBo(XzdContractPaymentBo bo) {
|
||||
XzdContractPayment add = MapstructUtils.convert(bo, XzdContractPayment.class);
|
||||
validEntityBeforeSave(add);
|
||||
add.setDocumentCode(IdUtil.getSnowflakeNextIdStr());
|
||||
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
|
||||
//收款信息
|
||||
if (bo.getSkxx() != null && !bo.getSkxx().isEmpty()){
|
||||
for (XzdContractSkxxBo skxx : bo.getSkxx()) {
|
||||
skxx.setMainId(add.getId());
|
||||
xzdContractSkxxService.insertByBo(skxx);
|
||||
}
|
||||
}
|
||||
|
||||
//发票信息
|
||||
if (bo.getFpxx() != null && !bo.getFpxx().isEmpty()){
|
||||
for (XzdSfkFapiaoBo fpxx : bo.getFpxx()) {
|
||||
fpxx.setMainDocumentId(add.getId());
|
||||
sfkFapiaoService.insertByBo(fpxx);
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改承包合同收款
|
||||
*
|
||||
* @param bo 承包合同收款
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdContractPaymentBo bo) {
|
||||
XzdContractPayment update = MapstructUtils.convert(bo, XzdContractPayment.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
XzdContractPaymentVo old = queryById(update.getId());
|
||||
if (bo.getSkxx() != null && !bo.getSkxx().isEmpty()){
|
||||
if (old.getSkxx() != null && !old.getSkxx().isEmpty()){
|
||||
xzdContractSkxxService.removeByIds(old.getSkxx());
|
||||
}
|
||||
for (XzdContractSkxxBo skxx : bo.getSkxx()) {
|
||||
skxx.setMainId(update.getId());
|
||||
xzdContractSkxxService.insertByBo(skxx);
|
||||
}
|
||||
}else {
|
||||
if (old.getSkxx() != null && !old.getSkxx().isEmpty()){
|
||||
xzdContractSkxxService.removeByIds(old.getSkxx());
|
||||
}
|
||||
}
|
||||
|
||||
if (bo.getFpxx() != null && !bo.getFpxx().isEmpty()){
|
||||
if (old.getFpxx() != null && !old.getFpxx().isEmpty()){
|
||||
sfkFapiaoService.removeByIds(old.getFpxx());
|
||||
}
|
||||
for (XzdSfkFapiaoBo skxx : bo.getFpxx()) {
|
||||
skxx.setMainDocumentId(update.getId());
|
||||
sfkFapiaoService.insertByBo(skxx);
|
||||
}
|
||||
}else {
|
||||
if (old.getFpxx() != null && !old.getFpxx().isEmpty()){
|
||||
sfkFapiaoService.removeByIds(old.getFpxx());
|
||||
}
|
||||
}
|
||||
|
||||
//更新文件
|
||||
if (bo.getFileId() != null && !bo.getFileId().isEmpty()){
|
||||
if (old.getFileId() != null && !old.getFileId().isEmpty()) {
|
||||
List<Long> oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
List<Long> nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
for (Long l : oldFileId) {
|
||||
if (!nowFileId.contains(l)) {
|
||||
sysOssService.deleteWithValidByIds(List.of(l), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (old.getFileId()!= null && !old.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdContractPayment entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除承包合同收款信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
for (Long id : ids) {
|
||||
XzdContractPaymentVo vo = queryById(id);
|
||||
|
||||
LambdaQueryWrapper<XzdSfkFapiao> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.eq(XzdSfkFapiao::getMainDocumentId, id);
|
||||
sfkFapiaoService.remove(lqw);
|
||||
|
||||
LambdaQueryWrapper<XzdContractSkxx> lqw1 = new LambdaQueryWrapper<>();
|
||||
lqw1.eq(XzdContractSkxx::getMainId, id);
|
||||
xzdContractSkxxService.remove(lqw1);
|
||||
|
||||
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
public void setValue(List<XzdContractPaymentVo> vos){
|
||||
for (XzdContractPaymentVo vo : vos) {
|
||||
if (vo.getContractId() != null){
|
||||
XzdContractDetailsVo xzdContractDetailsVo = xzdContractDetailsService.queryById(vo.getContractId());
|
||||
if (xzdContractDetailsVo != null){
|
||||
vo.setContract(xzdContractDetailsVo);
|
||||
List<XzdContractDetailsVo> xzdContractDetailsVo1 = List.of(xzdContractDetailsVo);
|
||||
xzdContractDetailsService.setValue(xzdContractDetailsVo1);
|
||||
xzdContractDetailsVo = xzdContractDetailsVo1.getFirst();
|
||||
//合同编码
|
||||
vo.setContractCode(xzdContractDetailsVo.getContractCode());
|
||||
}
|
||||
}
|
||||
//收款银行名称
|
||||
XzdSupplierOpenBankVo bankVo = xzdSupplierOpenBankService.queryById(vo.getBeneficiaryBank());
|
||||
if (bankVo != null){
|
||||
vo.setBeneficiaryBankName(bankVo.getOpenBank());
|
||||
}
|
||||
//项目名称
|
||||
if (vo.getProjectId() != null){
|
||||
XzdProjectVo projectVo = xzdProjectService.queryById(vo.getProjectId());
|
||||
if (projectVo != null){
|
||||
vo.setProjectName(projectVo.getProjectName());
|
||||
}
|
||||
}
|
||||
//收款信息
|
||||
XzdContractSkxxBo bo = new XzdContractSkxxBo();
|
||||
bo.setMainId(vo.getId());
|
||||
List<XzdContractSkxxVo> skxxVos = xzdContractSkxxService.queryList(bo);
|
||||
if (skxxVos != null && !skxxVos.isEmpty()){
|
||||
for (XzdContractSkxxVo skxxVo : skxxVos) {
|
||||
if (skxxVo.getZftkId() != null){
|
||||
ContractPaymentClauseVo clauseVo = contractPaymentClauseService.queryById(skxxVo.getZftkId());
|
||||
if (clauseVo != null){
|
||||
skxxVo.setZftkLb(clauseVo.getClauseType());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
vo.setSkxx(skxxVos);
|
||||
//发票信息
|
||||
XzdSfkFapiaoBo fapiaoBo = new XzdSfkFapiaoBo();
|
||||
fapiaoBo.setMainDocumentId(vo.getId());
|
||||
vo.setFpxx(sfkFapiaoService.queryList(fapiaoBo));
|
||||
//付款单位
|
||||
if (vo.getPayer() != null){
|
||||
R<QuerCorrespondentDto> byid = iXzdCorrespondentList.getCustomerByid(vo.getPayer());
|
||||
if (byid != null) {
|
||||
if (byid.getData().getXzdCustomerinformation() != null) {
|
||||
vo.setPayerName(byid.getData().getXzdCustomerinformation().getUnitName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
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.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.vo.XzdSkyfkFbhtfkVo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.bo.XzdSkyfkFbhtfkBo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.service.IXzdSkyfkFbhtfkService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/fbhtfk/skyfkFbhtfk")
|
||||
public class XzdSkyfkFbhtfkController extends BaseController {
|
||||
|
||||
private final IXzdSkyfkFbhtfkService xzdSkyfkFbhtfkService;
|
||||
|
||||
/**
|
||||
* 查询收款与付款-分包合同付款列表
|
||||
*/
|
||||
@SaCheckPermission("fbhtfk:skyfkFbhtfk:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdSkyfkFbhtfkVo> list(XzdSkyfkFbhtfkBo bo, PageQuery pageQuery) {
|
||||
return xzdSkyfkFbhtfkService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出收款与付款-分包合同付款列表
|
||||
*/
|
||||
@SaCheckPermission("fbhtfk:skyfkFbhtfk:export")
|
||||
@Log(title = "收款与付款-分包合同付款", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdSkyfkFbhtfkBo bo, HttpServletResponse response) {
|
||||
List<XzdSkyfkFbhtfkVo> list = xzdSkyfkFbhtfkService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "收款与付款-分包合同付款", XzdSkyfkFbhtfkVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收款与付款-分包合同付款详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("fbhtfk:skyfkFbhtfk:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdSkyfkFbhtfkVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdSkyfkFbhtfkService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收款与付款-分包合同付款
|
||||
*/
|
||||
@SaCheckPermission("fbhtfk:skyfkFbhtfk:add")
|
||||
@Log(title = "收款与付款-分包合同付款", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdSkyfkFbhtfkBo bo) {
|
||||
return toAjax(xzdSkyfkFbhtfkService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收款与付款-分包合同付款
|
||||
*/
|
||||
@SaCheckPermission("fbhtfk:skyfkFbhtfk:edit")
|
||||
@Log(title = "收款与付款-分包合同付款", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdSkyfkFbhtfkBo bo) {
|
||||
return toAjax(xzdSkyfkFbhtfkService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除收款与付款-分包合同付款
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("fbhtfk:skyfkFbhtfk:remove")
|
||||
@Log(title = "收款与付款-分包合同付款", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdSkyfkFbhtfkService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,267 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款对象 xzd_skyfk_fbhtfk
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_skyfk_fbhtfk")
|
||||
public class XzdSkyfkFbhtfk extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String documentCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String titile;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 付款性质
|
||||
*/
|
||||
private String fkxz;
|
||||
|
||||
/**
|
||||
* 支出合同金额
|
||||
*/
|
||||
private Long zchtje;
|
||||
|
||||
/**
|
||||
* 本期审批金额
|
||||
*/
|
||||
private Long bqspje;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 付款单位id(客户)
|
||||
*/
|
||||
private Long fkdwId;
|
||||
|
||||
/**
|
||||
* 付款单位
|
||||
*/
|
||||
private String fkdw;
|
||||
|
||||
/**
|
||||
* 收款单位id(供应商)
|
||||
*/
|
||||
private Long skdwId;
|
||||
|
||||
/**
|
||||
* 收款单位
|
||||
*/
|
||||
private String skdw;
|
||||
|
||||
/**
|
||||
* 收款单位银行id
|
||||
*/
|
||||
private Long skdwYhId;
|
||||
|
||||
/**
|
||||
* 收款单位银行
|
||||
*/
|
||||
private String skdwYh;
|
||||
|
||||
/**
|
||||
* 收款单位银行账号
|
||||
*/
|
||||
private String skdwYhZh;
|
||||
|
||||
/**
|
||||
* 统计周期
|
||||
*/
|
||||
private String tjzq;
|
||||
|
||||
/**
|
||||
* 项目类型id
|
||||
*/
|
||||
private Long xmlxId;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String xmlx;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String xmdl;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private String sl;
|
||||
|
||||
/**
|
||||
* 分包类型
|
||||
*/
|
||||
private String fblx;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
private String htlx;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private String zftk;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 本期进度金额
|
||||
*/
|
||||
private Long bqjdje;
|
||||
|
||||
/**
|
||||
* 累计进度金额
|
||||
*/
|
||||
private Long ljjdje;
|
||||
|
||||
/**
|
||||
* 预付款金额
|
||||
*/
|
||||
private Long yfkje;
|
||||
|
||||
/**
|
||||
* 累计支付金额
|
||||
*/
|
||||
private Long ljzfje;
|
||||
|
||||
/**
|
||||
* 本期进度应付金额
|
||||
*/
|
||||
private Long bqjdyfje;
|
||||
|
||||
/**
|
||||
* 累计进度应付金额
|
||||
*/
|
||||
private Long ljjdyfje;
|
||||
|
||||
/**
|
||||
* 预付款扣回金额
|
||||
*/
|
||||
private Long yfkkhje;
|
||||
|
||||
/**
|
||||
* 累计进度结算占合同比例
|
||||
*/
|
||||
private Long ljjdjszhtbl;
|
||||
|
||||
/**
|
||||
* 本期进度支付占本期进度应付比例
|
||||
*/
|
||||
private Long bqjdzfzbqjdyfbl;
|
||||
|
||||
/**
|
||||
* 累计进度支付占累计进度应付比例
|
||||
*/
|
||||
private Long ljjdzfzljjdyfbl;
|
||||
|
||||
/**
|
||||
* 预付款剩余未抵扣金额
|
||||
*/
|
||||
private Long yfksywdkje;
|
||||
|
||||
/**
|
||||
* 累计支付占合同比例
|
||||
*/
|
||||
private Long ljzfzhtbl;
|
||||
|
||||
/**
|
||||
* 剩余进度应付未付金额
|
||||
*/
|
||||
private Long syjdyfwfje;
|
||||
|
||||
/**
|
||||
* 累计进度结算金额
|
||||
*/
|
||||
private Long ljjdjsje;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
private Long hthsje;
|
||||
|
||||
/**
|
||||
* 合同累计实际付款金额
|
||||
*/
|
||||
private Long htljsjfkje;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private Long ljjsje;
|
||||
|
||||
/**
|
||||
* 多文件逗号分隔
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,292 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.domain.bo;
|
||||
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFapiao;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFukuan;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFukuanBo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk;
|
||||
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 lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款业务对象 xzd_skyfk_fbhtfk
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdSkyfkFbhtfk.class, reverseConvertGenerate = false)
|
||||
public class XzdSkyfkFbhtfkBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String documentCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String titile;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@NotBlank(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 付款性质
|
||||
*/
|
||||
@NotBlank(message = "付款性质不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String fkxz;
|
||||
|
||||
/**
|
||||
* 支出合同金额
|
||||
*/
|
||||
private Long zchtje;
|
||||
|
||||
/**
|
||||
* 本期审批金额
|
||||
*/
|
||||
private Long bqspje;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 付款单位id(客户)
|
||||
*/
|
||||
private Long fkdwId;
|
||||
|
||||
/**
|
||||
* 付款单位
|
||||
*/
|
||||
private String fkdw;
|
||||
|
||||
/**
|
||||
* 收款单位id(供应商)
|
||||
*/
|
||||
@NotNull(message = "收款单位id(供应商)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long skdwId;
|
||||
|
||||
/**
|
||||
* 收款单位
|
||||
*/
|
||||
@NotBlank(message = "收款单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String skdw;
|
||||
|
||||
/**
|
||||
* 收款单位银行id
|
||||
*/
|
||||
@NotNull(message = "收款单位银行id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long skdwYhId;
|
||||
|
||||
/**
|
||||
* 收款单位银行
|
||||
*/
|
||||
@NotBlank(message = "收款单位银行不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String skdwYh;
|
||||
|
||||
/**
|
||||
* 收款单位银行账号
|
||||
*/
|
||||
@NotBlank(message = "收款单位银行账号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String skdwYhZh;
|
||||
|
||||
/**
|
||||
* 统计周期
|
||||
*/
|
||||
private String tjzq;
|
||||
|
||||
/**
|
||||
* 项目类型id
|
||||
*/
|
||||
private Long xmlxId;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String xmlx;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
private String xmdl;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@NotBlank(message = "税率不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String sl;
|
||||
|
||||
/**
|
||||
* 分包类型
|
||||
*/
|
||||
@NotBlank(message = "分包类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String fblx;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
private String htlx;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
private String zftk;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 本期进度金额
|
||||
*/
|
||||
private Long bqjdje;
|
||||
|
||||
/**
|
||||
* 累计进度金额
|
||||
*/
|
||||
private Long ljjdje;
|
||||
|
||||
/**
|
||||
* 预付款金额
|
||||
*/
|
||||
private Long yfkje;
|
||||
|
||||
/**
|
||||
* 累计支付金额
|
||||
*/
|
||||
private Long ljzfje;
|
||||
|
||||
/**
|
||||
* 本期进度应付金额
|
||||
*/
|
||||
private Long bqjdyfje;
|
||||
|
||||
/**
|
||||
* 累计进度应付金额
|
||||
*/
|
||||
private Long ljjdyfje;
|
||||
|
||||
/**
|
||||
* 预付款扣回金额
|
||||
*/
|
||||
private Long yfkkhje;
|
||||
|
||||
/**
|
||||
* 累计进度结算占合同比例
|
||||
*/
|
||||
private Long ljjdjszhtbl;
|
||||
|
||||
/**
|
||||
* 本期进度支付占本期进度应付比例
|
||||
*/
|
||||
private Long bqjdzfzbqjdyfbl;
|
||||
|
||||
/**
|
||||
* 累计进度支付占累计进度应付比例
|
||||
*/
|
||||
private Long ljjdzfzljjdyfbl;
|
||||
|
||||
/**
|
||||
* 预付款剩余未抵扣金额
|
||||
*/
|
||||
private Long yfksywdkje;
|
||||
|
||||
/**
|
||||
* 累计支付占合同比例
|
||||
*/
|
||||
private Long ljzfzhtbl;
|
||||
|
||||
/**
|
||||
* 剩余进度应付未付金额
|
||||
*/
|
||||
private Long syjdyfwfje;
|
||||
|
||||
/**
|
||||
* 累计进度结算金额
|
||||
*/
|
||||
private Long ljjdjsje;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
private Long hthsje;
|
||||
|
||||
/**
|
||||
* 合同累计实际付款金额
|
||||
*/
|
||||
private Long htljsjfkje;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private Long ljjsje;
|
||||
|
||||
/**
|
||||
* 多文件逗号分隔
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 发票信息
|
||||
*/
|
||||
private List<XzdSfkFapiao> fpxx;
|
||||
|
||||
/**
|
||||
* 付款信息
|
||||
*/
|
||||
List<XzdSfkFukuan> fkxx;
|
||||
|
||||
}
|
||||
@ -0,0 +1,339 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.vo.XzdSubcontractVo;
|
||||
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFukuanBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.vo.XzdSfkFapiaoVo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.vo.XzdSfkFukuanVo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款视图对象 xzd_skyfk_fbhtfk
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdSkyfkFbhtfk.class)
|
||||
public class XzdSkyfkFbhtfkVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ExcelProperty(value = "部门id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码")
|
||||
private String documentCode;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@ExcelProperty(value = "标题")
|
||||
private String titile;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期")
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@ExcelProperty(value = "合同id")
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同对象
|
||||
*/
|
||||
private XzdSubcontractVo contract;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码")
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ExcelProperty(value = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 付款性质
|
||||
*/
|
||||
@ExcelProperty(value = "付款性质")
|
||||
private String fkxz;
|
||||
|
||||
/**
|
||||
* 支出合同金额
|
||||
*/
|
||||
@ExcelProperty(value = "支出合同金额")
|
||||
private Long zchtje;
|
||||
|
||||
/**
|
||||
* 本期审批金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期审批金额")
|
||||
private Long bqspje;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 付款单位id(客户)
|
||||
*/
|
||||
@ExcelProperty(value = "付款单位id(客户)")
|
||||
private Long fkdwId;
|
||||
|
||||
/**
|
||||
* 付款单位
|
||||
*/
|
||||
@ExcelProperty(value = "付款单位")
|
||||
private String fkdw;
|
||||
|
||||
/**
|
||||
* 收款单位id(供应商)
|
||||
*/
|
||||
@ExcelProperty(value = "收款单位id(供应商)")
|
||||
private Long skdwId;
|
||||
|
||||
/**
|
||||
* 收款单位
|
||||
*/
|
||||
@ExcelProperty(value = "收款单位")
|
||||
private String skdw;
|
||||
|
||||
/**
|
||||
* 收款单位银行id
|
||||
*/
|
||||
@ExcelProperty(value = "收款单位银行id")
|
||||
private Long skdwYhId;
|
||||
|
||||
/**
|
||||
* 收款单位银行
|
||||
*/
|
||||
@ExcelProperty(value = "收款单位银行")
|
||||
private String skdwYh;
|
||||
|
||||
/**
|
||||
* 收款单位银行账号
|
||||
*/
|
||||
@ExcelProperty(value = "收款单位银行账号")
|
||||
private String skdwYhZh;
|
||||
|
||||
/**
|
||||
* 统计周期
|
||||
*/
|
||||
@ExcelProperty(value = "统计周期")
|
||||
private String tjzq;
|
||||
|
||||
/**
|
||||
* 项目类型id
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型id")
|
||||
private Long xmlxId;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型")
|
||||
private String xmlx;
|
||||
|
||||
/**
|
||||
* 项目大类
|
||||
*/
|
||||
@ExcelProperty(value = "项目大类")
|
||||
private String xmdl;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@ExcelProperty(value = "税率")
|
||||
private String sl;
|
||||
|
||||
/**
|
||||
* 分包类型
|
||||
*/
|
||||
@ExcelProperty(value = "分包类型")
|
||||
private String fblx;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
@ExcelProperty(value = "合同类型")
|
||||
private String htlx;
|
||||
|
||||
/**
|
||||
* 支付条款
|
||||
*/
|
||||
@ExcelProperty(value = "支付条款")
|
||||
private String zftk;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 本期进度金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期进度金额")
|
||||
private Long bqjdje;
|
||||
|
||||
/**
|
||||
* 累计进度金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计进度金额")
|
||||
private Long ljjdje;
|
||||
|
||||
/**
|
||||
* 预付款金额
|
||||
*/
|
||||
@ExcelProperty(value = "预付款金额")
|
||||
private Long yfkje;
|
||||
|
||||
/**
|
||||
* 累计支付金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计支付金额")
|
||||
private Long ljzfje;
|
||||
|
||||
/**
|
||||
* 本期进度应付金额
|
||||
*/
|
||||
@ExcelProperty(value = "本期进度应付金额")
|
||||
private Long bqjdyfje;
|
||||
|
||||
/**
|
||||
* 累计进度应付金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计进度应付金额")
|
||||
private Long ljjdyfje;
|
||||
|
||||
/**
|
||||
* 预付款扣回金额
|
||||
*/
|
||||
@ExcelProperty(value = "预付款扣回金额")
|
||||
private Long yfkkhje;
|
||||
|
||||
/**
|
||||
* 累计进度结算占合同比例
|
||||
*/
|
||||
@ExcelProperty(value = "累计进度结算占合同比例")
|
||||
private Long ljjdjszhtbl;
|
||||
|
||||
/**
|
||||
* 本期进度支付占本期进度应付比例
|
||||
*/
|
||||
@ExcelProperty(value = "本期进度支付占本期进度应付比例")
|
||||
private Long bqjdzfzbqjdyfbl;
|
||||
|
||||
/**
|
||||
* 累计进度支付占累计进度应付比例
|
||||
*/
|
||||
@ExcelProperty(value = "累计进度支付占累计进度应付比例")
|
||||
private Long ljjdzfzljjdyfbl;
|
||||
|
||||
/**
|
||||
* 预付款剩余未抵扣金额
|
||||
*/
|
||||
@ExcelProperty(value = "预付款剩余未抵扣金额")
|
||||
private Long yfksywdkje;
|
||||
|
||||
/**
|
||||
* 累计支付占合同比例
|
||||
*/
|
||||
@ExcelProperty(value = "累计支付占合同比例")
|
||||
private Long ljzfzhtbl;
|
||||
|
||||
/**
|
||||
* 剩余进度应付未付金额
|
||||
*/
|
||||
@ExcelProperty(value = "剩余进度应付未付金额")
|
||||
private Long syjdyfwfje;
|
||||
|
||||
/**
|
||||
* 累计进度结算金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计进度结算金额")
|
||||
private Long ljjdjsje;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "实时刷新0否1是")
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 合同含税金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同含税金额")
|
||||
private Long hthsje;
|
||||
|
||||
/**
|
||||
* 合同累计实际付款金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同累计实际付款金额")
|
||||
private Long htljsjfkje;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额")
|
||||
private Long ljjsje;
|
||||
|
||||
/**
|
||||
* 多文件逗号分隔
|
||||
*/
|
||||
@ExcelProperty(value = "多文件逗号分隔")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 发票信息
|
||||
*/
|
||||
private List<XzdSfkFapiaoVo> fpxx;
|
||||
|
||||
/**
|
||||
* 付款信息
|
||||
*/
|
||||
List<XzdSfkFukuanVo> fkxx;
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.mapper;
|
||||
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.vo.XzdSkyfkFbhtfkVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
public interface XzdSkyfkFbhtfkMapper extends BaseMapperPlus<XzdSkyfkFbhtfk, XzdSkyfkFbhtfkVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.service;
|
||||
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.vo.XzdSkyfkFbhtfkVo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.bo.XzdSkyfkFbhtfkBo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
public interface IXzdSkyfkFbhtfkService extends IService<XzdSkyfkFbhtfk>{
|
||||
|
||||
/**
|
||||
* 查询收款与付款-分包合同付款
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收款与付款-分包合同付款
|
||||
*/
|
||||
XzdSkyfkFbhtfkVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询收款与付款-分包合同付款列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收款与付款-分包合同付款分页列表
|
||||
*/
|
||||
TableDataInfo<XzdSkyfkFbhtfkVo> queryPageList(XzdSkyfkFbhtfkBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的收款与付款-分包合同付款列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收款与付款-分包合同付款列表
|
||||
*/
|
||||
List<XzdSkyfkFbhtfkVo> queryList(XzdSkyfkFbhtfkBo bo);
|
||||
|
||||
/**
|
||||
* 新增收款与付款-分包合同付款
|
||||
*
|
||||
* @param bo 收款与付款-分包合同付款
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdSkyfkFbhtfkBo bo);
|
||||
|
||||
/**
|
||||
* 修改收款与付款-分包合同付款
|
||||
*
|
||||
* @param bo 收款与付款-分包合同付款
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdSkyfkFbhtfkBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除收款与付款-分包合同付款信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,362 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.system.domain.SysOss;
|
||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.vo.XzdSubcontractVo;
|
||||
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.service.impl.XzdSubcontractServiceImpl;
|
||||
import org.dromara.xzd.domain.XzdContractClause;
|
||||
import org.dromara.xzd.domain.vo.*;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFapiao;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFukuan;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFukuanBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.vo.XzdSfkFapiaoVo;
|
||||
import org.dromara.xzd.paymentsReceipts.service.impl.XzdSfkFapiaoServiceImpl;
|
||||
import org.dromara.xzd.paymentsReceipts.service.impl.XzdSfkFukuanServiceImpl;
|
||||
import org.dromara.xzd.service.impl.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.bo.XzdSkyfkFbhtfkBo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.vo.XzdSkyfkFbhtfkVo;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.domain.XzdSkyfkFbhtfk;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.mapper.XzdSkyfkFbhtfkMapper;
|
||||
import org.dromara.xzd.skyfk.fbhtfk.service.IXzdSkyfkFbhtfkService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 收款与付款-分包合同付款Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-16
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdSkyfkFbhtfkServiceImpl extends ServiceImpl<XzdSkyfkFbhtfkMapper, XzdSkyfkFbhtfk> implements IXzdSkyfkFbhtfkService {
|
||||
|
||||
private final XzdSkyfkFbhtfkMapper baseMapper;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
@Autowired
|
||||
private XzdSfkFapiaoServiceImpl xzdSfkFapiaoService;
|
||||
@Autowired
|
||||
private XzdSfkFukuanServiceImpl xzdSfkFukuanService;
|
||||
@Autowired
|
||||
private XzdSubcontractServiceImpl xzdSubcontract;
|
||||
// @Autowired
|
||||
// private XzdContractDetailsServiceImpl xzdContractDetailsService;
|
||||
@Autowired
|
||||
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
|
||||
@Autowired
|
||||
private XzdSupplierOpenBankServiceImpl xzdSupplierOpenBankService;
|
||||
@Autowired
|
||||
private XzdProjectTypeServiceImpl xzdProjectTypeService;
|
||||
|
||||
/**
|
||||
* 查询收款与付款-分包合同付款
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收款与付款-分包合同付款
|
||||
*/
|
||||
@Override
|
||||
public XzdSkyfkFbhtfkVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询收款与付款-分包合同付款列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收款与付款-分包合同付款分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdSkyfkFbhtfkVo> queryPageList(XzdSkyfkFbhtfkBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdSkyfkFbhtfk> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdSkyfkFbhtfkVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的收款与付款-分包合同付款列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收款与付款-分包合同付款列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdSkyfkFbhtfkVo> queryList(XzdSkyfkFbhtfkBo bo) {
|
||||
LambdaQueryWrapper<XzdSkyfkFbhtfk> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdSkyfkFbhtfk> buildQueryWrapper(XzdSkyfkFbhtfkBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdSkyfkFbhtfk> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdSkyfkFbhtfk::getId);
|
||||
lqw.eq(bo.getDeptId() != null, XzdSkyfkFbhtfk::getDeptId, bo.getDeptId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentCode()), XzdSkyfkFbhtfk::getDocumentCode, bo.getDocumentCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitile()), XzdSkyfkFbhtfk::getTitile, bo.getTitile());
|
||||
lqw.eq(bo.getDocumentDate() != null, XzdSkyfkFbhtfk::getDocumentDate, bo.getDocumentDate());
|
||||
lqw.eq(bo.getContractId() != null, XzdSkyfkFbhtfk::getContractId, bo.getContractId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdSkyfkFbhtfk::getContractCode, bo.getContractCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdSkyfkFbhtfk::getContractName, bo.getContractName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFkxz()), XzdSkyfkFbhtfk::getFkxz, bo.getFkxz());
|
||||
lqw.eq(bo.getZchtje() != null, XzdSkyfkFbhtfk::getZchtje, bo.getZchtje());
|
||||
lqw.eq(bo.getBqspje() != null, XzdSkyfkFbhtfk::getBqspje, bo.getBqspje());
|
||||
lqw.eq(bo.getProjectId() != null, XzdSkyfkFbhtfk::getProjectId, bo.getProjectId());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdSkyfkFbhtfk::getProjectName, bo.getProjectName());
|
||||
lqw.eq(bo.getFkdwId() != null, XzdSkyfkFbhtfk::getFkdwId, bo.getFkdwId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFkdw()), XzdSkyfkFbhtfk::getFkdw, bo.getFkdw());
|
||||
lqw.eq(bo.getSkdwId() != null, XzdSkyfkFbhtfk::getSkdwId, bo.getSkdwId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSkdw()), XzdSkyfkFbhtfk::getSkdw, bo.getSkdw());
|
||||
lqw.eq(bo.getSkdwYhId() != null, XzdSkyfkFbhtfk::getSkdwYhId, bo.getSkdwYhId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSkdwYh()), XzdSkyfkFbhtfk::getSkdwYh, bo.getSkdwYh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSkdwYhZh()), XzdSkyfkFbhtfk::getSkdwYhZh, bo.getSkdwYhZh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTjzq()), XzdSkyfkFbhtfk::getTjzq, bo.getTjzq());
|
||||
lqw.eq(bo.getXmlxId() != null, XzdSkyfkFbhtfk::getXmlxId, bo.getXmlxId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXmlx()), XzdSkyfkFbhtfk::getXmlx, bo.getXmlx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXmdl()), XzdSkyfkFbhtfk::getXmdl, bo.getXmdl());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSl()), XzdSkyfkFbhtfk::getSl, bo.getSl());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFblx()), XzdSkyfkFbhtfk::getFblx, bo.getFblx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHtlx()), XzdSkyfkFbhtfk::getHtlx, bo.getHtlx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZftk()), XzdSkyfkFbhtfk::getZftk, bo.getZftk());
|
||||
lqw.eq(bo.getBqjdje() != null, XzdSkyfkFbhtfk::getBqjdje, bo.getBqjdje());
|
||||
lqw.eq(bo.getLjjdje() != null, XzdSkyfkFbhtfk::getLjjdje, bo.getLjjdje());
|
||||
lqw.eq(bo.getYfkje() != null, XzdSkyfkFbhtfk::getYfkje, bo.getYfkje());
|
||||
lqw.eq(bo.getLjzfje() != null, XzdSkyfkFbhtfk::getLjzfje, bo.getLjzfje());
|
||||
lqw.eq(bo.getBqjdyfje() != null, XzdSkyfkFbhtfk::getBqjdyfje, bo.getBqjdyfje());
|
||||
lqw.eq(bo.getLjjdyfje() != null, XzdSkyfkFbhtfk::getLjjdyfje, bo.getLjjdyfje());
|
||||
lqw.eq(bo.getYfkkhje() != null, XzdSkyfkFbhtfk::getYfkkhje, bo.getYfkkhje());
|
||||
lqw.eq(bo.getLjjdjszhtbl() != null, XzdSkyfkFbhtfk::getLjjdjszhtbl, bo.getLjjdjszhtbl());
|
||||
lqw.eq(bo.getBqjdzfzbqjdyfbl() != null, XzdSkyfkFbhtfk::getBqjdzfzbqjdyfbl, bo.getBqjdzfzbqjdyfbl());
|
||||
lqw.eq(bo.getLjjdzfzljjdyfbl() != null, XzdSkyfkFbhtfk::getLjjdzfzljjdyfbl, bo.getLjjdzfzljjdyfbl());
|
||||
lqw.eq(bo.getYfksywdkje() != null, XzdSkyfkFbhtfk::getYfksywdkje, bo.getYfksywdkje());
|
||||
lqw.eq(bo.getLjzfzhtbl() != null, XzdSkyfkFbhtfk::getLjzfzhtbl, bo.getLjzfzhtbl());
|
||||
lqw.eq(bo.getSyjdyfwfje() != null, XzdSkyfkFbhtfk::getSyjdyfwfje, bo.getSyjdyfwfje());
|
||||
lqw.eq(bo.getLjjdjsje() != null, XzdSkyfkFbhtfk::getLjjdjsje, bo.getLjjdjsje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSssx()), XzdSkyfkFbhtfk::getSssx, bo.getSssx());
|
||||
lqw.eq(bo.getHthsje() != null, XzdSkyfkFbhtfk::getHthsje, bo.getHthsje());
|
||||
lqw.eq(bo.getHtljsjfkje() != null, XzdSkyfkFbhtfk::getHtljsjfkje, bo.getHtljsjfkje());
|
||||
lqw.eq(bo.getLjjsje() != null, XzdSkyfkFbhtfk::getLjjsje, bo.getLjjsje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdSkyfkFbhtfk::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收款与付款-分包合同付款
|
||||
*
|
||||
* @param bo 收款与付款-分包合同付款
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public Boolean insertByBo(XzdSkyfkFbhtfkBo bo) {
|
||||
XzdSkyfkFbhtfk add = MapstructUtils.convert(bo, XzdSkyfkFbhtfk.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 发票信息
|
||||
// */
|
||||
// private List<XzdSfkFapiaoBo> fpxx;
|
||||
//
|
||||
// /**
|
||||
// * 付款信息
|
||||
// */
|
||||
// List<XzdSfkFukuanBo> fkxx;
|
||||
|
||||
if (bo.getFkxx() != null && !bo.getFkxx().isEmpty()){
|
||||
for (XzdSfkFukuan fkxx : bo.getFkxx()) {
|
||||
fkxx.setMainDocumentId(add.getId());
|
||||
}
|
||||
xzdSfkFukuanService.saveBatch(bo.getFkxx());
|
||||
}
|
||||
|
||||
if (bo.getFpxx() != null && !bo.getFpxx().isEmpty()){
|
||||
for (XzdSfkFapiao fpxx : bo.getFpxx()) {
|
||||
fpxx.setMainDocumentId(add.getId());
|
||||
}
|
||||
xzdSfkFapiaoService.saveBatch(bo.getFpxx());
|
||||
}
|
||||
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收款与付款-分包合同付款
|
||||
*
|
||||
* @param bo 收款与付款-分包合同付款
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdSkyfkFbhtfkBo bo) {
|
||||
XzdSkyfkFbhtfk update = MapstructUtils.convert(bo, XzdSkyfkFbhtfk.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
XzdSkyfkFbhtfkVo old = queryById(update.getId());
|
||||
|
||||
//更新文件
|
||||
if (bo.getFileId() != null && !bo.getFileId().isEmpty()){
|
||||
if (old.getFileId() != null && !old.getFileId().isEmpty()) {
|
||||
List<Long> oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
List<Long> nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
for (Long l : oldFileId) {
|
||||
if (!nowFileId.contains(l)) {
|
||||
sysOssService.deleteWithValidByIds(List.of(l), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (old.getFileId()!= null && !old.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
//发票信息
|
||||
if (bo.getFpxx() != null && !bo.getFpxx().isEmpty()){
|
||||
if (old.getFpxx() != null && !old.getFpxx().isEmpty()){
|
||||
xzdSfkFapiaoService.removeByIds(old.getFpxx());
|
||||
}
|
||||
for (XzdSfkFapiao businessChange : bo.getFpxx()) {
|
||||
businessChange.setMainDocumentId(update.getId());
|
||||
}
|
||||
xzdSfkFapiaoService.saveBatch(bo.getFpxx());
|
||||
}else {
|
||||
if (old.getFpxx() != null && !old.getFpxx().isEmpty()){
|
||||
xzdSfkFapiaoService.removeByIds(old.getFpxx());
|
||||
}
|
||||
}
|
||||
//付款 信息
|
||||
if (bo.getFkxx() != null && !bo.getFkxx().isEmpty()){
|
||||
if (old.getFkxx() != null && !old.getFkxx().isEmpty()){
|
||||
xzdSfkFukuanService.removeByIds(old.getFkxx());
|
||||
}
|
||||
for (XzdSfkFukuan businessChange : bo.getFkxx()) {
|
||||
businessChange.setMainDocumentId(update.getId());
|
||||
}
|
||||
xzdSfkFukuanService.saveBatch(bo.getFkxx());
|
||||
}else {
|
||||
if (old.getFkxx() != null && !old.getFkxx().isEmpty()){
|
||||
xzdSfkFukuanService.removeByIds(old.getFkxx());
|
||||
}
|
||||
}
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdSkyfkFbhtfk entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除收款与付款-分包合同付款信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
for (Long id : ids) {
|
||||
XzdSkyfkFbhtfkVo vo = baseMapper.selectVoById(id);
|
||||
if (vo != null) {
|
||||
//删除附件
|
||||
if (vo.getFileId() != null && !vo.getFileId().isEmpty()) {
|
||||
List<Long> deleteIds = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<XzdSfkFukuan> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.eq(XzdSfkFukuan::getMainDocumentId, id);
|
||||
xzdSfkFukuanService.remove(lqw);
|
||||
|
||||
LambdaQueryWrapper<XzdSfkFapiao> lqw1 = new LambdaQueryWrapper<>();
|
||||
lqw1.eq(XzdSfkFapiao::getMainDocumentId, id);
|
||||
xzdSfkFapiaoService.remove(lqw1);
|
||||
|
||||
}
|
||||
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
public void setValue(List<XzdSkyfkFbhtfkVo> vos){
|
||||
for (XzdSkyfkFbhtfkVo vo : vos) {
|
||||
if (vo.getContractId() != null){
|
||||
XzdSubcontractVo xzdSubcontractVo = xzdSubcontract.queryById(vo.getContractId());
|
||||
if (xzdSubcontractVo != null){
|
||||
List<XzdSubcontractVo> subcontractVo = List.of(xzdSubcontractVo);
|
||||
// xzdContractDetailsService.setValue(xzdContractDetailsVo1);
|
||||
xzdSubcontractVo = subcontractVo.getFirst();
|
||||
//合同对象
|
||||
vo.setContract(xzdSubcontractVo);
|
||||
//合同编码
|
||||
vo.setContractCode(xzdSubcontractVo.getContractCode());
|
||||
//合同名称
|
||||
vo.setContractName(xzdSubcontractVo.getContractName());
|
||||
//项目id
|
||||
vo.setProjectId(xzdSubcontractVo.getProject());
|
||||
//项目名称
|
||||
vo.setProjectName(xzdSubcontractVo.getProjectName());
|
||||
//甲方单位id
|
||||
vo.setFkdwId(xzdSubcontractVo.getPartyAUnit());
|
||||
//甲方单位名称
|
||||
vo.setFkdw(xzdSubcontractVo.getPartyAUnitName());
|
||||
}
|
||||
}
|
||||
//收款单位
|
||||
if (vo.getSkdwId() != null){
|
||||
XzdSupplierInfoVo xzdSupplierInfoVo = xzdSupplierInfoService.queryById(vo.getSkdwId());
|
||||
if (xzdSupplierInfoVo != null){
|
||||
vo.setSkdw(xzdSupplierInfoVo.getUnitName());
|
||||
}
|
||||
}
|
||||
//收款单位银行
|
||||
if (vo.getSkdwYhId() != null){
|
||||
XzdSupplierOpenBankVo xzdSupplierOpenBankVo = xzdSupplierOpenBankService.queryById(vo.getSkdwYhId());
|
||||
if (xzdSupplierOpenBankVo != null){
|
||||
vo.setSkdwYh(xzdSupplierOpenBankVo.getOpenBank());
|
||||
}
|
||||
}
|
||||
//项目类型
|
||||
if (vo.getXmlxId() != null){
|
||||
XzdProjectTypeVo projectTypeVo = xzdProjectTypeService.queryById(vo.getXmlxId());
|
||||
if (projectTypeVo != null){
|
||||
vo.setXmlx(projectTypeVo.getTypeName());
|
||||
}
|
||||
//项目大类
|
||||
XzdProjectTypeVo bigType = xzdProjectTypeService.getBigType(projectTypeVo.getId());
|
||||
if (bigType != null){
|
||||
vo.setXmdl(bigType.getTypeName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user