From 66b258f3e333b2413e3c7c28a8a6794545fc6eb8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 27 二月 2025 09:50:52 +0800
Subject: [PATCH] 流程推进展示工程

---
 system/src/main/java/com/ycl/system/domain/base/AbsUUIDForm.java               |   20 ++++++
 business/src/main/java/com/ycl/domain/form/ProjectEngineeringForm.java         |    3 
 business/src/main/java/com/ycl/domain/vo/ProjectEngineeringVO.java             |    3 
 business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java           |    3 
 business/src/main/java/com/ycl/controller/ProjectEngineeringController.java    |    2 
 business/src/main/java/com/ycl/mapper/ProjectEngineeringMapper.java            |    2 
 system/src/main/java/com/ycl/system/domain/base/AbsUUIDEntity.java             |   34 +++++++++++
 system/src/main/java/com/ycl/system/domain/base/AbsUUIDVo.java                 |   24 ++++++++
 business/src/main/java/com/ycl/service/impl/ProjectEngineeringServiceImpl.java |    2 
 business/src/main/java/com/ycl/service/ProjectEngineeringService.java          |    2 
 business/src/main/resources/mapper/ProjectProcessMapper.xml                    |   43 ++++++++++++--
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java     |    1 
 business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java                 |   11 +++
 13 files changed, 137 insertions(+), 13 deletions(-)

diff --git a/business/src/main/java/com/ycl/controller/ProjectEngineeringController.java b/business/src/main/java/com/ycl/controller/ProjectEngineeringController.java
index 71de6fe..febce91 100644
--- a/business/src/main/java/com/ycl/controller/ProjectEngineeringController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectEngineeringController.java
@@ -70,7 +70,7 @@
     @GetMapping("/{id}")
     @ApiOperation(value = "璇︽儏", notes = "璇︽儏")
 //    @PreAuthorize("@ss.hasPermi('projectEngineering:detail')")
