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