后端修改

This commit is contained in:
lg
2025-10-22 09:29:20 +08:00
parent f3fa78475c
commit dbc09a62ea
46 changed files with 1702 additions and 187 deletions

View File

@ -0,0 +1,73 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.time.LocalDate;
/**
* 投标文件-要求对象 xzd_tbwj_zsyq
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_tbwj_zsyq")
public class XzdTbwjZsyq extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 主表id
*/
private Long masterId;
/**
* 要求 资审要求 商务标要求 技术标要求
*/
private String qualificationRequirement;
/**
* 类型 1资审要求 2商务标要求 3技术标要求
*/
private String type;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
private LocalDate provisionTime;
/**
* 备注
*/
private String remark;
/**
* 文件ID
*/
private String fileId;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -5,6 +5,8 @@ import lombok.Data;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.*;
import java.util.List;
@Data
public class XzdBiddingDocumentBoBylist {
@ -18,25 +20,6 @@ public class XzdBiddingDocumentBoBylist {
// 投标文件-商务标
private XzdTbwjBusinessBidBo xzdTbwjBusinessBidVo;
// // 投标文件-商务标要求
// private XzdTbwjBusinessBidRequirementsBo xzdTbwjBusinessBidRequirementsVo;
//
//
//
//
//// 投标文件-资审要求
// private XzdTbwjQualificationRequirementsBo xzdTbwjQualificationRequirementsVo;
//
//// 投标文件-技术标要求
// private XzdTbwjTechnicalBidRequirementsBo xzdTbwjTechnicalBidRequirementsVo;
//
// 投标文件-资审要求
private List<XzdTbwjZsyqBo> yqList;
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjZsyq;
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.time.LocalDate;
/**
* 投标文件-要求业务对象 xzd_tbwj_zsyq
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdTbwjZsyq.class, reverseConvertGenerate = false)
public class XzdTbwjZsyqBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 主表id
*/
private Long masterId;
/**
* 要求 资审要求 商务标要求 技术标要求
*/
private String qualificationRequirement;
/**
* 类型 1资审要求 2商务标要求 3技术标要求
*/
private String type;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
private LocalDate provisionTime;
/**
* 备注
*/
private String remark;
/**
* 文件ID
*/
private String fileId;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -5,6 +5,9 @@ import lombok.Data;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjZsyqBo;
import java.util.List;
@Data
public class XzdBiddingDocumentVoBylist {
@ -20,6 +23,10 @@ public class XzdBiddingDocumentVoBylist {
// 投标文件-商务标
private XzdTbwjBusinessBid xzdTbwjBusinessBidVo;
// 投标文件-资审要求
private List<XzdTbwjZsyqVo> yqList;
//// 投标文件-商务标要求
// private XzdTbwjBusinessBidRequirementsVo xzdTbwjBusinessBidRequirementsVo;
//

View File

@ -0,0 +1,86 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjZsyq;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;
/**
* 投标文件-要求视图对象 xzd_tbwj_zsyq
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdTbwjZsyq.class)
public class XzdTbwjZsyqVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 主表id
*/
@ExcelProperty(value = "主表id")
private Long masterId;
/**
* 要求 资审要求 商务标要求 技术标要求
*/
@ExcelProperty(value = "要求 资审要求 商务标要求 技术标要求")
private String qualificationRequirement;
/**
* 类型 1资审要求 2商务标要求 3技术标要求
*/
private String type;
/**
* 编制要点
*/
@ExcelProperty(value = "编制要点")
private String compilationPoints;
/**
* 提供时间
*/
@ExcelProperty(value = "提供时间")
private LocalDate provisionTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjZsyq;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjZsyqVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 投标文件-要求Mapper接口
*
* @author Lion Li
* @date 2025-10-21
*/
public interface XzdTbwjZsyqMapper extends BaseMapperPlus<XzdTbwjZsyq, XzdTbwjZsyqVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjZsyqVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjZsyqBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjZsyq;
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-21
*/
public interface IXzdTbwjZsyqService extends IService<XzdTbwjZsyq>{
/**
* 查询投标文件-要求
*
* @param id 主键
* @return 投标文件-要求
*/
XzdTbwjZsyqVo queryById(Long id);
/**
* 分页查询投标文件-要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-要求分页列表
*/
TableDataInfo<XzdTbwjZsyqVo> queryPageList(XzdTbwjZsyqBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件-要求列表
*
* @param bo 查询条件
* @return 投标文件-要求列表
*/
List<XzdTbwjZsyqVo> queryList(XzdTbwjZsyqBo bo);
/**
* 新增投标文件-要求
*
* @param bo 投标文件-要求
* @return 是否新增成功
*/
Boolean insertByBo(XzdTbwjZsyqBo bo);
/**
* 修改投标文件-要求
*
* @param bo 投标文件-要求
* @return 是否修改成功
*/
Boolean updateByBo(XzdTbwjZsyqBo bo);
/**
* 校验并批量删除投标文件-要求信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -14,17 +14,17 @@ import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdBiddingDocumentBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdBiddingDocumentBoBylist;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjZsyq;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.*;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdBiddingDocumentVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdBiddingDocumentVoBylist;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjZsyqVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdBiddingDocumentMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdBiddingDocumentService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjBusinessBidService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjTechnicalBidService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjZsyqService;
import org.dromara.xzd.utilS.AreaUtil;
import org.locationtech.jts.edgegraph.HalfEdge;
import org.springframework.beans.BeanUtils;
@ -57,6 +57,8 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
// 投标文件-商务标
private final IXzdTbwjBusinessBidService xzdTbwjBusinessBidService;
private final IXzdTbwjZsyqService iXzdTbwjZsyqService;
/**
* 查询投标文件
*
@ -70,10 +72,13 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
XzdBiddingDocumentVo xzdBiddingDocumentVo = baseMapper.selectVoById(id);
XzdTbwjTechnicalBid xzdTbwjTechnicalBid = xzdTbwjTechnicalBidService.getBaseMapper().selectOne(new LambdaQueryWrapper<XzdTbwjTechnicalBid>().eq(XzdTbwjTechnicalBid::getBiddingDocumentId, id));
XzdTbwjBusinessBid xzdTbwjBusinessBid = xzdTbwjBusinessBidService.getBaseMapper().selectOne(new LambdaQueryWrapper<XzdTbwjBusinessBid>().eq(XzdTbwjBusinessBid::getBiddingDocumentId, id));
List<XzdTbwjZsyq> xzdTbwjZsyqs = iXzdTbwjZsyqService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdTbwjZsyq>().eq(XzdTbwjZsyq::getMasterId, id));
bylist.setXzdBiddingDocument(xzdBiddingDocumentVo);
bylist.setXzdTbwjTechnicalBidVo(xzdTbwjTechnicalBid);
bylist.setXzdTbwjBusinessBidVo(xzdTbwjBusinessBid);
bylist.setYqList(MapstructUtils.convert(xzdTbwjZsyqs, XzdTbwjZsyqVo.class));
return bylist;
}
@ -161,6 +166,15 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
xzdTbwjBusinessBid.setBiddingDocumentId(xzdBiddingDocument.getId());
xzdTbwjBusinessBidService.save(xzdTbwjBusinessBid);
// 资审要求 商务标要求 技术标要求
List<XzdTbwjZsyqBo> yqList = bo.getYqList();
if (yqList != null && yqList.size() > 0){
yqList.forEach(yq -> {
yq.setMasterId(xzdBiddingDocument.getId());
});
iXzdTbwjZsyqService.saveBatch(MapstructUtils.convert(yqList, XzdTbwjZsyq.class));
}
return true;
}
@ -175,12 +189,28 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
public Boolean updateByBo(XzdBiddingDocumentBoBylist bo) {
XzdBiddingDocument update = MapstructUtils.convert(bo.getXzdBiddingDocument(), XzdBiddingDocument.class);
// 投标文件-技术标
if (bo.getXzdTbwjTechnicalBidVo() != null){
XzdTbwjTechnicalBid xzdTbwjTechnicalBid = MapstructUtils.convert(bo.getXzdTbwjTechnicalBidVo(), XzdTbwjTechnicalBid.class);
xzdTbwjTechnicalBidService.updateById(xzdTbwjTechnicalBid);
}
// 投标文件-商务标
if (bo.getXzdTbwjBusinessBidVo() != null){
XzdTbwjBusinessBid xzdTbwjBusinessBid = MapstructUtils.convert(bo.getXzdTbwjBusinessBidVo(), XzdTbwjBusinessBid.class);
xzdTbwjBusinessBidService.updateById(xzdTbwjBusinessBid);
}
// 资审要求 商务标要求 技术标要求
iXzdTbwjZsyqService.getBaseMapper().delete(new LambdaQueryWrapper<XzdTbwjZsyq>().eq(XzdTbwjZsyq::getMasterId,update.getId()));
List<XzdTbwjZsyqBo> yqList = bo.getYqList();
if (yqList != null && yqList.size() > 0){
yqList.forEach(yq -> {
yq.setMasterId(update.getId());
});
iXzdTbwjZsyqService.saveBatch(MapstructUtils.convert(yqList, XzdTbwjZsyq.class));
}
return baseMapper.updateById(update) > 0;
}
@ -211,6 +241,8 @@ public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumen
// 删除商务标
xzdTbwjBusinessBidService.removeByMap(hashMap);
});
iXzdTbwjZsyqService.getBaseMapper().delete(new LambdaQueryWrapper<XzdTbwjZsyq>().in(XzdTbwjZsyq::getMasterId,ids));
}
return baseMapper.deleteByIds(ids) > 0;
}

View File

@ -0,0 +1,136 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjZsyqBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjZsyqVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjZsyq;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdTbwjZsyqMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjZsyqService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件-要求Service业务层处理
*
* @author Lion Li
* @date 2025-10-21
*/
@RequiredArgsConstructor
@Service
public class XzdTbwjZsyqServiceImpl extends ServiceImpl<XzdTbwjZsyqMapper, XzdTbwjZsyq> implements IXzdTbwjZsyqService {
private final XzdTbwjZsyqMapper baseMapper;
/**
* 查询投标文件-要求
*
* @param id 主键
* @return 投标文件-要求
*/
@Override
public XzdTbwjZsyqVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标文件-要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-要求分页列表
*/
@Override
public TableDataInfo<XzdTbwjZsyqVo> queryPageList(XzdTbwjZsyqBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdTbwjZsyq> lqw = buildQueryWrapper(bo);
Page<XzdTbwjZsyqVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件-要求列表
*
* @param bo 查询条件
* @return 投标文件-要求列表
*/
@Override
public List<XzdTbwjZsyqVo> queryList(XzdTbwjZsyqBo bo) {
LambdaQueryWrapper<XzdTbwjZsyq> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdTbwjZsyq> buildQueryWrapper(XzdTbwjZsyqBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdTbwjZsyq> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdTbwjZsyq::getId);
lqw.eq(bo.getMasterId() != null, XzdTbwjZsyq::getMasterId, bo.getMasterId());
lqw.eq(StringUtils.isNotBlank(bo.getQualificationRequirement()), XzdTbwjZsyq::getQualificationRequirement, bo.getQualificationRequirement());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationPoints()), XzdTbwjZsyq::getCompilationPoints, bo.getCompilationPoints());
lqw.eq(bo.getProvisionTime() != null, XzdTbwjZsyq::getProvisionTime, bo.getProvisionTime());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdTbwjZsyq::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdTbwjZsyq::getAuditStatus, bo.getAuditStatus());
return lqw;
}
/**
* 新增投标文件-要求
*
* @param bo 投标文件-要求
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdTbwjZsyqBo bo) {
XzdTbwjZsyq add = MapstructUtils.convert(bo, XzdTbwjZsyq.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标文件-要求
*
* @param bo 投标文件-要求
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdTbwjZsyqBo bo) {
XzdTbwjZsyq update = MapstructUtils.convert(bo, XzdTbwjZsyq.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdTbwjZsyq entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除投标文件-要求信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -4,6 +4,9 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -37,7 +40,7 @@ public class XzdBidDepositPayment extends BaseEntity {
/**
* 单据日期
*/
private Date documentDate;
private LocalDate documentDate;
/**
* 项目名称
@ -72,7 +75,7 @@ public class XzdBidDepositPayment extends BaseEntity {
/**
* 支付截止时间
*/
private Date paymentDeadline;
private LocalDate paymentDeadline;
/**
* 收款单位
@ -121,7 +124,7 @@ public class XzdBidDepositPayment extends BaseEntity {
/**
* 保证金比例
*/
private Long depositRatio;
private BigDecimal depositRatio;
/**
* 文件ID

View File

@ -7,6 +7,9 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.XzdBidDepositPayment;
@ -36,7 +39,7 @@ public class XzdBidDepositPaymentBo extends BaseEntity {
* 单据日期
*/
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date documentDate;
private LocalDate documentDate;
/**
* 项目名称
@ -74,7 +77,7 @@ public class XzdBidDepositPaymentBo extends BaseEntity {
/**
* 支付截止时间
*/
private Date paymentDeadline;
private LocalDate paymentDeadline;
/**
* 收款单位
@ -125,7 +128,7 @@ public class XzdBidDepositPaymentBo extends BaseEntity {
/**
* 保证金比例
*/
private Long depositRatio;
private BigDecimal depositRatio;
/**
* 文件ID

View File

@ -9,8 +9,6 @@ import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdV
public class XzdBidDepositPaymentByBqlx {
private XzdBidDepositPaymentVo xzdBidDepositPaymentVo;
private QuerListXzdBidPreVo queryListXzdVo;

View File

@ -1,5 +1,7 @@
package org.dromara.xzd.biddingManagement.earnestMoney.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
@ -51,7 +53,7 @@ public class XzdBidDepositPaymentVo implements Serializable {
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private Date documentDate;
private LocalDate documentDate;
/**
* 项目名称
@ -93,7 +95,7 @@ public class XzdBidDepositPaymentVo implements Serializable {
* 支付截止时间
*/
@ExcelProperty(value = "支付截止时间")
private Date paymentDeadline;
private LocalDate paymentDeadline;
/**
* 收款单位
@ -101,6 +103,13 @@ public class XzdBidDepositPaymentVo implements Serializable {
@ExcelProperty(value = "收款单位")
private String receivingUnit;
/**
* 收款单位名称
*/
@ExcelProperty(value = "收款单位名称")
private String receivingUnitName;
/**
* 收款单位ID
*/
@ -152,7 +161,7 @@ public class XzdBidDepositPaymentVo implements Serializable {
* 保证金比例
*/
@ExcelProperty(value = "保证金比例")
private Long depositRatio;
private BigDecimal depositRatio;
/**
* 文件ID

View File

@ -21,7 +21,9 @@ import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPay
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentVo;
import org.dromara.xzd.biddingManagement.earnestMoney.mapper.XzdBidDepositPaymentMapper;
import org.dromara.xzd.biddingManagement.earnestMoney.service.IXzdBidDepositPaymentService;
import org.dromara.xzd.service.impl.XzdSupplierInfoServiceImpl;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@ -48,6 +50,9 @@ public class XzdBidDepositPaymentServiceImpl extends ServiceImpl<XzdBidDepositPa
private final IXzdBidPreProjectService xzdBidPreProjectService;
@Autowired
private XzdSupplierInfoServiceImpl xzdSupplierInfoService;
/**
* 查询投标保证金缴纳
*
@ -59,9 +64,9 @@ public class XzdBidDepositPaymentServiceImpl extends ServiceImpl<XzdBidDepositPa
XzdBidDepositPaymentByBqlx res = new XzdBidDepositPaymentByBqlx();
XzdBidDepositPaymentVo xzdBidDepositPaymentVo = baseMapper.selectVoById(id);
saveName(xzdBidDepositPaymentVo);
res.setXzdBidDepositPaymentVo(xzdBidDepositPaymentVo);
if (xzdBidDepositPaymentVo.getBqlxId() != null){
QuerListXzdBidPreVo vo = xzdBidPreProjectService.queryById(xzdBidDepositPaymentVo.getBqlxId());
res.setQueryListXzdVo(vo);
@ -71,6 +76,19 @@ public class XzdBidDepositPaymentServiceImpl extends ServiceImpl<XzdBidDepositPa
return res;
}
private void saveName(XzdBidDepositPaymentVo xzdBidDepositPaymentVo) {
if (xzdBidDepositPaymentVo != null){
String receivingUnit = xzdBidDepositPaymentVo.getReceivingUnit();
if (receivingUnit != null){
String unitName = xzdSupplierInfoService.queryNameById(Long.parseLong(receivingUnit));
if (unitName != null){
xzdBidDepositPaymentVo.setReceivingUnitName(unitName);
}
}
}
}
/**
* 分页查询投标保证金缴纳列表
*

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -39,7 +40,7 @@ public class XzdBidDepositRecovery extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 项目名称
@ -89,7 +90,7 @@ public class XzdBidDepositRecovery extends BaseEntity {
/**
* 收回日期
*/
private LocalDateTime recoveryDate;
private LocalDate recoveryDate;
/**
* 保证金状态
@ -114,10 +115,10 @@ public class XzdBidDepositRecovery extends BaseEntity {
/**
* 支付截止时间
*/
private LocalDateTime paymentDeadline;
private LocalDate paymentDeadline;
/**
* 收款单位(保证金信息)
* 收款单位
*/
private Long receivingUnit;
@ -151,7 +152,7 @@ public class XzdBidDepositRecovery extends BaseEntity {
/**
* 申请日期
*/
private LocalDateTime applicationDate;
private LocalDate applicationDate;
/**
* 标题

View File

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -38,7 +39,7 @@ public class XzdBidDepositRecoveryBo extends BaseEntity {
* 单据日期
*/
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date documentDate;
private LocalDate documentDate;
/**
* 项目名称
@ -89,7 +90,7 @@ public class XzdBidDepositRecoveryBo extends BaseEntity {
/**
* 收回日期
*/
private LocalDateTime recoveryDate;
private LocalDate recoveryDate;
/**
* 保证金状态
@ -114,12 +115,18 @@ public class XzdBidDepositRecoveryBo extends BaseEntity {
/**
* 支付截止时间
*/
private LocalDateTime paymentDeadline;
private LocalDate paymentDeadline;
/**
* 收款单位
*/
private String receivingUnit;
private Long receivingUnit;
/**
* 收款单位名称
*/
private String receivingUnitName;
/**
* 保证金收款账户名称
@ -149,7 +156,7 @@ public class XzdBidDepositRecoveryBo extends BaseEntity {
/**
* 申请日期
*/
private LocalDateTime applicationDate;
private LocalDate applicationDate;
/**
* 标题
@ -180,6 +187,9 @@ public class XzdBidDepositRecoveryBo extends BaseEntity {
* 收款单位(供应商信息)
*/
private Long payeeId;
/**
* 收款账户银行 (供应商信息)
*/

View File

@ -1,5 +1,6 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
@ -52,7 +53,7 @@ public class XzdBidDepositRecoveryVo implements Serializable {
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 项目名称
@ -112,7 +113,7 @@ public class XzdBidDepositRecoveryVo implements Serializable {
* 收回日期
*/
@ExcelProperty(value = "收回日期")
private LocalDateTime recoveryDate;
private LocalDate recoveryDate;
/**
* 保证金状态
@ -142,13 +143,18 @@ public class XzdBidDepositRecoveryVo implements Serializable {
* 支付截止时间
*/
@ExcelProperty(value = "支付截止时间")
private LocalDateTime paymentDeadline;
private LocalDate paymentDeadline;
/**
* 收款单位
*/
@ExcelProperty(value = "收款单位")
private String receivingUnit;
private Long receivingUnit;
/**
* 收款单位名称
*/
@ExcelProperty(value = "收款单位名称")
private String receivingUnitName;
/**
* 保证金收款账户名称
@ -184,7 +190,7 @@ public class XzdBidDepositRecoveryVo implements Serializable {
* 申请日期
*/
@ExcelProperty(value = "申请日期")
private LocalDateTime applicationDate;
private LocalDate applicationDate;
/**
* 标题
@ -236,6 +242,11 @@ public class XzdBidDepositRecoveryVo implements Serializable {
*/
private Long payeeId;
/**
* 收款单位(供应商信息)
*/
private String payeeIdName;
/**
* 收款账户名称(供应商信息)
*/

View File

@ -30,6 +30,7 @@ import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 投标保证金收回Service业务层处理
*
@ -65,6 +66,8 @@ public class XzdBidDepositRecoveryServiceImpl extends ServiceImpl<XzdBidDepositR
XzdBidDepositPaymentByBqlx xzdBidDepositPaymentByBqlx = xzdBidDepositRecoveryXqVo.queryById(xzdBidDepositRecoveryVo.getPaymentId());
XzdSupplierInfoVo xzdSupplierInfoVo = xzdSupplierInfoService.queryById(xzdBidDepositRecoveryVo.getPayeeId());
saveName(xzdBidDepositRecoveryVo);
vo.setXzdBidDepositRecoveryVo(xzdBidDepositRecoveryVo);
vo.setXzdBidDepositPaymentByBqlx(xzdBidDepositPaymentByBqlx);
vo.setXzdSupplierInfoVo(xzdSupplierInfoVo);
@ -73,6 +76,24 @@ public class XzdBidDepositRecoveryServiceImpl extends ServiceImpl<XzdBidDepositR
return vo;
}
private void saveName(XzdBidDepositRecoveryVo xzdBidDepositRecoveryVo) {
if (xzdBidDepositRecoveryVo != null){
Long payeeId = xzdBidDepositRecoveryVo.getPayeeId();
String unitName = xzdSupplierInfoService.queryNameById(payeeId);
if (unitName != null){
xzdBidDepositRecoveryVo.setPayeeIdName(unitName);
}
Long receivingUnit = xzdBidDepositRecoveryVo.getReceivingUnit();
String unitNameTemp = xzdSupplierInfoService.queryNameById(receivingUnit);
if (unitNameTemp != null){
xzdBidDepositRecoveryVo.setReceivingUnitName(unitNameTemp);
}
}
}
/**
* 分页查询投标保证金收回列表
*
@ -84,6 +105,7 @@ public class XzdBidDepositRecoveryServiceImpl extends ServiceImpl<XzdBidDepositR
public TableDataInfo<XzdBidDepositRecoveryVo> queryPageList(XzdBidDepositRecoveryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBidDepositRecovery> lqw = buildQueryWrapper(bo);
Page<XzdBidDepositRecoveryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
result.getRecords().forEach(this::saveName);
return TableDataInfo.build(result);
}
@ -120,7 +142,7 @@ public class XzdBidDepositRecoveryServiceImpl extends ServiceImpl<XzdBidDepositR
lqw.eq(StringUtils.isNotBlank(bo.getDepositAmountCapital()), XzdBidDepositRecovery::getDepositAmountCapital, bo.getDepositAmountCapital());
lqw.eq(StringUtils.isNotBlank(bo.getDepositRemittanceMethod()), XzdBidDepositRecovery::getDepositRemittanceMethod, bo.getDepositRemittanceMethod());
lqw.eq(bo.getPaymentDeadline() != null, XzdBidDepositRecovery::getPaymentDeadline, bo.getPaymentDeadline());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingUnit()), XzdBidDepositRecovery::getReceivingUnit, bo.getReceivingUnit());
lqw.eq(bo.getReceivingUnit() != null, XzdBidDepositRecovery::getReceivingUnit, bo.getReceivingUnit());
lqw.like(StringUtils.isNotBlank(bo.getDepositReceivingAccountName()), XzdBidDepositRecovery::getDepositReceivingAccountName, bo.getDepositReceivingAccountName());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingBank()), XzdBidDepositRecovery::getReceivingBank, bo.getReceivingBank());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingBankAccount()), XzdBidDepositRecovery::getReceivingBankAccount, bo.getReceivingBankAccount());

View File

@ -0,0 +1,67 @@
package org.dromara.xzd.biddingManagement.postAnalysis.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 投标管理-标后分析-投标单位排名对象 xzd_bhfx_dwpm
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bhfx_dwpm")
public class XzdBhfxDwpm extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 主表id
*/
private Long masterId;
/**
* 参与投标单位
*/
private String participatingBiddingUnit;
/**
* 投标报价(万元)
*/
private BigDecimal bidPrice;
/**
* 排名
*/
private Long ranking;
/**
* 备注
*/
private String remark;
/**
* 文件ID
*/
private String fileId;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,66 @@
package org.dromara.xzd.biddingManagement.postAnalysis.domain.bo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
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.math.BigDecimal;
/**
* 投标管理-标后分析-投标单位排名业务对象 xzd_bhfx_dwpm
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBhfxDwpm.class, reverseConvertGenerate = false)
public class XzdBhfxDwpmBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 主表id
*/
private Long masterId;
/**
* 参与投标单位
*/
private String participatingBiddingUnit;
/**
* 投标报价(万元)
*/
private BigDecimal bidPrice;
/**
* 排名
*/
private Long ranking;
/**
* 备注
*/
private String remark;
/**
* 文件ID
*/
private String fileId;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -8,6 +8,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
@ -124,5 +126,7 @@ public class XzdPostBidAnalysisBo extends BaseEntity {
*/
private String auditStatus;
private List<XzdBhfxDwpmBo> pm;
}

View File

@ -0,0 +1,81 @@
package org.dromara.xzd.biddingManagement.postAnalysis.domain.vo;
import java.math.BigDecimal;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标管理-标后分析-投标单位排名视图对象 xzd_bhfx_dwpm
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBhfxDwpm.class)
public class XzdBhfxDwpmVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 主表id
*/
@ExcelProperty(value = "主表id")
private Long masterId;
/**
* 参与投标单位
*/
@ExcelProperty(value = "参与投标单位")
private String participatingBiddingUnit;
/**
* 投标报价(万元)
*/
@ExcelProperty(value = "投标报价(万元)")
private BigDecimal bidPrice;
/**
* 排名
*/
@ExcelProperty(value = "排名")
private Long ranking;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
}

View File

@ -8,12 +8,13 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -151,6 +152,8 @@ public class XzdPostBidAnalysisVo implements Serializable {
@ExcelProperty(value = "审核状态")
private String auditStatus;
private List<XzdBhfxDwpmVo> pm;

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.postAnalysis.mapper;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdBhfxDwpmVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 投标管理-标后分析-投标单位排名Mapper接口
*
* @author Lion Li
* @date 2025-10-21
*/
public interface XzdBhfxDwpmMapper extends BaseMapperPlus<XzdBhfxDwpm, XzdBhfxDwpmVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.biddingManagement.postAnalysis.service;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdBhfxDwpmVo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.bo.XzdBhfxDwpmBo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
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-21
*/
public interface IXzdBhfxDwpmService extends IService<XzdBhfxDwpm>{
/**
* 查询投标管理-标后分析-投标单位排名
*
* @param id 主键
* @return 投标管理-标后分析-投标单位排名
*/
XzdBhfxDwpmVo queryById(Long id);
/**
* 分页查询投标管理-标后分析-投标单位排名列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标管理-标后分析-投标单位排名分页列表
*/
TableDataInfo<XzdBhfxDwpmVo> queryPageList(XzdBhfxDwpmBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标管理-标后分析-投标单位排名列表
*
* @param bo 查询条件
* @return 投标管理-标后分析-投标单位排名列表
*/
List<XzdBhfxDwpmVo> queryList(XzdBhfxDwpmBo bo);
/**
* 新增投标管理-标后分析-投标单位排名
*
* @param bo 投标管理-标后分析-投标单位排名
* @return 是否新增成功
*/
Boolean insertByBo(XzdBhfxDwpmBo bo);
/**
* 修改投标管理-标后分析-投标单位排名
*
* @param bo 投标管理-标后分析-投标单位排名
* @return 是否修改成功
*/
Boolean updateByBo(XzdBhfxDwpmBo bo);
/**
* 校验并批量删除投标管理-标后分析-投标单位排名信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,136 @@
package org.dromara.xzd.biddingManagement.postAnalysis.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.biddingManagement.postAnalysis.domain.bo.XzdBhfxDwpmBo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdBhfxDwpmVo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
import org.dromara.xzd.biddingManagement.postAnalysis.mapper.XzdBhfxDwpmMapper;
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdBhfxDwpmService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标管理-标后分析-投标单位排名Service业务层处理
*
* @author Lion Li
* @date 2025-10-21
*/
@RequiredArgsConstructor
@Service
public class XzdBhfxDwpmServiceImpl extends ServiceImpl<XzdBhfxDwpmMapper, XzdBhfxDwpm> implements IXzdBhfxDwpmService {
private final XzdBhfxDwpmMapper baseMapper;
/**
* 查询投标管理-标后分析-投标单位排名
*
* @param id 主键
* @return 投标管理-标后分析-投标单位排名
*/
@Override
public XzdBhfxDwpmVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标管理-标后分析-投标单位排名列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标管理-标后分析-投标单位排名分页列表
*/
@Override
public TableDataInfo<XzdBhfxDwpmVo> queryPageList(XzdBhfxDwpmBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBhfxDwpm> lqw = buildQueryWrapper(bo);
Page<XzdBhfxDwpmVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标管理-标后分析-投标单位排名列表
*
* @param bo 查询条件
* @return 投标管理-标后分析-投标单位排名列表
*/
@Override
public List<XzdBhfxDwpmVo> queryList(XzdBhfxDwpmBo bo) {
LambdaQueryWrapper<XzdBhfxDwpm> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBhfxDwpm> buildQueryWrapper(XzdBhfxDwpmBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBhfxDwpm> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBhfxDwpm::getId);
lqw.eq(bo.getMasterId() != null, XzdBhfxDwpm::getMasterId, bo.getMasterId());
lqw.eq(StringUtils.isNotBlank(bo.getParticipatingBiddingUnit()), XzdBhfxDwpm::getParticipatingBiddingUnit, bo.getParticipatingBiddingUnit());
lqw.eq(bo.getBidPrice() != null, XzdBhfxDwpm::getBidPrice, bo.getBidPrice());
lqw.eq(bo.getRanking() != null, XzdBhfxDwpm::getRanking, bo.getRanking());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBhfxDwpm::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBhfxDwpm::getAuditStatus, bo.getAuditStatus());
return lqw;
}
/**
* 新增投标管理-标后分析-投标单位排名
*
* @param bo 投标管理-标后分析-投标单位排名
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBhfxDwpmBo bo) {
XzdBhfxDwpm add = MapstructUtils.convert(bo, XzdBhfxDwpm.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标管理-标后分析-投标单位排名
*
* @param bo 投标管理-标后分析-投标单位排名
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBhfxDwpmBo bo) {
XzdBhfxDwpm update = MapstructUtils.convert(bo, XzdBhfxDwpm.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBhfxDwpm entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除投标管理-标后分析-投标单位排名信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -9,17 +9,22 @@ 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.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.bo.XzdBhfxDwpmBo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.bo.XzdPostBidAnalysisBo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdBhfxDwpmVo;
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdPostBidAnalysisVo;
import org.dromara.xzd.biddingManagement.postAnalysis.mapper.XzdPostBidAnalysisMapper;
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdBhfxDwpmService;
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdPostBidAnalysisService;
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
/**
* 标后分析Service业务层处理
@ -33,6 +38,11 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
private final XzdPostBidAnalysisMapper baseMapper;
private final IXzdBhfxDwpmService xzdBhfxDwpmService;
@Autowired
private SysOssServiceImpl sysOssService;
/**
* 查询标后分析
*
@ -41,7 +51,10 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
*/
@Override
public XzdPostBidAnalysisVo queryById(Long id){
return baseMapper.selectVoById(id);
XzdPostBidAnalysisVo vo = baseMapper.selectVoById(id);
List<XzdBhfxDwpm> xzdBhfxDwpms = xzdBhfxDwpmService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdBhfxDwpm>().eq(XzdBhfxDwpm::getMasterId, id).orderByAsc(XzdBhfxDwpm::getRanking));
vo.setPm(MapstructUtils.convert(xzdBhfxDwpms, XzdBhfxDwpmVo.class));
return vo;
}
/**
@ -106,6 +119,14 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
XzdPostBidAnalysis add = MapstructUtils.convert(bo, XzdPostBidAnalysis.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
List<XzdBhfxDwpmBo> pm = bo.getPm();
if(pm != null && pm.size() > 0){
pm.forEach(temp ->{
temp.setMasterId(add.getId());
});
xzdBhfxDwpmService.saveBatch(MapstructUtils.convert(pm, XzdBhfxDwpm.class));
}
if (flag) {
bo.setId(add.getId());
}
@ -122,6 +143,15 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
public Boolean updateByBo(XzdPostBidAnalysisBo bo) {
XzdPostBidAnalysis update = MapstructUtils.convert(bo, XzdPostBidAnalysis.class);
validEntityBeforeSave(update);
List<XzdBhfxDwpmBo> pm = bo.getPm();
xzdBhfxDwpmService.getBaseMapper().delete(new LambdaQueryWrapper<XzdBhfxDwpm>().eq(XzdBhfxDwpm::getMasterId, update.getId()));
if(pm != null && pm.size() > 0){
pm.forEach(temp ->{
temp.setMasterId(update.getId());
});
xzdBhfxDwpmService.saveBatch(MapstructUtils.convert(pm, XzdBhfxDwpm.class));
}
return baseMapper.updateById(update) > 0;
}
@ -142,7 +172,22 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
List<Long> deleteIds = new ArrayList<>();
for (Long id : ids) {
XzdPostBidAnalysisVo vo = baseMapper.selectVoById(id);
if (vo != null){
//删除附件
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
List<Long> list = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
deleteIds.addAll(list);
}
}
}
if (!deleteIds.isEmpty()) {
sysOssService.deleteWithValidByIds(deleteIds, false);
}
return baseMapper.deleteByIds(ids) > 0;
}

View File

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -53,7 +55,7 @@ public class XzdGuaranteeChangeInfo extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同保函
@ -78,22 +80,22 @@ public class XzdGuaranteeChangeInfo extends BaseEntity {
/**
* 延期日期
*/
private LocalDateTime extensionDate;
private LocalDate extensionDate;
/**
* 闭卷日期
*/
private LocalDateTime closedDate;
private LocalDate closedDate;
/**
* 调整后保函金额
*/
private Long adjustedGuaranteeAmount;
private BigDecimal adjustedGuaranteeAmount;
/**
* 退还金额
*/
private Long refundAmount;
private BigDecimal refundAmount;
/**
* 变更说明
@ -118,12 +120,12 @@ public class XzdGuaranteeChangeInfo extends BaseEntity {
/**
* 保函金额
*/
private Long guaranteeAmount;
private BigDecimal guaranteeAmount;
/**
* 保函百分比
*/
private Long guaranteePercentage;
private BigDecimal guaranteePercentage;
/**
* 申请人
@ -158,12 +160,12 @@ public class XzdGuaranteeChangeInfo extends BaseEntity {
/**
* 开立日期
*/
private LocalDateTime issuingDate;
private LocalDate issuingDate;
/**
* 到期日期
*/
private LocalDateTime dueDate;
private LocalDate dueDate;
/**
* 担保单位
@ -183,7 +185,7 @@ public class XzdGuaranteeChangeInfo extends BaseEntity {
/**
* 反担保到期日期
*/
private LocalDateTime counterGuaranteeDueDate;
private LocalDate counterGuaranteeDueDate;
/**
* 是否减额保函
@ -203,7 +205,7 @@ public class XzdGuaranteeChangeInfo extends BaseEntity {
/**
* 合同金额
*/
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 甲方单位

View File

@ -11,6 +11,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -50,7 +52,7 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同保函
@ -91,22 +93,22 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
/**
* 延期日期
*/
private LocalDateTime extensionDate;
private LocalDate extensionDate;
/**
* 闭卷日期
*/
private LocalDateTime closedDate;
private LocalDate closedDate;
/**
* 调整后保函金额
*/
private Long adjustedGuaranteeAmount;
private BigDecimal adjustedGuaranteeAmount;
/**
* 退还金额
*/
private Long refundAmount;
private BigDecimal refundAmount;
/**
* 变更说明
@ -131,12 +133,12 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
/**
* 保函金额
*/
private Long guaranteeAmount;
private BigDecimal guaranteeAmount;
/**
* 保函百分比
*/
private Long guaranteePercentage;
private BigDecimal guaranteePercentage;
/**
* 申请人
@ -171,12 +173,12 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
/**
* 开立日期
*/
private LocalDateTime issuingDate;
private LocalDate issuingDate;
/**
* 到期日期
*/
private LocalDateTime dueDate;
private LocalDate dueDate;
/**
* 担保单位
@ -196,7 +198,7 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
/**
* 反担保到期日期
*/
private LocalDateTime counterGuaranteeDueDate;
private LocalDate counterGuaranteeDueDate;
/**
* 是否减额保函
@ -216,7 +218,7 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
/**
* 合同金额
*/
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 甲方单位
@ -239,9 +241,9 @@ public class XzdGuaranteeChangeInfoBo extends BaseEntity {
private String fileId;
private LocalDateTime startTime;
private LocalDate startTime;
private LocalDateTime endTime;
private LocalDate endTime;
}

View File

@ -1,5 +1,7 @@
package org.dromara.xzd.deposit.backletter.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
@ -64,7 +66,7 @@ public class XzdGuaranteeChangeInfoVo implements Serializable {
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同保函
@ -113,25 +115,25 @@ public class XzdGuaranteeChangeInfoVo implements Serializable {
* 延期日期
*/
@ExcelProperty(value = "延期日期")
private LocalDateTime extensionDate;
private LocalDate extensionDate;
/**
* 闭卷日期
*/
@ExcelProperty(value = "闭卷日期")
private LocalDateTime closedDate;
private LocalDate closedDate;
/**
* 调整后保函金额
*/
@ExcelProperty(value = "调整后保函金额")
private Long adjustedGuaranteeAmount;
private BigDecimal adjustedGuaranteeAmount;
/**
* 退还金额
*/
@ExcelProperty(value = "退还金额")
private Long refundAmount;
private BigDecimal refundAmount;
/**
* 变更说明
@ -162,13 +164,13 @@ public class XzdGuaranteeChangeInfoVo implements Serializable {
* 保函金额
*/
@ExcelProperty(value = "保函金额")
private Long guaranteeAmount;
private BigDecimal guaranteeAmount;
/**
* 保函百分比
*/
@ExcelProperty(value = "保函百分比")
private Long guaranteePercentage;
private BigDecimal guaranteePercentage;
/**
* 申请人
@ -210,13 +212,13 @@ public class XzdGuaranteeChangeInfoVo implements Serializable {
* 开立日期
*/
@ExcelProperty(value = "开立日期")
private LocalDateTime issuingDate;
private LocalDate issuingDate;
/**
* 到期日期
*/
@ExcelProperty(value = "到期日期")
private LocalDateTime dueDate;
private LocalDate dueDate;
/**
* 担保单位
@ -240,7 +242,7 @@ public class XzdGuaranteeChangeInfoVo implements Serializable {
* 反担保到期日期
*/
@ExcelProperty(value = "反担保到期日期")
private LocalDateTime counterGuaranteeDueDate;
private LocalDate counterGuaranteeDueDate;
/**
* 是否减额保函
@ -264,7 +266,7 @@ public class XzdGuaranteeChangeInfoVo implements Serializable {
* 合同金额
*/
@ExcelProperty(value = "合同金额")
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 甲方单位

View File

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -55,7 +57,7 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同编号
@ -70,7 +72,7 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 合同金额
*/
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 申请人
@ -114,7 +116,7 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 保函金额
*/
private Long guaranteeAmount;
private BigDecimal guaranteeAmount;
/**
* 币种(字典)
@ -124,7 +126,7 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 保函百分比
*/
private Long guaranteePercentage;
private BigDecimal guaranteePercentage;
/**
* 有无保函格式0:无 1有
@ -149,12 +151,12 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 开立日期
*/
private LocalDateTime issuingDate;
private LocalDate issuingDate;
/**
* 到期日期
*/
private LocalDateTime dueDate;
private LocalDate dueDate;
/**
* 是否减额保函0:无 1有
@ -164,7 +166,7 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 质押金额
*/
private Long pledgeAmount;
private BigDecimal pledgeAmount;
/**
* 担保单位
@ -174,7 +176,7 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 反担保到期日期
*/
private LocalDateTime counterGuaranteeDueDate;
private LocalDate counterGuaranteeDueDate;
/**
* 受益人
@ -204,22 +206,22 @@ public class XzdGuaranteeInfo extends BaseEntity {
/**
* 延期日期
*/
private LocalDateTime extensionDate;
private LocalDate extensionDate;
/**
* 闭卷日期
*/
private LocalDateTime closedDate;
private LocalDate closedDate;
/**
* 调整后保函金额
*/
private Long adjustedGuaranteeAmount;
private BigDecimal adjustedGuaranteeAmount;
/**
* 退还金额
*/
private Long refundAmount;
private BigDecimal refundAmount;
/**
* 附件ID多个逗号分隔

View File

@ -8,6 +8,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -53,7 +55,7 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同编号
@ -68,7 +70,7 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 合同金额
*/
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 申请人
@ -112,7 +114,7 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 保函金额
*/
private Long guaranteeAmount;
private BigDecimal guaranteeAmount;
/**
* 币种(字典)
@ -122,7 +124,7 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 保函百分比
*/
private Long guaranteePercentage;
private BigDecimal guaranteePercentage;
/**
* 有无保函格式0:无 1有
@ -147,12 +149,12 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 开立日期
*/
private LocalDateTime issuingDate;
private LocalDate issuingDate;
/**
* 到期日期
*/
private LocalDateTime dueDate;
private LocalDate dueDate;
/**
* 是否减额保函0:无 1有
@ -162,7 +164,7 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 质押金额
*/
private Long pledgeAmount;
private BigDecimal pledgeAmount;
/**
* 担保单位
@ -172,7 +174,7 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 反担保到期日期
*/
private LocalDateTime counterGuaranteeDueDate;
private LocalDate counterGuaranteeDueDate;
/**
* 受益人
@ -202,22 +204,22 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 延期日期
*/
private LocalDateTime extensionDate;
private LocalDate extensionDate;
/**
* 闭卷日期
*/
private LocalDateTime closedDate;
private LocalDate closedDate;
/**
* 调整后保函金额
*/
private Long adjustedGuaranteeAmount;
private BigDecimal adjustedGuaranteeAmount;
/**
* 退还金额
*/
private Long refundAmount;
private BigDecimal refundAmount;
/**
* 附件ID多个逗号分隔
@ -229,12 +231,12 @@ public class XzdGuaranteeInfoBo extends BaseEntity {
/**
* 开始日期
*/
private LocalDateTime startDate;
private LocalDate startDate;
/**
* 结束日期
* */
private LocalDateTime endDate;
private LocalDate endDate;
}

View File

@ -1,5 +1,7 @@
package org.dromara.xzd.deposit.contractBackletter.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -66,7 +68,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同编号
@ -84,7 +86,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 合同金额
*/
@ExcelProperty(value = "合同金额")
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 申请人
@ -162,7 +164,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 保函金额
*/
@ExcelProperty(value = "保函金额")
private Long guaranteeAmount;
private BigDecimal guaranteeAmount;
/**
* 币种(字典)
@ -175,7 +177,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 保函百分比
*/
@ExcelProperty(value = "保函百分比")
private Long guaranteePercentage;
private BigDecimal guaranteePercentage;
/**
* 有无保函格式0:无 1有
@ -208,13 +210,13 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 开立日期
*/
@ExcelProperty(value = "开立日期")
private LocalDateTime issuingDate;
private LocalDate issuingDate;
/**
* 到期日期
*/
@ExcelProperty(value = "到期日期")
private LocalDateTime dueDate;
private LocalDate dueDate;
/**
* 是否减额保函0:无 1有
@ -227,7 +229,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 质押金额
*/
@ExcelProperty(value = "质押金额")
private Long pledgeAmount;
private BigDecimal pledgeAmount;
/**
* 担保单位
@ -239,7 +241,7 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 反担保到期日期
*/
@ExcelProperty(value = "反担保到期日期")
private LocalDateTime counterGuaranteeDueDate;
private LocalDate counterGuaranteeDueDate;
/**
* 受益人
@ -277,25 +279,25 @@ public class XzdGuaranteeInfoVo implements Serializable {
* 延期日期
*/
@ExcelProperty(value = "延期日期")
private LocalDateTime extensionDate;
private LocalDate extensionDate;
/**
* 闭卷日期
*/
@ExcelProperty(value = "闭卷日期")
private LocalDateTime closedDate;
private LocalDate closedDate;
/**
* 调整后保函金额
*/
@ExcelProperty(value = "调整后保函金额")
private Long adjustedGuaranteeAmount;
private BigDecimal adjustedGuaranteeAmount;
/**
* 退还金额
*/
@ExcelProperty(value = "退还金额")
private Long refundAmount;
private BigDecimal refundAmount;
/**
* 附件ID多个逗号分隔

View File

@ -5,6 +5,9 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -33,7 +36,7 @@ public class XzdDepositApplication extends BaseEntity {
/**
* 申请时间
*/
private Date applicationTime;
private LocalDate applicationTime;
/**
* 单据流水号
@ -93,12 +96,12 @@ public class XzdDepositApplication extends BaseEntity {
/**
* 金额小写(元)
*/
private Long amountLower;
private BigDecimal amountLower;
/**
* 占合同比例(%)
*/
private Long contractProportion;
private BigDecimal contractProportion;
/**
* 金额大写
@ -108,12 +111,12 @@ public class XzdDepositApplication extends BaseEntity {
/**
* 保证金到期日
*/
private Date depositDueDate;
private LocalDate depositDueDate;
/**
* 要求到账日期
*/
private Date requiredArrivalDate;
private LocalDate requiredArrivalDate;
/**
* 备注

View File

@ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.deposit.earnestMoney.domain.XzdDepositApplication;
@ -31,7 +34,7 @@ public class XzdDepositApplicationBo extends BaseEntity {
/**
* 申请时间
*/
private Date applicationTime;
private LocalDate applicationTime;
/**
* 单据流水号
@ -91,12 +94,12 @@ public class XzdDepositApplicationBo extends BaseEntity {
/**
* 金额小写(元)
*/
private Long amountLower;
private BigDecimal amountLower;
/**
* 占合同比例(%)
*/
private Long contractProportion;
private BigDecimal contractProportion;
/**
* 金额大写
@ -106,12 +109,12 @@ public class XzdDepositApplicationBo extends BaseEntity {
/**
* 保证金到期日
*/
private Date depositDueDate;
private LocalDate depositDueDate;
/**
* 要求到账日期
*/
private Date requiredArrivalDate;
private LocalDate requiredArrivalDate;
/**
* 备注

View File

@ -1,5 +1,7 @@
package org.dromara.xzd.deposit.earnestMoney.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
@ -45,7 +47,7 @@ public class XzdDepositApplicationVo implements Serializable {
* 申请时间
*/
@ExcelProperty(value = "申请时间")
private Date applicationTime;
private LocalDate applicationTime;
/**
* 单据流水号
@ -138,13 +140,13 @@ public class XzdDepositApplicationVo implements Serializable {
* 金额小写(元)
*/
@ExcelProperty(value = "金额小写(元)")
private Long amountLower;
private BigDecimal amountLower;
/**
* 占合同比例(%)
*/
@ExcelProperty(value = "占合同比例(%)")
private Long contractProportion;
private BigDecimal contractProportion;
/**
* 金额大写
@ -156,13 +158,13 @@ public class XzdDepositApplicationVo implements Serializable {
* 保证金到期日
*/
@ExcelProperty(value = "保证金到期日")
private Date depositDueDate;
private LocalDate depositDueDate;
/**
* 要求到账日期
*/
@ExcelProperty(value = "要求到账日期")
private Date requiredArrivalDate;
private LocalDate requiredArrivalDate;
/**
* 备注

View File

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -49,7 +51,7 @@ public class XzdFbhtzbjth extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同编码
@ -64,7 +66,7 @@ public class XzdFbhtzbjth extends BaseEntity {
/**
* 合同金额
*/
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 决算单编码
@ -79,7 +81,7 @@ public class XzdFbhtzbjth extends BaseEntity {
/**
* 决算金额
*/
private Long finalAccountAmount;
private BigDecimal finalAccountAmount;
/**
* 项目经理
@ -94,7 +96,7 @@ public class XzdFbhtzbjth extends BaseEntity {
/**
* 质保金比例(%)
*/
private Long qualityDepositRatio;
private BigDecimal qualityDepositRatio;
/**
* 申请单位
@ -109,27 +111,27 @@ public class XzdFbhtzbjth extends BaseEntity {
/**
* 质量保修金
*/
private Long qualityWarranty;
private BigDecimal qualityWarranty;
/**
* 保修开始日期
*/
private LocalDateTime warrantyStartDate;
private LocalDate warrantyStartDate;
/**
* 保修结束日期
*/
private LocalDateTime warrantyEndDate;
private LocalDate warrantyEndDate;
/**
* 扣除金额
*/
private Long deductionAmount;
private BigDecimal deductionAmount;
/**
* 质保金退还金额
*/
private Long qualityDepositRefund;
private BigDecimal qualityDepositRefund;
/**
* 保修期内质量情况

View File

@ -0,0 +1,65 @@
package org.dromara.xzd.deposit.refundDeposit.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 分包合同质保金退还-扣款信息对象 xzd_fenbaotuihuan_kkxx
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_fenbaotuihuan_kkxx")
public class XzdFenbaotuihuanKkxx extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 款项名称
*/
private String itemName;
/**
* 金额
*/
private BigDecimal amount;
/**
* 备注
*/
private String remark;
/**
* 文件ID
*/
private String fileId;
/**
* 审核状态
*/
private String auditStatus;
/**
* 主表ID
*/
private Long meterId;
}

View File

@ -9,9 +9,12 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
@ -48,7 +51,7 @@ public class XzdFbhtzbjthBo extends BaseEntity {
/**
* 单据日期
*/
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同编码
@ -63,7 +66,7 @@ public class XzdFbhtzbjthBo extends BaseEntity {
/**
* 合同金额
*/
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 决算单编码
@ -78,7 +81,7 @@ public class XzdFbhtzbjthBo extends BaseEntity {
/**
* 决算金额
*/
private Long finalAccountAmount;
private BigDecimal finalAccountAmount;
/**
* 项目经理
@ -93,7 +96,7 @@ public class XzdFbhtzbjthBo extends BaseEntity {
/**
* 质保金比例(%)
*/
private Long qualityDepositRatio;
private BigDecimal qualityDepositRatio;
/**
* 申请单位
@ -108,27 +111,27 @@ public class XzdFbhtzbjthBo extends BaseEntity {
/**
* 质量保修金
*/
private Long qualityWarranty;
private BigDecimal qualityWarranty;
/**
* 保修开始日期
*/
private LocalDateTime warrantyStartDate;
private LocalDate warrantyStartDate;
/**
* 保修结束日期
*/
private LocalDateTime warrantyEndDate;
private LocalDate warrantyEndDate;
/**
* 扣除金额
*/
private Long deductionAmount;
private BigDecimal deductionAmount;
/**
* 质保金退还金额
*/
private Long qualityDepositRefund;
private BigDecimal qualityDepositRefund;
/**
* 保修期内质量情况
@ -151,4 +154,7 @@ public class XzdFbhtzbjthBo extends BaseEntity {
private LocalDate endTime;
private List<XzdFenbaotuihuanKkxxBo> kkxx;
}

View File

@ -0,0 +1,62 @@
package org.dromara.xzd.deposit.refundDeposit.domain.bo;
import org.dromara.xzd.deposit.refundDeposit.domain.XzdFenbaotuihuanKkxx;
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.math.BigDecimal;
/**
* 分包合同质保金退还-扣款信息业务对象 xzd_fenbaotuihuan_kkxx
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdFenbaotuihuanKkxx.class, reverseConvertGenerate = false)
public class XzdFenbaotuihuanKkxxBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 款项名称
*/
private String itemName;
/**
* 金额
*/
private BigDecimal amount;
/**
* 备注
*/
private String remark;
/**
* 文件ID
*/
private String fileId;
/**
* 审核状态
*/
private String auditStatus;
/**
* 主表ID
*/
private Long meterId;
}

View File

@ -1,5 +1,7 @@
package org.dromara.xzd.deposit.refundDeposit.domain.vo;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
@ -19,7 +21,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -64,7 +66,7 @@ public class XzdFbhtzbjthVo implements Serializable {
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private LocalDateTime documentDate;
private LocalDate documentDate;
/**
* 合同编码
@ -82,7 +84,7 @@ public class XzdFbhtzbjthVo implements Serializable {
* 合同金额
*/
@ExcelProperty(value = "合同金额")
private Long contractAmount;
private BigDecimal contractAmount;
/**
* 决算单编码
@ -100,7 +102,7 @@ public class XzdFbhtzbjthVo implements Serializable {
* 决算金额
*/
@ExcelProperty(value = "决算金额")
private Long finalAccountAmount;
private BigDecimal finalAccountAmount;
/**
* 项目经理
@ -118,7 +120,7 @@ public class XzdFbhtzbjthVo implements Serializable {
* 质保金比例(%)
*/
@ExcelProperty(value = "质保金比例(%)")
private Long qualityDepositRatio;
private BigDecimal qualityDepositRatio;
/**
* 申请单位
@ -136,31 +138,31 @@ public class XzdFbhtzbjthVo implements Serializable {
* 质量保修金
*/
@ExcelProperty(value = "质量保修金")
private Long qualityWarranty;
private BigDecimal qualityWarranty;
/**
* 保修开始日期
*/
@ExcelProperty(value = "保修开始日期")
private LocalDateTime warrantyStartDate;
private LocalDate warrantyStartDate;
/**
* 保修结束日期
*/
@ExcelProperty(value = "保修结束日期")
private LocalDateTime warrantyEndDate;
private LocalDate warrantyEndDate;
/**
* 扣除金额
*/
@ExcelProperty(value = "扣除金额")
private Long deductionAmount;
private BigDecimal deductionAmount;
/**
* 质保金退还金额
*/
@ExcelProperty(value = "质保金退还金额")
private Long qualityDepositRefund;
private BigDecimal qualityDepositRefund;
/**
* 保修期内质量情况
@ -195,4 +197,7 @@ public class XzdFbhtzbjthVo implements Serializable {
private String createByName;
private List<XzdFenbaotuihuanKkxxVo> kkxx;
}

View File

@ -0,0 +1,75 @@
package org.dromara.xzd.deposit.refundDeposit.domain.vo;
import java.math.BigDecimal;
import org.dromara.xzd.deposit.refundDeposit.domain.XzdFenbaotuihuanKkxx;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 分包合同质保金退还-扣款信息视图对象 xzd_fenbaotuihuan_kkxx
*
* @author Lion Li
* @date 2025-10-21
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdFenbaotuihuanKkxx.class)
public class XzdFenbaotuihuanKkxxVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 款项名称
*/
@ExcelProperty(value = "款项名称")
private String itemName;
/**
* 金额
*/
@ExcelProperty(value = "金额")
private BigDecimal amount;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
/**
* 主表ID
*/
private Long meterId;
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.deposit.refundDeposit.mapper;
import org.dromara.xzd.deposit.refundDeposit.domain.XzdFenbaotuihuanKkxx;
import org.dromara.xzd.deposit.refundDeposit.domain.vo.XzdFenbaotuihuanKkxxVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 分包合同质保金退还-扣款信息Mapper接口
*
* @author Lion Li
* @date 2025-10-21
*/
public interface XzdFenbaotuihuanKkxxMapper extends BaseMapperPlus<XzdFenbaotuihuanKkxx, XzdFenbaotuihuanKkxxVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.deposit.refundDeposit.service;
import org.dromara.xzd.deposit.refundDeposit.domain.vo.XzdFenbaotuihuanKkxxVo;
import org.dromara.xzd.deposit.refundDeposit.domain.bo.XzdFenbaotuihuanKkxxBo;
import org.dromara.xzd.deposit.refundDeposit.domain.XzdFenbaotuihuanKkxx;
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-21
*/
public interface IXzdFenbaotuihuanKkxxService extends IService<XzdFenbaotuihuanKkxx>{
/**
* 查询分包合同质保金退还-扣款信息
*
* @param id 主键
* @return 分包合同质保金退还-扣款信息
*/
XzdFenbaotuihuanKkxxVo queryById(Long id);
/**
* 分页查询分包合同质保金退还-扣款信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 分包合同质保金退还-扣款信息分页列表
*/
TableDataInfo<XzdFenbaotuihuanKkxxVo> queryPageList(XzdFenbaotuihuanKkxxBo bo, PageQuery pageQuery);
/**
* 查询符合条件的分包合同质保金退还-扣款信息列表
*
* @param bo 查询条件
* @return 分包合同质保金退还-扣款信息列表
*/
List<XzdFenbaotuihuanKkxxVo> queryList(XzdFenbaotuihuanKkxxBo bo);
/**
* 新增分包合同质保金退还-扣款信息
*
* @param bo 分包合同质保金退还-扣款信息
* @return 是否新增成功
*/
Boolean insertByBo(XzdFenbaotuihuanKkxxBo bo);
/**
* 修改分包合同质保金退还-扣款信息
*
* @param bo 分包合同质保金退还-扣款信息
* @return 是否修改成功
*/
Boolean updateByBo(XzdFenbaotuihuanKkxxBo bo);
/**
* 校验并批量删除分包合同质保金退还-扣款信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -13,6 +13,10 @@ import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.deposit.refundDeposit.domain.XzdFenbaotuihuanKkxx;
import org.dromara.xzd.deposit.refundDeposit.domain.bo.XzdFenbaotuihuanKkxxBo;
import org.dromara.xzd.deposit.refundDeposit.domain.vo.XzdFenbaotuihuanKkxxVo;
import org.dromara.xzd.deposit.refundDeposit.service.IXzdFenbaotuihuanKkxxService;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.stereotype.Service;
import org.dromara.xzd.deposit.refundDeposit.domain.bo.XzdFbhtzbjthBo;
@ -44,6 +48,9 @@ public class XzdFbhtzbjthServiceImpl extends ServiceImpl<XzdFbhtzbjthMapper, Xzd
private final SysOssServiceImpl sysOssService;
private final IXzdFenbaotuihuanKkxxService iXzdFenbaotuihuanKkxxService;
/**
* 查询分包合同质保金退还
*
@ -52,7 +59,12 @@ public class XzdFbhtzbjthServiceImpl extends ServiceImpl<XzdFbhtzbjthMapper, Xzd
*/
@Override
public XzdFbhtzbjthVo queryById(Long id){
return baseMapper.selectVoById(id);
XzdFbhtzbjthVo vo = baseMapper.selectVoById(id);
List<XzdFenbaotuihuanKkxx> xzdFenbaotuihuanKkxxes = iXzdFenbaotuihuanKkxxService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdFenbaotuihuanKkxx>().eq(XzdFenbaotuihuanKkxx::getMeterId, id));
if (xzdFenbaotuihuanKkxxes != null && xzdFenbaotuihuanKkxxes.size() > 0) {
vo.setKkxx(MapstructUtils.convert(xzdFenbaotuihuanKkxxes, XzdFenbaotuihuanKkxxVo.class));
}
return vo;
}
/**
@ -127,11 +139,16 @@ public class XzdFbhtzbjthServiceImpl extends ServiceImpl<XzdFbhtzbjthMapper, Xzd
XzdFbhtzbjth add = MapstructUtils.convert(bo, XzdFbhtzbjth.class);
validEntityBeforeSave(add);
String banBen = BatchNumberGenerator.generateBatchNumber("FBHTZBJTH-");
add.setDocumentCode(banBen);
boolean flag = baseMapper.insert(add) > 0;
List<XzdFenbaotuihuanKkxxBo> kkxx = bo.getKkxx();
if (kkxx != null && kkxx.size() > 0) {
kkxx.forEach(item -> {
item.setMeterId(add.getId());
});
iXzdFenbaotuihuanKkxxService.saveBatch(MapstructUtils.convert(kkxx, XzdFenbaotuihuanKkxx.class));
}
if (flag) {
bo.setId(add.getId());
}
@ -148,6 +165,15 @@ public class XzdFbhtzbjthServiceImpl extends ServiceImpl<XzdFbhtzbjthMapper, Xzd
public Boolean updateByBo(XzdFbhtzbjthBo bo) {
XzdFbhtzbjth update = MapstructUtils.convert(bo, XzdFbhtzbjth.class);
validEntityBeforeSave(update);
List<XzdFenbaotuihuanKkxxBo> kkxx = bo.getKkxx();
iXzdFenbaotuihuanKkxxService.getBaseMapper().delete(new LambdaQueryWrapper<XzdFenbaotuihuanKkxx>().eq(XzdFenbaotuihuanKkxx::getMeterId, update.getId()));
if (kkxx != null && kkxx.size() > 0) {
kkxx.forEach(item -> {
item.setMeterId(update.getId());
});
iXzdFenbaotuihuanKkxxService.saveBatch(MapstructUtils.convert(kkxx, XzdFenbaotuihuanKkxx.class));
}
return baseMapper.updateById(update) > 0;
}
@ -156,11 +182,8 @@ public class XzdFbhtzbjthServiceImpl extends ServiceImpl<XzdFbhtzbjthMapper, Xzd
*/
private void validEntityBeforeSave(XzdFbhtzbjth entity){
//TODO 做一些数据校验,如唯一约束
if (entity.getQualityDepositRatio() == null && entity.getQualityDepositRatio() < 0 && entity.getQualityDepositRatio() > 100) {
throw new RuntimeException("质保金比例不能为空且在0-100之间");
}
}
/**
* 校验并批量删除分包合同质保金退还信息
@ -183,6 +206,8 @@ public class XzdFbhtzbjthServiceImpl extends ServiceImpl<XzdFbhtzbjthMapper, Xzd
}
}
}
iXzdFenbaotuihuanKkxxService.getBaseMapper().delete(new LambdaQueryWrapper<XzdFenbaotuihuanKkxx>().in(XzdFenbaotuihuanKkxx::getMeterId, ids));
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,134 @@
package org.dromara.xzd.deposit.refundDeposit.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.deposit.refundDeposit.domain.bo.XzdFenbaotuihuanKkxxBo;
import org.dromara.xzd.deposit.refundDeposit.domain.vo.XzdFenbaotuihuanKkxxVo;
import org.dromara.xzd.deposit.refundDeposit.domain.XzdFenbaotuihuanKkxx;
import org.dromara.xzd.deposit.refundDeposit.mapper.XzdFenbaotuihuanKkxxMapper;
import org.dromara.xzd.deposit.refundDeposit.service.IXzdFenbaotuihuanKkxxService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 分包合同质保金退还-扣款信息Service业务层处理
*
* @author Lion Li
* @date 2025-10-21
*/
@RequiredArgsConstructor
@Service
public class XzdFenbaotuihuanKkxxServiceImpl extends ServiceImpl<XzdFenbaotuihuanKkxxMapper, XzdFenbaotuihuanKkxx> implements IXzdFenbaotuihuanKkxxService {
private final XzdFenbaotuihuanKkxxMapper baseMapper;
/**
* 查询分包合同质保金退还-扣款信息
*
* @param id 主键
* @return 分包合同质保金退还-扣款信息
*/
@Override
public XzdFenbaotuihuanKkxxVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询分包合同质保金退还-扣款信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 分包合同质保金退还-扣款信息分页列表
*/
@Override
public TableDataInfo<XzdFenbaotuihuanKkxxVo> queryPageList(XzdFenbaotuihuanKkxxBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdFenbaotuihuanKkxx> lqw = buildQueryWrapper(bo);
Page<XzdFenbaotuihuanKkxxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的分包合同质保金退还-扣款信息列表
*
* @param bo 查询条件
* @return 分包合同质保金退还-扣款信息列表
*/
@Override
public List<XzdFenbaotuihuanKkxxVo> queryList(XzdFenbaotuihuanKkxxBo bo) {
LambdaQueryWrapper<XzdFenbaotuihuanKkxx> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdFenbaotuihuanKkxx> buildQueryWrapper(XzdFenbaotuihuanKkxxBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdFenbaotuihuanKkxx> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdFenbaotuihuanKkxx::getId);
lqw.like(StringUtils.isNotBlank(bo.getItemName()), XzdFenbaotuihuanKkxx::getItemName, bo.getItemName());
lqw.eq(bo.getAmount() != null, XzdFenbaotuihuanKkxx::getAmount, bo.getAmount());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdFenbaotuihuanKkxx::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdFenbaotuihuanKkxx::getAuditStatus, bo.getAuditStatus());
return lqw;
}
/**
* 新增分包合同质保金退还-扣款信息
*
* @param bo 分包合同质保金退还-扣款信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdFenbaotuihuanKkxxBo bo) {
XzdFenbaotuihuanKkxx add = MapstructUtils.convert(bo, XzdFenbaotuihuanKkxx.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改分包合同质保金退还-扣款信息
*
* @param bo 分包合同质保金退还-扣款信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdFenbaotuihuanKkxxBo bo) {
XzdFenbaotuihuanKkxx update = MapstructUtils.convert(bo, XzdFenbaotuihuanKkxx.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdFenbaotuihuanKkxx entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除分包合同质保金退还-扣款信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}