Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2025-10-12 00:25:45 +08:00
118 changed files with 9025 additions and 254 deletions

View File

@ -164,5 +164,5 @@ public interface ISysDeptService {
*/
int deleteDeptById(Long deptId);
List<SysDept> querListDept();
List<SysDeptVo> querListDept();
}

View File

@ -530,12 +530,12 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
}
@Override
public List<SysDept> querListDept() {
public List<SysDeptVo> querListDept() {
// baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>().)
List<SysDeptVo> sysDeptVos = baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getParentId, "100").eq(SysDept::getStatus, "0").eq(SysDept::getDelFlag, "0"));
return List.of();
return sysDeptVos;
}
/**

View File

@ -1,21 +1,17 @@
package org.dromara.xzd.biddingManagement.controller;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.controller;
import java.util.List;
import cn.hutool.core.lang.tree.Tree;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.system.domain.SysDept;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.service.ISysDeptService;
import org.dromara.xzd.biddingManagement.domain.dto.BiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.domain.vo.QueryListXzdVo;
import org.dromara.xzd.domain.bo.XzdProjectTypeBo;
import org.dromara.xzd.domain.vo.XzdProjectTypeVo;
import org.dromara.xzd.service.IXzdProjectTypeService;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.BiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -24,13 +20,11 @@ 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.biddingManagement.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.service.IXzdBidPreProjectService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService;
/**
* 标前立项
@ -55,8 +49,8 @@ public class XzdBidPreProjectController extends BaseController {
* 查询部门
*/
@GetMapping("/listDept")
public R<List<SysDept>> list() {
List<SysDept> list = iSysDeptService.querListDept();
public R<List<SysDeptVo>> list() {
List<SysDeptVo> list = iSysDeptService.querListDept();
return R.ok(list);
}

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.controller;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.controller;
import java.util.List;
@ -6,10 +6,10 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.xzd.biddingManagement.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectByVo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.service.IXzdProjectRiskAssessmentService;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectByVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdProjectRiskAssessmentService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.domain;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* 标前立项对象 xzd_bid_pre_project
@ -97,6 +98,22 @@ public class XzdBidPreProject extends BaseEntity {
*/
private String investmentUnit;
/**
* 单据日期
*/
private LocalDateTime billDate;
/**
* 联投单位
*/
private String jointInvestmentEntity;
/**
* 联系方式
*/
private String contactInformation;
/**
* 工程造价万元
*/

View File

@ -1,5 +1,6 @@
package org.dromara.xzd.biddingManagement.domain;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
@ -49,6 +50,13 @@ public class XzdBqlxProjectInfo extends BaseEntity {
*/
private Date bidStartDate;
/**
* 填报组织
*/
@ExcelProperty(value = "填报组织")
private String reportingOrganization;
/**
* 报名截止时间
*/

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.domain;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;

View File

@ -1,6 +1,6 @@
package org.dromara.xzd.biddingManagement.domain.bo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo;
import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@ -9,6 +9,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.time.LocalDateTime;
/**
* 标前立项业务对象 xzd_bid_pre_project
*
@ -56,6 +58,22 @@ public class XzdBidPreProjectBo extends BaseEntity {
@NotBlank(message = "城市不能为空", groups = { AddGroup.class, EditGroup.class })
private String city;
/**
* 单据日期
*/
private LocalDateTime billDate;
/**
* 联投单位
*/
private String jointInvestmentEntity;
/**
* 联系方式
*/
private String contactInformation;
/**
* 区县
*/

View File

@ -1,6 +1,7 @@
package org.dromara.xzd.biddingManagement.domain.bo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo;
import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@ -8,8 +9,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalDateTime;
/**
* 标前立项业务对象 xzd_bqlx_project_info
@ -37,7 +38,7 @@ public class XzdBqlxProjectInfoBo extends BaseEntity {
/**
* 预计开工日期
*/
private Date expectedStartDate;
private LocalDateTime expectedStartDate;
/**
* 资质要求
@ -47,18 +48,18 @@ public class XzdBqlxProjectInfoBo extends BaseEntity {
/**
* 报名开始时间
*/
private Date bidStartDate;
private LocalDateTime bidStartDate;
/**
* 报名截止时间
*/
@NotNull(message = "报名截止时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date bidEndDate;
private LocalDateTime bidEndDate;
/**
* 投标截止时间
*/
private Date submissionDeadline;
private LocalDateTime submissionDeadline;
/**
* 设计情况
@ -70,6 +71,13 @@ public class XzdBqlxProjectInfoBo extends BaseEntity {
*/
private String projectStatus;
/**
* 填报组织
*/
@ExcelProperty(value = "填报组织")
private String reportingOrganization;
/**
* 招标公告地址
*/
@ -103,7 +111,7 @@ public class XzdBqlxProjectInfoBo extends BaseEntity {
/**
* 开标时间
*/
private Date startDate;
private LocalDateTime startDate;
/**
* 评标方式

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.domain.bo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -7,7 +7,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
/**
* 项目风险评估签审意见业务对象 xzd_project_risk_assessment

View File

@ -0,0 +1,17 @@
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto;
import lombok.Data;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBqlxProjectInfoBo;
@Data
public class BiddingManagementDto {
// 标前立项
private XzdBidPreProjectBo xzdBidPreProjectBo;
// 标前立项-项目信息
private XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo;
}

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.domain.dto;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto;
import jakarta.validation.constraints.NotBlank;

View File

@ -1,6 +1,5 @@
package org.dromara.xzd.biddingManagement.domain.vo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo;
import lombok.Builder;
import lombok.Data;
import java.util.List;

View File

@ -1,8 +1,8 @@
package org.dromara.xzd.biddingManagement.domain.vo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
@ -12,8 +12,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;
/**
@ -130,6 +129,22 @@ public class XzdBidPreProjectVo implements Serializable {
@ExcelDictFormat(readConverterExp = "万=元")
private Long projectCost;
/**
* 单据日期
*/
private LocalDateTime billDate;
/**
* 联投单位
*/
private String jointInvestmentEntity;
/**
* 联系方式
*/
private String contactInformation;
/**
* 资料费
*/
@ -161,4 +176,11 @@ public class XzdBidPreProjectVo implements Serializable {
private String createByUserName;
private Long createDept;
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "createDept")
private String createDeptName;
}

View File

@ -1,8 +1,8 @@
package org.dromara.xzd.biddingManagement.domain.vo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
@ -12,8 +12,6 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
@ -72,6 +70,13 @@ public class XzdBqlxProjectInfoVo implements Serializable {
@ExcelProperty(value = "投标截止时间")
private Date submissionDeadline;
/**
* 填报组织
*/
@ExcelProperty(value = "填报组织")
private String reportingOrganization;
/**
* 设计情况
*/

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.domain.vo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.domain.vo;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -8,13 +8,11 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**

View File

@ -1,10 +1,10 @@
package org.dromara.xzd.biddingManagement.mapper;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;

View File

@ -1,7 +1,7 @@
package org.dromara.xzd.biddingManagement.mapper;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper;
import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**

View File

@ -1,9 +1,9 @@
package org.dromara.xzd.biddingManagement.mapper;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectRiskAssessmentVo;
/**
* 项目风险评估签审意见Mapper接口

View File

@ -1,13 +1,12 @@
package org.dromara.xzd.biddingManagement.service;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service;
import org.dromara.xzd.biddingManagement.domain.dto.BiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.domain.vo.QueryListXzdVo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.BiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;

View File

@ -1,8 +1,8 @@
package org.dromara.xzd.biddingManagement.service;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBqlxProjectInfoBo;
import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBqlxProjectInfoBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;

View File

@ -1,14 +1,14 @@
package org.dromara.xzd.biddingManagement.service;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectByVo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectByVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectRiskAssessmentVo;
import java.util.Collection;
import java.util.List;

View File

@ -1,38 +1,35 @@
package org.dromara.xzd.biddingManagement.service.impl;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service.impl;
import cn.hutool.core.bean.BeanUtil;
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.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBqlxProjectInfoBo;
import org.dromara.xzd.biddingManagement.domain.dto.BiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.domain.vo.QueryListXzdVo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.mapper.XzdBqlxProjectInfoMapper;
import org.dromara.xzd.biddingManagement.service.IXzdBqlxProjectInfoService;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBqlxProjectInfoBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.BiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.QuerBiddingManagementDto;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBqlxProjectInfoService;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.mapper.XzdBidPreProjectMapper;
import org.dromara.xzd.biddingManagement.service.IXzdBidPreProjectService;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdBidPreProjectMapper;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
import java.util.stream.Collectors;
/**
* 标前立项Service业务层处理
@ -52,6 +49,8 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
private final AreaUtil areaUtil;
private final SysOssServiceImpl sysOssService;
/**
* 查询标前立项
@ -64,9 +63,11 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
QuerListXzdBidPreVo querListXzdBidPreVo = new QuerListXzdBidPreVo();
XzdBidPreProjectVo xzdBidPreProjectVo = baseMapper.selectVoById(id);
XzdBqlxProjectInfo xzdBqlxProjectInfo = iXzdBqlxProjectInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper<>(XzdBqlxProjectInfo.class).eq(XzdBqlxProjectInfo::getBidPreProjectId, id));
XzdBqlxProjectInfoVo res = new XzdBqlxProjectInfoVo();
BeanUtils.copyProperties(xzdBqlxProjectInfo, res);
XzdBqlxProjectInfoVo res = new XzdBqlxProjectInfoVo();
if (xzdBqlxProjectInfo != null){
BeanUtils.copyProperties(xzdBqlxProjectInfo, res);
}
querListXzdBidPreVo.setXzdBqlxProjectInfoVo(res);
querListXzdBidPreVo.setXzdBidPreProjectVo(xzdBidPreProjectVo);
@ -145,9 +146,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(BiddingManagementDto bo) {
try {
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidPreProject>().gt(XzdBidPreProject::getCreateTime, LocalDateTime.now().minusDays(1)));
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidPreProject>().gt(XzdBidPreProject::getCreateTime, LocalDate.now()));
String s = areaUtil.generateDateBasedNumber();
// 标前立项
@ -164,10 +163,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
xzdBqlxProjectInfoBo.setBidPreProjectId(xzdBidPreProject.getId());
iXzdBqlxProjectInfoService.insertByBo(xzdBqlxProjectInfoBo);
}catch (Exception e) {
log.error("新增标前立项失败", e);
return false;
}
return true;
}
@ -179,18 +175,31 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
* @return 是否修改成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(BiddingManagementDto bo) {
// XzdBidPreProjectBo xzdBidPreProjectBo = bo.getXzdBidPreProjectBo();
//
// baseMapper.updateById(xzdBidPreProjectBo);
//
// XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo = bo.getXzdBqlxProjectInfoBo();
//
//
// validEntityBeforeSave(update);
return false;
XzdBidPreProjectBo xzdBidPreProjectBo = bo.getXzdBidPreProjectBo();
XzdBidPreProject xzdBidPreProject = new XzdBidPreProject();
BeanUtil.copyProperties(xzdBidPreProjectBo, xzdBidPreProject);
this.saveOrUpdate(xzdBidPreProject);
XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo = bo.getXzdBqlxProjectInfoBo();
XzdBqlxProjectInfo xzdBqlxProjectInfo = new XzdBqlxProjectInfo();
BeanUtils.copyProperties(xzdBqlxProjectInfoBo, xzdBqlxProjectInfo);
iXzdBqlxProjectInfoService.saveOrUpdate(xzdBqlxProjectInfo);
return true;
}
/**
@ -208,10 +217,32 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
* @return 是否删除成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
for (Long id : ids) {
XzdBidPreProjectVo xzdBidPreProjectVo = baseMapper.selectVoById(id);
// 删除附件
if (!StringUtils.isEmpty(xzdBidPreProjectVo.getFileId())){
List<Long> collect = Arrays.stream(xzdBidPreProjectVo.getFileId().split(",")).map(item -> {
return Long.parseLong(item);
}).collect(Collectors.toList());
sysOssService.deleteWithValidByIds(collect, false);
}
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("bid_pre_project_id",id);
iXzdBqlxProjectInfoService.removeByMap(objectObjectHashMap);
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.service.impl;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
@ -10,11 +10,11 @@ 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.domain.bo.XzdBqlxProjectInfoBo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.mapper.XzdBqlxProjectInfoMapper;
import org.dromara.xzd.biddingManagement.service.IXzdBqlxProjectInfoService;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBqlxProjectInfoBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBqlxProjectInfoVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdBqlxProjectInfoMapper;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBqlxProjectInfoService;
import java.util.List;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package org.dromara.xzd.biddingManagement.service.impl;
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
@ -9,20 +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.xzd.biddingManagement.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectByVo;
import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.mapper.XzdProjectRiskAssessmentMapper;
import org.dromara.xzd.biddingManagement.service.IXzdProjectRiskAssessmentService;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdProjectRiskAssessmentBo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectByVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdProjectRiskAssessmentVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdProjectRiskAssessmentMapper;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdProjectRiskAssessmentService;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
import java.util.stream.Collectors;
/**
* 项目风险评估签审意见Service业务层处理
@ -38,6 +40,9 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
private final AreaUtil areaUtil;
private final SysOssServiceImpl sysOssService;
/**
* 查询项目风险评估签审意见
*
@ -110,9 +115,16 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
lqw.eq(StringUtils.isNotBlank(bo.getDocumentNumber()), XzdProjectRiskAssessment::getDocumentNumber, bo.getDocumentNumber());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdProjectRiskAssessment::getProjectName, bo.getProjectName());
lqw.eq(StringUtils.isNotBlank(bo.getProjectBusinessOwner()), XzdProjectRiskAssessment::getProjectBusinessOwner, bo.getProjectBusinessOwner());
lqw.eq(StringUtils.isNotBlank(bo.getCreateBy().toString()), XzdProjectRiskAssessment::getCreateBy, bo.getCreateBy());
lqw.ge(StringUtils.isNotBlank(bo.getStartTime().toString()), XzdProjectRiskAssessment::getCreateTime, bo.getStartTime());
lqw.le(StringUtils.isNotBlank(bo.getEndTime().toString()), XzdProjectRiskAssessment::getCreateTime, bo.getEndTime());
if (bo.getCreateBy() != null) {
lqw.eq(XzdProjectRiskAssessment::getCreateBy, bo.getCreateBy());
}
if (bo.getCreateBy() != null) {
lqw.ge( XzdProjectRiskAssessment::getCreateTime, bo.getStartTime());
}
if (bo.getEndTime() != null) {
lqw.le( XzdProjectRiskAssessment::getCreateTime, bo.getEndTime());
}
return lqw;
}
@ -129,7 +141,7 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
validEntityBeforeSave(add);
if(add != null){
String s = areaUtil.generateDateBasedNumber();
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdProjectRiskAssessment>().gt(XzdProjectRiskAssessment::getCreateTime, LocalDateTime.now().minusDays(1)));
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdProjectRiskAssessment>().gt(XzdProjectRiskAssessment::getCreateTime, LocalDate.now()));
add.setDocumentNumber(s+"-"+(l+1));
}
boolean flag = baseMapper.insert(add) > 0;
@ -169,7 +181,17 @@ public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectR
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
for (Long id : ids) {
XzdProjectRiskAssessmentVo xzdProjectRiskAssessmentVo = baseMapper.selectVoById(id);
// 删除附件
if (!StringUtils.isEmpty(xzdProjectRiskAssessmentVo.getFileId())){
List<Long> collect = Arrays.stream(xzdProjectRiskAssessmentVo.getFileId().split(",")).map(item -> {
return Long.parseLong(item);
}).collect(Collectors.toList());
sysOssService.deleteWithValidByIds(collect, false);
};
}
}
return baseMapper.deleteByIds(ids) > 0;
}

View File

@ -0,0 +1,105 @@
package org.dromara.xzd.biddingManagement.biddingDocument.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.biddingManagement.biddingDocument.domain.vo.XzdBiddingFileEstimateVo;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.bo.XzdBiddingFileEstimateBo;
import org.dromara.xzd.biddingManagement.biddingDocument.service.IXzdBiddingFileEstimateService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 招标文件审估
*
* @author Lion Li
* @date 2025-10-10
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/biddingFileEstimate")
public class XzdBiddingFileEstimateController extends BaseController {
private final IXzdBiddingFileEstimateService xzdBiddingFileEstimateService;
/**
* 查询招标文件审估列表
*/
@SaCheckPermission("biddingDocument:biddingFileEstimate:list")
@GetMapping("/list")
public TableDataInfo<XzdBiddingFileEstimateVo> list(XzdBiddingFileEstimateBo bo, PageQuery pageQuery) {
return xzdBiddingFileEstimateService.queryPageList(bo, pageQuery);
}
/**
* 导出招标文件审估列表
*/
@SaCheckPermission("biddingDocument:biddingFileEstimate:export")
@Log(title = "招标文件审估", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdBiddingFileEstimateBo bo, HttpServletResponse response) {
List<XzdBiddingFileEstimateVo> list = xzdBiddingFileEstimateService.queryList(bo);
ExcelUtil.exportExcel(list, "招标文件审估", XzdBiddingFileEstimateVo.class, response);
}
/**
* 获取招标文件审估详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:biddingFileEstimate:query")
@GetMapping("/{id}")
public R<XzdBiddingFileEstimateVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdBiddingFileEstimateService.queryById(id));
}
/**
* 新增招标文件审估
*/
@SaCheckPermission("biddingDocument:biddingFileEstimate:add")
@Log(title = "招标文件审估", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdBiddingFileEstimateBo bo) {
return toAjax(xzdBiddingFileEstimateService.insertByBo(bo));
}
/**
* 修改招标文件审估
*/
@SaCheckPermission("biddingDocument:biddingFileEstimate:edit")
@Log(title = "招标文件审估", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdBiddingFileEstimateBo bo) {
return toAjax(xzdBiddingFileEstimateService.updateByBo(bo));
}
/**
* 删除招标文件审估
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:biddingFileEstimate:remove")
@Log(title = "招标文件审估", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdBiddingFileEstimateService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,128 @@
package org.dromara.xzd.biddingManagement.biddingDocument.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 com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 招标文件审估对象 xzd_bidding_file_estimate
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bidding_file_estimate")
public class XzdBiddingFileEstimate extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 单据编码
*/
private String documentCode;
/**
* 单据日期
*/
private Date documentDate;
/**
* 项目名称
*/
private String projectName;
/**
* 标题
*/
private String title;
/**
* 工程地点
*/
private String projectLocation;
/**
* 招标单位
*/
private String biddingUnit;
/**
* 招标方式
*/
private String biddingMethod;
/**
* 承包方式
*/
private String contractingMethod;
/**
* 开标时间
*/
private Date startDate;
/**
* 工程概况
*/
private String projectOverview;
/**
* 投标时间
*/
private Date biddingDate;
/**
* 投标地址
*/
private String biddingAddress;
/**
* 招标控制价
*/
private Long biddingControlPrice;
/**
* 评标方法
*/
private String evaluationMethod;
/**
* 招标范围
*/
private String biddingScope;
/**
* 项目经理要求
*/
private String projectManagerRequirement;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,127 @@
package org.dromara.xzd.biddingManagement.biddingDocument.domain.bo;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
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;
/**
* 招标文件审估业务对象 xzd_bidding_file_estimate
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBiddingFileEstimate.class, reverseConvertGenerate = false)
public class XzdBiddingFileEstimateBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 单据编码
*/
@NotBlank(message = "单据编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String documentCode;
/**
* 单据日期
*/
private Date documentDate;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 标题
*/
private String title;
/**
* 工程地点
*/
private String projectLocation;
/**
* 招标单位
*/
private String biddingUnit;
/**
* 招标方式
*/
private String biddingMethod;
/**
* 承包方式
*/
private String contractingMethod;
/**
* 开标时间
*/
private Date startDate;
/**
* 工程概况
*/
private String projectOverview;
/**
* 投标时间
*/
private Date biddingDate;
/**
* 投标地址
*/
private String biddingAddress;
/**
* 招标控制价
*/
private Long biddingControlPrice;
/**
* 评标方法
*/
private String evaluationMethod;
/**
* 招标范围
*/
private String biddingScope;
/**
* 项目经理要求
*/
private String projectManagerRequirement;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,173 @@
package org.dromara.xzd.biddingManagement.biddingDocument.domain.vo;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
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;
/**
* 招标文件审估视图对象 xzd_bidding_file_estimate
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBiddingFileEstimate.class)
public class XzdBiddingFileEstimateVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 单据编码
*/
@ExcelProperty(value = "单据编码")
private String documentCode;
/**
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private Date documentDate;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 标题
*/
@ExcelProperty(value = "标题")
private String title;
/**
* 工程地点
*/
@ExcelProperty(value = "工程地点")
private String projectLocation;
/**
* 招标单位
*/
@ExcelProperty(value = "招标单位")
private String biddingUnit;
/**
* 招标方式
*/
@ExcelProperty(value = "招标方式", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "xzd_bidding_method")
private String biddingMethod;
/**
* 承包方式
*/
@ExcelProperty(value = "承包方式", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "xzd_contracting_method")
private String contractingMethod;
/**
* 开标时间
*/
@ExcelProperty(value = "开标时间")
private Date startDate;
/**
* 工程概况
*/
@ExcelProperty(value = "工程概况")
private String projectOverview;
/**
* 投标时间
*/
@ExcelProperty(value = "投标时间")
private Date biddingDate;
/**
* 投标地址
*/
@ExcelProperty(value = "投标地址")
private String biddingAddress;
/**
* 招标控制价
*/
@ExcelProperty(value = "招标控制价")
private Long biddingControlPrice;
/**
* 评标方法
*/
@ExcelProperty(value = "评标方法", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "xzd_evaluation_method")
private String evaluationMethod;
/**
* 招标范围
*/
@ExcelProperty(value = "招标范围")
private String biddingScope;
/**
* 项目经理要求
*/
@ExcelProperty(value = "项目经理要求")
private String projectManagerRequirement;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
private Long createBy;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createName;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.biddingDocument.mapper;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.vo.XzdBiddingFileEstimateVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 招标文件审估Mapper接口
*
* @author Lion Li
* @date 2025-10-10
*/
public interface XzdBiddingFileEstimateMapper extends BaseMapperPlus<XzdBiddingFileEstimate, XzdBiddingFileEstimateVo> {
}

View File

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

View File

@ -0,0 +1,180 @@
package org.dromara.xzd.biddingManagement.biddingDocument.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.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.stereotype.Service;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.bo.XzdBiddingFileEstimateBo;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.vo.XzdBiddingFileEstimateVo;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
import org.dromara.xzd.biddingManagement.biddingDocument.mapper.XzdBiddingFileEstimateMapper;
import org.dromara.xzd.biddingManagement.biddingDocument.service.IXzdBiddingFileEstimateService;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 招标文件审估Service业务层处理
*
* @author Lion Li
* @date 2025-10-10
*/
@RequiredArgsConstructor
@Service
public class XzdBiddingFileEstimateServiceImpl extends ServiceImpl<XzdBiddingFileEstimateMapper, XzdBiddingFileEstimate> implements IXzdBiddingFileEstimateService {
private final XzdBiddingFileEstimateMapper baseMapper;
private final SysOssServiceImpl sysOssService;
private final AreaUtil areaUtil;
/**
* 查询招标文件审估
*
* @param id 主键
* @return 招标文件审估
*/
@Override
public XzdBiddingFileEstimateVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询招标文件审估列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 招标文件审估分页列表
*/
@Override
public TableDataInfo<XzdBiddingFileEstimateVo> queryPageList(XzdBiddingFileEstimateBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBiddingFileEstimate> lqw = buildQueryWrapper(bo);
Page<XzdBiddingFileEstimateVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的招标文件审估列表
*
* @param bo 查询条件
* @return 招标文件审估列表
*/
@Override
public List<XzdBiddingFileEstimateVo> queryList(XzdBiddingFileEstimateBo bo) {
LambdaQueryWrapper<XzdBiddingFileEstimate> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBiddingFileEstimate> buildQueryWrapper(XzdBiddingFileEstimateBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBiddingFileEstimate> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBiddingFileEstimate::getId);
lqw.eq(StringUtils.isNotBlank(bo.getDocumentCode()), XzdBiddingFileEstimate::getDocumentCode, bo.getDocumentCode());
lqw.eq(bo.getDocumentDate() != null, XzdBiddingFileEstimate::getDocumentDate, bo.getDocumentDate());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdBiddingFileEstimate::getProjectName, bo.getProjectName());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdBiddingFileEstimate::getTitle, bo.getTitle());
lqw.eq(StringUtils.isNotBlank(bo.getProjectLocation()), XzdBiddingFileEstimate::getProjectLocation, bo.getProjectLocation());
lqw.eq(StringUtils.isNotBlank(bo.getBiddingUnit()), XzdBiddingFileEstimate::getBiddingUnit, bo.getBiddingUnit());
lqw.eq(StringUtils.isNotBlank(bo.getBiddingMethod()), XzdBiddingFileEstimate::getBiddingMethod, bo.getBiddingMethod());
lqw.eq(StringUtils.isNotBlank(bo.getContractingMethod()), XzdBiddingFileEstimate::getContractingMethod, bo.getContractingMethod());
lqw.eq(bo.getStartDate() != null, XzdBiddingFileEstimate::getStartDate, bo.getStartDate());
lqw.eq(StringUtils.isNotBlank(bo.getProjectOverview()), XzdBiddingFileEstimate::getProjectOverview, bo.getProjectOverview());
lqw.eq(bo.getBiddingDate() != null, XzdBiddingFileEstimate::getBiddingDate, bo.getBiddingDate());
lqw.eq(StringUtils.isNotBlank(bo.getBiddingAddress()), XzdBiddingFileEstimate::getBiddingAddress, bo.getBiddingAddress());
lqw.eq(bo.getBiddingControlPrice() != null, XzdBiddingFileEstimate::getBiddingControlPrice, bo.getBiddingControlPrice());
lqw.eq(StringUtils.isNotBlank(bo.getEvaluationMethod()), XzdBiddingFileEstimate::getEvaluationMethod, bo.getEvaluationMethod());
lqw.eq(StringUtils.isNotBlank(bo.getBiddingScope()), XzdBiddingFileEstimate::getBiddingScope, bo.getBiddingScope());
lqw.eq(StringUtils.isNotBlank(bo.getProjectManagerRequirement()), XzdBiddingFileEstimate::getProjectManagerRequirement, bo.getProjectManagerRequirement());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBiddingFileEstimate::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBiddingFileEstimate::getAuditStatus, bo.getAuditStatus());
return lqw;
}
/**
* 新增招标文件审估
*
* @param bo 招标文件审估
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBiddingFileEstimateBo bo) {
XzdBiddingFileEstimate add = MapstructUtils.convert(bo, XzdBiddingFileEstimate.class);
validEntityBeforeSave(add);
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBiddingFileEstimate>().gt(XzdBiddingFileEstimate::getCreateTime, LocalDate.now()));
String s = areaUtil.generateDateBasedNumber();
add.setDocumentCode(s+"-"+(l+1));
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改招标文件审估
*
* @param bo 招标文件审估
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBiddingFileEstimateBo bo) {
XzdBiddingFileEstimate update = MapstructUtils.convert(bo, XzdBiddingFileEstimate.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBiddingFileEstimate entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除招标文件审估信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
for (Long id : ids) {
XzdBiddingFileEstimateVo xzdBiddingFileEstimateVo = baseMapper.selectVoById(id);
// 删除附件
if (!StringUtils.isEmpty(xzdBiddingFileEstimateVo.getFileId())){
List<Long> collect = Arrays.stream(xzdBiddingFileEstimateVo.getFileId().split(",")).map(item -> {
return Long.parseLong(item);
}).collect(Collectors.toList());
sysOssService.deleteWithValidByIds(collect, false);
}
}
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,108 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdBiddingDocumentBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdBiddingDocumentBoBylist;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdBiddingDocumentVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdBiddingDocumentVoBylist;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdBiddingDocumentService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标文件
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/biddingDocument")
public class XzdBiddingDocumentController extends BaseController {
private final IXzdBiddingDocumentService xzdBiddingDocumentService;
/**
* 查询投标文件列表
*/
@SaCheckPermission("biddingDocument:biddingDocument:list")
@GetMapping("/list")
public TableDataInfo<XzdBiddingDocumentVo> list(XzdBiddingDocumentBo bo, PageQuery pageQuery) {
return xzdBiddingDocumentService.queryPageList(bo, pageQuery);
}
/**
* 导出投标文件列表
*/
@SaCheckPermission("biddingDocument:biddingDocument:export")
@Log(title = "投标文件", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdBiddingDocumentBo bo, HttpServletResponse response) {
List<XzdBiddingDocumentVo> list = xzdBiddingDocumentService.queryList(bo);
ExcelUtil.exportExcel(list, "投标文件", XzdBiddingDocumentVo.class, response);
}
/**
* 获取投标文件详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:biddingDocument:query")
@GetMapping("/{id}")
public R<XzdBiddingDocumentVoBylist> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdBiddingDocumentService.queryById(id));
}
/**
* 新增投标文件
*/
@SaCheckPermission("biddingDocument:biddingDocument:add")
@Log(title = "投标文件", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdBiddingDocumentBoBylist bo) {
return toAjax(xzdBiddingDocumentService.insertByBo(bo));
}
/**
* 修改投标文件
*/
@SaCheckPermission("biddingDocument:biddingDocument:edit")
@Log(title = "投标文件", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdBiddingDocumentBoBylist bo) {
return toAjax(xzdBiddingDocumentService.updateByBo(bo));
}
/**
* 删除投标文件
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:biddingDocument:remove")
@Log(title = "投标文件", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdBiddingDocumentService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjBusinessBidService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标文件-商务标
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/tbwjBusinessBid")
public class XzdTbwjBusinessBidController extends BaseController {
private final IXzdTbwjBusinessBidService xzdTbwjBusinessBidService;
/**
* 查询投标文件-商务标列表
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBid:list")
@GetMapping("/list")
public TableDataInfo<XzdTbwjBusinessBidVo> list(XzdTbwjBusinessBidBo bo, PageQuery pageQuery) {
return xzdTbwjBusinessBidService.queryPageList(bo, pageQuery);
}
/**
* 导出投标文件-商务标列表
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBid:export")
@Log(title = "投标文件-商务标", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdTbwjBusinessBidBo bo, HttpServletResponse response) {
List<XzdTbwjBusinessBidVo> list = xzdTbwjBusinessBidService.queryList(bo);
ExcelUtil.exportExcel(list, "投标文件-商务标", XzdTbwjBusinessBidVo.class, response);
}
/**
* 获取投标文件-商务标详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBid:query")
@GetMapping("/{id}")
public R<XzdTbwjBusinessBidVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdTbwjBusinessBidService.queryById(id));
}
/**
* 新增投标文件-商务标
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBid:add")
@Log(title = "投标文件-商务标", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdTbwjBusinessBidBo bo) {
return toAjax(xzdTbwjBusinessBidService.insertByBo(bo));
}
/**
* 修改投标文件-商务标
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBid:edit")
@Log(title = "投标文件-商务标", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdTbwjBusinessBidBo bo) {
return toAjax(xzdTbwjBusinessBidService.updateByBo(bo));
}
/**
* 删除投标文件-商务标
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBid:remove")
@Log(title = "投标文件-商务标", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdTbwjBusinessBidService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidRequirementsVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjBusinessBidRequirementsService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标文件-商务标要求
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/tbwjBusinessBidRequirements")
public class XzdTbwjBusinessBidRequirementsController extends BaseController {
private final IXzdTbwjBusinessBidRequirementsService xzdTbwjBusinessBidRequirementsService;
/**
* 查询投标文件-商务标要求列表
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBidRequirements:list")
@GetMapping("/list")
public TableDataInfo<XzdTbwjBusinessBidRequirementsVo> list(XzdTbwjBusinessBidRequirementsBo bo, PageQuery pageQuery) {
return xzdTbwjBusinessBidRequirementsService.queryPageList(bo, pageQuery);
}
/**
* 导出投标文件-商务标要求列表
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBidRequirements:export")
@Log(title = "投标文件-商务标要求", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdTbwjBusinessBidRequirementsBo bo, HttpServletResponse response) {
List<XzdTbwjBusinessBidRequirementsVo> list = xzdTbwjBusinessBidRequirementsService.queryList(bo);
ExcelUtil.exportExcel(list, "投标文件-商务标要求", XzdTbwjBusinessBidRequirementsVo.class, response);
}
/**
* 获取投标文件-商务标要求详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBidRequirements:query")
@GetMapping("/{id}")
public R<XzdTbwjBusinessBidRequirementsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdTbwjBusinessBidRequirementsService.queryById(id));
}
/**
* 新增投标文件-商务标要求
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBidRequirements:add")
@Log(title = "投标文件-商务标要求", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdTbwjBusinessBidRequirementsBo bo) {
return toAjax(xzdTbwjBusinessBidRequirementsService.insertByBo(bo));
}
/**
* 修改投标文件-商务标要求
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBidRequirements:edit")
@Log(title = "投标文件-商务标要求", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdTbwjBusinessBidRequirementsBo bo) {
return toAjax(xzdTbwjBusinessBidRequirementsService.updateByBo(bo));
}
/**
* 删除投标文件-商务标要求
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:tbwjBusinessBidRequirements:remove")
@Log(title = "投标文件-商务标要求", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdTbwjBusinessBidRequirementsService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjQualificationRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjQualificationRequirementsVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjQualificationRequirementsService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标文件-资审要求
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/tbwjQualificationRequirements")
public class XzdTbwjQualificationRequirementsController extends BaseController {
private final IXzdTbwjQualificationRequirementsService xzdTbwjQualificationRequirementsService;
/**
* 查询投标文件-资审要求列表
*/
@SaCheckPermission("biddingDocument:tbwjQualificationRequirements:list")
@GetMapping("/list")
public TableDataInfo<XzdTbwjQualificationRequirementsVo> list(XzdTbwjQualificationRequirementsBo bo, PageQuery pageQuery) {
return xzdTbwjQualificationRequirementsService.queryPageList(bo, pageQuery);
}
/**
* 导出投标文件-资审要求列表
*/
@SaCheckPermission("biddingDocument:tbwjQualificationRequirements:export")
@Log(title = "投标文件-资审要求", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdTbwjQualificationRequirementsBo bo, HttpServletResponse response) {
List<XzdTbwjQualificationRequirementsVo> list = xzdTbwjQualificationRequirementsService.queryList(bo);
ExcelUtil.exportExcel(list, "投标文件-资审要求", XzdTbwjQualificationRequirementsVo.class, response);
}
/**
* 获取投标文件-资审要求详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:tbwjQualificationRequirements:query")
@GetMapping("/{id}")
public R<XzdTbwjQualificationRequirementsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdTbwjQualificationRequirementsService.queryById(id));
}
/**
* 新增投标文件-资审要求
*/
@SaCheckPermission("biddingDocument:tbwjQualificationRequirements:add")
@Log(title = "投标文件-资审要求", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdTbwjQualificationRequirementsBo bo) {
return toAjax(xzdTbwjQualificationRequirementsService.insertByBo(bo));
}
/**
* 修改投标文件-资审要求
*/
@SaCheckPermission("biddingDocument:tbwjQualificationRequirements:edit")
@Log(title = "投标文件-资审要求", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdTbwjQualificationRequirementsBo bo) {
return toAjax(xzdTbwjQualificationRequirementsService.updateByBo(bo));
}
/**
* 删除投标文件-资审要求
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:tbwjQualificationRequirements:remove")
@Log(title = "投标文件-资审要求", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdTbwjQualificationRequirementsService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjTechnicalBidService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标文件-技术标
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/tbwjTechnicalBid")
public class XzdTbwjTechnicalBidController extends BaseController {
private final IXzdTbwjTechnicalBidService xzdTbwjTechnicalBidService;
/**
* 查询投标文件-技术标列表
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBid:list")
@GetMapping("/list")
public TableDataInfo<XzdTbwjTechnicalBidVo> list(XzdTbwjTechnicalBidBo bo, PageQuery pageQuery) {
return xzdTbwjTechnicalBidService.queryPageList(bo, pageQuery);
}
/**
* 导出投标文件-技术标列表
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBid:export")
@Log(title = "投标文件-技术标", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdTbwjTechnicalBidBo bo, HttpServletResponse response) {
List<XzdTbwjTechnicalBidVo> list = xzdTbwjTechnicalBidService.queryList(bo);
ExcelUtil.exportExcel(list, "投标文件-技术标", XzdTbwjTechnicalBidVo.class, response);
}
/**
* 获取投标文件-技术标详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBid:query")
@GetMapping("/{id}")
public R<XzdTbwjTechnicalBidVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdTbwjTechnicalBidService.queryById(id));
}
/**
* 新增投标文件-技术标
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBid:add")
@Log(title = "投标文件-技术标", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdTbwjTechnicalBidBo bo) {
return toAjax(xzdTbwjTechnicalBidService.insertByBo(bo));
}
/**
* 修改投标文件-技术标
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBid:edit")
@Log(title = "投标文件-技术标", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdTbwjTechnicalBidBo bo) {
return toAjax(xzdTbwjTechnicalBidService.updateByBo(bo));
}
/**
* 删除投标文件-技术标
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBid:remove")
@Log(title = "投标文件-技术标", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdTbwjTechnicalBidService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.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.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidRequirementsVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjTechnicalBidRequirementsService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标文件-技术标要求
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingDocument/tbwjTechnicalBidRequirements")
public class XzdTbwjTechnicalBidRequirementsController extends BaseController {
private final IXzdTbwjTechnicalBidRequirementsService xzdTbwjTechnicalBidRequirementsService;
/**
* 查询投标文件-技术标要求列表
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBidRequirements:list")
@GetMapping("/list")
public TableDataInfo<XzdTbwjTechnicalBidRequirementsVo> list(XzdTbwjTechnicalBidRequirementsBo bo, PageQuery pageQuery) {
return xzdTbwjTechnicalBidRequirementsService.queryPageList(bo, pageQuery);
}
/**
* 导出投标文件-技术标要求列表
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBidRequirements:export")
@Log(title = "投标文件-技术标要求", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdTbwjTechnicalBidRequirementsBo bo, HttpServletResponse response) {
List<XzdTbwjTechnicalBidRequirementsVo> list = xzdTbwjTechnicalBidRequirementsService.queryList(bo);
ExcelUtil.exportExcel(list, "投标文件-技术标要求", XzdTbwjTechnicalBidRequirementsVo.class, response);
}
/**
* 获取投标文件-技术标要求详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBidRequirements:query")
@GetMapping("/{id}")
public R<XzdTbwjTechnicalBidRequirementsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdTbwjTechnicalBidRequirementsService.queryById(id));
}
/**
* 新增投标文件-技术标要求
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBidRequirements:add")
@Log(title = "投标文件-技术标要求", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdTbwjTechnicalBidRequirementsBo bo) {
return toAjax(xzdTbwjTechnicalBidRequirementsService.insertByBo(bo));
}
/**
* 修改投标文件-技术标要求
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBidRequirements:edit")
@Log(title = "投标文件-技术标要求", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdTbwjTechnicalBidRequirementsBo bo) {
return toAjax(xzdTbwjTechnicalBidRequirementsService.updateByBo(bo));
}
/**
* 删除投标文件-技术标要求
*
* @param ids 主键串
*/
@SaCheckPermission("biddingDocument:tbwjTechnicalBidRequirements:remove")
@Log(title = "投标文件-技术标要求", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdTbwjTechnicalBidRequirementsService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,98 @@
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.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 投标文件对象 xzd_bidding_document
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bidding_document")
public class XzdBiddingDocument extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 单据编号
*/
private String documentNumber;
/**
* 标题
*/
private String title;
/**
* 投标时间
*/
private Date biddingTime;
/**
* 项目名称
*/
private String projectName;
/**
* 项目类型ID
*/
private Long projectType;
/**
* 投标单位
*/
private String bidUnit;
/**
* 单据日期
*/
private Date documentDate;
/**
* 项目经理
*/
private String projectManager;
/**
* 工程概况
*/
private String projectOverview;
/**
* 组织
*/
private String organization;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,85 @@
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;
/**
* 投标文件-商务标对象 xzd_tbwj_business_bid
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@TableName("xzd_tbwj_business_bid")
public class XzdTbwjBusinessBid {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 标底价
*/
private Long bidPrice;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 折扣率
*/
private Long discountRate;
/**
* 最高限价
*/
private Long ceilingPrice;
/**
* 成本价
*/
private Long costPrice;
/**
* 投标报价
*/
private Long totalBidPrice;
/**
* 毛利率
*/
private Long feeRate;
/**
* 投标税率
*/
private Long bidTaxRate;
/**
* 备用金
*/
private Long pettyCash;
/**
* 编制部门
*/
private String compilationDept;
/**
* 报价说明
*/
private String estimatedProfit;
}

View File

@ -0,0 +1,58 @@
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.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 投标文件-商务标要求对象 xzd_tbwj_business_bid_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_tbwj_business_bid_requirements")
public class XzdTbwjBusinessBidRequirements extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 商务标要求
*/
private String businessBidRequirement;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
private Date provideTime;
/**
* 备注
*/
private String remark;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,58 @@
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.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 投标文件-资审要求对象 xzd_tbwj_qualification_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_tbwj_qualification_requirements")
public class XzdTbwjQualificationRequirements extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 资审要求
*/
private String qualificationRequirement;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
private Date provideTime;
/**
* 备注
*/
private String remark;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,55 @@
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;
/**
* 投标文件-技术标对象 xzd_tbwj_technical_bid
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@TableName("xzd_tbwj_technical_bid")
public class XzdTbwjTechnicalBid {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 质量要求
*/
private String qualityRequirements;
/**
* 技术要求
*/
private String technicalRequirements;
/**
* 编制部门
*/
private String compilationDept;
/**
* 编制说明
*/
private String compilationExplain;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,58 @@
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.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 投标文件-技术标要求对象 xzd_tbwj_technical_bid_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_tbwj_technical_bid_requirements")
public class XzdTbwjTechnicalBidRequirements extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 技术标要求
*/
private String technicalBidRequirement;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
private Date provideTime;
/**
* 备注
*/
private String remark;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,99 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
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 com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
/**
* 投标文件业务对象 xzd_bidding_document
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBiddingDocument.class, reverseConvertGenerate = false)
public class XzdBiddingDocumentBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 单据编号
*/
private String documentNumber;
/**
* 标题
*/
private String title;
/**
* 投标时间
*/
@NotNull(message = "投标时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date biddingTime;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 项目类型ID
*/
private Long projectType;
/**
* 投标单位
*/
private String bidUnit;
/**
* 单据日期
*/
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date documentDate;
/**
* 项目经理
*/
private String projectManager;
/**
* 工程概况
*/
private String projectOverview;
/**
* 组织
*/
private String organization;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,42 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
import lombok.Data;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.*;
@Data
public class XzdBiddingDocumentBoBylist {
// 投标文件
private XzdBiddingDocumentBo xzdBiddingDocument;
// 投标文件-技术标
private XzdTbwjTechnicalBidBo xzdTbwjTechnicalBidVo;
// 投标文件-商务标
private XzdTbwjBusinessBidBo xzdTbwjBusinessBidVo;
// // 投标文件-商务标要求
// private XzdTbwjBusinessBidRequirementsBo xzdTbwjBusinessBidRequirementsVo;
//
//
//
//
//// 投标文件-资审要求
// private XzdTbwjQualificationRequirementsBo xzdTbwjQualificationRequirementsVo;
//
//// 投标文件-技术标要求
// private XzdTbwjTechnicalBidRequirementsBo xzdTbwjTechnicalBidRequirementsVo;
//
}

View File

@ -0,0 +1,87 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import java.math.BigDecimal;
/**
* 投标文件-商务标业务对象 xzd_tbwj_business_bid
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdTbwjBusinessBid.class, reverseConvertGenerate = false)
public class XzdTbwjBusinessBidBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 标底价
*/
private Long bidPrice;
/**
* 折扣率
*/
private BigDecimal discountRate;
/**
* 最高限价
*/
private Long ceilingPrice;
/**
* 成本价
*/
private Long costPrice;
/**
* 投标报价
*/
@NotNull(message = "投标报价不能为空", groups = { AddGroup.class, EditGroup.class })
private Long totalBidPrice;
/**
* 毛利率
*/
private BigDecimal feeRate;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 投标税率
*/
private BigDecimal bidTaxRate;
/**
* 备用金
*/
private Long pettyCash;
/**
* 编制部门
*/
private String compilationDept;
/**
* 报价说明
*/
private String estimatedProfit;
}

View File

@ -0,0 +1,59 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
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 com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBidRequirements;
/**
* 投标文件-商务标要求业务对象 xzd_tbwj_business_bid_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdTbwjBusinessBidRequirements.class, reverseConvertGenerate = false)
public class XzdTbwjBusinessBidRequirementsBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 商务标要求
*/
@NotBlank(message = "商务标要求不能为空", groups = { AddGroup.class, EditGroup.class })
private String businessBidRequirement;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
@NotNull(message = "提供时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date provideTime;
/**
* 备注
*/
private String remark;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,59 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
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 com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjQualificationRequirements;
/**
* 投标文件-资审要求业务对象 xzd_tbwj_qualification_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdTbwjQualificationRequirements.class, reverseConvertGenerate = false)
public class XzdTbwjQualificationRequirementsBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 资审要求
*/
@NotBlank(message = "资审要求不能为空", groups = { AddGroup.class, EditGroup.class })
private String qualificationRequirement;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
@NotNull(message = "提供时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date provideTime;
/**
* 备注
*/
private String remark;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,54 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
/**
* 投标文件-技术标业务对象 xzd_tbwj_technical_bid
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdTbwjTechnicalBid.class, reverseConvertGenerate = false)
public class XzdTbwjTechnicalBidBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 质量要求
*/
private String qualityRequirements;
/**
* 技术要求
*/
private String technicalRequirements;
/**
* 编制部门
*/
private String compilationDept;
/**
* 编制说明
*/
private String compilationExplain;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,59 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo;
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 com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBidRequirements;
/**
* 投标文件-技术标要求业务对象 xzd_tbwj_technical_bid_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdTbwjTechnicalBidRequirements.class, reverseConvertGenerate = false)
public class XzdTbwjTechnicalBidRequirementsBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 技术标要求
*/
@NotBlank(message = "技术标要求不能为空", groups = { AddGroup.class, EditGroup.class })
private String technicalBidRequirement;
/**
* 编制要点
*/
private String compilationPoints;
/**
* 提供时间
*/
@NotNull(message = "提供时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date provideTime;
/**
* 备注
*/
private String remark;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
}

View File

@ -0,0 +1,132 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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 org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标文件视图对象 xzd_bidding_document
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBiddingDocument.class)
public class XzdBiddingDocumentVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 单据编号
*/
@ExcelProperty(value = "单据编号")
private String documentNumber;
/**
* 标题
*/
@ExcelProperty(value = "标题")
private String title;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 投标时间
*/
@ExcelProperty(value = "投标时间")
private Date biddingTime;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 项目类型ID
*/
@ExcelProperty(value = "项目类型ID")
private Long projectType;
/**
* 投标单位
*/
@ExcelProperty(value = "投标单位")
private String bidUnit;
/**
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private Date documentDate;
/**
* 项目经理
*/
@ExcelProperty(value = "项目经理")
private String projectManager;
/**
* 项目经理名称
*/
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "projectManager")
private String projectManagerName;
/**
* 工程概况
*/
@ExcelProperty(value = "工程概况")
private String projectOverview;
/**
* 组织
*/
@ExcelProperty(value = "组织")
private String organization;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
}

View File

@ -0,0 +1,39 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
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;
@Data
public class XzdBiddingDocumentVoBylist {
// 投标文件
private XzdBiddingDocumentVo xzdBiddingDocument;
// 投标文件-技术标
private XzdTbwjTechnicalBid xzdTbwjTechnicalBidVo;
// 投标文件-商务标
private XzdTbwjBusinessBid xzdTbwjBusinessBidVo;
//// 投标文件-商务标要求
// private XzdTbwjBusinessBidRequirementsVo xzdTbwjBusinessBidRequirementsVo;
//
//
//// 投标文件-资审要求
// private XzdTbwjQualificationRequirementsVo xzdTbwjQualificationRequirementsVo;
//
//// 投标文件-技术标要求
// private XzdTbwjTechnicalBidRequirementsVo xzdTbwjTechnicalBidRequirementsVo;
}

View File

@ -0,0 +1,69 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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 org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBidRequirements;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标文件-商务标要求视图对象 xzd_tbwj_business_bid_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdTbwjBusinessBidRequirements.class)
public class XzdTbwjBusinessBidRequirementsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 商务标要求
*/
@ExcelProperty(value = "商务标要求")
private String businessBidRequirement;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 编制要点
*/
@ExcelProperty(value = "编制要点")
private String compilationPoints;
/**
* 提供时间
*/
@ExcelProperty(value = "提供时间")
private Date provideTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,103 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
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 org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标文件-商务标视图对象 xzd_tbwj_business_bid
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdTbwjBusinessBid.class)
public class XzdTbwjBusinessBidVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 标底价
*/
@ExcelProperty(value = "标底价")
private Long bidPrice;
/**
* 折扣率
*/
@ExcelProperty(value = "折扣率")
private Long discountRate;
/**
* 最高限价
*/
@ExcelProperty(value = "最高限价")
private Long ceilingPrice;
/**
* 成本价
*/
@ExcelProperty(value = "成本价")
private Long costPrice;
/**
* 投标报价
*/
@ExcelProperty(value = "投标报价")
private Long totalBidPrice;
/**
* 毛利率
*/
@ExcelProperty(value = "毛利率")
private Long feeRate;
/**
* 投标税率
*/
@ExcelProperty(value = "投标税率")
private Long bidTaxRate;
/**
* 备用金
*/
@ExcelProperty(value = "备用金")
private Long pettyCash;
/**
* 编制部门
*/
@ExcelProperty(value = "编制部门")
private String compilationDept;
/**
* 报价说明
*/
@ExcelProperty(value = "报价说明")
private String estimatedProfit;
}

View File

@ -0,0 +1,69 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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 org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjQualificationRequirements;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标文件-资审要求视图对象 xzd_tbwj_qualification_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdTbwjQualificationRequirements.class)
public class XzdTbwjQualificationRequirementsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 资审要求
*/
@ExcelProperty(value = "资审要求")
private String qualificationRequirement;
/**
* 编制要点
*/
@ExcelProperty(value = "编制要点")
private String compilationPoints;
/**
* 提供时间
*/
@ExcelProperty(value = "提供时间")
private Date provideTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,69 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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 org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBidRequirements;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标文件-技术标要求视图对象 xzd_tbwj_technical_bid_requirements
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdTbwjTechnicalBidRequirements.class)
public class XzdTbwjTechnicalBidRequirementsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 技术标要求
*/
@ExcelProperty(value = "技术标要求")
private String technicalBidRequirement;
/**
* 编制要点
*/
@ExcelProperty(value = "编制要点")
private String compilationPoints;
/**
* 提供时间
*/
@ExcelProperty(value = "提供时间")
private Date provideTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,67 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo;
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 org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标文件-技术标视图对象 xzd_tbwj_technical_bid
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdTbwjTechnicalBid.class)
public class XzdTbwjTechnicalBidVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 质量要求
*/
@ExcelProperty(value = "质量要求")
private String qualityRequirements;
/**
* 技术要求
*/
@ExcelProperty(value = "技术要求")
private String technicalRequirements;
/**
* 编制部门
*/
@ExcelProperty(value = "编制部门")
private String compilationDept;
/**
* 投标文件ID
*/
private Long biddingDocumentId;
/**
* 编制说明
*/
@ExcelProperty(value = "编制说明")
private String compilationExplain;
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdBiddingDocumentVo;
/**
* 投标文件Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdBiddingDocumentMapper extends BaseMapperPlus<XzdBiddingDocument, XzdBiddingDocumentVo> {
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidVo;
/**
* 投标文件-商务标Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdTbwjBusinessBidMapper extends BaseMapperPlus<XzdTbwjBusinessBid, XzdTbwjBusinessBidVo> {
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBidRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidRequirementsVo;
/**
* 投标文件-商务标要求Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdTbwjBusinessBidRequirementsMapper extends BaseMapperPlus<XzdTbwjBusinessBidRequirements, XzdTbwjBusinessBidRequirementsVo> {
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjQualificationRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjQualificationRequirementsVo;
/**
* 投标文件-资审要求Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdTbwjQualificationRequirementsMapper extends BaseMapperPlus<XzdTbwjQualificationRequirements, XzdTbwjQualificationRequirementsVo> {
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidVo;
/**
* 投标文件-技术标Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdTbwjTechnicalBidMapper extends BaseMapperPlus<XzdTbwjTechnicalBid, XzdTbwjTechnicalBidVo> {
}

View File

@ -0,0 +1,17 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBidRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidRequirementsVo;
/**
* 投标文件-技术标要求Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdTbwjTechnicalBidRequirementsMapper extends BaseMapperPlus<XzdTbwjTechnicalBidRequirements, XzdTbwjTechnicalBidRequirementsVo>, BaseMapper<XzdTbwjTechnicalBidRequirements> {
}

View File

@ -0,0 +1,74 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
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.vo.XzdBiddingDocumentVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdBiddingDocumentVoBylist;
import java.util.Collection;
import java.util.List;
/**
* 投标文件Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdBiddingDocumentService extends IService<XzdBiddingDocument>{
/**
* 查询投标文件
*
* @param id 主键
* @return 投标文件
*/
XzdBiddingDocumentVoBylist queryById(Long id);
/**
* 分页查询投标文件列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件分页列表
*/
TableDataInfo<XzdBiddingDocumentVo> queryPageList(XzdBiddingDocumentBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件列表
*
* @param bo 查询条件
* @return 投标文件列表
*/
List<XzdBiddingDocumentVo> queryList(XzdBiddingDocumentBo bo);
/**
* 新增投标文件
*
* @param bo 投标文件
* @return 是否新增成功
*/
Boolean insertByBo(XzdBiddingDocumentBoBylist bo);
/**
* 修改投标文件
*
* @param bo 投标文件
* @return 是否修改成功
*/
Boolean updateByBo(XzdBiddingDocumentBoBylist bo);
/**
* 校验并批量删除投标文件信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBidRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidRequirementsVo;
import java.util.Collection;
import java.util.List;
/**
* 投标文件-商务标要求Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdTbwjBusinessBidRequirementsService extends IService<XzdTbwjBusinessBidRequirements>{
/**
* 查询投标文件-商务标要求
*
* @param id 主键
* @return 投标文件-商务标要求
*/
XzdTbwjBusinessBidRequirementsVo queryById(Long id);
/**
* 分页查询投标文件-商务标要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-商务标要求分页列表
*/
TableDataInfo<XzdTbwjBusinessBidRequirementsVo> queryPageList(XzdTbwjBusinessBidRequirementsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件-商务标要求列表
*
* @param bo 查询条件
* @return 投标文件-商务标要求列表
*/
List<XzdTbwjBusinessBidRequirementsVo> queryList(XzdTbwjBusinessBidRequirementsBo bo);
/**
* 新增投标文件-商务标要求
*
* @param bo 投标文件-商务标要求
* @return 是否新增成功
*/
Boolean insertByBo(XzdTbwjBusinessBidRequirementsBo bo);
/**
* 修改投标文件-商务标要求
*
* @param bo 投标文件-商务标要求
* @return 是否修改成功
*/
Boolean updateByBo(XzdTbwjBusinessBidRequirementsBo bo);
/**
* 校验并批量删除投标文件-商务标要求信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidVo;
import java.util.Collection;
import java.util.List;
/**
* 投标文件-商务标Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdTbwjBusinessBidService extends IService<XzdTbwjBusinessBid>{
/**
* 查询投标文件-商务标
*
* @param id 主键
* @return 投标文件-商务标
*/
XzdTbwjBusinessBidVo queryById(Long id);
/**
* 分页查询投标文件-商务标列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-商务标分页列表
*/
TableDataInfo<XzdTbwjBusinessBidVo> queryPageList(XzdTbwjBusinessBidBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件-商务标列表
*
* @param bo 查询条件
* @return 投标文件-商务标列表
*/
List<XzdTbwjBusinessBidVo> queryList(XzdTbwjBusinessBidBo bo);
/**
* 新增投标文件-商务标
*
* @param bo 投标文件-商务标
* @return 是否新增成功
*/
Boolean insertByBo(XzdTbwjBusinessBidBo bo);
/**
* 修改投标文件-商务标
*
* @param bo 投标文件-商务标
* @return 是否修改成功
*/
Boolean updateByBo(XzdTbwjBusinessBidBo bo);
/**
* 校验并批量删除投标文件-商务标信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjQualificationRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjQualificationRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjQualificationRequirementsVo;
import java.util.Collection;
import java.util.List;
/**
* 投标文件-资审要求Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdTbwjQualificationRequirementsService extends IService<XzdTbwjQualificationRequirements>{
/**
* 查询投标文件-资审要求
*
* @param id 主键
* @return 投标文件-资审要求
*/
XzdTbwjQualificationRequirementsVo queryById(Long id);
/**
* 分页查询投标文件-资审要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-资审要求分页列表
*/
TableDataInfo<XzdTbwjQualificationRequirementsVo> queryPageList(XzdTbwjQualificationRequirementsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件-资审要求列表
*
* @param bo 查询条件
* @return 投标文件-资审要求列表
*/
List<XzdTbwjQualificationRequirementsVo> queryList(XzdTbwjQualificationRequirementsBo bo);
/**
* 新增投标文件-资审要求
*
* @param bo 投标文件-资审要求
* @return 是否新增成功
*/
Boolean insertByBo(XzdTbwjQualificationRequirementsBo bo);
/**
* 修改投标文件-资审要求
*
* @param bo 投标文件-资审要求
* @return 是否修改成功
*/
Boolean updateByBo(XzdTbwjQualificationRequirementsBo bo);
/**
* 校验并批量删除投标文件-资审要求信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBidRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidRequirementsVo;
import java.util.Collection;
import java.util.List;
/**
* 投标文件-技术标要求Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdTbwjTechnicalBidRequirementsService extends IService<XzdTbwjTechnicalBidRequirements>{
/**
* 查询投标文件-技术标要求
*
* @param id 主键
* @return 投标文件-技术标要求
*/
XzdTbwjTechnicalBidRequirementsVo queryById(Long id);
/**
* 分页查询投标文件-技术标要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-技术标要求分页列表
*/
TableDataInfo<XzdTbwjTechnicalBidRequirementsVo> queryPageList(XzdTbwjTechnicalBidRequirementsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件-技术标要求列表
*
* @param bo 查询条件
* @return 投标文件-技术标要求列表
*/
List<XzdTbwjTechnicalBidRequirementsVo> queryList(XzdTbwjTechnicalBidRequirementsBo bo);
/**
* 新增投标文件-技术标要求
*
* @param bo 投标文件-技术标要求
* @return 是否新增成功
*/
Boolean insertByBo(XzdTbwjTechnicalBidRequirementsBo bo);
/**
* 修改投标文件-技术标要求
*
* @param bo 投标文件-技术标要求
* @return 是否修改成功
*/
Boolean updateByBo(XzdTbwjTechnicalBidRequirementsBo bo);
/**
* 校验并批量删除投标文件-技术标要求信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.biddingDocumentList.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidVo;
import java.util.Collection;
import java.util.List;
/**
* 投标文件-技术标Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdTbwjTechnicalBidService extends IService<XzdTbwjTechnicalBid>{
/**
* 查询投标文件-技术标
*
* @param id 主键
* @return 投标文件-技术标
*/
XzdTbwjTechnicalBidVo queryById(Long id);
/**
* 分页查询投标文件-技术标列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-技术标分页列表
*/
TableDataInfo<XzdTbwjTechnicalBidVo> queryPageList(XzdTbwjTechnicalBidBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标文件-技术标列表
*
* @param bo 查询条件
* @return 投标文件-技术标列表
*/
List<XzdTbwjTechnicalBidVo> queryList(XzdTbwjTechnicalBidBo bo);
/**
* 新增投标文件-技术标
*
* @param bo 投标文件-技术标
* @return 是否新增成功
*/
Boolean insertByBo(XzdTbwjTechnicalBidBo bo);
/**
* 修改投标文件-技术标
*
* @param bo 投标文件-技术标
* @return 是否修改成功
*/
Boolean updateByBo(XzdTbwjTechnicalBidBo bo);
/**
* 校验并批量删除投标文件-技术标信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,218 @@
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.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.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.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.utilS.AreaUtil;
import org.locationtech.jts.edgegraph.HalfEdge;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdBiddingDocumentServiceImpl extends ServiceImpl<XzdBiddingDocumentMapper, XzdBiddingDocument> implements IXzdBiddingDocumentService {
private final XzdBiddingDocumentMapper baseMapper;
private final AreaUtil areaUtil;
// 投标文件-技术标
private final IXzdTbwjTechnicalBidService xzdTbwjTechnicalBidService;
// 投标文件-商务标
private final IXzdTbwjBusinessBidService xzdTbwjBusinessBidService;
/**
* 查询投标文件
*
* @param id 主键
* @return 投标文件
*/
@Override
public XzdBiddingDocumentVoBylist queryById(Long id){
XzdBiddingDocumentVoBylist bylist = new XzdBiddingDocumentVoBylist();
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));
bylist.setXzdBiddingDocument(xzdBiddingDocumentVo);
bylist.setXzdTbwjTechnicalBidVo(xzdTbwjTechnicalBid);
bylist.setXzdTbwjBusinessBidVo(xzdTbwjBusinessBid);
return bylist;
}
/**
* 分页查询投标文件列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件分页列表
*/
@Override
public TableDataInfo<XzdBiddingDocumentVo> queryPageList(XzdBiddingDocumentBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBiddingDocument> lqw = buildQueryWrapper(bo);
Page<XzdBiddingDocumentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件列表
*
* @param bo 查询条件
* @return 投标文件列表
*/
@Override
public List<XzdBiddingDocumentVo> queryList(XzdBiddingDocumentBo bo) {
LambdaQueryWrapper<XzdBiddingDocument> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBiddingDocument> buildQueryWrapper(XzdBiddingDocumentBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBiddingDocument> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBiddingDocument::getId);
lqw.eq(StringUtils.isNotBlank(bo.getDocumentNumber()), XzdBiddingDocument::getDocumentNumber, bo.getDocumentNumber());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdBiddingDocument::getTitle, bo.getTitle());
lqw.eq(bo.getBiddingTime() != null, XzdBiddingDocument::getBiddingTime, bo.getBiddingTime());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdBiddingDocument::getProjectName, bo.getProjectName());
lqw.eq(bo.getProjectType() != null, XzdBiddingDocument::getProjectType, bo.getProjectType());
lqw.eq(StringUtils.isNotBlank(bo.getBidUnit()), XzdBiddingDocument::getBidUnit, bo.getBidUnit());
lqw.eq(bo.getDocumentDate() != null, XzdBiddingDocument::getDocumentDate, bo.getDocumentDate());
lqw.eq(StringUtils.isNotBlank(bo.getProjectManager()), XzdBiddingDocument::getProjectManager, bo.getProjectManager());
lqw.eq(StringUtils.isNotBlank(bo.getProjectOverview()), XzdBiddingDocument::getProjectOverview, bo.getProjectOverview());
lqw.eq(StringUtils.isNotBlank(bo.getOrganization()), XzdBiddingDocument::getOrganization, bo.getOrganization());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBiddingDocument::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBiddingDocument::getAuditStatus, bo.getAuditStatus());
return lqw;
}
/**
* 新增投标文件
*
* @param bo 投标文件
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBiddingDocumentBoBylist bo) {
// 投标文件
XzdBiddingDocumentBo xzdBiddingDocumentbo = bo.getXzdBiddingDocument();
if (xzdBiddingDocumentbo == null) {
return false;
}
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBiddingDocument>().gt(XzdBiddingDocument::getCreateTime, LocalDate.now()));
String s = areaUtil.generateDateBasedNumber();
XzdBiddingDocument xzdBiddingDocument = new XzdBiddingDocument();
BeanUtils.copyProperties(xzdBiddingDocumentbo, xzdBiddingDocument);
// 单据编号
xzdBiddingDocument.setDocumentNumber(s+"-"+(l+1));
this.save(xzdBiddingDocument);
// 投标文件-技术标
XzdTbwjTechnicalBidBo xzdTbwjTechnicalBidVo = bo.getXzdTbwjTechnicalBidVo();
XzdTbwjTechnicalBid xzdTbwjTechnicalBid = new XzdTbwjTechnicalBid();
if (xzdTbwjTechnicalBidVo != null){
BeanUtils.copyProperties(xzdTbwjTechnicalBidVo, xzdTbwjTechnicalBid);
}
xzdTbwjTechnicalBid.setBiddingDocumentId(xzdBiddingDocument.getId());
xzdTbwjTechnicalBidService.save(xzdTbwjTechnicalBid);
// 投标文件-商务标
XzdTbwjBusinessBidBo xzdTbwjBusinessBidVo = bo.getXzdTbwjBusinessBidVo();
XzdTbwjBusinessBid xzdTbwjBusinessBid = new XzdTbwjBusinessBid();
BeanUtils.copyProperties(xzdTbwjBusinessBidVo, xzdTbwjBusinessBid);
xzdTbwjBusinessBid.setBiddingDocumentId(xzdBiddingDocument.getId());
xzdTbwjBusinessBidService.save(xzdTbwjBusinessBid);
return true;
}
/**
* 修改投标文件
*
* @param bo 投标文件
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBiddingDocumentBoBylist bo) {
XzdBiddingDocument update = MapstructUtils.convert(bo.getXzdBiddingDocument(), XzdBiddingDocument.class);
// 投标文件-技术标
XzdTbwjTechnicalBid xzdTbwjTechnicalBid = MapstructUtils.convert(bo.getXzdTbwjTechnicalBidVo(), XzdTbwjTechnicalBid.class);
xzdTbwjTechnicalBidService.updateById(xzdTbwjTechnicalBid);
// 投标文件-商务标
XzdTbwjBusinessBid xzdTbwjBusinessBid = MapstructUtils.convert(bo.getXzdTbwjBusinessBidVo(), XzdTbwjBusinessBid.class);
xzdTbwjBusinessBidService.updateById(xzdTbwjBusinessBid);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBiddingDocument entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除投标文件信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
ids.forEach(id->{
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("bidding_document_id", id);
// 删除技术标
xzdTbwjTechnicalBidService.removeByMap(hashMap);
// 删除商务标
xzdTbwjBusinessBidService.removeByMap(hashMap);
});
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,134 @@
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBidRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidRequirementsVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdTbwjBusinessBidRequirementsMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjBusinessBidRequirementsService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件-商务标要求Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdTbwjBusinessBidRequirementsServiceImpl extends ServiceImpl<XzdTbwjBusinessBidRequirementsMapper, XzdTbwjBusinessBidRequirements> implements IXzdTbwjBusinessBidRequirementsService {
private final XzdTbwjBusinessBidRequirementsMapper baseMapper;
/**
* 查询投标文件-商务标要求
*
* @param id 主键
* @return 投标文件-商务标要求
*/
@Override
public XzdTbwjBusinessBidRequirementsVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标文件-商务标要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-商务标要求分页列表
*/
@Override
public TableDataInfo<XzdTbwjBusinessBidRequirementsVo> queryPageList(XzdTbwjBusinessBidRequirementsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdTbwjBusinessBidRequirements> lqw = buildQueryWrapper(bo);
Page<XzdTbwjBusinessBidRequirementsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件-商务标要求列表
*
* @param bo 查询条件
* @return 投标文件-商务标要求列表
*/
@Override
public List<XzdTbwjBusinessBidRequirementsVo> queryList(XzdTbwjBusinessBidRequirementsBo bo) {
LambdaQueryWrapper<XzdTbwjBusinessBidRequirements> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdTbwjBusinessBidRequirements> buildQueryWrapper(XzdTbwjBusinessBidRequirementsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdTbwjBusinessBidRequirements> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdTbwjBusinessBidRequirements::getId);
lqw.eq(StringUtils.isNotBlank(bo.getBusinessBidRequirement()), XzdTbwjBusinessBidRequirements::getBusinessBidRequirement, bo.getBusinessBidRequirement());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationPoints()), XzdTbwjBusinessBidRequirements::getCompilationPoints, bo.getCompilationPoints());
lqw.eq(bo.getProvideTime() != null, XzdTbwjBusinessBidRequirements::getProvideTime, bo.getProvideTime());
return lqw;
}
/**
* 新增投标文件-商务标要求
*
* @param bo 投标文件-商务标要求
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdTbwjBusinessBidRequirementsBo bo) {
XzdTbwjBusinessBidRequirements add = MapstructUtils.convert(bo, XzdTbwjBusinessBidRequirements.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标文件-商务标要求
*
* @param bo 投标文件-商务标要求
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdTbwjBusinessBidRequirementsBo bo) {
XzdTbwjBusinessBidRequirements update = MapstructUtils.convert(bo, XzdTbwjBusinessBidRequirements.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdTbwjBusinessBidRequirements 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

@ -0,0 +1,141 @@
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjBusinessBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjBusinessBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjBusinessBidVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdTbwjBusinessBidMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjBusinessBidService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件-商务标Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdTbwjBusinessBidServiceImpl extends ServiceImpl<XzdTbwjBusinessBidMapper, XzdTbwjBusinessBid> implements IXzdTbwjBusinessBidService {
private final XzdTbwjBusinessBidMapper baseMapper;
/**
* 查询投标文件-商务标
*
* @param id 主键
* @return 投标文件-商务标
*/
@Override
public XzdTbwjBusinessBidVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标文件-商务标列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-商务标分页列表
*/
@Override
public TableDataInfo<XzdTbwjBusinessBidVo> queryPageList(XzdTbwjBusinessBidBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdTbwjBusinessBid> lqw = buildQueryWrapper(bo);
Page<XzdTbwjBusinessBidVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件-商务标列表
*
* @param bo 查询条件
* @return 投标文件-商务标列表
*/
@Override
public List<XzdTbwjBusinessBidVo> queryList(XzdTbwjBusinessBidBo bo) {
LambdaQueryWrapper<XzdTbwjBusinessBid> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdTbwjBusinessBid> buildQueryWrapper(XzdTbwjBusinessBidBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdTbwjBusinessBid> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdTbwjBusinessBid::getId);
lqw.eq(bo.getBidPrice() != null, XzdTbwjBusinessBid::getBidPrice, bo.getBidPrice());
lqw.eq(bo.getDiscountRate() != null, XzdTbwjBusinessBid::getDiscountRate, bo.getDiscountRate());
lqw.eq(bo.getCeilingPrice() != null, XzdTbwjBusinessBid::getCeilingPrice, bo.getCeilingPrice());
lqw.eq(bo.getCostPrice() != null, XzdTbwjBusinessBid::getCostPrice, bo.getCostPrice());
lqw.eq(bo.getTotalBidPrice() != null, XzdTbwjBusinessBid::getTotalBidPrice, bo.getTotalBidPrice());
lqw.eq(bo.getFeeRate() != null, XzdTbwjBusinessBid::getFeeRate, bo.getFeeRate());
lqw.eq(bo.getBidTaxRate() != null, XzdTbwjBusinessBid::getBidTaxRate, bo.getBidTaxRate());
lqw.eq(bo.getPettyCash() != null, XzdTbwjBusinessBid::getPettyCash, bo.getPettyCash());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationDept()), XzdTbwjBusinessBid::getCompilationDept, bo.getCompilationDept());
lqw.eq(StringUtils.isNotBlank(bo.getEstimatedProfit()), XzdTbwjBusinessBid::getEstimatedProfit, bo.getEstimatedProfit());
return lqw;
}
/**
* 新增投标文件-商务标
*
* @param bo 投标文件-商务标
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdTbwjBusinessBidBo bo) {
XzdTbwjBusinessBid add = MapstructUtils.convert(bo, XzdTbwjBusinessBid.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标文件-商务标
*
* @param bo 投标文件-商务标
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdTbwjBusinessBidBo bo) {
XzdTbwjBusinessBid update = MapstructUtils.convert(bo, XzdTbwjBusinessBid.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdTbwjBusinessBid 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

@ -0,0 +1,134 @@
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjQualificationRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjQualificationRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjQualificationRequirementsVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdTbwjQualificationRequirementsMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjQualificationRequirementsService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件-资审要求Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdTbwjQualificationRequirementsServiceImpl extends ServiceImpl<XzdTbwjQualificationRequirementsMapper, XzdTbwjQualificationRequirements> implements IXzdTbwjQualificationRequirementsService {
private final XzdTbwjQualificationRequirementsMapper baseMapper;
/**
* 查询投标文件-资审要求
*
* @param id 主键
* @return 投标文件-资审要求
*/
@Override
public XzdTbwjQualificationRequirementsVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标文件-资审要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-资审要求分页列表
*/
@Override
public TableDataInfo<XzdTbwjQualificationRequirementsVo> queryPageList(XzdTbwjQualificationRequirementsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdTbwjQualificationRequirements> lqw = buildQueryWrapper(bo);
Page<XzdTbwjQualificationRequirementsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件-资审要求列表
*
* @param bo 查询条件
* @return 投标文件-资审要求列表
*/
@Override
public List<XzdTbwjQualificationRequirementsVo> queryList(XzdTbwjQualificationRequirementsBo bo) {
LambdaQueryWrapper<XzdTbwjQualificationRequirements> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdTbwjQualificationRequirements> buildQueryWrapper(XzdTbwjQualificationRequirementsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdTbwjQualificationRequirements> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdTbwjQualificationRequirements::getId);
lqw.eq(StringUtils.isNotBlank(bo.getQualificationRequirement()), XzdTbwjQualificationRequirements::getQualificationRequirement, bo.getQualificationRequirement());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationPoints()), XzdTbwjQualificationRequirements::getCompilationPoints, bo.getCompilationPoints());
lqw.eq(bo.getProvideTime() != null, XzdTbwjQualificationRequirements::getProvideTime, bo.getProvideTime());
return lqw;
}
/**
* 新增投标文件-资审要求
*
* @param bo 投标文件-资审要求
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdTbwjQualificationRequirementsBo bo) {
XzdTbwjQualificationRequirements add = MapstructUtils.convert(bo, XzdTbwjQualificationRequirements.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标文件-资审要求
*
* @param bo 投标文件-资审要求
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdTbwjQualificationRequirementsBo bo) {
XzdTbwjQualificationRequirements update = MapstructUtils.convert(bo, XzdTbwjQualificationRequirements.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdTbwjQualificationRequirements 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

@ -0,0 +1,134 @@
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBidRequirements;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidRequirementsBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidRequirementsVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdTbwjTechnicalBidRequirementsMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjTechnicalBidRequirementsService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件-技术标要求Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdTbwjTechnicalBidRequirementsServiceImpl extends ServiceImpl<XzdTbwjTechnicalBidRequirementsMapper, XzdTbwjTechnicalBidRequirements> implements IXzdTbwjTechnicalBidRequirementsService {
private final XzdTbwjTechnicalBidRequirementsMapper baseMapper;
/**
* 查询投标文件-技术标要求
*
* @param id 主键
* @return 投标文件-技术标要求
*/
@Override
public XzdTbwjTechnicalBidRequirementsVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标文件-技术标要求列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-技术标要求分页列表
*/
@Override
public TableDataInfo<XzdTbwjTechnicalBidRequirementsVo> queryPageList(XzdTbwjTechnicalBidRequirementsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdTbwjTechnicalBidRequirements> lqw = buildQueryWrapper(bo);
Page<XzdTbwjTechnicalBidRequirementsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件-技术标要求列表
*
* @param bo 查询条件
* @return 投标文件-技术标要求列表
*/
@Override
public List<XzdTbwjTechnicalBidRequirementsVo> queryList(XzdTbwjTechnicalBidRequirementsBo bo) {
LambdaQueryWrapper<XzdTbwjTechnicalBidRequirements> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdTbwjTechnicalBidRequirements> buildQueryWrapper(XzdTbwjTechnicalBidRequirementsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdTbwjTechnicalBidRequirements> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdTbwjTechnicalBidRequirements::getId);
lqw.eq(StringUtils.isNotBlank(bo.getTechnicalBidRequirement()), XzdTbwjTechnicalBidRequirements::getTechnicalBidRequirement, bo.getTechnicalBidRequirement());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationPoints()), XzdTbwjTechnicalBidRequirements::getCompilationPoints, bo.getCompilationPoints());
lqw.eq(bo.getProvideTime() != null, XzdTbwjTechnicalBidRequirements::getProvideTime, bo.getProvideTime());
return lqw;
}
/**
* 新增投标文件-技术标要求
*
* @param bo 投标文件-技术标要求
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdTbwjTechnicalBidRequirementsBo bo) {
XzdTbwjTechnicalBidRequirements add = MapstructUtils.convert(bo, XzdTbwjTechnicalBidRequirements.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标文件-技术标要求
*
* @param bo 投标文件-技术标要求
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdTbwjTechnicalBidRequirementsBo bo) {
XzdTbwjTechnicalBidRequirements update = MapstructUtils.convert(bo, XzdTbwjTechnicalBidRequirements.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdTbwjTechnicalBidRequirements 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

@ -0,0 +1,135 @@
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.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdTbwjTechnicalBid;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.bo.XzdTbwjTechnicalBidBo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.vo.XzdTbwjTechnicalBidVo;
import org.dromara.xzd.biddingManagement.biddingDocumentList.mapper.XzdTbwjTechnicalBidMapper;
import org.dromara.xzd.biddingManagement.biddingDocumentList.service.IXzdTbwjTechnicalBidService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 投标文件-技术标Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdTbwjTechnicalBidServiceImpl extends ServiceImpl<XzdTbwjTechnicalBidMapper, XzdTbwjTechnicalBid> implements IXzdTbwjTechnicalBidService {
private final XzdTbwjTechnicalBidMapper baseMapper;
/**
* 查询投标文件-技术标
*
* @param id 主键
* @return 投标文件-技术标
*/
@Override
public XzdTbwjTechnicalBidVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询投标文件-技术标列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标文件-技术标分页列表
*/
@Override
public TableDataInfo<XzdTbwjTechnicalBidVo> queryPageList(XzdTbwjTechnicalBidBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdTbwjTechnicalBid> lqw = buildQueryWrapper(bo);
Page<XzdTbwjTechnicalBidVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标文件-技术标列表
*
* @param bo 查询条件
* @return 投标文件-技术标列表
*/
@Override
public List<XzdTbwjTechnicalBidVo> queryList(XzdTbwjTechnicalBidBo bo) {
LambdaQueryWrapper<XzdTbwjTechnicalBid> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdTbwjTechnicalBid> buildQueryWrapper(XzdTbwjTechnicalBidBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdTbwjTechnicalBid> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdTbwjTechnicalBid::getId);
lqw.eq(StringUtils.isNotBlank(bo.getQualityRequirements()), XzdTbwjTechnicalBid::getQualityRequirements, bo.getQualityRequirements());
lqw.eq(StringUtils.isNotBlank(bo.getTechnicalRequirements()), XzdTbwjTechnicalBid::getTechnicalRequirements, bo.getTechnicalRequirements());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationDept()), XzdTbwjTechnicalBid::getCompilationDept, bo.getCompilationDept());
lqw.eq(StringUtils.isNotBlank(bo.getCompilationExplain()), XzdTbwjTechnicalBid::getCompilationExplain, bo.getCompilationExplain());
return lqw;
}
/**
* 新增投标文件-技术标
*
* @param bo 投标文件-技术标
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdTbwjTechnicalBidBo bo) {
XzdTbwjTechnicalBid add = MapstructUtils.convert(bo, XzdTbwjTechnicalBid.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标文件-技术标
*
* @param bo 投标文件-技术标
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdTbwjTechnicalBidBo bo) {
XzdTbwjTechnicalBid update = MapstructUtils.convert(bo, XzdTbwjTechnicalBid.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdTbwjTechnicalBid 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

@ -1,17 +0,0 @@
package org.dromara.xzd.biddingManagement.domain.dto;
import lombok.Data;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo;
import org.dromara.xzd.biddingManagement.domain.bo.XzdBqlxProjectInfoBo;
@Data
public class BiddingManagementDto {
// 标前立项
private XzdBidPreProjectBo xzdBidPreProjectBo;
// 标前立项-项目信息
private XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo;
}

View File

@ -0,0 +1,107 @@
package org.dromara.xzd.biddingManagement.earnestMoney.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.dromara.xzd.biddingManagement.earnestMoney.domain.bo.XzdBidDepositPaymentBo;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentByBqlx;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentVo;
import org.dromara.xzd.biddingManagement.earnestMoney.service.IXzdBidDepositPaymentService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标保证金缴纳
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/earnestMoney/bidDepositPayment")
public class XzdBidDepositPaymentController extends BaseController {
private final IXzdBidDepositPaymentService xzdBidDepositPaymentService;
/**
* 查询投标保证金缴纳列表
*/
@SaCheckPermission("earnestMoney:bidDepositPayment:list")
@GetMapping("/list")
public TableDataInfo<XzdBidDepositPaymentVo> list(XzdBidDepositPaymentBo bo, PageQuery pageQuery) {
return xzdBidDepositPaymentService.queryPageList(bo, pageQuery);
}
/**
* 导出投标保证金缴纳列表
*/
@SaCheckPermission("earnestMoney:bidDepositPayment:export")
@Log(title = "投标保证金缴纳", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdBidDepositPaymentBo bo, HttpServletResponse response) {
List<XzdBidDepositPaymentVo> list = xzdBidDepositPaymentService.queryList(bo);
ExcelUtil.exportExcel(list, "投标保证金缴纳", XzdBidDepositPaymentVo.class, response);
}
/**
* 获取投标保证金缴纳详细信息
*
* @param id 主键
*/
@SaCheckPermission("earnestMoney:bidDepositPayment:query")
@GetMapping("/{id}")
public R<XzdBidDepositPaymentByBqlx> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdBidDepositPaymentService.queryById(id));
}
/**
* 新增投标保证金缴纳
*/
@SaCheckPermission("earnestMoney:bidDepositPayment:add")
@Log(title = "投标保证金缴纳", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdBidDepositPaymentBo bo) {
return toAjax(xzdBidDepositPaymentService.insertByBo(bo));
}
/**
* 修改投标保证金缴纳
*/
@SaCheckPermission("earnestMoney:bidDepositPayment:edit")
@Log(title = "投标保证金缴纳", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdBidDepositPaymentBo bo) {
return toAjax(xzdBidDepositPaymentService.updateByBo(bo));
}
/**
* 删除投标保证金缴纳
*
* @param ids 主键串
*/
@SaCheckPermission("earnestMoney:bidDepositPayment:remove")
@Log(title = "投标保证金缴纳", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdBidDepositPaymentService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,154 @@
package org.dromara.xzd.biddingManagement.earnestMoney.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 com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 投标保证金缴纳对象 xzd_bid_deposit_payment
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bid_deposit_payment")
public class XzdBidDepositPayment extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 单据编码
*/
private String documentCode;
/**
* 单据日期
*/
private Date documentDate;
/**
* 项目名称
*/
private String projectName;
/**
* 工程造价(万元)
*/
private Long projectCost;
/**
* 经营模式
*/
private String businessMode;
/**
* 保证金金额
*/
private Long depositAmount;
/**
* 保证金金额大写
*/
private String depositAmountCapital;
/**
* 汇款方式
*/
private String remittanceMethod;
/**
* 支付截止时间
*/
private Date paymentDeadline;
/**
* 收款单位
*/
private String receivingUnit;
/**
* 收款单位ID
*/
private Long receivingUnitId;
/**
* 收款账户名称
*/
private String receivingAccountName;
/**
* 收款账户银行
*/
private String receivingBank;
/**
* 收款银行账号
*/
private String receivingBankAccount;
/**
* 招标结束后要求工作日收回
*/
private Long requestRecoveryDays;
/**
* 保证金类型
*/
private String depositType;
/**
* 回单要求
*/
private String receiptRequirement;
/**
* 是否邮寄(0否 1是)
*/
private Long isMail;
/**
* 保证金比例
*/
private Long depositRatio;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 申请事项
*/
private String itemsOfApplication;
/**
* 标前立项ID
*/
private Long bqlxId;
}

