标前立项
This commit is contained in:
@ -26,6 +26,7 @@ import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdBidPreProject
|
||||
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.*;
|
||||
import java.util.stream.Collectors;
|
||||
@ -145,7 +146,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(BiddingManagementDto bo) {
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidPreProject>().gt(XzdBidPreProject::getCreateTime, LocalDateTime.now()));
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidPreProject>().gt(XzdBidPreProject::getCreateTime, LocalDate.now()));
|
||||
String s = areaUtil.generateDateBasedNumber();
|
||||
|
||||
// 标前立项
|
||||
|
||||
@ -9,8 +9,10 @@ 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.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;
|
||||
@ -19,10 +21,10 @@ 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()));
|
||||
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;
|
||||
}
|
||||
|
||||
@ -2,6 +2,10 @@ 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;
|
||||
@ -152,4 +156,18 @@ public class XzdBiddingFileEstimateVo implements Serializable {
|
||||
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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,8 @@ 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;
|
||||
@ -17,10 +19,13 @@ import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEs
|
||||
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业务层处理
|
||||
@ -35,6 +40,10 @@ public class XzdBiddingFileEstimateServiceImpl extends ServiceImpl<XzdBiddingFil
|
||||
private final XzdBiddingFileEstimateMapper baseMapper;
|
||||
|
||||
|
||||
private final SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
|
||||
private final AreaUtil areaUtil;
|
||||
|
||||
/**
|
||||
@ -110,7 +119,7 @@ public class XzdBiddingFileEstimateServiceImpl extends ServiceImpl<XzdBiddingFil
|
||||
XzdBiddingFileEstimate add = MapstructUtils.convert(bo, XzdBiddingFileEstimate.class);
|
||||
validEntityBeforeSave(add);
|
||||
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBiddingFileEstimate>().gt(XzdBiddingFileEstimate::getCreateTime, LocalDateTime.now()));
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBiddingFileEstimate>().gt(XzdBiddingFileEstimate::getCreateTime, LocalDate.now()));
|
||||
|
||||
String s = areaUtil.generateDateBasedNumber();
|
||||
|
||||
@ -153,7 +162,18 @@ public class XzdBiddingFileEstimateServiceImpl extends ServiceImpl<XzdBiddingFil
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
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;
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
}
|
||||
@ -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> {
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,10 @@ 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;
|
||||
@ -138,4 +142,16 @@ public class XzdBiddingAgencyFeePaymentVo implements Serializable {
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,8 @@ 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.paymentapplication.domain.bo.XzdBiddingAgencyFeePaymentBo;
|
||||
@ -17,10 +19,13 @@ import org.dromara.xzd.biddingManagement.paymentapplication.domain.XzdBiddingAge
|
||||
import org.dromara.xzd.biddingManagement.paymentapplication.mapper.XzdBiddingAgencyFeePaymentMapper;
|
||||
import org.dromara.xzd.biddingManagement.paymentapplication.service.IXzdBiddingAgencyFeePaymentService;
|
||||
|
||||
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业务层处理
|
||||
@ -34,6 +39,9 @@ public class XzdBiddingAgencyFeePaymentServiceImpl extends ServiceImpl<XzdBiddin
|
||||
|
||||
private final XzdBiddingAgencyFeePaymentMapper baseMapper;
|
||||
|
||||
private final SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
private final AreaUtil areaUtil;
|
||||
|
||||
|
||||
@ -108,7 +116,7 @@ public class XzdBiddingAgencyFeePaymentServiceImpl extends ServiceImpl<XzdBiddin
|
||||
XzdBiddingAgencyFeePayment add = MapstructUtils.convert(bo, XzdBiddingAgencyFeePayment.class);
|
||||
validEntityBeforeSave(add);
|
||||
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBiddingAgencyFeePayment>().gt(XzdBiddingAgencyFeePayment::getCreateTime, LocalDateTime.now()));
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBiddingAgencyFeePayment>().gt(XzdBiddingAgencyFeePayment::getCreateTime, LocalDate .now()));
|
||||
|
||||
String s = areaUtil.generateDateBasedNumber();
|
||||
|
||||
@ -151,7 +159,16 @@ public class XzdBiddingAgencyFeePaymentServiceImpl extends ServiceImpl<XzdBiddin
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
for (Long id : ids) {
|
||||
XzdBiddingAgencyFeePaymentVo xzdBiddingAgencyFeePaymentVo = baseMapper.selectVoById(id);
|
||||
// 删除附件
|
||||
if (!StringUtils.isEmpty(xzdBiddingAgencyFeePaymentVo.getFileId())){
|
||||
List<Long> collect = Arrays.stream(xzdBiddingAgencyFeePaymentVo.getFileId().split(",")).map(item -> {
|
||||
return Long.parseLong(item);
|
||||
}).collect(Collectors.toList());
|
||||
sysOssService.deleteWithValidByIds(collect, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@ -0,0 +1,106 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.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.postAnalysis.domain.bo.XzdPostBidAnalysisBo;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdPostBidAnalysisVo;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdPostBidAnalysisService;
|
||||
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("/postAnalysis/postBidAnalysis")
|
||||
public class XzdPostBidAnalysisController extends BaseController {
|
||||
|
||||
private final IXzdPostBidAnalysisService xzdPostBidAnalysisService;
|
||||
|
||||
/**
|
||||
* 查询标后分析列表
|
||||
*/
|
||||
@SaCheckPermission("postAnalysis:postBidAnalysis:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdPostBidAnalysisVo> list(XzdPostBidAnalysisBo bo, PageQuery pageQuery) {
|
||||
return xzdPostBidAnalysisService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出标后分析列表
|
||||
*/
|
||||
@SaCheckPermission("postAnalysis:postBidAnalysis:export")
|
||||
@Log(title = "标后分析", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdPostBidAnalysisBo bo, HttpServletResponse response) {
|
||||
List<XzdPostBidAnalysisVo> list = xzdPostBidAnalysisService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "标后分析", XzdPostBidAnalysisVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标后分析详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("postAnalysis:postBidAnalysis:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdPostBidAnalysisVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdPostBidAnalysisService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增标后分析
|
||||
*/
|
||||
@SaCheckPermission("postAnalysis:postBidAnalysis:add")
|
||||
@Log(title = "标后分析", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdPostBidAnalysisBo bo) {
|
||||
return toAjax(xzdPostBidAnalysisService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改标后分析
|
||||
*/
|
||||
@SaCheckPermission("postAnalysis:postBidAnalysis:edit")
|
||||
@Log(title = "标后分析", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdPostBidAnalysisBo bo) {
|
||||
return toAjax(xzdPostBidAnalysisService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除标后分析
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("postAnalysis:postBidAnalysis:remove")
|
||||
@Log(title = "标后分析", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdPostBidAnalysisService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,128 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 标后分析对象 xzd_post_bid_analysis
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_post_bid_analysis")
|
||||
public class XzdPostBidAnalysis extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目编码
|
||||
*/
|
||||
private String projectCode;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 工程造价(万元)
|
||||
*/
|
||||
private Long projectCost;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
private String projectAddress;
|
||||
|
||||
/**
|
||||
* 工程概况
|
||||
*/
|
||||
private String projectOverview;
|
||||
|
||||
/**
|
||||
* 建设单位
|
||||
*/
|
||||
private String constructionUnit;
|
||||
|
||||
/**
|
||||
* 开标日期
|
||||
*/
|
||||
private Date bidOpeningDate;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
private String businessModel;
|
||||
|
||||
/**
|
||||
* 招标控制价(万元)
|
||||
*/
|
||||
private Long controlPrice;
|
||||
|
||||
/**
|
||||
* 最终报价(万元)
|
||||
*/
|
||||
private Long finalQuote;
|
||||
|
||||
/**
|
||||
* 投标结果
|
||||
*/
|
||||
private String biddingResult;
|
||||
|
||||
/**
|
||||
* 开标记录链接
|
||||
*/
|
||||
private String bidRecordLink;
|
||||
|
||||
/**
|
||||
* 投标分析与总结
|
||||
*/
|
||||
private String analysisSummary;
|
||||
|
||||
/**
|
||||
* 最终报价(元)
|
||||
*/
|
||||
private Long finalQuoteYuan;
|
||||
|
||||
/**
|
||||
* 最终报价(大写)
|
||||
*/
|
||||
private String finalQuoteChinese;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,128 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.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.postAnalysis.domain.XzdPostBidAnalysis;
|
||||
|
||||
/**
|
||||
* 标后分析业务对象 xzd_post_bid_analysis
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdPostBidAnalysis.class, reverseConvertGenerate = false)
|
||||
public class XzdPostBidAnalysisBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目编码
|
||||
*/
|
||||
private String projectCode;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 工程造价(万元)
|
||||
*/
|
||||
private Long projectCost;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
private String projectAddress;
|
||||
|
||||
/**
|
||||
* 工程概况
|
||||
*/
|
||||
private String projectOverview;
|
||||
|
||||
/**
|
||||
* 建设单位
|
||||
*/
|
||||
private String constructionUnit;
|
||||
|
||||
/**
|
||||
* 开标日期
|
||||
*/
|
||||
private Date bidOpeningDate;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
private String businessModel;
|
||||
|
||||
/**
|
||||
* 招标控制价(万元)
|
||||
*/
|
||||
private Long controlPrice;
|
||||
|
||||
/**
|
||||
* 最终报价(万元)
|
||||
*/
|
||||
private Long finalQuote;
|
||||
|
||||
/**
|
||||
* 投标结果
|
||||
*/
|
||||
@NotBlank(message = "投标结果不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String biddingResult;
|
||||
|
||||
/**
|
||||
* 开标记录链接
|
||||
*/
|
||||
private String bidRecordLink;
|
||||
|
||||
/**
|
||||
* 投标分析与总结
|
||||
*/
|
||||
private String analysisSummary;
|
||||
|
||||
/**
|
||||
* 最终报价(元)
|
||||
*/
|
||||
private Long finalQuoteYuan;
|
||||
|
||||
/**
|
||||
* 最终报价(大写)
|
||||
*/
|
||||
private String finalQuoteChinese;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,155 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.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.postAnalysis.domain.XzdPostBidAnalysis;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 标后分析视图对象 xzd_post_bid_analysis
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdPostBidAnalysis.class)
|
||||
public class XzdPostBidAnalysisVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目编码
|
||||
*/
|
||||
@ExcelProperty(value = "项目编码")
|
||||
private String projectCode;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 工程造价(万元)
|
||||
*/
|
||||
@ExcelProperty(value = "工程造价(万元)")
|
||||
private Long projectCost;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型")
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
@ExcelProperty(value = "项目地址")
|
||||
private String projectAddress;
|
||||
|
||||
/**
|
||||
* 工程概况
|
||||
*/
|
||||
@ExcelProperty(value = "工程概况")
|
||||
private String projectOverview;
|
||||
|
||||
/**
|
||||
* 建设单位
|
||||
*/
|
||||
@ExcelProperty(value = "建设单位")
|
||||
private String constructionUnit;
|
||||
|
||||
/**
|
||||
* 开标日期
|
||||
*/
|
||||
@ExcelProperty(value = "开标日期")
|
||||
private Date bidOpeningDate;
|
||||
|
||||
/**
|
||||
* 经营模式
|
||||
*/
|
||||
@ExcelProperty(value = "经营模式")
|
||||
private String businessModel;
|
||||
|
||||
/**
|
||||
* 招标控制价(万元)
|
||||
*/
|
||||
@ExcelProperty(value = "招标控制价(万元)")
|
||||
private Long controlPrice;
|
||||
|
||||
/**
|
||||
* 最终报价(万元)
|
||||
*/
|
||||
@ExcelProperty(value = "最终报价(万元)")
|
||||
private Long finalQuote;
|
||||
|
||||
/**
|
||||
* 投标结果
|
||||
*/
|
||||
@ExcelProperty(value = "投标结果", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "xzd_bidding_result")
|
||||
private String biddingResult;
|
||||
|
||||
/**
|
||||
* 开标记录链接
|
||||
*/
|
||||
@ExcelProperty(value = "开标记录链接")
|
||||
private String bidRecordLink;
|
||||
|
||||
/**
|
||||
* 投标分析与总结
|
||||
*/
|
||||
@ExcelProperty(value = "投标分析与总结")
|
||||
private String analysisSummary;
|
||||
|
||||
/**
|
||||
* 最终报价(元)
|
||||
*/
|
||||
@ExcelProperty(value = "最终报价(元)")
|
||||
private Long finalQuoteYuan;
|
||||
|
||||
/**
|
||||
* 最终报价(大写)
|
||||
*/
|
||||
@ExcelProperty(value = "最终报价(大写)")
|
||||
private String finalQuoteChinese;
|
||||
|
||||
/**
|
||||
* 文件ID
|
||||
*/
|
||||
@ExcelProperty(value = "文件ID")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
@ExcelProperty(value = "审核状态")
|
||||
private String auditStatus;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdPostBidAnalysisVo;
|
||||
|
||||
/**
|
||||
* 标后分析Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
public interface XzdPostBidAnalysisMapper extends BaseMapperPlus<XzdPostBidAnalysis, XzdPostBidAnalysisVo>, BaseMapper<XzdPostBidAnalysis> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.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.postAnalysis.domain.XzdPostBidAnalysis;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.bo.XzdPostBidAnalysisBo;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdPostBidAnalysisVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标后分析Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
public interface IXzdPostBidAnalysisService extends IService<XzdPostBidAnalysis>{
|
||||
|
||||
/**
|
||||
* 查询标后分析
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 标后分析
|
||||
*/
|
||||
XzdPostBidAnalysisVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询标后分析列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 标后分析分页列表
|
||||
*/
|
||||
TableDataInfo<XzdPostBidAnalysisVo> queryPageList(XzdPostBidAnalysisBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的标后分析列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 标后分析列表
|
||||
*/
|
||||
List<XzdPostBidAnalysisVo> queryList(XzdPostBidAnalysisBo bo);
|
||||
|
||||
/**
|
||||
* 新增标后分析
|
||||
*
|
||||
* @param bo 标后分析
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdPostBidAnalysisBo bo);
|
||||
|
||||
/**
|
||||
* 修改标后分析
|
||||
*
|
||||
* @param bo 标后分析
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdPostBidAnalysisBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除标后分析信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,149 @@
|
||||
package org.dromara.xzd.biddingManagement.postAnalysis.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.bo.XzdPostBidAnalysisBo;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdPostBidAnalysisVo;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.mapper.XzdPostBidAnalysisMapper;
|
||||
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdPostBidAnalysisService;
|
||||
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 XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysisMapper, XzdPostBidAnalysis> implements IXzdPostBidAnalysisService {
|
||||
|
||||
private final XzdPostBidAnalysisMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询标后分析
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 标后分析
|
||||
*/
|
||||
@Override
|
||||
public XzdPostBidAnalysisVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询标后分析列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 标后分析分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdPostBidAnalysisVo> queryPageList(XzdPostBidAnalysisBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdPostBidAnalysis> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdPostBidAnalysisVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的标后分析列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 标后分析列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdPostBidAnalysisVo> queryList(XzdPostBidAnalysisBo bo) {
|
||||
LambdaQueryWrapper<XzdPostBidAnalysis> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdPostBidAnalysis> buildQueryWrapper(XzdPostBidAnalysisBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdPostBidAnalysis> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdPostBidAnalysis::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectCode()), XzdPostBidAnalysis::getProjectCode, bo.getProjectCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdPostBidAnalysis::getProjectName, bo.getProjectName());
|
||||
lqw.eq(bo.getProjectCost() != null, XzdPostBidAnalysis::getProjectCost, bo.getProjectCost());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), XzdPostBidAnalysis::getProjectType, bo.getProjectType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectAddress()), XzdPostBidAnalysis::getProjectAddress, bo.getProjectAddress());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectOverview()), XzdPostBidAnalysis::getProjectOverview, bo.getProjectOverview());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getConstructionUnit()), XzdPostBidAnalysis::getConstructionUnit, bo.getConstructionUnit());
|
||||
lqw.eq(bo.getBidOpeningDate() != null, XzdPostBidAnalysis::getBidOpeningDate, bo.getBidOpeningDate());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBusinessModel()), XzdPostBidAnalysis::getBusinessModel, bo.getBusinessModel());
|
||||
lqw.eq(bo.getControlPrice() != null, XzdPostBidAnalysis::getControlPrice, bo.getControlPrice());
|
||||
lqw.eq(bo.getFinalQuote() != null, XzdPostBidAnalysis::getFinalQuote, bo.getFinalQuote());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBiddingResult()), XzdPostBidAnalysis::getBiddingResult, bo.getBiddingResult());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBidRecordLink()), XzdPostBidAnalysis::getBidRecordLink, bo.getBidRecordLink());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAnalysisSummary()), XzdPostBidAnalysis::getAnalysisSummary, bo.getAnalysisSummary());
|
||||
lqw.eq(bo.getFinalQuoteYuan() != null, XzdPostBidAnalysis::getFinalQuoteYuan, bo.getFinalQuoteYuan());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFinalQuoteChinese()), XzdPostBidAnalysis::getFinalQuoteChinese, bo.getFinalQuoteChinese());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdPostBidAnalysis::getFileId, bo.getFileId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdPostBidAnalysis::getAuditStatus, bo.getAuditStatus());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增标后分析
|
||||
*
|
||||
* @param bo 标后分析
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdPostBidAnalysisBo bo) {
|
||||
XzdPostBidAnalysis add = MapstructUtils.convert(bo, XzdPostBidAnalysis.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改标后分析
|
||||
*
|
||||
* @param bo 标后分析
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdPostBidAnalysisBo bo) {
|
||||
XzdPostBidAnalysis update = MapstructUtils.convert(bo, XzdPostBidAnalysis.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdPostBidAnalysis entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除标后分析信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,106 @@
|
||||
package org.dromara.xzd.deposit.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.deposit.earnestMoney.domain.bo.XzdDepositApplicationBo;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.vo.XzdDepositApplicationVo;
|
||||
import org.dromara.xzd.deposit.earnestMoney.service.IXzdDepositApplicationService;
|
||||
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/depositApplication")
|
||||
public class XzdDepositApplicationController extends BaseController {
|
||||
|
||||
private final IXzdDepositApplicationService xzdDepositApplicationService;
|
||||
|
||||
/**
|
||||
* 查询保证金缴纳审批列表
|
||||
*/
|
||||
@SaCheckPermission("earnestMoney:depositApplication:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdDepositApplicationVo> list(XzdDepositApplicationBo bo, PageQuery pageQuery) {
|
||||
return xzdDepositApplicationService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出保证金缴纳审批列表
|
||||
*/
|
||||
@SaCheckPermission("earnestMoney:depositApplication:export")
|
||||
@Log(title = "保证金缴纳审批", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdDepositApplicationBo bo, HttpServletResponse response) {
|
||||
List<XzdDepositApplicationVo> list = xzdDepositApplicationService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "保证金缴纳审批", XzdDepositApplicationVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取保证金缴纳审批详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("earnestMoney:depositApplication:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdDepositApplicationVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdDepositApplicationService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保证金缴纳审批
|
||||
*/
|
||||
@SaCheckPermission("earnestMoney:depositApplication:add")
|
||||
@Log(title = "保证金缴纳审批", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdDepositApplicationBo bo) {
|
||||
return toAjax(xzdDepositApplicationService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保证金缴纳审批
|
||||
*/
|
||||
@SaCheckPermission("earnestMoney:depositApplication:edit")
|
||||
@Log(title = "保证金缴纳审批", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdDepositApplicationBo bo) {
|
||||
return toAjax(xzdDepositApplicationService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除保证金缴纳审批
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("earnestMoney:depositApplication:remove")
|
||||
@Log(title = "保证金缴纳审批", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdDepositApplicationService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,131 @@
|
||||
package org.dromara.xzd.deposit.earnestMoney.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
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_deposit_application
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_deposit_application")
|
||||
public class XzdDepositApplication extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 申请时间
|
||||
*/
|
||||
private Date applicationTime;
|
||||
|
||||
/**
|
||||
* 单据流水号
|
||||
*/
|
||||
private String documentSerialNumber;
|
||||
|
||||
/**
|
||||
* 申请人所属组织
|
||||
*/
|
||||
private Long applicantOrganization;
|
||||
|
||||
/**
|
||||
* 申请人所属部门
|
||||
*/
|
||||
private Long applicantDepartment;
|
||||
|
||||
/**
|
||||
* 备案部门
|
||||
*/
|
||||
private Long recordDepartment;
|
||||
|
||||
/**
|
||||
* 部门下属
|
||||
*/
|
||||
private String departmentSubordinate;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 缴纳方式(0:现金,1:转账)
|
||||
*/
|
||||
private Long paymentMethod;
|
||||
|
||||
/**
|
||||
* 保证金类型(字典)
|
||||
*/
|
||||
private String depositType;
|
||||
|
||||
/**
|
||||
* 开户银行
|
||||
*/
|
||||
private String bankName;
|
||||
|
||||
/**
|
||||
* 收取保证金单位
|
||||
*/
|
||||
private String depositReceivingUnit;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
private String accountNumber;
|
||||
|
||||
/**
|
||||
* 金额小写(元)
|
||||
*/
|
||||
private Long amountLower;
|
||||
|
||||
/**
|
||||
* 占合同比例(%)
|
||||
*/
|
||||
private Long contractProportion;
|
||||
|
||||
/**
|
||||
* 金额大写
|
||||
*/
|
||||
private String amountUpper;
|
||||
|
||||
/**
|
||||
* 保证金到期日
|
||||
*/
|
||||
private Date depositDueDate;
|
||||
|
||||
/**
|
||||
* 要求到账日期
|
||||
*/
|
||||
private Date requiredArrivalDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
|
||||
/**
|
||||
* 文件
|
||||
*/
|
||||
@ExcelProperty(value = "文件")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,130 @@
|
||||
package org.dromara.xzd.deposit.earnestMoney.domain.bo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
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.deposit.earnestMoney.domain.XzdDepositApplication;
|
||||
|
||||
/**
|
||||
* 保证金缴纳审批业务对象 xzd_deposit_application
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdDepositApplication.class, reverseConvertGenerate = false)
|
||||
public class XzdDepositApplicationBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 申请时间
|
||||
*/
|
||||
@NotNull(message = "申请时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date applicationTime;
|
||||
|
||||
/**
|
||||
* 单据流水号
|
||||
*/
|
||||
private String documentSerialNumber;
|
||||
|
||||
/**
|
||||
* 申请人所属组织
|
||||
*/
|
||||
private Long applicantOrganization;
|
||||
|
||||
/**
|
||||
* 申请人所属部门
|
||||
*/
|
||||
private Long applicantDepartment;
|
||||
|
||||
/**
|
||||
* 备案部门
|
||||
*/
|
||||
private Long recordDepartment;
|
||||
|
||||
/**
|
||||
* 部门下属
|
||||
*/
|
||||
private String departmentSubordinate;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 缴纳方式(0:现金,1:转账)
|
||||
*/
|
||||
private Long paymentMethod;
|
||||
|
||||
/**
|
||||
* 保证金类型(字典)
|
||||
*/
|
||||
private String depositType;
|
||||
|
||||
/**
|
||||
* 开户银行
|
||||
*/
|
||||
private String bankName;
|
||||
|
||||
/**
|
||||
* 收取保证金单位
|
||||
*/
|
||||
private String depositReceivingUnit;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
private String accountNumber;
|
||||
|
||||
/**
|
||||
* 金额小写(元)
|
||||
*/
|
||||
private Long amountLower;
|
||||
|
||||
/**
|
||||
* 占合同比例(%)
|
||||
*/
|
||||
private Long contractProportion;
|
||||
|
||||
/**
|
||||
* 金额大写
|
||||
*/
|
||||
private String amountUpper;
|
||||
|
||||
/**
|
||||
* 保证金到期日
|
||||
*/
|
||||
private Date depositDueDate;
|
||||
|
||||
/**
|
||||
* 要求到账日期
|
||||
*/
|
||||
private Date requiredArrivalDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 文件
|
||||
*/
|
||||
@ExcelProperty(value = "文件")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,155 @@
|
||||
package org.dromara.xzd.deposit.earnestMoney.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.deposit.earnestMoney.domain.XzdDepositApplication;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 保证金缴纳审批视图对象 xzd_deposit_application
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdDepositApplication.class)
|
||||
public class XzdDepositApplicationVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 申请时间
|
||||
*/
|
||||
@ExcelProperty(value = "申请时间")
|
||||
private Date applicationTime;
|
||||
|
||||
/**
|
||||
* 单据流水号
|
||||
*/
|
||||
@ExcelProperty(value = "单据流水号")
|
||||
private String documentSerialNumber;
|
||||
|
||||
/**
|
||||
* 申请人所属组织
|
||||
*/
|
||||
@ExcelProperty(value = "申请人所属组织")
|
||||
private Long applicantOrganization;
|
||||
|
||||
/**
|
||||
* 申请人所属部门
|
||||
*/
|
||||
@ExcelProperty(value = "申请人所属部门")
|
||||
private Long applicantDepartment;
|
||||
|
||||
/**
|
||||
* 备案部门
|
||||
*/
|
||||
@ExcelProperty(value = "备案部门")
|
||||
private Long recordDepartment;
|
||||
|
||||
/**
|
||||
* 部门下属
|
||||
*/
|
||||
@ExcelProperty(value = "部门下属")
|
||||
private String departmentSubordinate;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 缴纳方式(0:现金,1:转账)
|
||||
*/
|
||||
@ExcelProperty(value = "缴纳方式", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:现金,1:转账")
|
||||
private Long paymentMethod;
|
||||
|
||||
/**
|
||||
* 保证金类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "保证金类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "xzd_deposit_type")
|
||||
private String depositType;
|
||||
|
||||
/**
|
||||
* 开户银行
|
||||
*/
|
||||
@ExcelProperty(value = "开户银行")
|
||||
private String bankName;
|
||||
|
||||
/**
|
||||
* 收取保证金单位
|
||||
*/
|
||||
@ExcelProperty(value = "收取保证金单位")
|
||||
private String depositReceivingUnit;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
@ExcelProperty(value = "账号")
|
||||
private String accountNumber;
|
||||
|
||||
/**
|
||||
* 金额小写(元)
|
||||
*/
|
||||
@ExcelProperty(value = "金额小写(元)")
|
||||
private Long amountLower;
|
||||
|
||||
/**
|
||||
* 占合同比例(%)
|
||||
*/
|
||||
@ExcelProperty(value = "占合同比例(%)")
|
||||
private Long contractProportion;
|
||||
|
||||
/**
|
||||
* 金额大写
|
||||
*/
|
||||
@ExcelProperty(value = "金额大写")
|
||||
private String amountUpper;
|
||||
|
||||
/**
|
||||
* 保证金到期日
|
||||
*/
|
||||
@ExcelProperty(value = "保证金到期日")
|
||||
private Date depositDueDate;
|
||||
|
||||
/**
|
||||
* 要求到账日期
|
||||
*/
|
||||
@ExcelProperty(value = "要求到账日期")
|
||||
private Date requiredArrivalDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remarks;
|
||||
/**
|
||||
* 文件
|
||||
*/
|
||||
@ExcelProperty(value = "文件")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package org.dromara.xzd.deposit.earnestMoney.mapper;
|
||||
|
||||
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.XzdDepositApplication;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.vo.XzdDepositApplicationVo;
|
||||
|
||||
/**
|
||||
* 保证金缴纳审批Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
public interface XzdDepositApplicationMapper extends BaseMapperPlus<XzdDepositApplication, XzdDepositApplicationVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package org.dromara.xzd.deposit.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.deposit.earnestMoney.domain.XzdDepositApplication;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.bo.XzdDepositApplicationBo;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.vo.XzdDepositApplicationVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 保证金缴纳审批Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-11
|
||||
*/
|
||||
public interface IXzdDepositApplicationService extends IService<XzdDepositApplication>{
|
||||
|
||||
/**
|
||||
* 查询保证金缴纳审批
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 保证金缴纳审批
|
||||
*/
|
||||
XzdDepositApplicationVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询保证金缴纳审批列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 保证金缴纳审批分页列表
|
||||
*/
|
||||
TableDataInfo<XzdDepositApplicationVo> queryPageList(XzdDepositApplicationBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的保证金缴纳审批列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 保证金缴纳审批列表
|
||||
*/
|
||||
List<XzdDepositApplicationVo> queryList(XzdDepositApplicationBo bo);
|
||||
|
||||
/**
|
||||
* 新增保证金缴纳审批
|
||||
*
|
||||
* @param bo 保证金缴纳审批
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdDepositApplicationBo bo);
|
||||
|
||||
/**
|
||||
* 修改保证金缴纳审批
|
||||
*
|
||||
* @param bo 保证金缴纳审批
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdDepositApplicationBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除保证金缴纳审批信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,175 @@
|
||||
package org.dromara.xzd.deposit.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.XzdBidPreProjectVo;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.XzdDepositApplication;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.bo.XzdDepositApplicationBo;
|
||||
import org.dromara.xzd.deposit.earnestMoney.domain.vo.XzdDepositApplicationVo;
|
||||
import org.dromara.xzd.deposit.earnestMoney.mapper.XzdDepositApplicationMapper;
|
||||
import org.dromara.xzd.deposit.earnestMoney.service.IXzdDepositApplicationService;
|
||||
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 XzdDepositApplicationServiceImpl extends ServiceImpl<XzdDepositApplicationMapper, XzdDepositApplication> implements IXzdDepositApplicationService {
|
||||
|
||||
private final XzdDepositApplicationMapper baseMapper;
|
||||
private final AreaUtil areaUtil;
|
||||
private final SysOssServiceImpl sysOssService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询保证金缴纳审批
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 保证金缴纳审批
|
||||
*/
|
||||
@Override
|
||||
public XzdDepositApplicationVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询保证金缴纳审批列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 保证金缴纳审批分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdDepositApplicationVo> queryPageList(XzdDepositApplicationBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdDepositApplication> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdDepositApplicationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的保证金缴纳审批列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 保证金缴纳审批列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdDepositApplicationVo> queryList(XzdDepositApplicationBo bo) {
|
||||
LambdaQueryWrapper<XzdDepositApplication> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdDepositApplication> buildQueryWrapper(XzdDepositApplicationBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdDepositApplication> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdDepositApplication::getId);
|
||||
lqw.eq(bo.getApplicationTime() != null, XzdDepositApplication::getApplicationTime, bo.getApplicationTime());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDocumentSerialNumber()), XzdDepositApplication::getDocumentSerialNumber, bo.getDocumentSerialNumber());
|
||||
lqw.eq(bo.getApplicantOrganization() != null, XzdDepositApplication::getApplicantOrganization, bo.getApplicantOrganization());
|
||||
lqw.eq(bo.getApplicantDepartment() != null, XzdDepositApplication::getApplicantDepartment, bo.getApplicantDepartment());
|
||||
lqw.eq(bo.getRecordDepartment() != null, XzdDepositApplication::getRecordDepartment, bo.getRecordDepartment());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDepartmentSubordinate()), XzdDepositApplication::getDepartmentSubordinate, bo.getDepartmentSubordinate());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdDepositApplication::getProjectName, bo.getProjectName());
|
||||
lqw.eq(bo.getPaymentMethod() != null, XzdDepositApplication::getPaymentMethod, bo.getPaymentMethod());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDepositType()), XzdDepositApplication::getDepositType, bo.getDepositType());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getBankName()), XzdDepositApplication::getBankName, bo.getBankName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDepositReceivingUnit()), XzdDepositApplication::getDepositReceivingUnit, bo.getDepositReceivingUnit());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAccountNumber()), XzdDepositApplication::getAccountNumber, bo.getAccountNumber());
|
||||
lqw.eq(bo.getAmountLower() != null, XzdDepositApplication::getAmountLower, bo.getAmountLower());
|
||||
lqw.eq(bo.getContractProportion() != null, XzdDepositApplication::getContractProportion, bo.getContractProportion());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAmountUpper()), XzdDepositApplication::getAmountUpper, bo.getAmountUpper());
|
||||
lqw.eq(bo.getDepositDueDate() != null, XzdDepositApplication::getDepositDueDate, bo.getDepositDueDate());
|
||||
lqw.eq(bo.getRequiredArrivalDate() != null, XzdDepositApplication::getRequiredArrivalDate, bo.getRequiredArrivalDate());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdDepositApplication::getRemarks, bo.getRemarks());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保证金缴纳审批
|
||||
*
|
||||
* @param bo 保证金缴纳审批
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdDepositApplicationBo bo) {
|
||||
XzdDepositApplication add = MapstructUtils.convert(bo, XzdDepositApplication.class);
|
||||
validEntityBeforeSave(add);
|
||||
|
||||
Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdDepositApplication>().gt(XzdDepositApplication::getCreateTime, LocalDate.now()));
|
||||
String s = areaUtil.generateDateBasedNumber();
|
||||
add.setDocumentSerialNumber(s+"-"+(l+1));
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保证金缴纳审批
|
||||
*
|
||||
* @param bo 保证金缴纳审批
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdDepositApplicationBo bo) {
|
||||
XzdDepositApplication update = MapstructUtils.convert(bo, XzdDepositApplication.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdDepositApplication entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除保证金缴纳审批信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
|
||||
for (Long id : ids) {
|
||||
XzdDepositApplicationVo xzdDepositApplicationVo = baseMapper.selectVoById(id);
|
||||
|
||||
// 删除附件
|
||||
if (!StringUtils.isEmpty(xzdDepositApplicationVo.getFileId())){
|
||||
List<Long> collect = Arrays.stream(xzdDepositApplicationVo.getFileId().split(",")).map(item -> {
|
||||
return Long.parseLong(item);
|
||||
}).collect(Collectors.toList());
|
||||
sysOssService.deleteWithValidByIds(collect, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user