[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") @GetMapping("/page")
@Operation(summary = "获得合同分页") @Operation(summary = "获得合同分页")
@PreAuthorize("@ss.hasPermission('cms:contract:query')") @PreAuthorize("@ss.hasPermission('cms:contract:query')")
public CommonResult<PageResult<ContractDO>> getContractPage(@Valid ContractPageReqVO pageReqVO) { public CommonResult<PageResult<ContractRespVO>> getContractPage(@Valid ContractPageReqVO pageReqVO) {
PageResult<ContractDO> pageResult = contractService.getContractPage(pageReqVO); PageResult<ContractRespVO> pageResult = contractService.getContractPage(pageReqVO);
return success(pageResult); return success(pageResult);
} }
@ -83,7 +83,7 @@ public class ContractController {
public void exportContractExcel(@Valid ContractPageReqVO pageReqVO, public void exportContractExcel(@Valid ContractPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ContractDO> list = contractService.getContractPage(pageReqVO).getList(); List<ContractRespVO> list = contractService.getContractPage(pageReqVO).getList();
// 导出 Excel // 导出 Excel
ExcelUtils.write(response, "合同.xls", "数据", ContractRespVO.class, ExcelUtils.write(response, "合同.xls", "数据", ContractRespVO.class,
BeanUtils.toBean(list, 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 { public class ContractPageReqVO extends PageParam {
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED)
private Long projectId; private Long projectId;
@Schema(description = "合同名称", example = "芋艿") @Schema(description = "合同名称", example = "芋艿")

View File

@ -1,23 +1,10 @@
package cn.iocoder.yudao.module.cms.dal.dataobject.contract; 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 lombok.*;
import java.util.*;
import java.time.LocalDateTime;
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.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 com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@ -166,5 +153,4 @@ public class ContractDO extends BaseDO {
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
} }

View File

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

View File

@ -50,7 +50,7 @@ public interface ContractService {
* @param pageReqVO 分页查询 * @param pageReqVO 分页查询
* @return 合同分页 * @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 cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import java.math.BigDecimal; 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.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*;
@ -100,8 +102,20 @@ public class ContractServiceImpl implements ContractService {
} }
@Override @Override
public PageResult<ContractDO> getContractPage(ContractPageReqVO pageReqVO) { public PageResult<ContractRespVO> getContractPage(ContractPageReqVO pageReqVO) {
return contractMapper.selectPage(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 @Override