[fix] 优化合同管理功能

This commit is contained in:
wyw 2024-07-24 13:35:44 +08:00
parent b06e9b7d56
commit 967a83948b
6 changed files with 25 additions and 27 deletions

View File

@ -71,8 +71,8 @@ public class ContractController {
@GetMapping("/page")
@Operation(summary = "获得合同分页")
@PreAuthorize("@ss.hasPermission('cms:contract:query')")
public CommonResult<PageResult<ContractDO>> getContractPage(@Valid ContractPageReqVO pageReqVO) {
PageResult<ContractDO> pageResult = contractService.getContractPage(pageReqVO);
public CommonResult<PageResult<ContractRespVO>> getContractPage(@Valid ContractPageReqVO pageReqVO) {
PageResult<ContractRespVO> pageResult = contractService.getContractPage(pageReqVO);
return success(pageResult);
}
@ -83,7 +83,7 @@ public class ContractController {
public void exportContractExcel(@Valid ContractPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ContractDO> list = contractService.getContractPage(pageReqVO).getList();
List<ContractRespVO> list = contractService.getContractPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "合同.xls", "数据", ContractRespVO.class,
BeanUtils.toBean(list, ContractRespVO.class));

View File

@ -17,7 +17,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
public class ContractPageReqVO extends PageParam {
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED)
private Long projectId;
@Schema(description = "合同名称", example = "芋艿")

View File

@ -1,23 +1,10 @@
package cn.iocoder.yudao.module.cms.dal.dataobject.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@ -166,5 +153,4 @@ public class ContractDO extends BaseDO {
*/
private LocalDateTime updateTime;
}

View File

@ -18,7 +18,6 @@ public interface ContractMapper extends BaseMapperX<ContractDO> {
default PageResult<ContractDO> selectPage(ContractPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ContractDO>()
.likeIfPresent(ContractDO::getName, reqVO.getName())
.eqIfPresent(ContractDO::getProjectId, reqVO.getProjectId())
.eqIfPresent(ContractDO::getType, reqVO.getType())
.eqIfPresent(ContractDO::getProgress, reqVO.getProgress())
.betweenIfPresent(ContractDO::getExpectedTime, reqVO.getExpectedTime())
@ -44,10 +43,9 @@ public interface ContractMapper extends BaseMapperX<ContractDO> {
.eqIfPresent(ContractDO::getSurveyFees, reqVO.getSurveyFees())
.eqIfPresent(ContractDO::getMeasurementFee, reqVO.getMeasurementFee())
.eqIfPresent(ContractDO::getOtherFee, reqVO.getOtherFee())
.orderByDesc(ContractDO::getId)
);
}
}
}

View File

@ -50,7 +50,7 @@ public interface ContractService {
* @param pageReqVO 分页查询
* @return 合同分页
*/
PageResult<ContractDO> getContractPage(ContractPageReqVO pageReqVO);
PageResult<ContractRespVO> getContractPage(ContractPageReqVO pageReqVO);
/**
* 获得暂定结算金额

View File

@ -16,6 +16,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*;
@ -100,8 +102,20 @@ public class ContractServiceImpl implements ContractService {
}
@Override
public PageResult<ContractDO> getContractPage(ContractPageReqVO pageReqVO) {
return contractMapper.selectPage(pageReqVO);
public PageResult<ContractRespVO> getContractPage(ContractPageReqVO pageReqVO) {
PageResult<ContractDO> contractDOPageResult = contractMapper.selectPage(pageReqVO);
List<ContractDO> contractDOList = contractDOPageResult.getList();
List<ContractRespVO> contractRespVOList = new ArrayList<>();
for (ContractDO contractDO : contractDOList) {
Long id = contractDO.getId();
ContractRespVO contract = getContract(id);
contractRespVOList.add(contract);
}
PageResult<ContractRespVO> pageResult = new PageResult<>();
pageResult.setList(contractRespVOList);
return pageResult;
}
@Override