From 96e26ef9d92735be2f3d52454c7818ec1db5d30e Mon Sep 17 00:00:00 2001
From: du <1725534722@qq.com>
Date: Wed, 9 Apr 2025 16:59:46 +0800
Subject: [PATCH] bugfix
---
ruoyi-admin/pom.xml | 5 +
.../ruoyi/docking/entity/SmartReminders.java | 4 +-
.../gysl/controller/ZwStatsController.java | 14 +-
.../ruoyi/gysl/entity/BasicInformation.java | 25 +-
.../ruoyi/gysl/entity/PlanInformation.java | 2 +-
.../request/BasicInformationPageReq.java | 17 +-
.../gysl/entity/request/BasicRequest.java | 82 ------
.../entity/response/ProjectExcelInfo.java | 83 ++++--
.../gysl/entity/stats/AllProjectResponse.java | 3 +
.../gysl/mapper/BasicInformationMapper.java | 4 +-
.../com/ruoyi/gysl/mapper/ZwStatsMapper.java | 6 +-
.../com/ruoyi/gysl/regular/NoticeTiming.java | 30 +-
.../gysl/service/BasicInformationService.java | 36 +--
.../ruoyi/gysl/service/ZwStatsService.java | 6 +-
.../impl/BasicInformationServiceImpl.java | 265 +++++++++---------
.../gysl/service/impl/XmpjqdServiceImpl.java | 158 ++++++-----
.../gysl/service/impl/ZwStatsServiceImpl.java | 12 +-
.../mapper/BasicInformationMapper.xml | 51 ++--
.../main/resources/mapper/QyStatsMapper.xml | 8 +-
.../main/resources/mapper/ZwStatsMapper.xml | 100 +++++--
.../com/ruoyi/common/utils/poi/ExcelUtil.java | 40 +--
21 files changed, 506 insertions(+), 445 deletions(-)
delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicRequest.java
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index b77def4..37d59c6 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -26,6 +26,11 @@
jsoup
1.14.3
+
+ com.alibaba
+ easyexcel
+ 3.3.3
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/docking/entity/SmartReminders.java b/ruoyi-admin/src/main/java/com/ruoyi/docking/entity/SmartReminders.java
index 8a573ce..00e92ed 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/docking/entity/SmartReminders.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/docking/entity/SmartReminders.java
@@ -67,9 +67,9 @@ public class SmartReminders extends BaseModel implements Serializable {
private Integer alertType;
/**
- * 提前天数提醒
+ * 提前月数提醒
*/
- @ApiModelProperty("提前天数提醒")
+ @ApiModelProperty("提前月数提醒")
private Integer daysAdvance;
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/ZwStatsController.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/ZwStatsController.java
index 5483701..726ae58 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/ZwStatsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/ZwStatsController.java
@@ -26,7 +26,7 @@ import javax.annotation.Resource;
@Api(tags = "政务统计")
@RestController
@RequestMapping("/gysl/zwStats")
-@PreAuthorize("@ss.hasAnyRoles('admin,common')")
+//@PreAuthorize("@ss.hasAnyRoles('admin,common')")
public class ZwStatsController extends BaseController {
@Resource
@@ -40,8 +40,8 @@ public class ZwStatsController extends BaseController {
*/
@ApiOperation("整体项目情况")
@GetMapping("/allProject")
- public AjaxResult allProject() {
- return success(zwStatsService.allProject());
+ public AjaxResult allProject(String years) {
+ return success(zwStatsService.allProject(years));
}
/**
@@ -49,8 +49,8 @@ public class ZwStatsController extends BaseController {
*/
@ApiOperation("功能区")
@GetMapping("/ribbon")
- public AjaxResult ribbon() {
- return success(zwStatsService.ribbon());
+ public AjaxResult ribbon(String years) {
+ return success(zwStatsService.ribbon(years));
}
/**
@@ -58,8 +58,8 @@ public class ZwStatsController extends BaseController {
*/
@ApiOperation("投资主体")
@GetMapping("/investors")
- public AjaxResult investors() {
- return success(zwStatsService.investors());
+ public AjaxResult investors(String years) {
+ return success(zwStatsService.investors(years));
}
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java
index 2cd6ff4..78ba250 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java
@@ -4,18 +4,15 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.gysl.entity.baseModel.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.IndexedColors;
-import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
-import java.time.LocalDate;
/**
* 基本信息(BasicInformation)表实体类
@@ -55,7 +52,7 @@ public class BasicInformation extends BaseModel {
@NotBlank
- @Excel(name = "项目法人单位", sort = 4, required = true,type= Excel.Type.ALL)
+ @Excel(name = "项目法人单位*", sort = 4, required = true,type= Excel.Type.ALL,headerBackgroundColor= IndexedColors.RED1)
@ApiModelProperty("项目法人单位")
private String xmfrdwxz;
@@ -83,17 +80,13 @@ public class BasicInformation extends BaseModel {
private Integer ssgnq;
- @ApiModelProperty("建设开始时间")
- @Excel(name = "建设开始时间", dateFormat = "yyyy-MM-dd", sort = 5,type= Excel.Type.ALL)
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate begainTime;
+ @ApiModelProperty("建设开始时间 yyyy-MM")
+ @Excel(name = "建设开始时间", sort = 5,type= Excel.Type.ALL)
+ private String begainTime;
- @ApiModelProperty("建设结束时间")
- @Excel(name = "建设结束时间", dateFormat = "yyyy-MM-dd", sort = 6,type= Excel.Type.ALL)
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate endTime;
+ @ApiModelProperty("建设结束时间 yyyy-MM")
+ @Excel(name = "建设结束时间", sort = 6,type= Excel.Type.ALL)
+ private String endTime;
@NotBlank
@Excel(name = "现状分类", sort = 3, dictType = "xzfl", comboReadDict = true,type= Excel.Type.ALL)
@@ -169,5 +162,9 @@ public class BasicInformation extends BaseModel {
@ApiModelProperty("0非负面清单 1是负面清单")
private Integer isFmqd;
+ @ApiModelProperty("计划投资额")
+ @Excel(name = "计划投资额",type = Excel.Type.EXPORT )
+ private BigDecimal jhtze;
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/PlanInformation.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/PlanInformation.java
index c1351b4..3e12d5a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/PlanInformation.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/PlanInformation.java
@@ -66,7 +66,7 @@ public class PlanInformation extends BaseModel implements Serializable {
*/
@Excel(name = "标准层建筑面积",headerBackgroundColor= IndexedColors.RED1,required = true)
@ApiModelProperty(value = "标准层建筑面积")
- private BigDecimal bzcjzmj;
+ private String bzcjzmj;
/**
* 计容积率建筑面积
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicInformationPageReq.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicInformationPageReq.java
index 7d0d702..5189c3f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicInformationPageReq.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicInformationPageReq.java
@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.util.Date;
/**
@@ -23,15 +24,15 @@ public class BasicInformationPageReq {
@ApiModelProperty("项目法人单位")
private String xmfrdwxz;
- @ApiModelProperty("建设起止时间-开始时间")
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date startTime;
+ @ApiModelProperty("建设起止时间-开始时间 yyyy-MM")
+// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM", timezone = "GMT+8")
+// @DateTimeFormat(pattern = "yyyy-MM")
+ private String startTime;
- @ApiModelProperty("建设起止时间-结束时间")
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date endTime;
+ @ApiModelProperty("建设起止时间-结束时间 yyyy-MM")
+// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM", timezone = "GMT+8")
+// @DateTimeFormat(pattern = "yyyy-MM")
+ private String endTime;
@ApiModelProperty("现状分类")
private Integer xzfl;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicRequest.java
deleted file mode 100644
index 3e4898b..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/BasicRequest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.ruoyi.gysl.entity.request;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.common.annotation.Excel;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-/**
- * @author dong
- * @since 2025/2/26 9:20
- */
-@Data
-@ApiModel("基本信息导出类")
-public class BasicRequest implements Serializable {
-
- @Excel(name = "序号")
- private Integer id;
-
-
- //项目名称
- @Excel(name = "项目名称")
- @ApiModelProperty("项目名称")
- private String name;
-
-
- //项目法人单位
- @Excel(name = "项目法人单位")
- @ApiModelProperty("项目法人单位")
- private String xmfrdwxz;
-
-
-
- //总投资额
- @Excel(name = "总投资额(万元)")
- @ApiModelProperty("总投资额")
- private BigDecimal ztze;
-
-
- //所属功能区
- @Excel(name = "所属功能区")
- @ApiModelProperty("所属功能区")
- private Integer ssgnq;
-
-
- //建设开始时间
- @Excel(name = "建设开始时间")
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty("建设开始时间")
- private LocalDateTime begainTime;
-
-
- //建设结束时间
- @Excel(name = "建设结束时间")
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty("建设结束时间")
- private LocalDateTime endTime;
-
- //现状分类
- @Excel(name = "现状分类")
- @ApiModelProperty("现状分类")
- private Integer xzfl;
-
-
- /**
- * 总用地面积
- */
- @ApiModelProperty(value = "总用地面积(平方米)")
- @Excel(name = "总用地面积")
- private BigDecimal zydmj;
-
-
-
-}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/response/ProjectExcelInfo.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/response/ProjectExcelInfo.java
index 061e453..d27f091 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/response/ProjectExcelInfo.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/response/ProjectExcelInfo.java
@@ -1,11 +1,14 @@
package com.ruoyi.gysl.entity.response;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
-import java.util.List;
+import java.time.LocalDate;
/**
* 项目导出信息
@@ -14,41 +17,81 @@ import java.util.List;
*/
@Data
public class ProjectExcelInfo {
+ @Excel(name = "项目法人单位",height=30)
+ @ApiModelProperty("项目法人单位")
+ private String xmfrdwxz;
+
- //--基本信息
- @Excel(name="id",group = "序号")
- @ApiModelProperty("序号")
- private String id;
- @Excel(name = "项目名称",group = "项目基础信息")
+ @Excel(name = "项目法人单位性质",dictType = "xmfrdwxz",width = 20)
+ @ApiModelProperty("项目法人单位性质")
+ private Integer nature;
+
+ @Excel(name = "项目名称")
@ApiModelProperty("项目名称")
private String name;
- @Excel(name = "项目法人单位",group = "项目基础信息")
- @ApiModelProperty("项目法人单位")
- private String xmfrdwxz;
+ @Excel(name = "现状分类(已建/在建/拟建)",dictType = "xzfl", comboReadDict = true,width = 24)
+ @ApiModelProperty("现状分类")
+ private Integer xzfl;
- @Excel(name = "项目法人单位性质",group = "项目基础信息",dictType = "xmfrdwxz")
- @ApiModelProperty("项目法人单位性质")
- private Integer nature;
+ @ApiModelProperty("项目建设开始时间 yyyy-MM")
+ @Excel(name = "项目建设开始时间")
+ private String begainTime;
+
+ @ApiModelProperty("项目建设结束时间 yyyy-MM")
+ @Excel(name = "项目建设结束时间")
+ private String endTime;
+
+ @ApiModelProperty("计划投资额")
+ @Excel(name = "计划投资额(亿元)",width = 20)
+ private BigDecimal jhtze;
//--规划信息
- @Excel(name = "总用地面积",group = "项目规划信息")
- @ApiModelProperty(value = "总用地面积")
+ @Excel(name = "总用地面积(平方米)",width = 20)
+ @ApiModelProperty(value = "总用地面积(平方米)")
private BigDecimal zydmj;
- @Excel(name = "容积率",group = "项目规划信息")
+ @Excel(name = "容积率")
@ApiModelProperty(value = "容积率")
private BigDecimal rjl;
- @Excel(name = "总建筑面积",group = "项目规划信息")
+ @Excel(name = "总建筑面积(平方米)")
@ApiModelProperty(value = "总建筑面积")
private BigDecimal zjzmj;
- @Excel(name = "标准层建筑面积",group = "项目规划信息")
+ @Excel(name = "标准层建筑面积(千平方米)",width = 20)
@ApiModelProperty(value = "标准层建筑面积")
- private BigDecimal bzcjzmj;
+ private String bzcjzmj;
+
+
+ //---------
+
+ @Excel(name = "重点发展产业(原则上不超过三个)",width = 20)
+ @ApiModelProperty("重点发展产业")
+ private String prioritize;
+
+ @ApiModelProperty("项目负责人")
+ @Excel(name = "项目负责人")
+ private String projectLeader;
+
+ @NotBlank
+ @ApiModelProperty("联系方式")
+ @Excel(name = "联系方式",type = Excel.Type.EXPORT)
+ private String phone;
+
+ @ApiModelProperty("建设进度")
+ @Excel(name = "建设进度(或运营情况)")
+ private String jsjd;
+
+ @Excel(name = "建设模式(新供地实施/利用存量用地改扩建)",width = 22,dictType = "jsms",comboReadDict = true)
+ @ApiModelProperty("建设模式")
+ private Integer jsms;
+
+
+ //=====已有项目导入需要的字段
+ @ApiModelProperty("项目建设起止时间")
+ @Excel(name = "项目建设起止时间")
+ private String a1;
- //--建筑信息
- private List xmjzxx;
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/stats/AllProjectResponse.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/stats/AllProjectResponse.java
index 24d67a4..dc725ff 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/stats/AllProjectResponse.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/stats/AllProjectResponse.java
@@ -41,4 +41,7 @@ public class AllProjectResponse {
@ApiModelProperty("当年_在建数量")
private Integer currentBuilding2;
+
+ @ApiModelProperty("当年_拟建数量")
+ private Integer currentBuilding3;
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/BasicInformationMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/BasicInformationMapper.java
index 24e9ddb..67a89fd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/BasicInformationMapper.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/BasicInformationMapper.java
@@ -18,9 +18,9 @@ import java.util.List;
public interface BasicInformationMapper extends BaseMapper {
/**
- * 根据基本信息的id列表来查找
+ * 导出项目数据
*/
- List selectList(@Param("idList") List idList);
+ List selectList();
/**
* 分页查询所有数据
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/ZwStatsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/ZwStatsMapper.java
index 7f47d05..64d3e39 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/ZwStatsMapper.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/ZwStatsMapper.java
@@ -17,17 +17,17 @@ public interface ZwStatsMapper {
/**
* 项目情况
*/
- AllProjectResponse allProject();
+ AllProjectResponse allProject(@Param("years") String years);
/**
* 功能区
*/
- List ribbon();
+ List ribbon(@Param("years") String years);
/**
* 投资主体
*/
- List investors();
+ List investors(@Param("years") String years);
/**
* 消息通知
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/regular/NoticeTiming.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/regular/NoticeTiming.java
index 53184db..c7080d1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/regular/NoticeTiming.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/regular/NoticeTiming.java
@@ -5,11 +5,14 @@ import com.ruoyi.docking.entity.SmartReminders;
import com.ruoyi.docking.service.*;
import com.ruoyi.gysl.entity.BasicInformation;
import com.ruoyi.gysl.service.BasicInformationService;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDate;
+import java.time.YearMonth;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
+import java.time.format.ResolverStyle;
import java.util.ArrayList;
import java.util.List;
@@ -84,22 +87,37 @@ public class NoticeTiming {
//获取所有的项目
List list = basicInformationService.list();
List list1 = basicInformationService.list();
- //如果当前时间在该项目的结束时间前自定义的提前天数之前,就去掉
+ //如果当前时间在该项目的结束时间前自定义的提前月数之前,就去掉
list.removeIf(x ->
- !(LocalDate.now().equals(x.getEndTime().minusDays(qy.getDaysAdvance())))
+ LocalDate.now().isBefore(convertToLocalDate(x.getEndTime()).minusMonths(qy.getDaysAdvance()))
);
list.forEach(x -> {
SmartDeclaration smartDeclaration = new SmartDeclaration();
smartDeclaration.setSmartRemindersId(1L);
smartDeclaration.setTyshxydm(x.getTyshxydm());
- smartDeclaration.setAlertTime(x.getEndTime().atStartOfDay());
+ smartDeclaration.setAlertTime(convertToLocalDate(x.getEndTime()).atTime(0,0,0));
smdList.add(smartDeclaration);
});
list1.removeIf(x ->
- !(LocalDate.now().equals(x.getEndTime().minusDays(zw.getDaysAdvance())))
+ LocalDate.now().isBefore(convertToLocalDate(x.getEndTime()).minusMonths(zw.getDaysAdvance()))
);
//获取到所有的符合条件的政务用户
- list1.forEach(x -> userService.getAllZwUser(null, null, 2L, String.valueOf(x.getEndTime().atStartOfDay())));
+ list1.forEach(x -> userService.getAllZwUser(null, null, 2L,
+ String.valueOf(convertToLocalDate(x.getEndTime()).atTime(0,0,0))));
smartDeclarationService.saveBatch(smdList);
}
+
+ public static LocalDate convertToLocalDate(String dateStr) {
+ try {
+ // 定义格式化器,使用严格模式(拒绝无效月份,如 "2023-13")
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM")
+ .withResolverStyle(ResolverStyle.STRICT);
+ // 解析为 YearMonth 对象
+ YearMonth yearMonth = YearMonth.parse(dateStr, formatter);
+ // 指定默认日为每月第一天
+ return yearMonth.atDay(1);
+ } catch (DateTimeParseException e) {
+ throw new IllegalArgumentException("无效的日期格式: " + dateStr, e);
+ }
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/BasicInformationService.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/BasicInformationService.java
index 316b0b7..f33b0ca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/BasicInformationService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/BasicInformationService.java
@@ -34,24 +34,24 @@ public interface BasicInformationService extends IService {
/**
- * 根据基本信息的id列表来查找
+ * 导出项目数据
*/
- List selectList(List idList);
-
- /**
- * 填充数据
- */
- void approvalMethodfillInData(XSSFSheet sheet, XSSFCellStyle contentStyle, int rowNum, List info,List sc,List ec,int a) ;
-
- /**
- * 填充数据-项目基础信息获取
- */
- String getExcelData(ProjectExcelInfo item,String str);
-
- /**
- * 填充数据-项目建筑信息获取
- */
- String getBuildingData(ProjectBuildingExcel item,String str);
+ List selectList();
+
+// /**
+// * 填充数据
+// */
+// void approvalMethodfillInData(XSSFSheet sheet, XSSFCellStyle contentStyle, int rowNum, List info,List sc,List ec,int a) ;
+//
+// /**
+// * 填充数据-项目基础信息获取
+// */
+// String getExcelData(ProjectExcelInfo item,String str);
+//
+// /**
+// * 填充数据-项目建筑信息获取
+// */
+// String getBuildingData(ProjectBuildingExcel item,String str);
/**
* 有经纬度的项目列表
@@ -66,7 +66,7 @@ public interface BasicInformationService extends IService {
/**
* 企业端和政务端信息修改
*/
- Long audit(AuditRequest req,int status);
+ Long audit(AuditRequest req,int status,int oldStatus);
/**
* 通过主键查询单条项目所有数据(政务端)
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/ZwStatsService.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/ZwStatsService.java
index 9bad654..4ac599c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/ZwStatsService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/ZwStatsService.java
@@ -17,17 +17,17 @@ public interface ZwStatsService {
/**
* 项目情况
*/
- AllProjectResponse allProject();
+ AllProjectResponse allProject(String years);
/**
* 功能区
*/
- List ribbon();
+ List ribbon(String years);
/**
* 投资主体
*/
- List investors();
+ List investors(String years);
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/BasicInformationServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/BasicInformationServiceImpl.java
index cd294ce..c6b67c3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/BasicInformationServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/BasicInformationServiceImpl.java
@@ -124,132 +124,132 @@ public class BasicInformationServiceImpl extends ServiceImpl selectList(List idList) {
- return baseMapper.selectList(idList);
+ public List selectList() {
+ return baseMapper.selectList();
}
- /**
- * 填充数据
- */
- @Override
- public void approvalMethodfillInData(XSSFSheet sheet, XSSFCellStyle contentStyle, int rowNum, List info, List sc, List ec, int num) {
- Class> classBuilding = ProjectBuildingExcel.class;
- for (ProjectExcelInfo projectExcelInfo : info) {
- XSSFRow tempRow = sheet.createRow(rowNum++);
- tempRow.setHeight((short) 1400);
- int i1;
- for (i1 = 0; i1 < sc.size(); i1++) {
- XSSFCell tempCell = tempRow.createCell(i1);
- tempCell.setCellStyle(contentStyle);
- if (!ec.get(i1).endsWith("厂房")) {
- if (Objects.equals(sc.get(i1), "")) {
- tempCell.setCellValue(projectExcelInfo.getId());
- } else {
- tempCell.setCellValue(getExcelData(projectExcelInfo, sc.get(i1)));
- }
- }
- }
-// XSSFCell tempCell = tempRow.createCell(8);
-// tempCell.setCellStyle(contentStyle);
-// tempCell.setCellValue("12312321");
-
- for (int i2 = 0; i2 < projectExcelInfo.getXmjzxx().size(); i2++) {
- switch (projectExcelInfo.getXmjzxx().get(i2).getFloor()) {
- case 1:
- i1 = ec.indexOf("一层厂房");
- break;
- case 2:
- i1 = ec.indexOf("双层厂房");
- break;
- case 3:
- i1 = ec.indexOf("三层厂房");
- break;
- case 4:
- i1 = ec.indexOf("四层厂房");
- break;
- case 5:
- i1 = ec.indexOf("五层厂房");
- break;
- default:
- i1 = ec.indexOf("六层及以上厂房");
- }
- for (Field field : classBuilding.getDeclaredFields()) {
- XSSFCell tempCell = tempRow.createCell(i1);
- tempCell.setCellStyle(contentStyle);
- Excel excelColumn = field.getAnnotation(Excel.class);
- if (excelColumn != null) {
- tempCell.setCellValue(getBuildingData(projectExcelInfo.getXmjzxx().get(i2), sc.get(i1)));
- i1++;
- }
- }
- }
- }
- }
-
- /**
- * 填充数据-项目基础信息获取
- */
- @Override
- public String getExcelData(ProjectExcelInfo item, String str) {
- String a = null;
- switch (str) {
- case "":
- a = item.getId() == null ? "-" : item.getId();
- break;
- case "项目名称":
- a = item.getName() == null ? "-" : item.getName();
- break;
- case "项目法人单位":
- a = item.getXmfrdwxz() == null ? "-" : item.getXmfrdwxz();
- break;
- case "项目法人单位性质":
- a = String.valueOf(item.getNature() == null ? "-" : item.getNature());
- break;
- case "总用地面积":
- a = String.valueOf(item.getZydmj() == null ? "-" : item.getZydmj());
- break;
- case "容积率":
- a = String.valueOf(item.getRjl() == null ? "-" : item.getRjl());
- break;
- case "总建筑面积":
- a = String.valueOf(item.getZjzmj() == null ? "-" : item.getZjzmj());
- break;
- case "标准层建筑面积":
- a = String.valueOf(item.getBzcjzmj() == null ? "-" : item.getBzcjzmj());
- break;
- }
- return a;
- }
-
- /**
- * 填充数据-项目建筑信息获取
- */
- @Override
- public String getBuildingData(ProjectBuildingExcel item, String str) {
- String a = null;
- switch (str) {
- case "层数":
- a = item.getFloor() == null ? "-" : String.valueOf(item.getFloor());
- break;
- case "总建筑高度":
- a = item.getTotalBuildingHeight() == null ? "-" : String.valueOf(item.getTotalBuildingHeight());
- break;
- case "首层高度":
- a = String.valueOf(item.getScgd() == null ? "-" : item.getScgd());
- break;
- case "2至4层高":
- a = String.valueOf(item.getTwoAndFourCg() == null ? "-" : item.getTwoAndFourCg());
- break;
- case "4层以上层高":
- a = String.valueOf(item.getFourYscg() == null ? "-" : item.getFourYscg());
- break;
- }
- return a;
- }
+// /**
+// * 填充数据
+// */
+// @Override
+// public void approvalMethodfillInData(XSSFSheet sheet, XSSFCellStyle contentStyle, int rowNum, List info, List sc, List ec, int num) {
+// Class> classBuilding = ProjectBuildingExcel.class;
+// for (ProjectExcelInfo projectExcelInfo : info) {
+// XSSFRow tempRow = sheet.createRow(rowNum++);
+// tempRow.setHeight((short) 1400);
+// int i1;
+// for (i1 = 0; i1 < sc.size(); i1++) {
+// XSSFCell tempCell = tempRow.createCell(i1);
+// tempCell.setCellStyle(contentStyle);
+// if (!ec.get(i1).endsWith("厂房")) {
+// if (Objects.equals(sc.get(i1), "")) {
+// tempCell.setCellValue(projectExcelInfo.getId());
+// } else {
+// tempCell.setCellValue(getExcelData(projectExcelInfo, sc.get(i1)));
+// }
+// }
+// }
+//// XSSFCell tempCell = tempRow.createCell(8);
+//// tempCell.setCellStyle(contentStyle);
+//// tempCell.setCellValue("12312321");
+//
+// for (int i2 = 0; i2 < projectExcelInfo.getXmjzxx().size(); i2++) {
+// switch (projectExcelInfo.getXmjzxx().get(i2).getFloor()) {
+// case 1:
+// i1 = ec.indexOf("一层厂房");
+// break;
+// case 2:
+// i1 = ec.indexOf("双层厂房");
+// break;
+// case 3:
+// i1 = ec.indexOf("三层厂房");
+// break;
+// case 4:
+// i1 = ec.indexOf("四层厂房");
+// break;
+// case 5:
+// i1 = ec.indexOf("五层厂房");
+// break;
+// default:
+// i1 = ec.indexOf("六层及以上厂房");
+// }
+// for (Field field : classBuilding.getDeclaredFields()) {
+// XSSFCell tempCell = tempRow.createCell(i1);
+// tempCell.setCellStyle(contentStyle);
+// Excel excelColumn = field.getAnnotation(Excel.class);
+// if (excelColumn != null) {
+// tempCell.setCellValue(getBuildingData(projectExcelInfo.getXmjzxx().get(i2), sc.get(i1)));
+// i1++;
+// }
+// }
+// }
+// }
+// }
+//
+// /**
+// * 填充数据-项目基础信息获取
+// */
+// @Override
+// public String getExcelData(ProjectExcelInfo item, String str) {
+// String a = null;
+// switch (str) {
+// case "":
+// a = item.getId() == null ? "-" : item.getId();
+// break;
+// case "项目名称":
+// a = item.getName() == null ? "-" : item.getName();
+// break;
+// case "项目法人单位":
+// a = item.getXmfrdwxz() == null ? "-" : item.getXmfrdwxz();
+// break;
+// case "项目法人单位性质":
+// a = String.valueOf(item.getNature() == null ? "-" : item.getNature());
+// break;
+// case "总用地面积":
+// a = String.valueOf(item.getZydmj() == null ? "-" : item.getZydmj());
+// break;
+// case "容积率":
+// a = String.valueOf(item.getRjl() == null ? "-" : item.getRjl());
+// break;
+// case "总建筑面积":
+// a = String.valueOf(item.getZjzmj() == null ? "-" : item.getZjzmj());
+// break;
+// case "标准层建筑面积":
+// a = String.valueOf(item.getBzcjzmj() == null ? "-" : item.getBzcjzmj());
+// break;
+// }
+// return a;
+// }
+//
+// /**
+// * 填充数据-项目建筑信息获取
+// */
+// @Override
+// public String getBuildingData(ProjectBuildingExcel item, String str) {
+// String a = null;
+// switch (str) {
+// case "层数":
+// a = item.getFloor() == null ? "-" : String.valueOf(item.getFloor());
+// break;
+// case "总建筑高度":
+// a = item.getTotalBuildingHeight() == null ? "-" : String.valueOf(item.getTotalBuildingHeight());
+// break;
+// case "首层高度":
+// a = String.valueOf(item.getScgd() == null ? "-" : item.getScgd());
+// break;
+// case "2至4层高":
+// a = String.valueOf(item.getTwoAndFourCg() == null ? "-" : item.getTwoAndFourCg());
+// break;
+// case "4层以上层高":
+// a = String.valueOf(item.getFourYscg() == null ? "-" : item.getFourYscg());
+// break;
+// }
+// return a;
+// }
/**
* 有经纬度的项目列表
@@ -282,8 +282,7 @@ public class BasicInformationServiceImpl extends ServiceImpl collect1 = req.getWysmxInformations().stream().filter(x ->
@@ -303,7 +302,7 @@ public class BasicInformationServiceImpl extends ServiceImpl impleme
@Resource
private BuildingInformationService buildingInformationService;
+ @Resource
+ private PjpzService pjpzService;
+
/**
* 分页查询所有目录
*
@@ -62,66 +65,73 @@ public class XmpjqdServiceImpl extends ServiceImpl impleme
@Override
public List selectOnePj(Long id) {
List xmpjqdOneResponses = xmpjqdMapper.selectOnePj(id);
+ //获取项目评价配置
+ pjpzService.list().forEach(x->{
+ XmpjqdOneResponse xr = new XmpjqdOneResponse();
+ xr.setYsmc(x.getPjys());
+ xmpjqdOneResponses.add(xr);
+ });
//查询所有的建筑信息,只保留是重要楼栋的随机一条
- List list = xmpjqdMapper.getImportantBuildings();
- //层数
- list.sort(Comparator.comparing(BuildingInformation::getFloor).reversed());
- XmpjqdOneResponse a1 = new XmpjqdOneResponse();
- a1.setYsmc("层数");
- for (int i = 0; i < list.size(); i++) {
- if (Objects.equals(list.get(i).getXmId(), id)) {
- a1.setPjpm(i + 1);
- }
- }
- a1.setCount(String.valueOf(list.size()));
- xmpjqdOneResponses.add(a1);
- //首层层高
- XmpjqdOneResponse a2 = new XmpjqdOneResponse();
- list.sort(Comparator.comparing(BuildingInformation::getScgd).reversed());
- a2.setYsmc("首层层高");
- for (int i = 0; i < list.size(); i++) {
- if (Objects.equals(list.get(i).getXmId(), id)) {
- a2.setPjpm(i + 1);
- }
- }
- a2.setCount(String.valueOf(list.size()));
- xmpjqdOneResponses.add(a2);
-
- //二层及以上层高
- XmpjqdOneResponse a3 = new XmpjqdOneResponse();
- list.sort(Comparator.comparing(BuildingInformation::getTwoAndFourCg).reversed());
- a3.setYsmc("二层及以上层高");
- for (int i = 0; i < list.size(); i++) {
- if (Objects.equals(list.get(i).getXmId(), id)) {
- a3.setPjpm(i + 1);
- }
- }
- a3.setCount(String.valueOf(list.size()));
- xmpjqdOneResponses.add(a3);
-
- //首层地面载荷
- XmpjqdOneResponse a4 = new XmpjqdOneResponse();
- list.sort(Comparator.comparing(BuildingInformation::getScdmhz).reversed());
- a4.setYsmc("首层地面载荷");
- for (int i = 0; i < list.size(); i++) {
- if (Objects.equals(list.get(i).getXmId(), id)) {
- a4.setPjpm(i + 1);
- }
- }
- a4.setCount(String.valueOf(list.size()));
- xmpjqdOneResponses.add(a4);
+// List list = xmpjqdMapper.getImportantBuildings();
- //二层及以上楼面荷载
- XmpjqdOneResponse a5 = new XmpjqdOneResponse();
- list.sort(Comparator.comparing(BuildingInformation::getTwoAndThreeLmhz).reversed());
- a5.setYsmc("二层及以上楼面荷载");
- for (int i = 0; i < list.size(); i++) {
- if (Objects.equals(list.get(i).getXmId(), id)) {
- a5.setPjpm(i + 1);
- }
- }
- a5.setCount(String.valueOf(list.size()));
- xmpjqdOneResponses.add(a5);
+// //层数
+// list.sort(Comparator.comparing(BuildingInformation::getFloor).reversed());
+// XmpjqdOneResponse a1 = new XmpjqdOneResponse();
+// a1.setYsmc("层数");
+// for (int i = 0; i < list.size(); i++) {
+// if (Objects.equals(list.get(i).getXmId(), id)) {
+// a1.setPjpm(i + 1);
+// }
+// }
+// a1.setCount(String.valueOf(list.size()));
+// xmpjqdOneResponses.add(a1);
+// //首层层高
+// XmpjqdOneResponse a2 = new XmpjqdOneResponse();
+// list.sort(Comparator.comparing(BuildingInformation::getScgd).reversed());
+// a2.setYsmc("首层层高");
+// for (int i = 0; i < list.size(); i++) {
+// if (Objects.equals(list.get(i).getXmId(), id)) {
+// a2.setPjpm(i + 1);
+// }
+// }
+// a2.setCount(String.valueOf(list.size()));
+// xmpjqdOneResponses.add(a2);
+//
+// //二层及以上层高
+// XmpjqdOneResponse a3 = new XmpjqdOneResponse();
+// list.sort(Comparator.comparing(BuildingInformation::getTwoAndFourCg).reversed());
+// a3.setYsmc("二层及以上层高");
+// for (int i = 0; i < list.size(); i++) {
+// if (Objects.equals(list.get(i).getXmId(), id)) {
+// a3.setPjpm(i + 1);
+// }
+// }
+// a3.setCount(String.valueOf(list.size()));
+// xmpjqdOneResponses.add(a3);
+//
+// //首层地面载荷
+// XmpjqdOneResponse a4 = new XmpjqdOneResponse();
+// list.sort(Comparator.comparing(BuildingInformation::getScdmhz).reversed());
+// a4.setYsmc("首层地面载荷");
+// for (int i = 0; i < list.size(); i++) {
+// if (Objects.equals(list.get(i).getXmId(), id)) {
+// a4.setPjpm(i + 1);
+// }
+// }
+// a4.setCount(String.valueOf(list.size()));
+// xmpjqdOneResponses.add(a4);
+//
+// //二层及以上楼面荷载
+// XmpjqdOneResponse a5 = new XmpjqdOneResponse();
+// list.sort(Comparator.comparing(BuildingInformation::getTwoAndThreeLmhz).reversed());
+// a5.setYsmc("二层及以上楼面荷载");
+// for (int i = 0; i < list.size(); i++) {
+// if (Objects.equals(list.get(i).getXmId(), id)) {
+// a5.setPjpm(i + 1);
+// }
+// }
+// a5.setCount(String.valueOf(list.size()));
+// xmpjqdOneResponses.add(a5);
return xmpjqdOneResponses;
}
@@ -188,9 +198,13 @@ public class XmpjqdServiceImpl extends ServiceImpl impleme
if (floor.size() % 2 == 1) {
xmhxDetail.setPjpm(String.valueOf(floor.get(floor.size() / 2)));
} else {
- Integer lower = floor.get(floor.size() / 2 - 1);
- Integer upper = floor.get(floor.size() / 2);
- xmhxDetail.setPjpm(String.valueOf((lower + upper) / 2));
+ if(!floor.isEmpty()){
+ Integer lower = floor.get(floor.size() / 2 - 1);
+ Integer upper = floor.get(floor.size() / 2);
+ xmhxDetail.setPjpm(String.valueOf((lower + upper) / 2));
+ }else {
+ xmhxDetail.setPjpm("0");
+ }
}
zws.add(xmhxDetail);
//首层层高
@@ -231,14 +245,18 @@ public class XmpjqdServiceImpl extends ServiceImpl impleme
if (length % 2 == 1) {
xmhxDetail.setPjpm(String.valueOf(bigDecimals.get(middleIndex)));
} else {
- BigDecimal lower = bigDecimals.get(middleIndex - 1);
- BigDecimal upper = bigDecimals.get(middleIndex);
- xmhxDetail.setPjpm(
- String.valueOf(
- lower.add(upper)
- .divide(BigDecimal.valueOf(2), 2, RoundingMode.HALF_UP) // 2 表示保留两位小数
- )
- );
+ if(!bigDecimals.isEmpty()){
+ BigDecimal lower = bigDecimals.get(middleIndex - 1);
+ BigDecimal upper = bigDecimals.get(middleIndex);
+ xmhxDetail.setPjpm(
+ String.valueOf(
+ lower.add(upper)
+ .divide(BigDecimal.valueOf(2), 2, RoundingMode.HALF_UP) // 2 表示保留两位小数
+ )
+ );
+ }else {
+ xmhxDetail.setPjpm("0");
+ }
}
return xmhxDetail;
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/ZwStatsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/ZwStatsServiceImpl.java
index 2e61e83..cd87f2a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/ZwStatsServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/ZwStatsServiceImpl.java
@@ -33,24 +33,24 @@ public class ZwStatsServiceImpl implements ZwStatsService {
* 项目情况
*/
@Override
- public AllProjectResponse allProject() {
- return zwStatsMapper.allProject();
+ public AllProjectResponse allProject(String years) {
+ return zwStatsMapper.allProject(years);
}
/**
* 功能区
*/
@Override
- public List ribbon() {
- return zwStatsMapper.ribbon();
+ public List ribbon(String years) {
+ return zwStatsMapper.ribbon(years);
}
/**
* 投资主体
*/
@Override
- public List investors() {
- return zwStatsMapper.investors();
+ public List investors(String years) {
+ return zwStatsMapper.investors(years);
}
/**
diff --git a/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml b/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml
index 8cdec35..087540d 100644
--- a/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml
@@ -5,29 +5,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
insert into copy_gysl_basic_information
@@ -66,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
tyshxydm,
status,
is_fmqd,
+ jhtze,
#{id},
@@ -102,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{tyshxydm},
#{status},
#{isFmqd},
+ #{jhtze},
@@ -292,29 +291,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"