View File

@ -0,0 +1,159 @@
package org.dromara.xzd.biddingManagement.earnestMoney.domain.bo;
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 com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.XzdBidDepositPayment;
/**
* 投标保证金缴纳业务对象 xzd_bid_deposit_payment
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBidDepositPayment.class, reverseConvertGenerate = false)
public class XzdBidDepositPaymentBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 单据编码
*/
private String documentCode;
/**
* 单据日期
*/
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date documentDate;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 工程造价(万元)
*/
private Long projectCost;
/**
* 经营模式
*/
private String businessMode;
/**
* 保证金金额
*/
@NotNull(message = "保证金金额不能为空", groups = { AddGroup.class, EditGroup.class })
private Long depositAmount;
/**
* 保证金金额大写
*/
@NotBlank(message = "保证金金额大写不能为空", groups = { AddGroup.class, EditGroup.class })
private String depositAmountCapital;
/**
* 汇款方式
*/
private String remittanceMethod;
/**
* 支付截止时间
*/
private Date paymentDeadline;
/**
* 收款单位
*/
private String receivingUnit;
/**
* 收款单位ID
*/
private Long receivingUnitId;
/**
* 收款账户名称
*/
private String receivingAccountName;
/**
* 收款账户银行
*/
private String receivingBank;
/**
* 收款银行账号
*/
private String receivingBankAccount;
/**
* 招标结束后要求工作日收回
*/
private Long requestRecoveryDays;
/**
* 保证金类型
*/
@NotBlank(message = "保证金类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String depositType;
/**
* 回单要求
*/
private String receiptRequirement;
/**
* 是否邮寄(0否 1是)
*/
private Long isMail;
/**
* 保证金比例
*/
private Long depositRatio;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 申请事项
*/
private String itemsOfApplication;
/**
* 标前立项ID
*/
private Long bqlxId;
}

