From 9a4cb6af9f2e289685a92c220bdfe05a46f926af Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 27 十一月 2024 18:02:05 +0800
Subject: [PATCH] 项目新增暂提

---
 business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java         |   76 ++++++++-----------------
 business/src/main/resources/mapper/ProjectInfoMapper.xml                |    9 +--
 business/src/main/java/com/ycl/domain/entity/ProjectInfo.java           |   33 +++-------
 business/src/main/java/com/ycl/controller/ProjectInfoController.java    |    1 
 business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java |    6 +
 business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java             |   27 +++++++--
 6 files changed, 65 insertions(+), 87 deletions(-)

diff --git a/business/src/main/java/com/ycl/controller/ProjectInfoController.java b/business/src/main/java/com/ycl/controller/ProjectInfoController.java
index 7ce9b7c..cac7115 100644
--- a/business/src/main/java/com/ycl/controller/ProjectInfoController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectInfoController.java
@@ -10,7 +10,6 @@
 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.*;
 
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java b/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
index 59e77c5..d5eec5c 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
@@ -1,12 +1,13 @@
 package com.ycl.domain.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.system.domain.base.AbsEntity;
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * 椤圭洰绠$悊鍩虹淇℃伅琛�
@@ -58,11 +59,11 @@
 
     @TableField("competent_department")
     /** 涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id) */
-    private Integer competentDepartment;
+    private String competentDepartment;
 
-    @TableField("area_code")
+    @TableField("area")
     /** 琛屾斂鍖哄煙 */
-    private String areaCode;
+    private String area;
 
     @TableField("management_centralization")
     /** 绠$悊褰掑彛  (0鍩烘湰寤鸿(鍙戞敼),  1鏇存柊鏀归��(缁忎俊),  2鍗曠函璐疆(鍙戞敼),  3淇℃伅鍖�(鍙戞敼),  4鍏朵粬鎶曡祫) */
@@ -71,10 +72,6 @@
     @TableField("project_approval_type")
     /** 椤圭洰瀹℃壒绫诲瀷 */
     private String projectApprovalType;
-
-    @TableField("investment_catalogue")
-    /** 鎶曡祫鐩綍(锛�) */
-    private String investmentCatalogue;
 
     @TableField("importance_type")
     /** 閲嶇偣鍒嗙被  (0鐪侀噸鐐归」鐩�,  1閬傚畞甯傞噸鐐归」鐩�,  2.灏勬椽甯傞噸鐐归」鐩�,  3.涓�鑸」鐩�) */
@@ -90,15 +87,15 @@
 
     @TableField("create_project_time")
     /** 绔嬮」鏃堕棿 */
-    private LocalDateTime createProjectTime;
+    private Date createProjectTime;
 
     @TableField("plan_start_time")
     /** 璁″垝寮�宸ユ椂闂� */
-    private LocalDateTime planStartTime;
+    private Date planStartTime;
 
     @TableField("plan_complete_time")
     /** 璁″垝绔e伐鏃堕棿 */
-    private LocalDateTime planCompleteTime;
+    private Date planCompleteTime;
 
     @TableField("win_unit")
     /** 涓爣鍗曚綅 */
@@ -110,7 +107,7 @@
 
     @TableField("win_time")
     /** 涓爣鏃堕棿 */
-    private LocalDateTime winTime;
+    private Date winTime;
 
     @TableField("project_address")
     /** 璇︾粏鍦板潃 */
@@ -136,19 +133,11 @@
     /** 鑱旂郴鏂瑰紡 */
     private String contact;
 
-    @TableField("gmt_create_time")
-    /** 鍒涘缓鏃堕棿 */
-    private LocalDateTime gmtCreateTime;
-
-    @TableField("gmt_update_time")
-    /** 鏇存柊鏃堕棿 */
-    private LocalDateTime gmtUpdateTime;
-
-    @TableField("update_by")
+    @TableField(value = "update_by",fill = FieldFill.INSERT_UPDATE)
     /** 鏇存柊浜� */
     private Long updateBy;
 
-    @TableField("create_by")
+    @TableField(value = "create_by",fill = FieldFill.INSERT)
     /** 鍒涘缓浜� */
     private Long createBy;
 
diff --git a/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java b/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
index 7d4b1f3..644de14 100644
--- a/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
+++ b/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
@@ -1,19 +1,23 @@
 package com.ycl.domain.form;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.common.group.Add;
 import com.ycl.common.group.Update;
+import com.ycl.domain.entity.File;
 import com.ycl.domain.entity.ProjectInfo;
 import com.ycl.system.domain.base.AbsForm;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.lang.NonNull;
+import org.springframework.util.CollectionUtils;
 
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 椤圭洰绠$悊鍩虹淇℃伅琛ㄨ〃鍗�
@@ -29,139 +33,109 @@
     @ApiModelProperty("椤圭洰鍚嶇О")
     private String projectName;
 
-    @NotBlank(message = "椤圭洰浠g爜涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+    @ApiModelProperty("鏂囦欢")
+    private List<File> fileList;
+
     @ApiModelProperty("椤圭洰浠g爜")
     private String projectCode;
 
-    @NotBlank(message = "寤鸿鍐呭涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("寤鸿鍐呭")
     private String content;
 
-    @NotBlank(message = "椤圭洰绫诲瀷锛�0鎴垮眿寤虹瓚锛�1鍩庡競鍩虹璁炬柦锛�2浜ら�氳繍杈擄紝3姘村埄锛�4鑳芥簮锛�5闈炵叅鐭垮北锛�6鍏朵粬锛変笉鑳戒负绌�", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰绫诲瀷锛�0鎴垮眿寤虹瓚锛�1鍩庡競鍩虹璁炬柦锛�2浜ら�氳繍杈擄紝3姘村埄锛�4鑳芥簮锛�5闈炵叅鐭垮北锛�6鍏朵粬锛�")
     private String projectType;
 
-    @NotBlank(message = "椤圭洰鐘舵��  (0鏈紑宸ワ紝1宸插紑宸ワ紝2宸茬宸ワ紝3鏆傚仠)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰鐘舵��  (0鏈紑宸ワ紝1宸插紑宸ワ紝2宸茬宸ワ紝3鏆傚仠)")
     private String projectStatus;
 
-    @NotBlank(message = "璧勯噾绫诲瀷锛�0涓璧勯噾锛�1鍥藉�鸿祫閲戯紝2瓒呴暱鏈熷浗鍊猴紝3鍦版柟鏀垮簻涓撻」鍊猴級涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("璧勯噾绫诲瀷锛�0涓璧勯噾锛�1鍥藉�鸿祫閲戯紝2瓒呴暱鏈熷浗鍊猴紝3鍦版柟鏀垮簻涓撻」鍊猴級")
     private String fundType;
 
-    @NotBlank(message = "鎶曡祫绫诲埆锛�0浼佷笟鎶曡祫锛�1鏀垮簻鎶曡祫锛�2澶栧晢鎶曡祫锛�3澧冨鎶曡祫锛変笉鑳戒负绌�", groups = {Add.class, Update.class})
     @ApiModelProperty("鎶曡祫绫诲埆锛�0浼佷笟鎶曡祫锛�1鏀垮簻鎶曡祫锛�2澶栧晢鎶曡祫锛�3澧冨鎶曡祫锛�")
     private String investType;
 
-    @NotBlank(message = "椤圭洰闃舵(0鍌ㄥ瑙勫垝闃舵,  1椤圭洰鍓嶆湡闃舵,  2瀹炴柦闃舵,  3绔e伐鎶曠敤闃舵)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰闃舵(0鍌ㄥ瑙勫垝闃舵,  1椤圭洰鍓嶆湡闃舵,  2瀹炴柦闃舵,  3绔e伐鎶曠敤闃舵)")
     private String projectPhase;
 
-    @NotBlank(message = "鏍囩涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("鏍囩")
     private String tag;
 
-    @NotNull(message = "涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id)")
-    private Integer competentDepartment;
+    private List<Long> competentDepartmentList;
 
-    @NotBlank(message = "琛屾斂鍖哄煙涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("琛屾斂鍖哄煙")
-    private String areaCode;
+    private String area;
 
-    @NotBlank(message = "绠$悊褰掑彛  (0鍩烘湰寤鸿(鍙戞敼),  1鏇存柊鏀归��(缁忎俊),  2鍗曠函璐疆(鍙戞敼),  3淇℃伅鍖�(鍙戞敼),  4鍏朵粬鎶曡祫)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("绠$悊褰掑彛  (0鍩烘湰寤鸿(鍙戞敼),  1鏇存柊鏀归��(缁忎俊),  2鍗曠函璐疆(鍙戞敼),  3淇℃伅鍖�(鍙戞敼),  4鍏朵粬鎶曡祫)")
-    private String managementCentralization;
+    private List<String> managementCentralizationList;
 
-    @NotBlank(message = "椤圭洰瀹℃壒绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰瀹℃壒绫诲瀷")
     private String projectApprovalType;
 
-    @NotBlank(message = "鎶曡祫鐩綍(锛�)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    @ApiModelProperty("鎶曡祫鐩綍(锛�)")
-    private String investmentCatalogue;
-
-    @NotBlank(message = "閲嶇偣鍒嗙被  (0鐪侀噸鐐归」鐩�,  1閬傚畞甯傞噸鐐归」鐩�,  2.灏勬椽甯傞噸鐐归」鐩�,  3.涓�鑸」鐩�)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("閲嶇偣鍒嗙被  (0鐪侀噸鐐归」鐩�,  1閬傚畞甯傞噸鐐归」鐩�,  2.灏勬椽甯傞噸鐐归」鐩�,  3.涓�鑸」鐩�)")
     private String importanceType;
 
-    @NotBlank(message = "骞村害鎶曡祫璁″垝涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("骞村害鎶曡祫璁″垝")
     private String year;
 
-    @NotNull(message = "骞村害鎶曡祫閲戦涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("骞村害鎶曡祫閲戦")
     private BigDecimal yearInvestAmount;
 
-    @NotNull(message = "绔嬮」鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("绔嬮」鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createProjectTime;
 
-    @NotNull(message = "璁″垝寮�宸ユ椂闂翠笉鑳戒负绌�", groups = {Add.class, Update.class})
     @ApiModelProperty("璁″垝寮�宸ユ椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date planStartTime;
 
-    @NotNull(message = "璁″垝绔e伐鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("璁″垝绔e伐鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date planCompleteTime;
 
-    @NotBlank(message = "涓爣鍗曚綅涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("涓爣鍗曚綅")
     private String winUnit;
 
-    @NotBlank(message = "涓爣閲戦涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("涓爣閲戦")
     private String winAmount;
 
-    @NotNull(message = "涓爣鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("涓爣鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date winTime;
 
-    @NotBlank(message = "璇︾粏鍦板潃涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("璇︾粏鍦板潃")
     private String projectAddress;
 
-    @NotBlank(message = "缁忓害涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("缁忓害")
     private String longitude;
 
-    @NotBlank(message = "绾害涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("绾害")
     private String latitude;
 
-    @NotBlank(message = "椤圭洰涓氫富鍗曚綅涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰涓氫富鍗曚綅")
     private String projectOwnerUnit;
 
-    @NotBlank(message = "椤圭洰鑱旂郴浜轰笉鑳戒负绌�", groups = {Add.class, Update.class})
     @ApiModelProperty("椤圭洰鑱旂郴浜�")
     private String projectContactPerson;
 
-    @NotBlank(message = "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("鑱旂郴鏂瑰紡")
     private String contact;
-
-    @NotNull(message = "鍒涘缓鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    @ApiModelProperty("鍒涘缓鏃堕棿")
-    private Date gmtCreateTime;
-
-    @NotNull(message = "鏇存柊鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    @ApiModelProperty("鏇存柊鏃堕棿")
-    private Date gmtUpdateTime;
-
-    @NotNull(message = "鏇存柊浜轰笉鑳戒负绌�", groups = {Add.class, Update.class})
-    @ApiModelProperty("鏇存柊浜�")
-    private Long updateBy;
-
-    @NotNull(message = "鍒涘缓浜轰笉鑳戒负绌�", groups = {Add.class, Update.class})
-    @ApiModelProperty("鍒涘缓浜�")
-    private Long createBy;
 
     public static ProjectInfo getEntityByForm(@NonNull ProjectInfoForm form, ProjectInfo entity) {
         if(entity == null) {
           entity = new ProjectInfo();
         }
         BeanUtils.copyProperties(form, entity);
+        //瀹℃牳閮ㄩ棬杞崲
+        List<Long> competentDepartmentList = form.getCompetentDepartmentList();
+        if(!CollectionUtils.isEmpty(competentDepartmentList)){
+            entity.setCompetentDepartment(StringUtils.join(competentDepartmentList, ","));
+        }
+        //绠$悊褰掑彛杞崲
+        List<String> managementCentralizationList = form.getManagementCentralizationList();
+        if(!CollectionUtils.isEmpty(managementCentralizationList)){
+            entity.setManagementCentralization(StringUtils.join(managementCentralizationList, ","));
+        }
         return entity;
     }
 
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
index d985ea8..667bc84 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
@@ -5,11 +5,15 @@
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.lang.NonNull;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 椤圭洰绠$悊鍩虹淇℃伅琛ㄥ睍绀�
@@ -59,23 +63,20 @@
 
     /** 涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id) */
     @ApiModelProperty("涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id)")
-    private Integer competentDepartment;
+    private List<Long> competentDepartmentList;
 
     /** 琛屾斂鍖哄煙 */
     @ApiModelProperty("琛屾斂鍖哄煙")
-    private String areaCode;
+    private String area;
 
     /** 绠$悊褰掑彛  (0鍩烘湰寤鸿(鍙戞敼),  1鏇存柊鏀归��(缁忎俊),  2鍗曠函璐疆(鍙戞敼),  3淇℃伅鍖�(鍙戞敼),  4鍏朵粬鎶曡祫) */
     @ApiModelProperty("绠$悊褰掑彛  (0鍩烘湰寤鸿(鍙戞敼),  1鏇存柊鏀归��(缁忎俊),  2鍗曠函璐疆(鍙戞敼),  3淇℃伅鍖�(鍙戞敼),  4鍏朵粬鎶曡祫)")
-    private String managementCentralization;
+    private List<String> managementCentralizationList;
 
     /** 椤圭洰瀹℃壒绫诲瀷 */
     @ApiModelProperty("椤圭洰瀹℃壒绫诲瀷")
     private String projectApprovalType;
 
-    /** 鎶曡祫鐩綍(锛�) */
-    @ApiModelProperty("鎶曡祫鐩綍(锛�)")
-    private String investmentCatalogue;
 
     /** 閲嶇偣鍒嗙被  (0鐪侀噸鐐归」鐩�,  1閬傚畞甯傞噸鐐归」鐩�,  2.灏勬椽甯傞噸鐐归」鐩�,  3.涓�鑸」鐩�) */
     @ApiModelProperty("閲嶇偣鍒嗙被  (0鐪侀噸鐐归」鐩�,  1閬傚畞甯傞噸鐐归」鐩�,  2.灏勬椽甯傞噸鐐归」鐩�,  3.涓�鑸」鐩�)")
@@ -160,6 +161,20 @@
             vo = new ProjectInfoVO();
         }
         BeanUtils.copyProperties(entity, vo);
+        //涓荤閮ㄩ棬杞垚list
+        String competentDepartment = entity.getCompetentDepartment();
+        if(!StringUtils.isBlank(competentDepartment)){
+            List<Long> competentDepartmentList = new ArrayList<>();
+            String[] split = competentDepartment.split(",");
+            for (String s : split) {
+                Long.parseLong(s);
+            }
+        }
+        //绠$悊褰掑彛杞崲
+        String managementCentralization = entity.getManagementCentralization();
+        if(!StringUtils.isBlank(managementCentralization)){
+            Arrays.asList(managementCentralization.split(","));
+        }
         return vo;
     }
 
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
index 585dfd0..13afe3e 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.common.base.Result;
+import com.ycl.domain.entity.File;
 import com.ycl.domain.entity.ProjectInfo;
 import com.ycl.domain.form.ProjectInfoForm;
 import com.ycl.domain.query.ProjectInfoQuery;
@@ -41,8 +42,11 @@
      */
     @Override
     public Result add(ProjectInfoForm form) {
+        //娣诲姞鍩烘湰淇℃伅
         ProjectInfo entity = ProjectInfoForm.getEntityByForm(form, null);
-        baseMapper.insert(entity);
+//        baseMapper.insert(entity);
+        //娣诲姞鏂囦欢
+        List<File> fileList = form.getFileList();
         return Result.ok("娣诲姞鎴愬姛");
     }
 
diff --git a/business/src/main/resources/mapper/ProjectInfoMapper.xml b/business/src/main/resources/mapper/ProjectInfoMapper.xml
index 007143b..04aa6e3 100644
--- a/business/src/main/resources/mapper/ProjectInfoMapper.xml
+++ b/business/src/main/resources/mapper/ProjectInfoMapper.xml
@@ -15,10 +15,9 @@
         <result column="project_phase" property="projectPhase" />
         <result column="tag" property="tag" />
         <result column="competent_department" property="competentDepartment" />
-        <result column="area_code" property="areaCode" />
+        <result column="area" property="area" />
         <result column="management_centralization" property="managementCentralization" />
         <result column="project_approval_type" property="projectApprovalType" />
-        <result column="investment_catalogue" property="investmentCatalogue" />
         <result column="importance_type" property="importanceType" />
         <result column="year" property="year" />
         <result column="year_invest_amount" property="yearInvestAmount" />
@@ -53,10 +52,9 @@
             TPI.project_phase,
             TPI.tag,
             TPI.competent_department,
-            TPI.area_code,
+            TPI.area,
             TPI.management_centralization,
             TPI.project_approval_type,
-            TPI.investment_catalogue,
             TPI.importance_type,
             TPI.year,
             TPI.year_invest_amount,
@@ -96,10 +94,9 @@
             TPI.project_phase,
             TPI.tag,
             TPI.competent_department,
-            TPI.area_code,
+            TPI.area,
             TPI.management_centralization,
             TPI.project_approval_type,
-            TPI.investment_catalogue,
             TPI.importance_type,
             TPI.year,
             TPI.year_invest_amount,

--
Gitblit v1.8.0