-    public Result detail(@PathVariable("id") Integer id) {
+    public Result detail(@PathVariable("id") String id) {
         return projectEngineeringService.detail(id);
     }
 
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java b/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
index 65b9eb9..af14acc 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
@@ -5,6 +5,7 @@
 import java.io.Serializable;
 
 import com.ycl.system.domain.base.AbsEntity;
+import com.ycl.system.domain.base.AbsUUIDEntity;
 import lombok.Data;
 
 /**
@@ -15,7 +16,7 @@
  */
 @Data
 @TableName("t_project_engineering")
-public class ProjectEngineering extends AbsEntity {
+public class ProjectEngineering extends AbsUUIDEntity {
 
     private static final long serialVersionUID = 1L;
 
diff --git a/business/src/main/java/com/ycl/domain/form/ProjectEngineeringForm.java b/business/src/main/java/com/ycl/domain/form/ProjectEngineeringForm.java
index dba0808..e83ff25 100644
--- a/business/src/main/java/com/ycl/domain/form/ProjectEngineeringForm.java
+++ b/business/src/main/java/com/ycl/domain/form/ProjectEngineeringForm.java
@@ -4,6 +4,7 @@
 import com.ycl.common.group.Add;
 import com.ycl.system.domain.base.AbsForm;
 import com.ycl.domain.entity.ProjectEngineering;
+import com.ycl.system.domain.base.AbsUUIDForm;
 import org.springframework.beans.BeanUtils;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -21,7 +22,7 @@
  */
 @Data
 @ApiModel(value = "ProjectEngineering琛ㄥ崟", description = "椤圭洰宸ョ▼琛ㄥ崟")
-public class ProjectEngineeringForm extends AbsForm {
+public class ProjectEngineeringForm extends AbsUUIDForm {
 
     @NotNull(message = "椤圭洰id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰id")
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectEngineeringVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectEngineeringVO.java
index 58d66c2..20f31b2 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectEngineeringVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectEngineeringVO.java
@@ -1,5 +1,6 @@
 package com.ycl.domain.vo;
 
+import com.ycl.system.domain.base.AbsUUIDVo;
 import com.ycl.system.domain.base.AbsVo;
 import com.ycl.domain.entity.ProjectEngineering;
 import java.util.List;
@@ -18,7 +19,7 @@
  */
 @Data
 @ApiModel(value = "椤圭洰宸ョ▼鍝嶅簲鏁版嵁", description = "椤圭洰宸ョ▼鍝嶅簲鏁版嵁")
-public class ProjectEngineeringVO extends AbsVo {
+public class ProjectEngineeringVO extends AbsUUIDVo {
 
     /** 椤圭洰id */
     @ApiModelProperty("椤圭洰id")
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
index 703f8e9..356b9c3 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
@@ -9,7 +9,9 @@
 import org.springframework.lang.NonNull;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 娴佺▼鎺ㄨ繘鍒楄〃淇℃伅琛ㄥ睍绀�
@@ -36,4 +38,13 @@
 
     @ApiModelProperty("娴佺▼鏄惁鎸傝捣/鏆傚仠")
     private boolean suspended;
+
+    @ApiModelProperty("鎶曡祫棰�")
+    private String investmentAmount;
+
+    @ApiModelProperty("寮�宸ョ姸鎬�")
+    private String status;
+
+    @ApiModelProperty("宸ョ▼鍒楄〃")
+    private List<ProjectEngineeringVO> children = new ArrayList<>();
 }
diff --git a/business/src/main/java/com/ycl/mapper/ProjectEngineeringMapper.java b/business/src/main/java/com/ycl/mapper/ProjectEngineeringMapper.java
index 2975235..4166216 100644
--- a/business/src/main/java/com/ycl/mapper/ProjectEngineeringMapper.java
+++ b/business/src/main/java/com/ycl/mapper/ProjectEngineeringMapper.java
@@ -24,7 +24,7 @@
      * @param id
      * @return
      */
-    ProjectEngineeringVO getById(Integer id);
+    ProjectEngineeringVO getById(String id);
 
     /**
     *  鍒嗛〉
diff --git a/business/src/main/java/com/ycl/service/ProjectEngineeringService.java b/business/src/main/java/com/ycl/service/ProjectEngineeringService.java
index 274276d..a68e5a8 100644
--- a/business/src/main/java/com/ycl/service/ProjectEngineeringService.java
+++ b/business/src/main/java/com/ycl/service/ProjectEngineeringService.java
@@ -55,7 +55,7 @@
      * @param id
      * @return
      */
-    Result detail(Integer id);
+    Result detail(String id);
 
     /**
      * 鍒楄〃
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectEngineeringServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectEngineeringServiceImpl.java
index c736026..90c7d79 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectEngineeringServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectEngineeringServiceImpl.java
@@ -98,7 +98,7 @@
      * @return
      */
     @Override
-    public Result detail(Integer id) {
+    public Result detail(String id) {
         ProjectEngineeringVO vo = baseMapper.getById(id);
         Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
         return Result.ok().data(vo);
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index b8bd222..ee84bc4 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -102,6 +102,7 @@
         IPage<ProjectProcessVO> page = PageUtil.getPage(query, ProjectProcessVO.class);
         baseMapper.getPage(query, page);
         for (ProjectProcessVO vo : page.getRecords()) {
+            vo.setStatus(vo.getProjectStatus());
             if (Objects.nonNull(vo.getProcessDefId())) {
                 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(vo.getProcessDefId()).singleResult();
                 if (Objects.nonNull(processDefinition)) {
diff --git a/business/src/main/resources/mapper/ProjectProcessMapper.xml b/business/src/main/resources/mapper/ProjectProcessMapper.xml
index 80450e4..c51819b 100644
--- a/business/src/main/resources/mapper/ProjectProcessMapper.xml
+++ b/business/src/main/resources/mapper/ProjectProcessMapper.xml
@@ -9,17 +9,14 @@
         <result column="project_code" property="projectCode" />
         <result column="content" property="content" />
         <result column="project_type" property="projectType" />
+        <result column="investmentAmount" property="investmentAmount" />
         <result column="project_status" property="projectStatus" />
         <result column="fund_type" property="fundType" />
         <result column="invest_type" property="investType" />
         <result column="project_phase" property="projectPhase" />
         <result column="tag" property="tag" />
-<!--        <result column="competent_department" property="competentDepartment" />-->
-<!--        <result column="management_centralization" property="managementCentralization" />-->
         <result column="project_approval_type" property="projectApprovalType" />
         <result column="importance_type" property="importanceType" />
-<!--        <result column="year" property="year" />-->
-<!--        <result column="year_invest_amount" property="yearInvestAmount" />-->
         <result column="create_project_time" property="createProjectTime" />
         <result column="plan_start_time" property="planStartTime" />
         <result column="plan_complete_time" property="planCompleteTime" />
@@ -34,10 +31,42 @@
         <result column="create_by" property="createBy" />
         <result column="process_def_id" property="processDefId" />
         <result column="process_ins_id" property="processInsId" />
-<!--        <association property="id" column=""-->
     </resultMap>
 
+    <resultMap id="PageResultMap" type="com.ycl.domain.vo.ProjectProcessVO">
+        <id column="id" property="id"/>
+        <result column="project_name" property="projectName" />
+        <result column="project_code" property="projectCode" />
+        <result column="content" property="content" />
+        <result column="project_type" property="projectType" />
+        <result column="investmentAmount" property="investmentAmount" />
+        <result column="project_status" property="projectStatus" />
+        <result column="fund_type" property="fundType" />
+        <result column="invest_type" property="investType" />
+        <result column="project_phase" property="projectPhase" />
+        <result column="tag" property="tag" />
+        <result column="project_approval_type" property="projectApprovalType" />
+        <result column="importance_type" property="importanceType" />
+        <result column="create_project_time" property="createProjectTime" />
+        <result column="plan_start_time" property="planStartTime" />
+        <result column="plan_complete_time" property="planCompleteTime" />
+        <result column="project_address" property="projectAddress" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="project_owner_unit" property="projectOwnerUnit" />
+        <result column="project_owner_unit_name" property="projectOwnerUnitName" />
+        <result column="project_contact_person" property="projectContactPerson" />
+        <result column="contact" property="contact" />
+        <result column="update_by" property="updateBy" />
+        <result column="create_by" property="createBy" />
+        <result column="process_def_id" property="processDefId" />
+        <result column="process_ins_id" property="processInsId" />
+        <collection property="children" ofType="com.ycl.domain.vo.ProjectEngineeringVO" select="getProjectEngineering" column="id"></collection>
+    </resultMap>
 
+    <select id="getProjectEngineering" parameterType="long" resultMap="com.ycl.mapper.ProjectEngineeringMapper.BaseResultMap">
+        SELECT * FROM t_project_engineering WHERE project_info_id = #{id} and deleted = 0 ORDER BY gmt_create
+    </select>
 
 
     <select id="getById" resultMap="BaseResultMap">
@@ -52,14 +81,16 @@
     </select>
 
 
-    <select id="getPage" resultMap="BaseResultMap">
+    <select id="getPage" resultMap="PageResultMap">
         SELECT
             PI.*,
             TPP.process_def_id,
             TPP.process_ins_id,
+            TPIF.total_investment as investmentAmount,
             d.dept_name as project_owner_unit_name
         FROM
             t_project_info PI
+                LEFT JOIN t_project_investment_funding TPIF ON TPIF.project_id = PI.id AND TPIF.deleted = 0
                 LEFT JOIN t_project_process TPP ON TPP.project_id = PI.id AND TPP.deleted = 0
                 LEFT JOIN sys_dept d ON d.dept_id = PI.project_owner_unit
         <where>
diff --git a/system/src/main/java/com/ycl/system/domain/base/AbsUUIDEntity.java b/system/src/main/java/com/ycl/system/domain/base/AbsUUIDEntity.java
new file mode 100644
index 0000000..4d87235
--- /dev/null
+++ b/system/src/main/java/com/ycl/system/domain/base/AbsUUIDEntity.java
@@ -0,0 +1,34 @@
+package com.ycl.system.domain.base;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author xp
+ * @date 2022/11/29
+ */
+@Data
+public abstract class AbsUUIDEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /** 鍒涘缓鏃堕棿 */
+    @TableField(value = "gmt_create", fill = FieldFill.INSERT)
+    private Date gmtCreate;
+
+    /** 淇敼鏃堕棿 */
+    @TableField(value = "gmt_update", fill = FieldFill.INSERT_UPDATE)
+    private Date gmtUpdate;
+
+    @TableField(value = "deleted", fill = FieldFill.INSERT)
+    private Integer deleted;
+
+}
diff --git a/system/src/main/java/com/ycl/system/domain/base/AbsUUIDForm.java b/system/src/main/java/com/ycl/system/domain/base/AbsUUIDForm.java
new file mode 100644
index 0000000..c820bdf
--- /dev/null
+++ b/system/src/main/java/com/ycl/system/domain/base/AbsUUIDForm.java
@@ -0,0 +1,20 @@
+package com.ycl.system.domain.base;
+
+import com.ycl.common.group.Update;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author xp
+ * @date 2022/11/29
+ */
+@Data
+public abstract class AbsUUIDForm {
+
+    @ApiModelProperty(value = "id,淇敼蹇呬紶", required = false)
+    @NotNull(message = "璇烽�夋嫨鏁版嵁", groups = {Update.class})
+    private String id;
+
+}
diff --git a/system/src/main/java/com/ycl/system/domain/base/AbsUUIDVo.java b/system/src/main/java/com/ycl/system/domain/base/AbsUUIDVo.java
new file mode 100644
index 0000000..53a4191
--- /dev/null
+++ b/system/src/main/java/com/ycl/system/domain/base/AbsUUIDVo.java
@@ -0,0 +1,24 @@
+package com.ycl.system.domain.base;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author xp
+ * @date 2022/11/29
+ */
+@Data
+public abstract class AbsUUIDVo {
+
+    @ApiModelProperty("id")
+    private String id;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    private Date gmtCreate;
+
+    @ApiModelProperty("淇敼鏃堕棿")
+    private Date gmtUpdate;
+
+}

--
Gitblit v1.8.0