View File

@ -0,0 +1,17 @@
package org.dromara.xzd.biddingManagement.earnestMoney.domain.vo;
import lombok.Data;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdVo;
@Data
public class XzdBidDepositPaymentByBqlx {
private XzdBidDepositPaymentVo xzdBidDepositPaymentVo;
private QuerListXzdBidPreVo queryListXzdVo;
}

View File

@ -0,0 +1,203 @@
package org.dromara.xzd.biddingManagement.earnestMoney.domain.vo;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
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 org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.XzdBidDepositPayment;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标保证金缴纳视图对象 xzd_bid_deposit_payment
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBidDepositPayment.class)
public class XzdBidDepositPaymentVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 单据编码
*/
@ExcelProperty(value = "单据编码")
private String documentCode;
/**
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private Date documentDate;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 工程造价(万元)
*/
@ExcelProperty(value = "工程造价(万元)")
private Long projectCost;
/**
* 经营模式
*/
@ExcelProperty(value = "经营模式")
private String businessMode;
/**
* 保证金金额
*/
@ExcelProperty(value = "保证金金额")
private Long depositAmount;
/**
* 保证金金额大写
*/
@ExcelProperty(value = "保证金金额大写")
private String depositAmountCapital;
/**
* 汇款方式
*/
@ExcelProperty(value = "汇款方式")
private String remittanceMethod;
/**
* 支付截止时间
*/
@ExcelProperty(value = "支付截止时间")
private Date paymentDeadline;
/**
* 收款单位
*/
@ExcelProperty(value = "收款单位")
private String receivingUnit;
/**
* 收款单位ID
*/
private Long receivingUnitId;
/**
* 收款账户名称
*/
@ExcelProperty(value = "收款账户名称")
private String receivingAccountName;
/**
* 收款账户银行
*/
@ExcelProperty(value = "收款账户银行")
private String receivingBank;
/**
* 收款银行账号
*/
@ExcelProperty(value = "收款银行账号")
private String receivingBankAccount;
/**
* 招标结束后要求工作日收回
*/
@ExcelProperty(value = "招标结束后要求工作日收回")
private Long requestRecoveryDays;
/**
* 保证金类型
*/
@ExcelProperty(value = "保证金类型")
private String depositType;
/**
* 回单要求
*/
@ExcelProperty(value = "回单要求")
private String receiptRequirement;
/**
* 是否邮寄(0否 1是)
*/
@ExcelProperty(value = "是否邮寄(0否 1是)")
private Long isMail;
/**
* 保证金比例
*/
@ExcelProperty(value = "保证金比例")
private Long depositRatio;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
/**
* 申请事项
*/
@ExcelProperty(value = "申请事项")
private String itemsOfApplication;
private Long createBy;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createName;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 标前立项ID
*/
private Long bqlxId;
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.biddingManagement.earnestMoney.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.XzdBidDepositPayment;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentVo;
/**
* 投标保证金缴纳Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdBidDepositPaymentMapper extends BaseMapperPlus<XzdBidDepositPayment, XzdBidDepositPaymentVo> {
}

View File

@ -0,0 +1,72 @@
package org.dromara.xzd.biddingManagement.earnestMoney.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.XzdBidDepositPayment;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.bo.XzdBidDepositPaymentBo;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentByBqlx;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentVo;
import java.util.Collection;
import java.util.List;
/**
* 投标保证金缴纳Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdBidDepositPaymentService extends IService<XzdBidDepositPayment>{
/**
* 查询投标保证金缴纳
*
* @param id 主键
* @return 投标保证金缴纳
*/
XzdBidDepositPaymentByBqlx queryById(Long id);
/**
* 分页查询投标保证金缴纳列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标保证金缴纳分页列表
*/
TableDataInfo<XzdBidDepositPaymentVo> queryPageList(XzdBidDepositPaymentBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标保证金缴纳列表
*
* @param bo 查询条件
* @return 投标保证金缴纳列表
*/
List<XzdBidDepositPaymentVo> queryList(XzdBidDepositPaymentBo bo);
/**
* 新增投标保证金缴纳
*
* @param bo 投标保证金缴纳
* @return 是否新增成功
*/
Boolean insertByBo(XzdBidDepositPaymentBo bo);
/**
* 修改投标保证金缴纳
*
* @param bo 投标保证金缴纳
* @return 是否修改成功
*/
Boolean updateByBo(XzdBidDepositPaymentBo bo);
/**
* 校验并批量删除投标保证金缴纳信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,192 @@
package org.dromara.xzd.biddingManagement.earnestMoney.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.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.XzdBidDepositPayment;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.bo.XzdBidDepositPaymentBo;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentByBqlx;
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.utilS.AreaUtil;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 投标保证金缴纳Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdBidDepositPaymentServiceImpl extends ServiceImpl<XzdBidDepositPaymentMapper, XzdBidDepositPayment> implements IXzdBidDepositPaymentService {
private final XzdBidDepositPaymentMapper baseMapper;
private final AreaUtil areaUtil;
private final SysOssServiceImpl sysOssService;
private final IXzdBidPreProjectService xzdBidPreProjectService;
/**
* 查询投标保证金缴纳
*
* @param id 主键
* @return 投标保证金缴纳
*/
@Override
public XzdBidDepositPaymentByBqlx queryById(Long id){
XzdBidDepositPaymentByBqlx res = new XzdBidDepositPaymentByBqlx();
XzdBidDepositPaymentVo xzdBidDepositPaymentVo = baseMapper.selectVoById(id);
res.setXzdBidDepositPaymentVo(xzdBidDepositPaymentVo);
if (xzdBidDepositPaymentVo.getBqlxId() != null){
QuerListXzdBidPreVo vo = xzdBidPreProjectService.queryById(xzdBidDepositPaymentVo.getBqlxId());
res.setQueryListXzdVo(vo);
}
return res;
}
/**
* 分页查询投标保证金缴纳列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标保证金缴纳分页列表
*/
@Override
public TableDataInfo<XzdBidDepositPaymentVo> queryPageList(XzdBidDepositPaymentBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBidDepositPayment> lqw = buildQueryWrapper(bo);
Page<XzdBidDepositPaymentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标保证金缴纳列表
*
* @param bo 查询条件
* @return 投标保证金缴纳列表
*/
@Override
public List<XzdBidDepositPaymentVo> queryList(XzdBidDepositPaymentBo bo) {
LambdaQueryWrapper<XzdBidDepositPayment> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBidDepositPayment> buildQueryWrapper(XzdBidDepositPaymentBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBidDepositPayment> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBidDepositPayment::getId);
lqw.eq(StringUtils.isNotBlank(bo.getDocumentCode()), XzdBidDepositPayment::getDocumentCode, bo.getDocumentCode());
lqw.eq(bo.getDocumentDate() != null, XzdBidDepositPayment::getDocumentDate, bo.getDocumentDate());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdBidDepositPayment::getProjectName, bo.getProjectName());
lqw.eq(bo.getProjectCost() != null, XzdBidDepositPayment::getProjectCost, bo.getProjectCost());
lqw.eq(StringUtils.isNotBlank(bo.getBusinessMode()), XzdBidDepositPayment::getBusinessMode, bo.getBusinessMode());
lqw.eq(bo.getDepositAmount() != null, XzdBidDepositPayment::getDepositAmount, bo.getDepositAmount());
lqw.eq(StringUtils.isNotBlank(bo.getDepositAmountCapital()), XzdBidDepositPayment::getDepositAmountCapital, bo.getDepositAmountCapital());
lqw.eq(StringUtils.isNotBlank(bo.getRemittanceMethod()), XzdBidDepositPayment::getRemittanceMethod, bo.getRemittanceMethod());
lqw.eq(bo.getPaymentDeadline() != null, XzdBidDepositPayment::getPaymentDeadline, bo.getPaymentDeadline());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingUnit()), XzdBidDepositPayment::getReceivingUnit, bo.getReceivingUnit());
lqw.like(StringUtils.isNotBlank(bo.getReceivingAccountName()), XzdBidDepositPayment::getReceivingAccountName, bo.getReceivingAccountName());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingBank()), XzdBidDepositPayment::getReceivingBank, bo.getReceivingBank());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingBankAccount()), XzdBidDepositPayment::getReceivingBankAccount, bo.getReceivingBankAccount());
lqw.eq(bo.getRequestRecoveryDays() != null, XzdBidDepositPayment::getRequestRecoveryDays, bo.getRequestRecoveryDays());
lqw.eq(StringUtils.isNotBlank(bo.getDepositType()), XzdBidDepositPayment::getDepositType, bo.getDepositType());
lqw.eq(StringUtils.isNotBlank(bo.getReceiptRequirement()), XzdBidDepositPayment::getReceiptRequirement, bo.getReceiptRequirement());
lqw.eq(bo.getIsMail() != null, XzdBidDepositPayment::getIsMail, bo.getIsMail());
lqw.eq(bo.getDepositRatio() != null, XzdBidDepositPayment::getDepositRatio, bo.getDepositRatio());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBidDepositPayment::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBidDepositPayment::getAuditStatus, bo.getAuditStatus());
lqw.eq(StringUtils.isNotBlank(bo.getItemsOfApplication()), XzdBidDepositPayment::getItemsOfApplication, bo.getItemsOfApplication());
return lqw;
}
/**
* 新增投标保证金缴纳
*
* @param bo 投标保证金缴纳
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBidDepositPaymentBo bo) {
XzdBidDepositPayment add = MapstructUtils.convert(bo, XzdBidDepositPayment.class);
validEntityBeforeSave(add);
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidDepositPayment>().gt(XzdBidDepositPayment::getCreateTime, LocalDate.now()));
String s = areaUtil.generateDateBasedNumber();
add.setDocumentCode(s+"-"+(l+1));
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标保证金缴纳
*
* @param bo 投标保证金缴纳
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBidDepositPaymentBo bo) {
XzdBidDepositPayment update = MapstructUtils.convert(bo, XzdBidDepositPayment.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBidDepositPayment entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除投标保证金缴纳信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
for (Long id : ids) {
XzdBidDepositPaymentVo xzdBidDepositPaymentVo = baseMapper.selectVoById(id);
// 删除附件
if (!StringUtils.isEmpty(xzdBidDepositPaymentVo.getFileId())){
List<Long> collect = Arrays.stream(xzdBidDepositPaymentVo.getFileId().split(",")).map(item -> {
return Long.parseLong(item);
}).collect(Collectors.toList());
sysOssService.deleteWithValidByIds(collect, false);
}
}
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,107 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.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.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.bo.XzdBidDepositRecoveryBo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryVo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryXqVo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.service.IXzdBidDepositRecoveryService;
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.common.mybatis.core.page.TableDataInfo;
/**
* 投标保证金收回
*
* @author Lion Li
* @date 2025-10-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/biddingManagement/bidDepositRecovery")
public class XzdBidDepositRecoveryController extends BaseController {
private final IXzdBidDepositRecoveryService xzdBidDepositRecoveryService;
/**
* 查询投标保证金收回列表
*/
@SaCheckPermission("biddingManagement:bidDepositRecovery:list")
@GetMapping("/list")
public TableDataInfo<XzdBidDepositRecoveryVo> list(XzdBidDepositRecoveryBo bo, PageQuery pageQuery) {
return xzdBidDepositRecoveryService.queryPageList(bo, pageQuery);
}
/**
* 导出投标保证金收回列表
*/
@SaCheckPermission("biddingManagement:bidDepositRecovery:export")
@Log(title = "投标保证金收回", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdBidDepositRecoveryBo bo, HttpServletResponse response) {
List<XzdBidDepositRecoveryVo> list = xzdBidDepositRecoveryService.queryList(bo);
ExcelUtil.exportExcel(list, "投标保证金收回", XzdBidDepositRecoveryVo.class, response);
}
/**
* 获取投标保证金收回详细信息
*
* @param id 主键
*/
@SaCheckPermission("biddingManagement:bidDepositRecovery:query")
@GetMapping("/{id}")
public R<XzdBidDepositRecoveryXqVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdBidDepositRecoveryService.queryById(id));
}
/**
* 新增投标保证金收回
*/
@SaCheckPermission("biddingManagement:bidDepositRecovery:add")
@Log(title = "投标保证金收回", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdBidDepositRecoveryBo bo) {
return toAjax(xzdBidDepositRecoveryService.insertByBo(bo));
}
/**
* 修改投标保证金收回
*/
@SaCheckPermission("biddingManagement:bidDepositRecovery:edit")
@Log(title = "投标保证金收回", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdBidDepositRecoveryBo bo) {
return toAjax(xzdBidDepositRecoveryService.updateByBo(bo));
}
/**
* 删除投标保证金收回
*
* @param ids 主键串
*/
@SaCheckPermission("biddingManagement:bidDepositRecovery:remove")
@Log(title = "投标保证金收回", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdBidDepositRecoveryService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,196 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.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 com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 投标保证金收回对象 xzd_bid_deposit_recovery
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bid_deposit_recovery")
public class XzdBidDepositRecovery extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 单据编码
*/
private String documentCode;
/**
* 单据日期
*/
private Date documentDate;
/**
* 项目名称
*/
private String projectName;
/**
* 项目类型
*/
private Long projectType;
/**
* 经营模式
*/
private String businessMode;
/**
* 工程造价
*/
private Long projectCost;
/**
* 收回金额
*/
private Long recoveryAmount;
/**
* 收回金额大写
*/
private String recoveryAmountCapital;
/**
* 资料费
*/
private Long dataFee;
/**
* 资料费大写
*/
private String dataFeeCapital;
/**
* 退款金额
*/
private Long refundAmount;
/**
* 收回日期
*/
private Date recoveryDate;
/**
* 保证金状态
*/
private String depositStatus;
/**
* 保证金金额
*/
private Long depositAmount;
/**
* 保证金金额大写
*/
private String depositAmountCapital;
/**
* 保证金汇款方式
*/
private String depositRemittanceMethod;
/**
* 支付截止时间
*/
private Date paymentDeadline;
/**
* 收款单位
*/
private String receivingUnit;
/**
* 保证金收款账户名称
*/
private String depositReceivingAccountName;
/**
* 收款账户银行
*/
private String receivingBank;
/**
* 收款账户账号
*/
private String receivingBankAccount;
/**
* 申请人
*/
private String applicant;
/**
* 申请单位
*/
private String applicationUnit;
/**
* 申请日期
*/
private Date applicationDate;
/**
* 标题
*/
private String title;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 收款账户银行
*/
private Long payeeBank;
/**
* 收款账户名称
*/
private Long payeeName;
/**
* 收款单位(供应商信息)
*/
private Long payeeId;
/**
* 缴纳id
*/
private Long paymentId;
/**
* 汇款方式
*/
private String methodOfRemittance;
}

