From 0b9d54f0db0e612dbaea99aa3d4cfb5b3fd7d624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Sat, 22 Apr 2023 23:55:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E6=8E=A5=E7=81=AB?= =?UTF-8?q?=E5=B1=B1=E5=BC=95=E6=93=8E=E6=8E=A5=E5=8F=A3-=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=A1=B9=E7=9B=AE=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLibraryBaseController.java | 6 +- .../service/IProjectLibraryBaseService.java | 7 ++ .../impl/ProjectLibraryBaseServiceImpl.java | 104 ++++++++++++++++++ 3 files changed, 115 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index 5e04f3ce1..5826057e4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -1,5 +1,6 @@ package com.jero.modules.project.controller; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; @@ -272,8 +273,9 @@ public class ProjectLibraryBaseController extends JeroController getProjectInfo(@RequestBody JSONObject jsonObject){ - return Result.OK(jsonObject); + public Result getProjectInfo(){ + JSONArray resList = projectLibraryBaseService.getProjectInfo(); + return Result.OK(resList); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java index 3fabc4053..2ca91be84 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java @@ -1,5 +1,6 @@ package com.jero.modules.project.service; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.project.entity.ProjectLibraryBase; @@ -146,4 +147,10 @@ public interface IProjectLibraryBaseService extends IService * @return */ ProjectLibraryBase selectById(String projectLibraryId); + + /** + * 对接火山引擎接口-获取项目统计信息 + * @return + */ + JSONArray getProjectInfo(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 2f3d96bc9..d8858ac14 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -1,5 +1,7 @@ package com.jero.modules.project.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -22,6 +24,7 @@ import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper; import com.jero.modules.project.mapper.ProjectUserPermissionMapper; import com.jero.modules.project.service.*; +import com.jero.modules.project.vo.TimeNodeVO; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.enums.DicCodeEnum; @@ -57,6 +60,7 @@ import java.io.IOException; import java.io.OutputStream; import java.text.Collator; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -153,6 +157,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl plbList = this.getList(new ProjectLibraryBase()); + JSONArray resList = new JSONArray(); + for (ProjectLibraryBase plb: plbList) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("projectId",plb.getId()); + jsonObject.put("projectName",plb.getShowName()); + List> TimeNodeVOsList = projectTaskPlanningService.queryByProjectId(plb.getId(),CutEnum.CN.getValue()); + //获取前置节点 + TimeNodeVO preNodeTnVo = null; + //获取后置节点 + TimeNodeVO postNodeTnVo = null; + if (ObjectUtils.isNotEmpty(TimeNodeVOsList) && TimeNodeVOsList.size() > 0) { + List TimeNodeVOList = TimeNodeVOsList.get(0); + for (TimeNodeVO tnVo : TimeNodeVOList) { + if (null != postNodeTnVo) { + break; + } + if (now.after(tnVo.getTime())) { + preNodeTnVo = tnVo; + } + if (now.before(tnVo.getTime())) { + postNodeTnVo = tnVo; + } + } + } + JSONArray preNodeList = getNodeList(preNodeTnVo); + jsonObject.put("preNode", preNodeList); + JSONArray postNodeList = getNodeList(postNodeTnVo); + jsonObject.put("postNode",postNodeList); + resList.add(jsonObject); + } + return resList; + } + + private JSONArray getNodeList(TimeNodeVO nodeTnVo) { + //根据节点获取对应进度和时间 + JSONArray nodeList = new JSONArray(); + if(ObjectUtils.isNotEmpty(nodeTnVo)){ + if(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getName().equals(nodeTnVo.getName()) || ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getName().equals(nodeTnVo.getName())){ + JSONObject preNode = new JSONObject(); + preNode.put("nodeName", "法规任务确认"); + preNode.put("progress", 0.23); + preNode.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode); + + JSONObject preNode1 = new JSONObject(); + preNode1.put("nodeName", "认证任务确认"); + preNode1.put("progress", 0.23); + preNode1.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode1); + }else if(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getName().equals(nodeTnVo.getName())){ + JSONObject preNode = new JSONObject(); + preNode.put("nodeName", "设计符合性流程"); + preNode.put("progress", 0.55); + preNode.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode); + }else if(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getName().equals(nodeTnVo.getName()) ||ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getName().equals(nodeTnVo.getName())){ + JSONObject preNode = new JSONObject(); + preNode.put("nodeName", "Pre-Homo流程"); + preNode.put("progress", 0.85); + preNode.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode); + + JSONObject preNode1 = new JSONObject(); + preNode1.put("nodeName", "参数收集进度"); + preNode1.put("progress", 0.66); + preNode1.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode1); + }else if(ProjectTaskPlanningNameEnum.CERTIFICATION_SUBMISSION.getName().equals(nodeTnVo.getName()) || ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName().equals(nodeTnVo.getName())){ + JSONObject preNode = new JSONObject(); + preNode.put("nodeName", "认证进度"); + preNode.put("progress", 0.44); + preNode.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode); + + JSONObject preNode1 = new JSONObject(); + preNode1.put("nodeName", "参数收集进度"); + preNode1.put("progress", 0.66); + preNode1.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode1); + }else if(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getName().equals(nodeTnVo.getName())){ + JSONObject preNode = new JSONObject(); + preNode.put("nodeName", "验证符合性流程"); + preNode.put("progress", 0.10); + preNode.put("date", sdf.format(nodeTnVo.getTime())); + nodeList.add(preNode); + } + } + return nodeList; + } }