From 1ed47f0ff357d020950662a1fd4048cee0042ee0 Mon Sep 17 00:00:00 2001 From: lcj <2331845269@qq.com> Date: Thu, 31 Jul 2025 19:15:19 +0800 Subject: [PATCH] =?UTF-8?q?[add]=20=E6=9F=A5=E8=AF=A2=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E5=A1=AB=E6=8A=A5=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PgsProgressPlanDetailController.java | 11 +++ .../PgsProgressPlanDetailQueryReq.java | 32 ++++++++ .../PgsProgressPlanDetailVo.java | 9 ++- .../IPgsProgressPlanDetailService.java | 37 +++++++++ .../PgsProgressPlanDetailServiceImpl.java | 77 +++++++++++++++++++ 5 files changed, 162 insertions(+), 4 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progressplandetail/PgsProgressPlanDetailQueryReq.java diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressPlanDetailController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressPlanDetailController.java index ec6f719d..98bd6653 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressPlanDetailController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressPlanDetailController.java @@ -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 list(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery){ + return pgsProgressPlanDetailService.queryPageList(req, pageQuery); + } + /** * 新增进度计划详情(普通设施) */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progressplandetail/PgsProgressPlanDetailQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progressplandetail/PgsProgressPlanDetailQueryReq.java new file mode 100644 index 00000000..55d7e7f3 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progressplandetail/PgsProgressPlanDetailQueryReq.java @@ -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; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailVo.java index f46a7c3f..dcb005e6 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailVo.java @@ -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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressPlanDetailService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressPlanDetailService.java index 517a4f37..d7d68c77 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressPlanDetailService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressPlanDetailService.java @@ -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 { + /** + * 分页查询进度计划详情列表 + * + * @param req 查询进度计划详情参数 + * @param pageQuery 分页参数 + * @return 进度计划详情分页列表 + */ + TableDataInfo queryPageList(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery); + /** * 插入进度计划详情设施 * @@ -71,4 +84,28 @@ public interface IPgsProgressPlanDetailService extends IService buildQueryWrapper(PgsProgressPlanDetailQueryReq req); + + /** + * 获取进度计划详情分页对象视图 + * + * @param progressPlanDetailPage 进度计划详情分页对象 + * @return 进度计划分页详情对象视图 + */ + Page getVoPage(Page progressPlanDetailPage); + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java index 55ef3272..681361b2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java @@ -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 queryPageList(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + /** * 插入进度计划详情设施 * @@ -491,6 +507,67 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl buildQueryWrapper(PgsProgressPlanDetailQueryReq req) { + LambdaQueryWrapper 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 getVoPage(Page progressPlanDetailPage) { + List progressPlanDetailList = progressPlanDetailPage.getRecords(); + Page progressPlanDetailVoPage = new Page<>( + progressPlanDetailPage.getCurrent(), + progressPlanDetailPage.getSize(), + progressPlanDetailPage.getTotal()); + if (CollUtil.isEmpty(progressPlanDetailList)) { + return progressPlanDetailVoPage; + } + List progressPlanDetailVoList = progressPlanDetailList.stream() + .map(progressPlanDetail -> { + PgsProgressPlanDetailVo progressPlanDetailVo = new PgsProgressPlanDetailVo(); + BeanUtils.copyProperties(progressPlanDetail, progressPlanDetailVo); + return progressPlanDetailVo; + }) + .toList(); + progressPlanDetailVoPage.setRecords(progressPlanDetailVoList); + return progressPlanDetailVoPage; + } + /** * 分页 *