View File

@ -0,0 +1,207 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.bo;
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 com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.XzdBidDepositRecovery;
/**
* 投标保证金收回业务对象 xzd_bid_deposit_recovery
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBidDepositRecovery.class, reverseConvertGenerate = false)
public class XzdBidDepositRecoveryBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 单据编码
*/
@NotBlank(message = "单据编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String documentCode;
/**
* 单据日期
*/
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date documentDate;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 项目类型
*/
private Long projectType;
/**
* 经营模式
*/
private String businessMode;
/**
* 工程造价
*/
private Long projectCost;
/**
* 收回金额
*/
@NotNull(message = "收回金额不能为空", groups = { AddGroup.class, EditGroup.class })
private Long recoveryAmount;
/**
* 收回金额大写
*/
@NotBlank(message = "收回金额大写不能为空", groups = { AddGroup.class, EditGroup.class })
private String recoveryAmountCapital;
/**
* 资料费
*/
private Long dataFee;
/**
* 资料费大写
*/
private String dataFeeCapital;
/**
* 退款金额
*/
private Long refundAmount;
/**
* 收回日期
*/
private Date recoveryDate;
/**
* 保证金状态
*/
private String depositStatus;
/**
* 保证金金额
*/
private Long depositAmount;
/**
* 保证金金额大写
*/
private String depositAmountCapital;
/**
* 保证金汇款方式
*/
private String depositRemittanceMethod;
/**
* 支付截止时间
*/
private Date paymentDeadline;
/**
* 收款单位
*/
private String receivingUnit;
/**
* 保证金收款账户名称
*/
private String depositReceivingAccountName;
/**
* 收款账户银行
*/
private String receivingBank;
/**
* 收款账户账号
*/
private String receivingBankAccount;
/**
* 申请人
*/
private String applicant;
/**
* 申请单位
*/
private String applicationUnit;
/**
* 申请日期
*/
private Date applicationDate;
/**
* 标题
*/
private String title;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
/**
* 收款账户
*/
private Integer gatheringNumber;
/**
* 收款账户银行
*/
private Long payeeBank;
/**
* 收款账户名称
*/
private Long payeeName;
/**
* 收款单位(供应商信息)
*/
private Long payeeId;
/**
* 缴纳id
*/
private Long paymentId;
/**
* 汇款方式
*/
private String methodOfRemittance;
}

View File

@ -0,0 +1,248 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
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 org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.XzdBidDepositRecovery;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 投标保证金收回视图对象 xzd_bid_deposit_recovery
*
* @author Lion Li
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBidDepositRecovery.class)
public class XzdBidDepositRecoveryVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 单据编码
*/
@ExcelProperty(value = "单据编码")
private String documentCode;
/**
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private Date documentDate;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 项目类型
*/
@ExcelProperty(value = "项目类型")
private Long projectType;
/**
* 经营模式
*/
@ExcelProperty(value = "经营模式")
private String businessMode;
/**
* 工程造价
*/
@ExcelProperty(value = "工程造价")
private Long projectCost;
/**
* 收回金额
*/
@ExcelProperty(value = "收回金额")
private Long recoveryAmount;
/**
* 收回金额大写
*/
@ExcelProperty(value = "收回金额大写")
private String recoveryAmountCapital;
/**
* 资料费
*/
@ExcelProperty(value = "资料费")
private Long dataFee;
/**
* 资料费大写
*/
@ExcelProperty(value = "资料费大写")
private String dataFeeCapital;
/**
* 退款金额
*/
@ExcelProperty(value = "退款金额")
private Long refundAmount;
/**
* 收回日期
*/
@ExcelProperty(value = "收回日期")
private Date recoveryDate;
/**
* 保证金状态
*/
@ExcelProperty(value = "保证金状态")
private String depositStatus;
/**
* 保证金金额
*/
@ExcelProperty(value = "保证金金额")
private Long depositAmount;
/**
* 保证金金额大写
*/
@ExcelProperty(value = "保证金金额大写")
private String depositAmountCapital;
/**
* 保证金汇款方式
*/
@ExcelProperty(value = "保证金汇款方式")
private String depositRemittanceMethod;
/**
* 支付截止时间
*/
@ExcelProperty(value = "支付截止时间")
private Date paymentDeadline;
/**
* 收款单位
*/
@ExcelProperty(value = "收款单位")
private String receivingUnit;
/**
* 保证金收款账户名称
*/
@ExcelProperty(value = "保证金收款账户名称")
private String depositReceivingAccountName;
/**
* 收款账户银行
*/
@ExcelProperty(value = "收款账户银行")
private String receivingBank;
/**
* 收款账户账号
*/
@ExcelProperty(value = "收款账户账号")
private String receivingBankAccount;
/**
* 申请人
*/
@ExcelProperty(value = "申请人")
private String applicant;
/**
* 申请单位
*/
@ExcelProperty(value = "申请单位")
private String applicationUnit;
/**
* 申请日期
*/
@ExcelProperty(value = "申请日期")
private Date applicationDate;
/**
* 标题
*/
@ExcelProperty(value = "标题")
private String title;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
private Long createBy;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createName;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 收款账户银行
*/
private Long payeeBank;
/**
* 收款账户名称
*/
private Long payeeName;
/**
* 收款单位(供应商信息)
*/
private Long payeeId;
/**
* 缴纳id
*/
private Long paymentId;
/**
* 汇款方式
*/
private String methodOfRemittance;
}

