From 0007e63680e40d2957a24732a6e0ee4d5b97ee68 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期一, 25 十一月 2024 10:34:49 +0800 Subject: [PATCH] 项目计划展示 --- business/src/main/resources/mapper/PlanMapper.xml | 48 +++++++++++++++++------ business/src/main/java/com/ycl/controller/PlanController.java | 2 business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java | 21 +++++----- business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java | 22 +++++++++++ business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java | 3 + 5 files changed, 70 insertions(+), 26 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/PlanController.java b/business/src/main/java/com/ycl/controller/PlanController.java index 1e30b2c..f7d6b75 100644 --- a/business/src/main/java/com/ycl/controller/PlanController.java +++ b/business/src/main/java/com/ycl/controller/PlanController.java @@ -62,7 +62,7 @@ @GetMapping("/page") @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉") - @PreAuthorize("hasAuthority('plan:page')") +// @PreAuthorize("hasAuthority('plan:page')") public Result page(PlanQuery query) { return planService.page(query); } diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java index 3c36314..c7f7aa2 100644 --- a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java +++ b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java @@ -1,22 +1,21 @@ package com.ycl.controller; -import com.ycl.common.group.Update; -import com.ycl.common.group.Add; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import lombok.RequiredArgsConstructor; -import java.util.List; -import org.springframework.validation.annotation.Validated; -import javax.validation.constraints.NotEmpty; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.ycl.service.ProjectPlanExamineRecordService; import com.ycl.common.base.Result; +import com.ycl.common.group.Add; +import com.ycl.common.group.Update; import com.ycl.domain.form.ProjectPlanExamineRecordForm; import com.ycl.domain.query.ProjectPlanExamineRecordQuery; +import com.ycl.service.ProjectPlanExamineRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.validation.constraints.NotEmpty; +import java.util.List; + /** * 椤圭洰瀹℃牳璁板綍琛� 鍓嶇鎺у埗鍣� * diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java new file mode 100644 index 0000000..b12c748 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java @@ -0,0 +1,22 @@ +package com.ycl.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ProjectPlanResponseVO { + private Integer id; + private String projectName; + private Integer reportStatus; + private String projectCode; + private Integer projectType; + private Integer projectPhase; + private Integer monthStatus; + private Integer seasonStatus; + private Integer yearStatus; + private Integer projectStatus; + private Integer investType; +} diff --git a/business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java b/business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java index 9dba0cd..092592c 100644 --- a/business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/PlanServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.common.base.Result; import com.ycl.domain.entity.Plan; +import com.ycl.domain.vo.ProjectPlanResponseVO; import com.ycl.framework.utils.PageUtil; import com.ycl.mapper.PlanMapper; import com.ycl.service.PlanService; @@ -87,7 +88,7 @@ */ @Override public Result page(PlanQuery query) { - IPage<PlanVO> page = PageUtil.getPage(query, PlanVO.class); + IPage<ProjectPlanResponseVO> page = PageUtil.getPage(query, ProjectPlanResponseVO.class); baseMapper.getPage(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } diff --git a/business/src/main/resources/mapper/PlanMapper.xml b/business/src/main/resources/mapper/PlanMapper.xml index f257919..eb6d1d9 100644 --- a/business/src/main/resources/mapper/PlanMapper.xml +++ b/business/src/main/resources/mapper/PlanMapper.xml @@ -13,6 +13,21 @@ <result column="gmt_update_time" property="gmtUpdateTime" /> </resultMap> + <!-- 鍒嗛〉鏉′欢鏌ヨ椤圭洰璁″垝璁板綍鏄犲皠缁撴灉 --> + <resultMap id="PageResultMap" type="com.ycl.domain.vo.ProjectPlanResponseVO"> + <id property="id" column="id" /> + <result property="projectName" column="project_name" /> + <result property="reportStatus" column="report_status" /> + <result property="projectCode" column="project_code" /> + <result property="projectType" column="project_type" /> + <result property="projectPhase" column="project_phase" /> + <result property="monthStatus" column="month_status" /> + <result property="seasonStatus" column="season_status" /> + <result property="yearStatus" column="year_status" /> + <result property="projectStatus" column="project_status" /> + <result property="investType" column="invest_type" /> + </resultMap> + @@ -36,20 +51,27 @@ </select> - <select id="getPage" resultMap="BaseResultMap"> - SELECT - TP.project_info_id, - TP.report_status, - TP.month_status, - TP.season_status, - TP.year_status, - TP.gmt_create_time, - TP.gmt_update_time, - TP.id - FROM - t_plan TP + <select id="getPage" resultMap="PageResultMap"> + SELECT DISTINCT + pi.id, + pi.project_name, + p.report_status, + pi.project_code, + pi.project_type, + pi.project_phase, + IFNULL((select report_status from t_project_plan_record + WHERE plan_time_flag = 0 AND project_info_id = pi.id ORDER BY create_time DESC LIMIT 1),1) as month_status, + IFNULL((select report_status from t_project_plan_record + WHERE plan_time_flag = 1 AND project_info_id = pi.id ORDER BY create_time DESC LIMIT 1),1) as season_status, + IFNULL((select report_status from t_project_plan_record + WHERE plan_time_flag = 2 AND project_info_id = pi.id ORDER BY create_time DESC LIMIT 1),1) as year_status, + pi.project_status, + pi.invest_type + FROM t_plan AS p + INNER JOIN t_project_info AS pi ON p.project_info_id = pi.id + INNER JOIN t_project_plan_record AS ppr ON p.id = ppr.plan_id WHERE - TP.deleted = 0 + p.deleted = 0 </select> </mapper> -- Gitblit v1.8.0