[add] 查询进度填报详情

This commit is contained in:
lcj
2025-07-31 19:15:19 +08:00
parent 7a72c1a4a2
commit 1ed47f0ff3
5 changed files with 162 additions and 4 deletions

View File

@ -10,9 +10,11 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailFinishedCreateReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailPercentageCreateReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailQueryReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailRemoveReq;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailFinishedVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailUnFinishVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailVo;
import org.dromara.progress.service.IPgsProgressPlanDetailService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -31,6 +33,15 @@ public class PgsProgressPlanDetailController extends BaseController {
@Resource
private IPgsProgressPlanDetailService pgsProgressPlanDetailService;
/**
* 查询进度计划详情列表
*/
@SaCheckPermission("progress:progressPlanDetail:list")
@GetMapping("/list")
public TableDataInfo<PgsProgressPlanDetailVo> list(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery){
return pgsProgressPlanDetailService.queryPageList(req, pageQuery);
}
/**
* 新增进度计划详情(普通设施)
*/

View File

@ -0,0 +1,32 @@
package org.dromara.progress.domain.dto.progressplandetail;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* @author lilemy
* @date 2025-07-31 18:59
*/
@Data
public class PgsProgressPlanDetailQueryReq implements Serializable {
@Serial
private static final long serialVersionUID = -1135087412952022463L;
/**
* 项目id
*/
private Long projectId;
/**
* 进度计划id
*/
private Long progressPlanId;
/**
* 进度类型id
*/
private Long progressCategoryId;
}

View File

@ -1,16 +1,16 @@
package org.dromara.progress.domain.vo.progressplandetail;
import java.math.BigDecimal;
import java.util.Date;
import org.dromara.progress.domain.PgsProgressPlanDetail;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.progress.domain.PgsProgressPlanDetail;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -49,6 +49,7 @@ public class PgsProgressPlanDetailVo implements Serializable {
* 计划时间
*/
@ExcelProperty(value = "计划时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date date;
/**

View File

@ -1,15 +1,19 @@
package org.dromara.progress.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.progress.domain.PgsProgressPlanDetail;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailFinishedCreateReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailPercentageCreateReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailQueryReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailRemoveReq;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailFinishedVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailNumVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailUnFinishVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailVo;
import java.util.List;
@ -21,6 +25,15 @@ import java.util.List;
*/
public interface IPgsProgressPlanDetailService extends IService<PgsProgressPlanDetail> {
/**
* 分页查询进度计划详情列表
*
* @param req 查询进度计划详情参数
* @param pageQuery 分页参数
* @return 进度计划详情分页列表
*/
TableDataInfo<PgsProgressPlanDetailVo> queryPageList(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery);
/**
* 插入进度计划详情设施
*
@ -71,4 +84,28 @@ public interface IPgsProgressPlanDetailService extends IService<PgsProgressPlanD
*/
Boolean removeDetail(PgsProgressPlanDetailRemoveReq req);
/**
* 获取进度计划详情视图对象
*
* @param progressPlanDetail 进度计划详情对象
* @return 进度计划详情视图对象
*/
PgsProgressPlanDetailVo getVo(PgsProgressPlanDetail progressPlanDetail);
/**
* 获取进度计划详情查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<PgsProgressPlanDetail> buildQueryWrapper(PgsProgressPlanDetailQueryReq req);
/**
* 获取进度计划详情分页对象视图
*
* @param progressPlanDetailPage 进度计划详情分页对象
* @return 进度计划分页详情对象视图
*/
Page<PgsProgressPlanDetailVo> getVoPage(Page<PgsProgressPlanDetail> progressPlanDetailPage);
}

View File

@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.ObjectUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.utils.PageConvertUtil;
@ -30,11 +31,13 @@ import org.dromara.progress.domain.PgsProgressPlan;
import org.dromara.progress.domain.PgsProgressPlanDetail;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailFinishedCreateReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailPercentageCreateReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailQueryReq;
import org.dromara.progress.domain.dto.progressplandetail.PgsProgressPlanDetailRemoveReq;
import org.dromara.progress.domain.enums.PgsFinishStatusEnum;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailFinishedVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailNumVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailUnFinishVo;
import org.dromara.progress.domain.vo.progressplandetail.PgsProgressPlanDetailVo;
import org.dromara.progress.mapper.PgsProgressPlanDetailMapper;
import org.dromara.progress.service.IPgsProgressCategoryService;
import org.dromara.progress.service.IPgsProgressPlanDetailService;
@ -78,6 +81,19 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
@Resource
private IFacPhotovoltaicPanelPartsService photovoltaicPanelPartsService;
/**
* 分页查询进度计划详情列表
*
* @param req 查询进度计划详情参数
* @param pageQuery 分页参数
* @return 进度计划详情分页列表
*/
@Override
public TableDataInfo<PgsProgressPlanDetailVo> queryPageList(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery) {
Page<PgsProgressPlanDetail> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 插入进度计划详情设施
*
@ -491,6 +507,67 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
return true;
}
/**
* 获取进度计划详情视图对象
*
* @param progressPlanDetail 进度计划详情对象
* @return 进度计划详情视图对象
*/
@Override
public PgsProgressPlanDetailVo getVo(PgsProgressPlanDetail progressPlanDetail) {
PgsProgressPlanDetailVo vo = new PgsProgressPlanDetailVo();
BeanUtils.copyProperties(progressPlanDetail, vo);
return vo;
}
/**
* 获取进度计划详情查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
@Override
public LambdaQueryWrapper<PgsProgressPlanDetail> buildQueryWrapper(PgsProgressPlanDetailQueryReq req) {
LambdaQueryWrapper<PgsProgressPlanDetail> lqw = new LambdaQueryWrapper<>();
if (req == null) {
return lqw;
}
Long projectId = req.getProjectId();
Long progressPlanId = req.getProgressPlanId();
Long progressCategoryId = req.getProgressCategoryId();
lqw.eq(ObjectUtils.isNotEmpty(projectId), PgsProgressPlanDetail::getProjectId, projectId);
lqw.eq(ObjectUtils.isNotEmpty(progressPlanId), PgsProgressPlanDetail::getId, progressPlanId);
lqw.eq(ObjectUtils.isNotEmpty(progressCategoryId), PgsProgressPlanDetail::getProgressCategoryId, progressCategoryId);
return lqw;
}
/**
* 获取进度计划详情分页对象视图
*
* @param progressPlanDetailPage 进度计划详情分页对象
* @return 进度计划分页详情对象视图
*/
@Override
public Page<PgsProgressPlanDetailVo> getVoPage(Page<PgsProgressPlanDetail> progressPlanDetailPage) {
List<PgsProgressPlanDetail> progressPlanDetailList = progressPlanDetailPage.getRecords();
Page<PgsProgressPlanDetailVo> progressPlanDetailVoPage = new Page<>(
progressPlanDetailPage.getCurrent(),
progressPlanDetailPage.getSize(),
progressPlanDetailPage.getTotal());
if (CollUtil.isEmpty(progressPlanDetailList)) {
return progressPlanDetailVoPage;
}
List<PgsProgressPlanDetailVo> progressPlanDetailVoList = progressPlanDetailList.stream()
.map(progressPlanDetail -> {
PgsProgressPlanDetailVo progressPlanDetailVo = new PgsProgressPlanDetailVo();
BeanUtils.copyProperties(progressPlanDetail, progressPlanDetailVo);
return progressPlanDetailVo;
})
.toList();
progressPlanDetailVoPage.setRecords(progressPlanDetailVoList);
return progressPlanDetailVoPage;
}
/**
* 分页
*