View File

@ -0,0 +1,21 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo;
import lombok.Data;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentByBqlx;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
@Data
public class XzdBidDepositRecoveryXqVo {
// 保证金收回信息
private XzdBidDepositRecoveryVo xzdBidDepositRecoveryVo;
// 保证金缴纳信息
private XzdBidDepositPaymentByBqlx xzdBidDepositPaymentByBqlx;
// 供应商信息
private XzdSupplierInfoVo xzdSupplierInfoVo;
}

View File

@ -0,0 +1,17 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.XzdBidDepositRecovery;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryVo;
/**
* 投标保证金收回Mapper接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface XzdBidDepositRecoveryMapper extends BaseMapperPlus<XzdBidDepositRecovery, XzdBidDepositRecoveryVo>, BaseMapper<XzdBidDepositRecovery> {
}

View File

@ -0,0 +1,73 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.service;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.XzdBidDepositRecovery;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.bo.XzdBidDepositRecoveryBo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryVo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryXqVo;
import java.util.Collection;
import java.util.List;
/**
* 投标保证金收回Service接口
*
* @author Lion Li
* @date 2025-10-11
*/
public interface IXzdBidDepositRecoveryService extends IService<XzdBidDepositRecovery>{
/**
* 查询投标保证金收回
*
* @param id 主键
* @return 投标保证金收回
*/
XzdBidDepositRecoveryXqVo queryById(Long id);
/**
* 分页查询投标保证金收回列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标保证金收回分页列表
*/
TableDataInfo<XzdBidDepositRecoveryVo> queryPageList(XzdBidDepositRecoveryBo bo, PageQuery pageQuery);
/**
* 查询符合条件的投标保证金收回列表
*
* @param bo 查询条件
* @return 投标保证金收回列表
*/
List<XzdBidDepositRecoveryVo> queryList(XzdBidDepositRecoveryBo bo);
/**
* 新增投标保证金收回
*
* @param bo 投标保证金收回
* @return 是否新增成功
*/
Boolean insertByBo(XzdBidDepositRecoveryBo bo);
/**
* 修改投标保证金收回
*
* @param bo 投标保证金收回
* @return 是否修改成功
*/
Boolean updateByBo(XzdBidDepositRecoveryBo bo);
/**
* 校验并批量删除投标保证金收回信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,201 @@
package org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.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.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.earnestMoney.domain.vo.XzdBidDepositPaymentByBqlx;
import org.dromara.xzd.biddingManagement.earnestMoney.service.IXzdBidDepositPaymentService;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.XzdBidDepositRecovery;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.bo.XzdBidDepositRecoveryBo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryVo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.domain.vo.XzdBidDepositRecoveryXqVo;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.mapper.XzdBidDepositRecoveryMapper;
import org.dromara.xzd.biddingManagement.earnestMoneyWithdraw.service.IXzdBidDepositRecoveryService;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.dromara.xzd.utilS.AreaUtil;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 投标保证金收回Service业务层处理
*
* @author Lion Li
* @date 2025-10-11
*/
@RequiredArgsConstructor
@Service
public class XzdBidDepositRecoveryServiceImpl extends ServiceImpl<XzdBidDepositRecoveryMapper, XzdBidDepositRecovery> implements IXzdBidDepositRecoveryService {
private final XzdBidDepositRecoveryMapper baseMapper;
private final AreaUtil areaUtil;
private final SysOssServiceImpl sysOssService;
private final IXzdBidDepositPaymentService xzdBidDepositRecoveryXqVo;
private final IXzdSupplierInfoService xzdSupplierInfoService;
/**
* 查询投标保证金收回
*
* @param id 主键
* @return 投标保证金收回
*/
@Override
public XzdBidDepositRecoveryXqVo queryById(Long id){
if (id == null){
return null;
}
XzdBidDepositRecoveryXqVo vo = new XzdBidDepositRecoveryXqVo();
XzdBidDepositRecoveryVo xzdBidDepositRecoveryVo = baseMapper.selectVoById(id);
XzdBidDepositPaymentByBqlx xzdBidDepositPaymentByBqlx = xzdBidDepositRecoveryXqVo.queryById(xzdBidDepositRecoveryVo.getPaymentId());
XzdSupplierInfoVo xzdSupplierInfoVo = xzdSupplierInfoService.queryById(xzdBidDepositRecoveryVo.getPayeeId());
vo.setXzdBidDepositRecoveryVo(xzdBidDepositRecoveryVo);
vo.setXzdBidDepositPaymentByBqlx(xzdBidDepositPaymentByBqlx);
vo.setXzdSupplierInfoVo(xzdSupplierInfoVo);
return vo;
}
/**
* 分页查询投标保证金收回列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 投标保证金收回分页列表
*/
@Override
public TableDataInfo<XzdBidDepositRecoveryVo> queryPageList(XzdBidDepositRecoveryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBidDepositRecovery> lqw = buildQueryWrapper(bo);
Page<XzdBidDepositRecoveryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的投标保证金收回列表
*
* @param bo 查询条件
* @return 投标保证金收回列表
*/
@Override
public List<XzdBidDepositRecoveryVo> queryList(XzdBidDepositRecoveryBo bo) {
LambdaQueryWrapper<XzdBidDepositRecovery> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBidDepositRecovery> buildQueryWrapper(XzdBidDepositRecoveryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBidDepositRecovery> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBidDepositRecovery::getId);
lqw.eq(StringUtils.isNotBlank(bo.getDocumentCode()), XzdBidDepositRecovery::getDocumentCode, bo.getDocumentCode());
lqw.eq(bo.getDocumentDate() != null, XzdBidDepositRecovery::getDocumentDate, bo.getDocumentDate());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdBidDepositRecovery::getProjectName, bo.getProjectName());
lqw.eq(bo.getProjectType() != null, XzdBidDepositRecovery::getProjectType, bo.getProjectType());
lqw.eq(StringUtils.isNotBlank(bo.getBusinessMode()), XzdBidDepositRecovery::getBusinessMode, bo.getBusinessMode());
lqw.eq(bo.getProjectCost() != null, XzdBidDepositRecovery::getProjectCost, bo.getProjectCost());
lqw.eq(bo.getRecoveryAmount() != null, XzdBidDepositRecovery::getRecoveryAmount, bo.getRecoveryAmount());
lqw.eq(StringUtils.isNotBlank(bo.getRecoveryAmountCapital()), XzdBidDepositRecovery::getRecoveryAmountCapital, bo.getRecoveryAmountCapital());
lqw.eq(bo.getDataFee() != null, XzdBidDepositRecovery::getDataFee, bo.getDataFee());
lqw.eq(StringUtils.isNotBlank(bo.getDataFeeCapital()), XzdBidDepositRecovery::getDataFeeCapital, bo.getDataFeeCapital());
lqw.eq(bo.getRefundAmount() != null, XzdBidDepositRecovery::getRefundAmount, bo.getRefundAmount());
lqw.eq(bo.getRecoveryDate() != null, XzdBidDepositRecovery::getRecoveryDate, bo.getRecoveryDate());
lqw.eq(StringUtils.isNotBlank(bo.getDepositStatus()), XzdBidDepositRecovery::getDepositStatus, bo.getDepositStatus());
lqw.eq(bo.getDepositAmount() != null, XzdBidDepositRecovery::getDepositAmount, bo.getDepositAmount());
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.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());
lqw.eq(StringUtils.isNotBlank(bo.getApplicant()), XzdBidDepositRecovery::getApplicant, bo.getApplicant());
lqw.eq(StringUtils.isNotBlank(bo.getApplicationUnit()), XzdBidDepositRecovery::getApplicationUnit, bo.getApplicationUnit());
lqw.eq(bo.getApplicationDate() != null, XzdBidDepositRecovery::getApplicationDate, bo.getApplicationDate());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdBidDepositRecovery::getTitle, bo.getTitle());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBidDepositRecovery::getFileId, bo.getFileId());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBidDepositRecovery::getAuditStatus, bo.getAuditStatus());
return lqw;
}
/**
* 新增投标保证金收回
*
* @param bo 投标保证金收回
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBidDepositRecoveryBo bo) {
XzdBidDepositRecovery add = MapstructUtils.convert(bo, XzdBidDepositRecovery.class);
validEntityBeforeSave(add);
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidDepositRecovery>().gt(XzdBidDepositRecovery::getCreateTime, LocalDate.now()));
String s = areaUtil.generateDateBasedNumber();
add.setDocumentCode(s+"-"+(l+1));
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改投标保证金收回
*
* @param bo 投标保证金收回
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBidDepositRecoveryBo bo) {
XzdBidDepositRecovery update = MapstructUtils.convert(bo, XzdBidDepositRecovery.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBidDepositRecovery entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除投标保证金收回信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
for (Long id : ids) {
XzdBidDepositRecoveryVo xzdBidDepositRecoveryVo = baseMapper.selectVoById(id);
// 删除附件
if (!StringUtils.isEmpty(xzdBidDepositRecoveryVo.getFileId())){
List<Long> collect = Arrays.stream(xzdBidDepositRecoveryVo.getFileId().split(",")).map(item -> {
return Long.parseLong(item);
}).collect(Collectors.toList());
sysOssService.deleteWithValidByIds(collect, false);
}
}
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.biddingManagement.paymentapplication.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.biddingManagement.paymentapplication.domain.vo.XzdBiddingAgencyFeePaymentVo;
import org.dromara.xzd.biddingManagement.paymentapplication.domain.bo.XzdBiddingAgencyFeePaymentBo;
import org.dromara.xzd.biddingManagement.paymentapplication.service.IXzdBiddingAgencyFeePaymentService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 招标代理服务费支付申请
*
* @author Lion Li
* @date 2025-10-10
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/paymentapplication/biddingAgencyFeePayment")
public class XzdBiddingAgencyFeePaymentController extends BaseController {
private final IXzdBiddingAgencyFeePaymentService xzdBiddingAgencyFeePaymentService;
/**
* 查询招标代理服务费支付申请列表
*/
@SaCheckPermission("paymentapplication:biddingAgencyFeePayment:list")
@GetMapping("/list")
public TableDataInfo<XzdBiddingAgencyFeePaymentVo> list(XzdBiddingAgencyFeePaymentBo bo, PageQuery pageQuery) {
return xzdBiddingAgencyFeePaymentService.queryPageList(bo, pageQuery);
}
/**
* 导出招标代理服务费支付申请列表
*/
@SaCheckPermission("paymentapplication:biddingAgencyFeePayment:export")
@Log(title = "招标代理服务费支付申请", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdBiddingAgencyFeePaymentBo bo, HttpServletResponse response) {
List<XzdBiddingAgencyFeePaymentVo> list = xzdBiddingAgencyFeePaymentService.queryList(bo);
ExcelUtil.exportExcel(list, "招标代理服务费支付申请", XzdBiddingAgencyFeePaymentVo.class, response);
}
/**
* 获取招标代理服务费支付申请详细信息
*
* @param id 主键
*/
@SaCheckPermission("paymentapplication:biddingAgencyFeePayment:query")
@GetMapping("/{id}")
public R<XzdBiddingAgencyFeePaymentVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdBiddingAgencyFeePaymentService.queryById(id));
}
/**
* 新增招标代理服务费支付申请
*/
@SaCheckPermission("paymentapplication:biddingAgencyFeePayment:add")
@Log(title = "招标代理服务费支付申请", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdBiddingAgencyFeePaymentBo bo) {
return toAjax(xzdBiddingAgencyFeePaymentService.insertByBo(bo));
}
/**
* 修改招标代理服务费支付申请
*/
@SaCheckPermission("paymentapplication:biddingAgencyFeePayment:edit")
@Log(title = "招标代理服务费支付申请", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdBiddingAgencyFeePaymentBo bo) {
return toAjax(xzdBiddingAgencyFeePaymentService.updateByBo(bo));
}
/**
* 删除招标代理服务费支付申请
*
* @param ids 主键串
*/
@SaCheckPermission("paymentapplication:biddingAgencyFeePayment:remove")
@Log(title = "招标代理服务费支付申请", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdBiddingAgencyFeePaymentService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,120 @@
package org.dromara.xzd.biddingManagement.paymentapplication.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 招标代理服务费支付申请对象 xzd_bidding_agency_fee_payment
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_bidding_agency_fee_payment")
public class XzdBiddingAgencyFeePayment extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 单据编码
*/
private String documentCode;
/**
* 单据日期
*/
private LocalDateTime documentDate;
/**
* 标题
*/
private String title;
/**
* 项目
*/
private String projectName;
/**
* 工程地点
*/
private String projectLocation;
/**
* 联系人
*/
private String contactPerson;
/**
* 联系方式
*/
private String contactMethod;
/**
* 投标时间
*/
private LocalDateTime biddingDate;
/**
* 代理机构名称
*/
private String agencyName;
/**
* 申请金额
*/
private Long applicationAmount;
/**
* 支付方式
*/
private String paymentMethod;
/**
* 收款银行
*/
private String receivingBank;
/**
* 收款
*/
private String receivingAccount;
/**
* 事由
*/
private String reason;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,121 @@
package org.dromara.xzd.biddingManagement.paymentapplication.domain.bo;
import org.dromara.xzd.biddingManagement.paymentapplication.domain.XzdBiddingAgencyFeePayment;
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.LocalDateTime;
/**
* 招标代理服务费支付申请业务对象 xzd_bidding_agency_fee_payment
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBiddingAgencyFeePayment.class, reverseConvertGenerate = false)
public class XzdBiddingAgencyFeePaymentBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 单据编码
*/
private String documentCode;
/**
* 单据日期
*/
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
private LocalDateTime documentDate;
/**
* 标题
*/
private String title;
/**
* 项目
*/
@NotBlank(message = "项目不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 工程地点
*/
private String projectLocation;
/**
* 联系人
*/
private String contactPerson;
/**
* 联系方式
*/
private String contactMethod;
/**
* 投标时间
*/
private LocalDateTime biddingDate;
/**
* 代理机构名称
*/
@NotBlank(message = "代理机构名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String agencyName;
/**
* 申请金额
*/
@NotNull(message = "申请金额不能为空", groups = { AddGroup.class, EditGroup.class })
private Long applicationAmount;
/**
* 支付方式
*/
@NotBlank(message = "支付方式不能为空", groups = { AddGroup.class, EditGroup.class })
private String paymentMethod;
/**
* 收款银行
*/
private String receivingBank;
/**
* 收款
*/
private String receivingAccount;
/**
* 事由
*/
private String reason;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -0,0 +1,157 @@
package org.dromara.xzd.biddingManagement.paymentapplication.domain.vo;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.biddingManagement.paymentapplication.domain.XzdBiddingAgencyFeePayment;
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;
/**
* 招标代理服务费支付申请视图对象 xzd_bidding_agency_fee_payment
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBiddingAgencyFeePayment.class)
public class XzdBiddingAgencyFeePaymentVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 单据编码
*/
@ExcelProperty(value = "单据编码")
private String documentCode;
/**
* 单据日期
*/
@ExcelProperty(value = "单据日期")
private Date documentDate;
/**
* 标题
*/
@ExcelProperty(value = "标题")
private String title;
/**
* 项目
*/
@ExcelProperty(value = "项目")
private String projectName;
/**
* 工程地点
*/
@ExcelProperty(value = "工程地点")
private String projectLocation;
/**
* 联系人
*/
@ExcelProperty(value = "联系人")
private String contactPerson;
/**
* 联系方式
*/
@ExcelProperty(value = "联系方式")
private String contactMethod;
/**
* 投标时间
*/
@ExcelProperty(value = "投标时间")
private Date biddingDate;
/**
* 代理机构名称
*/
@ExcelProperty(value = "代理机构名称")
private String agencyName;
/**
* 申请金额
*/
@ExcelProperty(value = "申请金额")
private Long applicationAmount;
/**
* 支付方式
*/
@ExcelProperty(value = "支付方式", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "xzd_payment_method")
private String paymentMethod;
/**
* 收款银行
*/
@ExcelProperty(value = "收款银行")
private String receivingBank;
/**
* 收款
*/
@ExcelProperty(value = "收款")
private String receivingAccount;
/**
* 事由
*/
@ExcelProperty(value = "事由")
private String reason;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
private Long createBy;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
private String createName;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.biddingManagement.paymentapplication.mapper;
import org.dromara.xzd.biddingManagement.paymentapplication.domain.XzdBiddingAgencyFeePayment;
import org.dromara.xzd.biddingManagement.paymentapplication.domain.vo.XzdBiddingAgencyFeePaymentVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 招标代理服务费支付申请Mapper接口
*
* @author Lion Li
* @date 2025-10-10
*/
public interface XzdBiddingAgencyFeePaymentMapper extends BaseMapperPlus<XzdBiddingAgencyFeePayment, XzdBiddingAgencyFeePaymentVo> {
}

Some files were not shown because too many files have changed in this diff Show More