From 5bb201b27260b1863a657c6ad5dcc396d7c35ea0 Mon Sep 17 00:00:00 2001
From: lcj <2331845269@qq.com>
Date: Fri, 6 Jun 2025 19:52:34 +0800
Subject: [PATCH] =?UTF-8?q?[update]=20=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E5=92=8C=E8=BF=9B=E5=BA=A6=E8=AE=A1=E5=88=92?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
xinnengyuan/pom.xml | 2 +-
.../src/main/resources/application-dev.yml | 3 +
.../src/main/resources/application-prod.yml | 73 +++++----
.../src/main/resources/application.yml | 2 +-
.../job/cycle/IncSyncDeleteProjectCache.java | 3 +
.../PgsProgressCategoryController.java | 13 ++
.../PgsProgressCategoryMatrixVo.java | 60 +++++++
.../PgsProgressCategoryProjectVo.java | 62 +++++++
.../PgsProgressCategorySubProjectVo.java | 66 ++++++++
.../PgsProgressPlanDetailDateVo.java | 15 ++
.../service/IPgsProgressCategoryService.java | 9 ++
.../impl/PgsProgressCategoryServiceImpl.java | 152 ++++++++++++++++--
.../PgsProgressPlanDetailServiceImpl.java | 8 +-
.../impl/PgsProgressPlanServiceImpl.java | 14 +-
.../project/constant/BusProjectConstant.java | 5 +
.../controller/BusProjectController.java | 36 ++++-
.../BusUserProjectRelevancyController.java | 1 -
.../dto/project/BusProjectCreateReq.java | 5 -
.../dto/project/BusProjectCreateSubReq.java | 28 ++++
.../domain/vo/project/BusProjectVo.java | 6 +
.../domain/vo/project/BusSubProjectVo.java | 34 ++++
.../project/service/IBusProjectService.java | 24 ++-
.../impl/BusProjectFileServiceImpl.java | 6 +-
.../service/impl/BusProjectServiceImpl.java | 125 +++++++++++++-
.../BusUserProjectRelevancyServiceImpl.java | 23 ++-
.../script/docker/nginx/conf/nginx.conf | 13 +-
26 files changed, 694 insertions(+), 94 deletions(-)
create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryMatrixVo.java
create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryProjectVo.java
create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategorySubProjectVo.java
create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateSubReq.java
create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusSubProjectVo.java
diff --git a/xinnengyuan/pom.xml b/xinnengyuan/pom.xml
index cc87970d..596eabc4 100644
--- a/xinnengyuan/pom.xml
+++ b/xinnengyuan/pom.xml
@@ -90,7 +90,7 @@
prod
prod
- warn
+ info
ruoyi
123456
diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/application-dev.yml b/xinnengyuan/ruoyi-admin/src/main/resources/application-dev.yml
index 4a869122..e3ead3e8 100644
--- a/xinnengyuan/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/xinnengyuan/ruoyi-admin/src/main/resources/application-dev.yml
@@ -269,3 +269,6 @@ weather:
project-id: 2JTHPUQ5YY
private-key: MC4CAQAwBQYDK2VwBCIEIMAglX7IsxYiTeM+FXXnvCUsIggajeP4s8gAllewm6BN
api-host: n35rk53njv.re.qweatherapi.com
+# dxf转 geojson 执行文件名
+dxf2GeoJson:
+ file-name: main.exe
diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/application-prod.yml b/xinnengyuan/ruoyi-admin/src/main/resources/application-prod.yml
index d5b79928..fac878eb 100644
--- a/xinnengyuan/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/xinnengyuan/ruoyi-admin/src/main/resources/application-prod.yml
@@ -52,35 +52,35 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
- url: jdbc:mysql://mysql:3306/xinnengyuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
- username: root
- password: 123456
-# # 从库数据源
-# slave:
-# lazy: true
-# type: ${spring.datasource.type}
-# driverClassName: com.mysql.cj.jdbc.Driver
-# url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
-# username:
-# password:
-# oracle:
-# type: ${spring.datasource.type}
-# driverClassName: oracle.jdbc.OracleDriver
-# url: jdbc:oracle:thin:@//localhost:1521/XE
-# username: ROOT
-# password: root
-# postgres:
-# type: ${spring.datasource.type}
-# driverClassName: org.postgresql.Driver
-# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
-# username: root
-# password: root
-# sqlserver:
-# type: ${spring.datasource.type}
-# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
-# username: SA
-# password: root
+ url: jdbc:mysql://192.168.110.2:13386/xinnengyuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+ username: xinnengyuan
+ password: caJWNthNFaNRpRNy
+ # # 从库数据源
+ # slave:
+ # lazy: true
+ # type: ${spring.datasource.type}
+ # driverClassName: com.mysql.cj.jdbc.Driver
+ # url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+ # username:
+ # password:
+ # oracle:
+ # type: ${spring.datasource.type}
+ # driverClassName: oracle.jdbc.OracleDriver
+ # url: jdbc:oracle:thin:@//localhost:1521/XE
+ # username: ROOT
+ # password: root
+ # postgres:
+ # type: ${spring.datasource.type}
+ # driverClassName: org.postgresql.Driver
+ # url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
+ # username: root
+ # password: root
+ # sqlserver:
+ # type: ${spring.datasource.type}
+ # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ # url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
+ # username: SA
+ # password: root
hikari:
# 最大连接池数量
maxPoolSize: 20
@@ -101,13 +101,13 @@ spring:
spring.data:
redis:
# 地址
- host: redis
+ host: 192.168.110.2
# 端口,默认为6379
port: 6379
# 数据库索引
- database: 3
+ database: 1
# redis 密码必须配置
- password: 123456
+ password: HMASKEbyhaASPZXB
# 连接超时时间
timeout: 10s
# 是否开启ssl
@@ -265,3 +265,12 @@ justauth:
client-id: 10**********6
client-secret: 1f7d08**********5b7**********29e
redirect-uri: ${justauth.address}/social-callback?source=gitlab
+# 和风天气 https://dev.qweather.com/
+weather:
+ key-id: T65EAABUXC
+ project-id: 2JTHPUQ5YY
+ private-key: MC4CAQAwBQYDK2VwBCIEIMAglX7IsxYiTeM+FXXnvCUsIggajeP4s8gAllewm6BN
+ api-host: n35rk53njv.re.qweatherapi.com
+# dxf转 geojson 执行文件名
+dxf2GeoJson:
+ file-name: main
diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml
index aa1d9408..72dfa4ec 100644
--- a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml
+++ b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml
@@ -76,7 +76,7 @@ spring:
servlet:
multipart:
# 单个文件大小
- max-file-size: 100MB
+ max-file-size: 200MB
# 设置总上传的文件大小
max-request-size: 200MB
mvc:
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncDeleteProjectCache.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncDeleteProjectCache.java
index 59d6b446..203885f3 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncDeleteProjectCache.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/cycle/IncSyncDeleteProjectCache.java
@@ -37,7 +37,10 @@ public class IncSyncDeleteProjectCache {
}
// 批量删除
if (!keysToDelete.isEmpty()) {
+ log.info("清理项目缓存,共 {} 条:{}", keysToDelete.size(), keysToDelete);
stringRedisTemplate.delete(keysToDelete);
+ } else {
+ log.info("没有需要清理的项目缓存");
}
}
}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressCategoryController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressCategoryController.java
index 591124a2..41edb0f7 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressCategoryController.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProgressCategoryController.java
@@ -18,6 +18,7 @@ import org.dromara.progress.domain.dto.progresscategory.PgsProgressCategoryQuery
import org.dromara.progress.domain.dto.progresscategory.PgsProgressCategoryUpdateReq;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryCoordinateVo;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryLastTimeVo;
+import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryProjectVo;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryVo;
import org.dromara.progress.service.IPgsProgressCategoryService;
import org.springframework.validation.annotation.Validated;
@@ -84,6 +85,18 @@ public class PgsProgressCategoryController extends BaseController {
return R.ok(pgsProgressCategoryService.getCoordinate(id));
}
+ /**
+ * 获取项目总的进度信息
+ *
+ * @param projectId 项目主键
+ */
+ @SaCheckPermission("progress:progressCategory:query")
+ @GetMapping("/project/number/{projectId}")
+ public R getProjectNumber(@NotNull(message = "项目主键不能为空")
+ @PathVariable Long projectId) {
+ return R.ok(pgsProgressCategoryService.getProjectNumber(projectId));
+ }
+
/**
* 获取进度类别最后一次进度信息
*
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryMatrixVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryMatrixVo.java
new file mode 100644
index 00000000..cc11f3a1
--- /dev/null
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryMatrixVo.java
@@ -0,0 +1,60 @@
+package org.dromara.progress.domain.vo.progresscategory;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.common.json.handler.BigDecimalToIntegerSerializer;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author lcj
+ * @date 2025/6/5 15:41
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PgsProgressCategoryMatrixVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 3061735290740592145L;
+
+ /**
+ * 方阵id
+ */
+ private Long matrixId;
+
+ /**
+ * 总数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal total;
+
+ /**
+ * 已完成数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal completed;
+
+ /**
+ * 计划总数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal planTotal;
+
+ /**
+ * 已完成数量百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal completedPercentage;
+
+ /**
+ * 计划中数量百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal planTotalPercentage;
+
+}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryProjectVo.java
new file mode 100644
index 00000000..e87f93ec
--- /dev/null
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategoryProjectVo.java
@@ -0,0 +1,62 @@
+package org.dromara.progress.domain.vo.progresscategory;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import lombok.Data;
+import org.dromara.common.json.handler.BigDecimalToIntegerSerializer;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author lcj
+ * @date 2025/6/5 15:36
+ */
+@Data
+public class PgsProgressCategoryProjectVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = -8208751933207899365L;
+
+ /**
+ * 项目id
+ */
+ private Long projectId;
+
+ /**
+ * 总数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal total;
+
+ /**
+ * 已完成数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal completed;
+
+ /**
+ * 计划总数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal planTotal;
+
+ /**
+ * 已完成数量百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal completedPercentage;
+
+ /**
+ * 计划中数量百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal planTotalPercentage;
+
+ /**
+ * 子项目列表
+ */
+ private List children;
+
+}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategorySubProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategorySubProjectVo.java
new file mode 100644
index 00000000..e17614f4
--- /dev/null
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progresscategory/PgsProgressCategorySubProjectVo.java
@@ -0,0 +1,66 @@
+package org.dromara.progress.domain.vo.progresscategory;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.common.json.handler.BigDecimalToIntegerSerializer;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author lcj
+ * @date 2025/6/5 15:39
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PgsProgressCategorySubProjectVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 7523695525881518366L;
+
+ /**
+ * 子项目id
+ */
+ private Long subProjectId;
+
+ /**
+ * 总数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal total;
+
+ /**
+ * 已完成数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal completed;
+
+ /**
+ * 计划总数量/百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal planTotal;
+
+ /**
+ * 已完成数量百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal completedPercentage;
+
+ /**
+ * 计划中数量百分比
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal planTotalPercentage;
+
+ /**
+ * 方阵列表
+ */
+ private List children;
+
+}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailDateVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailDateVo.java
index fd20184e..08002484 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailDateVo.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/vo/progressplandetail/PgsProgressPlanDetailDateVo.java
@@ -1,11 +1,15 @@
package org.dromara.progress.domain.vo.progressplandetail;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.dromara.common.json.handler.BigDecimalToIntegerSerializer;
+import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
/**
* @author lcj
@@ -27,4 +31,15 @@ public class PgsProgressPlanDetailDateVo {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date date;
+ /**
+ * 已完成数量
+ */
+ @JsonSerialize(using = BigDecimalToIntegerSerializer.class)
+ private BigDecimal finishedNumber;
+
+ /**
+ * 完成详情
+ */
+ private List finishedDetail;
+
}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressCategoryService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressCategoryService.java
index a29a5821..3d491586 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressCategoryService.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProgressCategoryService.java
@@ -8,6 +8,7 @@ import org.dromara.progress.domain.dto.progresscategory.PgsProgressCategoryQuery
import org.dromara.progress.domain.dto.progresscategory.PgsProgressCategoryUpdateReq;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryCoordinateVo;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryLastTimeVo;
+import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryProjectVo;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryVo;
import java.util.Collection;
@@ -111,4 +112,12 @@ public interface IPgsProgressCategoryService extends IService detailList = progressPlanDetailService.lambdaQuery()
- .select(PgsProgressPlanDetail::getId, PgsProgressPlanDetail::getDate)
+ .select(PgsProgressPlanDetail::getId,
+ PgsProgressPlanDetail::getDate,
+ PgsProgressPlanDetail::getFinishedNumber,
+ PgsProgressPlanDetail::getFinishedDetail)
.eq(PgsProgressPlanDetail::getProgressCategoryId, id)
.orderByAsc(PgsProgressPlanDetail::getDate)
.list()
- .stream().map(detail ->
- new PgsProgressPlanDetailDateVo(detail.getId(), detail.getDate()))
- .toList();
+ .stream().map(detail -> {
+ PgsProgressPlanDetailDateVo detailDateVo = new PgsProgressPlanDetailDateVo();
+ detailDateVo.setId(detail.getId());
+ detailDateVo.setDate(detail.getDate());
+ detailDateVo.setFinishedNumber(new BigDecimal(detail.getFinishedNumber()));
+ String finishedDetail = detail.getFinishedDetail();
+ if (StringUtils.isNotBlank(finishedDetail)) {
+ List finishedVoList = JSONUtil.toList(finishedDetail, PgsProgressPlanDetailFinishedVo.class);
+ detailDateVo.setFinishedDetail(finishedVoList);
+ }
+ return detailDateVo;
+ }).toList();
coordinateVo.setDetailList(detailList);
coordinateVo.setFacilityList(facilityList);
return coordinateVo;
}
+ /**
+ * 根据项目id获取项目进度类别数量信息
+ *
+ * @param projectId 项目id
+ * @return 项目进度类别数量信息
+ */
+ @Override
+ public PgsProgressCategoryProjectVo getProjectNumber(Long projectId) {
+ // 获取项目信息
+ BusProject project = projectService.getById(projectId);
+ if (project == null) {
+ throw new ServiceException("项目不存在", HttpStatus.NOT_FOUND);
+ }
+ // 获取子项目信息
+ List subProjectList = projectService.lambdaQuery()
+ .select(BusProject::getId)
+ .eq(BusProject::getPId, projectId)
+ .list();
+ if (CollUtil.isEmpty(subProjectList)) {
+ return null;
+ }
+ List subProjectIdList = subProjectList.stream().map(BusProject::getId).toList();
+ // 获取方阵信息
+ List matrixList = matrixService.lambdaQuery()
+ .select(FacMatrix::getId)
+ .in(FacMatrix::getProjectId, subProjectIdList)
+ .list();
+ if (CollUtil.isEmpty(matrixList)) {
+ return null;
+ }
+ List matrixIdList = matrixList.stream().map(FacMatrix::getId).toList();
+ // 分组:projectId -> matrixList
+ Map> matrixGroupByProject = matrixList.stream()
+ .collect(Collectors.groupingBy(FacMatrix::getProjectId));
+ // 获取每个方阵下的进度类别信息
+ List progressCategoryList = this.lambdaQuery()
+ .select(PgsProgressCategory::getId, PgsProgressCategory::getStatus, PgsProgressCategory::getMatrixId)
+ .in(PgsProgressCategory::getMatrixId, matrixIdList)
+ .list();
+ // 分组:matrixId -> categoryList
+ Map> categoryGroupByMatrix = progressCategoryList.
+ stream().collect(Collectors.groupingBy(PgsProgressCategory::getMatrixId));
+ // 封装结果
+ List subProjectVoList = new ArrayList<>();
+ BigDecimal totalAll = BigDecimal.ZERO;
+ BigDecimal completedAll = BigDecimal.ZERO;
+ BigDecimal planTotalAll = BigDecimal.ZERO;
+ for (BusProject subProject : subProjectList) {
+ Long subProjectId = subProject.getId();
+ List subMatrices = matrixGroupByProject.get(subProjectId);
+ if (CollUtil.isEmpty(subMatrices)) {
+ continue;
+ }
+ List matrixVoList = new ArrayList<>();
+ BigDecimal total = BigDecimal.ZERO;
+ BigDecimal completed = BigDecimal.ZERO;
+ BigDecimal planTotal = BigDecimal.ZERO;
+ for (FacMatrix matrix : subMatrices) {
+ Long matrixId = matrix.getId();
+ List categories = categoryGroupByMatrix.get(matrixId);
+ if (CollUtil.isEmpty(categories)) {
+ continue;
+ }
+ BigDecimal matrixTotal = categories.stream().map(PgsProgressCategory::getTotal).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal matrixCompleted = categories.stream().map(PgsProgressCategory::getCompleted).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal matrixPlanTotal = categories.stream().map(PgsProgressCategory::getPlanTotal).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+ total = total.add(matrixTotal);
+ completed = completed.add(matrixCompleted);
+ planTotal = planTotal.add(matrixPlanTotal);
+ // 构建 matrixVo
+ PgsProgressCategoryMatrixVo matrixVo = new PgsProgressCategoryMatrixVo();
+ matrixVo.setMatrixId(matrixId);
+ matrixVo.setTotal(matrixTotal);
+ matrixVo.setCompleted(matrixCompleted);
+ matrixVo.setPlanTotal(matrixPlanTotal);
+ matrixVo.setCompletedPercentage(BigDecimalUtil.toPercentage(matrixCompleted, matrixTotal));
+ matrixVo.setPlanTotalPercentage(BigDecimalUtil.toPercentage(matrixPlanTotal, matrixTotal));
+ matrixVoList.add(matrixVo);
+ }
+ // 构建子项目VO
+ PgsProgressCategorySubProjectVo subProjectVo = new PgsProgressCategorySubProjectVo();
+ subProjectVo.setSubProjectId(subProjectId);
+ subProjectVo.setTotal(total);
+ subProjectVo.setCompleted(completed);
+ subProjectVo.setPlanTotal(planTotal);
+ subProjectVo.setCompletedPercentage(BigDecimalUtil.toPercentage(completed, total));
+ subProjectVo.setPlanTotalPercentage(BigDecimalUtil.toPercentage(planTotal, total));
+ subProjectVo.setChildren(matrixVoList);
+ // 累加总项目数据
+ totalAll = totalAll.add(total);
+ completedAll = completedAll.add(completed);
+ planTotalAll = planTotalAll.add(planTotal);
+ subProjectVoList.add(subProjectVo);
+ }
+ // 构建项目VO
+ PgsProgressCategoryProjectVo projectVo = new PgsProgressCategoryProjectVo();
+ projectVo.setProjectId(projectId);
+ projectVo.setTotal(totalAll);
+ projectVo.setCompleted(completedAll);
+ projectVo.setPlanTotal(planTotalAll);
+ projectVo.setCompletedPercentage(BigDecimalUtil.toPercentage(completedAll, totalAll));
+ projectVo.setPlanTotalPercentage(BigDecimalUtil.toPercentage(planTotalAll, totalAll));
+ projectVo.setChildren(subProjectVoList);
+ return projectVo;
+ }
+
/**
* 根据子节点完成状态获取父节点完成状态
*
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java
index 57f84ba0..d92e8733 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java
@@ -499,8 +499,12 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl detailList = req.getDetailList();
if (CollUtil.isNotEmpty(detailList)) {
- List detailList1 = detailList.stream().map(detail -> {
+ List newDetailList = detailList.stream().map(detail -> {
PgsProgressPlanDetail progressPlanDetail = new PgsProgressPlanDetail();
BeanUtils.copyProperties(detail, progressPlanDetail);
progressPlanDetail.setProgressPlanId(id);
@@ -154,7 +163,7 @@ public class PgsProgressPlanServiceImpl extends ServiceImpl> listSubProject(@NotNull(message = "项目id不能为空")
+ @PathVariable Long id) {
+ return R.ok(projectService.querySubList(id));
+ }
+
/**
* 导出项目列表
*/
@@ -99,6 +107,20 @@ public class BusProjectController extends BaseController {
return R.ok(projectService.insertByBo(req));
}
+ /**
+ * 新增子项目
+ */
+ @SaCheckPermission("project:project:add")
+ @Log(title = "项目", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping("/sub")
+ public R addSub(@Validated(AddGroup.class) @RequestBody BusProjectCreateSubReq req) {
+ if (req == null) {
+ throw new ServiceException("参数不能为空", HttpStatus.BAD_REQUEST);
+ }
+ return R.ok(projectService.insertSubByProject(req));
+ }
+
/**
* 修改项目
*/
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java
index 0e934de4..2b62d14a 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java
@@ -56,7 +56,6 @@ public class BusUserProjectRelevancyController extends BaseController {
/**
* 查询登录用户与项目关联列表
*/
- @SaCheckPermission("project:projectRelevancy:list")
@GetMapping("/login/list")
public R> listByLoginUser() {
Long userId = LoginHelper.getUserId();
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateReq.java
index a3a91597..1763560f 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateReq.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateReq.java
@@ -25,11 +25,6 @@ public class BusProjectCreateReq implements Serializable {
*/
private String shortName;
- /**
- * 父项目id
- */
- private Long pId;
-
/**
* 项目图片
*/
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateSubReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateSubReq.java
new file mode 100644
index 00000000..bc706176
--- /dev/null
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/project/BusProjectCreateSubReq.java
@@ -0,0 +1,28 @@
+package org.dromara.project.domain.dto.project;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author lcj
+ * @date 2025/6/6 11:57
+ */
+@Data
+public class BusProjectCreateSubReq implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 6380055877986391291L;
+
+ /**
+ * 项目名称
+ */
+ private String projectName;
+
+ /**
+ * 父项目id
+ */
+ private Long pId;
+
+}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectVo.java
index 36cfbbd7..8db8bcc8 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectVo.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusProjectVo.java
@@ -11,6 +11,7 @@ import org.dromara.project.domain.BusProject;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
+import java.util.List;
/**
@@ -183,4 +184,9 @@ public class BusProjectVo implements Serializable {
@ExcelProperty(value = "创建时间")
private Date createTime;
+ /**
+ * 子项目
+ */
+ private List children;
+
}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusSubProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusSubProjectVo.java
new file mode 100644
index 00000000..c3403ff2
--- /dev/null
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/project/BusSubProjectVo.java
@@ -0,0 +1,34 @@
+package org.dromara.project.domain.vo.project;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author lcj
+ * @date 2025/6/4 9:53
+ */
+@Data
+public class BusSubProjectVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = -5283786195929619472L;
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 项目名称
+ */
+ private String projectName;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+}
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java
index a1b18441..0a4329d4 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java
@@ -7,12 +7,10 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.dto.project.BusProjectCreateReq;
+import org.dromara.project.domain.dto.project.BusProjectCreateSubReq;
import org.dromara.project.domain.dto.project.BusProjectQueryReq;
import org.dromara.project.domain.dto.project.BusProjectUpdateReq;
-import org.dromara.project.domain.vo.project.BusProjectContractorListVo;
-import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo;
-import org.dromara.project.domain.vo.project.BusProjectVo;
-import org.dromara.project.domain.vo.project.BusProjectWeatherVo;
+import org.dromara.project.domain.vo.project.*;
import java.util.Collection;
import java.util.List;
@@ -50,6 +48,14 @@ public interface IBusProjectService extends IService {
*/
List queryList(BusProjectQueryReq req);
+ /**
+ * 查询项目下的子项目列表
+ *
+ * @param id 父项目id
+ * @return 项目下的子项目列表
+ */
+ List querySubList(Long id);
+
/**
* 查询当前登录用户项目列表以及项目列表下的分包公司列表
*
@@ -65,6 +71,14 @@ public interface IBusProjectService extends IService {
*/
Long insertByBo(BusProjectCreateReq dto);
+ /**
+ * 新增子项目
+ *
+ * @param dto 子项目
+ * @return 子项目 id
+ */
+ Long insertSubByProject(BusProjectCreateSubReq dto);
+
/**
* 修改项目
*
@@ -91,7 +105,7 @@ public interface IBusProjectService extends IService {
BusProjectVo getVo(BusProject project);
/**
- * 获取项目查询条件封装
+ * 获取项目查询条件封装(不查询子项目)
*
* @param req 查询条件
* @return 查询条件封装
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectFileServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectFileServiceImpl.java
index 00351204..bb92f2fd 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectFileServiceImpl.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectFileServiceImpl.java
@@ -32,6 +32,7 @@ import org.dromara.project.service.IBusProjectFileService;
import org.dromara.project.service.IBusProjectService;
import org.dromara.utils.Dxf2JsonUtil;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -67,6 +68,9 @@ public class BusProjectFileServiceImpl extends ServiceImpl USER_TASK_RUNNING = new ConcurrentHashMap<>();
+ @Value("${dxf2GeoJson.file-name}")
+ private String dxf2GeoJsonFileName;
+
/**
* 查询项目文件存储
*
@@ -258,7 +262,7 @@ public class BusProjectFileServiceImpl extends ServiceImpl queryPageList(BusProjectQueryReq req, PageQuery pageQuery) {
+ // 获取当前登录用户项目列表
+ Long userId = LoginHelper.getUserId();
+ List projectIdList = userProjectRelevancyService.lambdaQuery()
+ .select(BusUserProjectRelevancy::getProjectId)
+ .eq(BusUserProjectRelevancy::getUserId, userId)
+ .list()
+ .stream().map(BusUserProjectRelevancy::getProjectId).toList();
+ LambdaQueryWrapper lqw = this.buildQueryWrapper(req);
+ if (CollUtil.isEmpty(projectIdList)) {
+ return TableDataInfo.build(new Page<>());
+ } else {
+ lqw.in(BusProject::getId, projectIdList);
+ }
// 查询数据库
- Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
+ Page result = this.page(pageQuery.build(), lqw);
return TableDataInfo.build(this.getVoPage(result));
}
@@ -132,6 +143,27 @@ public class BusProjectServiceImpl extends ServiceImpl querySubList(Long id) {
+ BusProject project = this.getById(id);
+ if (project == null) {
+ throw new ServiceException("查询项目不存在", HttpStatus.NOT_FOUND);
+ }
+ List subProjectList = this.list(new LambdaQueryWrapper()
+ .eq(BusProject::getPId, id));
+ return subProjectList.stream().map(subProject -> {
+ BusSubProjectVo subProjectVo = new BusSubProjectVo();
+ BeanUtils.copyProperties(subProject, subProjectVo);
+ return subProjectVo;
+ }).toList();
+ }
+
/**
* 查询当前登录用户项目列表以及项目列表下的分包公司列表
*
@@ -214,6 +246,49 @@ public class BusProjectServiceImpl extends ServiceImpl userIdList = new HashSet<>(List.of(userId, SystemConstants.SUPER_ADMIN_ID));
+ List userProjectRelevancyList = userIdList.stream().map(id -> {
+ BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy();
+ userProjectRelevancy.setUserId(id);
+ userProjectRelevancy.setProjectId(subProjectId);
+ return userProjectRelevancy;
+ }).toList();
+ boolean saveRelevancy = userProjectRelevancyService.saveBatch(userProjectRelevancyList);
+ if (!saveRelevancy) {
+ throw new ServiceException("新增用户与项目关联失败,数据库异常", HttpStatus.ERROR);
+ }
+ return subProjectId;
+ }
+
/**
* 修改项目
*
@@ -287,6 +362,13 @@ public class BusProjectServiceImpl extends ServiceImpl 0) {
+ throw new ServiceException("删除项目中存在子项目,请先删除子项目", HttpStatus.BAD_REQUEST);
+ }
}
// 删除项目
boolean removeProjectList = this.removeBatchByIds(ids);
@@ -330,11 +412,22 @@ public class BusProjectServiceImpl extends ServiceImpl subProjectList = this.lambdaQuery()
+ .select(BusProject::getId, BusProject::getProjectName, BusProject::getCreateTime)
+ .eq(BusProject::getPId, project.getId())
+ .list();
+ List subProjectVoList = subProjectList.stream().map(subProject -> {
+ BusSubProjectVo subProjectVo = new BusSubProjectVo();
+ BeanUtils.copyProperties(subProject, subProjectVo);
+ return subProjectVo;
+ }).toList();
+ projectVo.setChildren(subProjectVoList);
return projectVo;
}
/**
- * 获取项目查询条件封装
+ * 获取项目查询条件封装(不查询子项目)
*
* @param req 查询条件
* @return 查询条件封装
@@ -382,7 +475,11 @@ public class BusProjectServiceImpl extends ServiceImpl> projectFileMap = projectFileService.lambdaQuery()
.in(BusProjectFile::getProjectId, projectIdList).list()
.stream().collect(Collectors.groupingBy(BusProjectFile::getProjectId));
+ // 获取子项目列表
+ List subProjectList = this.lambdaQuery()
+ .select(BusProject::getId, BusProject::getPId, BusProject::getProjectName, BusProject::getCreateTime)
+ .in(BusProject::getPId, projectIdList)
+ .list();
+ Map> subProjectMap = subProjectList.stream().collect(Collectors.groupingBy(BusProject::getPId));
// 对象列表 => 封装对象列表
List projectVoList = projectList.stream().map(project -> {
// 对象转封装类
@@ -415,6 +518,16 @@ public class BusProjectServiceImpl extends ServiceImpl subProjectVoList = new ArrayList<>();
+ if (subProjectMap.containsKey(project.getId())){
+ subProjectVoList = subProjectMap.get(project.getId()).stream().map(subProject -> {
+ BusSubProjectVo subProjectVo = new BusSubProjectVo();
+ BeanUtils.copyProperties(subProject, subProjectVo);
+ return subProjectVo;
+ }).toList();
+ }
+ projectVo.setChildren(subProjectVoList);
return projectVo;
}).toList();
projectVoPage.setRecords(projectVoList);
diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusUserProjectRelevancyServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusUserProjectRelevancyServiceImpl.java
index 58ad4dba..7b08cb77 100644
--- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusUserProjectRelevancyServiceImpl.java
+++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusUserProjectRelevancyServiceImpl.java
@@ -13,6 +13,7 @@ import org.dromara.common.core.utils.ObjectUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.project.constant.BusProjectConstant;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.domain.dto.project.BusProjectBatchByProjectListReq;
@@ -29,10 +30,8 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 系统用户与项目关联Service业务层处理
@@ -209,14 +208,22 @@ public class BusUserProjectRelevancyServiceImpl extends ServiceImpl list = this.list(queryWrapper);
+ List projectIdList = list.stream().map(BusUserProjectRelevancy::getProjectId).toList();
+ Map> projectMap = projectService.lambdaQuery()
+ .select(BusProject::getId, BusProject::getPId, BusProject::getProjectName, BusProject::getShortName)
+ .in(BusProject::getId, projectIdList)
+ .eq(BusProject::getPId, BusProjectConstant.PARENT_PROJECT_ID)
+ .list()
+ .stream().collect(Collectors.groupingBy(BusProject::getId));
// 获取封装
return list.stream()
.map(userProjectRelevancy -> {
Long projectId = userProjectRelevancy.getProjectId();
- QueryWrapper projectQueryWrapper = new QueryWrapper<>();
- projectQueryWrapper.eq("id", projectId);
- BusProject project = projectService.getOne(projectQueryWrapper);
- if (project != null) {
+ BusProject project = null;
+ if (projectMap.containsKey(projectId)) {
+ project = projectMap.get(projectId).getFirst();
+ }
+ if (project != null && project.getPId().equals(BusProjectConstant.PARENT_PROJECT_ID)) {
BusLoginUserProjectRelevancyVo loginUserProjectRelevancy = new BusLoginUserProjectRelevancyVo();
loginUserProjectRelevancy.setId(userProjectRelevancy.getId());
loginUserProjectRelevancy.setUserId(userProjectRelevancy.getUserId());
diff --git a/xinnengyuan/script/docker/nginx/conf/nginx.conf b/xinnengyuan/script/docker/nginx/conf/nginx.conf
index 3c79d97f..31fbe790 100644
--- a/xinnengyuan/script/docker/nginx/conf/nginx.conf
+++ b/xinnengyuan/script/docker/nginx/conf/nginx.conf
@@ -1,7 +1,7 @@
worker_processes 1;
-error_log /var/log/nginx/error.log warn;
-pid /var/run/nginx.pid;
+error_log /mnt/disk1/docker/nginx/log/error.log warn;
+pid /mnt/disk1/docker/nginx/nginx.pid;
events {
worker_connections 1024;
@@ -19,12 +19,11 @@ http {
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
- access_log /var/log/nginx/access.log main;
+ access_log /mnt/disk1/docker/nginx/log/access.log main;
upstream server {
ip_hash;
- server 127.0.0.1:8080;
- server 127.0.0.1:8081;
+ server 127.0.0.1:8899;
}
upstream monitor-admin {
@@ -68,12 +67,12 @@ http {
}
location / {
- root /usr/share/nginx/html; # docker映射路径 不允许更改
+ root /mnt/disk1/docker/nginx/html; # docker映射路径 不允许更改
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
- location /prod-api/ {
+ location /api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;