From 7524634bfd56c6d8d42ba9fee65962e23cfe91cd Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 13 May 2022 16:04:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=8A=B6=E6=80=81=E7=9C=8B?= =?UTF-8?q?=E6=9D=BF--=E6=97=B6=E9=97=B4=E8=BD=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/aspect/DictAspect.java | 11 +++- .../ProjectStatusBoardController.java | 53 +++++++++++++++++++ .../mapper/ProjectStatusBoardMapper.java | 9 ++++ .../mapper/xml/ProjectStatusBoardMapper.xml | 25 +++++++++ .../service/IProjectStatusBoardService.java | 17 ++++++ .../impl/ProjectStatusBoardServiceImpl.java | 49 +++++++++++++++++ .../impl/ProjectTaskPlanningServiceImpl.java | 29 +++++----- .../project/vo/ProjectStatusBoardVO.java | 13 +++++ 8 files changed, 192 insertions(+), 14 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectStatusBoardController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectStatusBoardMapper.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectStatusBoardMapper.xml create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectStatusBoardService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectStatusBoardVO.java diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/DictAspect.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/DictAspect.java index e45e1a2c0..43d7c2bac 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/DictAspect.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/DictAspect.java @@ -98,8 +98,15 @@ public class DictAspect { if(!"java.util.LinkedHashMap".equals(name) && !"java.util.HashMap".equals(name) && !"java.lang.String".equals(name)){ List items = new ArrayList<>(); for (Object record : (List)((Result) result).getResult()) { - JSONObject item = getJsonObject(record,cut); - items.add(item); + if("java.util.ArrayList".equals(record.getClass().getName())){ + for (Object o : (List) record) { + JSONObject item = getJsonObject(o,cut); + items.add(item); + } + }else{ + JSONObject item = getJsonObject(record,cut); + items.add(item); + } } ((Result) result).setResult(items); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectStatusBoardController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectStatusBoardController.java new file mode 100644 index 000000000..4ae4878e1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectStatusBoardController.java @@ -0,0 +1,53 @@ +package com.jero.modules.project.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.service.IProjectStatusBoardService; +import com.jero.modules.project.vo.TimeNodeVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @description + * @date 2022/5/13 9:56 + * @auth zhn + */ +@Api(tags="项目状态看板") +@RestController +@RequestMapping("/project/ProjectStatusBoardController") +@Slf4j +public class ProjectStatusBoardController { + + @Autowired + private IProjectStatusBoardService iProjectStatusBoardService; + + /** + * 时间轴列表 + * + * @param projectLibraryBase + * @return + */ + @AutoLog(value = "时间轴列表") + @ApiOperation(value="时间轴列表", notes="时间轴列表") + @GetMapping(value = "/timelineList") + public Result timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) { + List> result = iProjectStatusBoardService.timelineList(projectLibraryBase, req); + if(result==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(result); + } + + + + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectStatusBoardMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectStatusBoardMapper.java new file mode 100644 index 000000000..287d10015 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectStatusBoardMapper.java @@ -0,0 +1,9 @@ +package com.jero.modules.project.mapper; + +/** + * @description + * @date 2022/5/13 10:00 + * @auth zhn + */ +public interface ProjectStatusBoardMapper { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectStatusBoardMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectStatusBoardMapper.xml new file mode 100644 index 000000000..f10e92cfc --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectStatusBoardMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectStatusBoardService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectStatusBoardService.java new file mode 100644 index 000000000..660c0e001 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectStatusBoardService.java @@ -0,0 +1,17 @@ +package com.jero.modules.project.service; + +import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.vo.TimeNodeVO; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @description + * @date 2022/5/13 9:59 + * @auth zhn + */ +public interface IProjectStatusBoardService { + + List> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java new file mode 100644 index 000000000..1f8aafef7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java @@ -0,0 +1,49 @@ +package com.jero.modules.project.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.dummy.entity.DummyInventoryBaseEO; +import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.service.IProjectStatusBoardService; +import com.jero.modules.project.vo.TimeNodeVO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description + * @date 2022/5/13 9:59 + * @auth zhn + */ +@Service +public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService { + @Autowired + private ProjectTaskPlanningServiceImpl projectTaskPlanningService; + @Autowired + private ProjectLibraryBaseServiceImpl projectLibraryBaseService; + + + @Override + public List> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) { + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap()); + + //项目库信息 + List projectLibraryBaseList = projectLibraryBaseService.list(queryWrapper); + List> result = new ArrayList<>(); + if(projectLibraryBaseList.size() != 0){ + //项目库id + List projectLibraryBaseIdList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getId).collect(Collectors.toList()); + + //时间轴数据 + result = projectTaskPlanningService.queryByProjectId(StringUtils.join(projectLibraryBaseIdList, ","), projectLibraryBase.getCut()); + } + return result; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskPlanningServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskPlanningServiceImpl.java index cea55c4c0..16ecab092 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskPlanningServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskPlanningServiceImpl.java @@ -10,6 +10,7 @@ import com.jero.modules.project.enums.ProjectTaskPlanningNameEnum; import com.jero.modules.project.mapper.ProjectTaskPlanningMapper; import com.jero.modules.project.service.IProjectTaskPlanningService; import com.jero.modules.project.vo.TimeNodeVO; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -93,7 +94,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl> queryByProjectId(String projectId,String cut) { List projectTaskPlanningList = projectTaskPlanningMapper.getByProjectId(projectId); List> result = new ArrayList<>(); - List timeNodeVOS = new ArrayList<>(); + TimeNodeVO listConfirmationVO=null; Date now=new Date(); @@ -106,7 +107,8 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl timeNodeVOS = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(projectTaskPlanning.getListConfirmation())) { listConfirmationVO = new TimeNodeVO(); if(CutEnum.CN.getValue().equals(cut)){ @@ -126,7 +128,7 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl