diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueProjectCategoryDictDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueProjectCategoryDictDTO.java index 83920372a1..b89917e0d7 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueProjectCategoryDictDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueProjectCategoryDictDTO.java @@ -17,9 +17,10 @@ package com.epmet.dto; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -67,7 +68,7 @@ public class IssueProjectCategoryDictDTO implements Serializable { * 分类名称 */ private String categoryName; - + private String parentCategoryName; /** * 分类类别1,2,3,4.... */ diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index 8a0233b46f..5ebed6c49e 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -4,9 +4,6 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.IssueApplicationDTO; -import com.epmet.dto.IssueDTO; -import com.epmet.dto.IssueSuggestionDTO; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -25,10 +22,7 @@ import com.epmet.resi.mine.dto.from.MyShiftIssueTopicsFormDTO; import com.epmet.resi.mine.dto.result.MyShiftIssueTopicsResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; @@ -372,4 +366,14 @@ public interface GovIssueOpenFeignClient { **/ @PostMapping(value = "/gov/issue/issueprojectcategorydict/getcategorylist") Result> getCategoryList(@RequestBody IssueProjectCategoryDictListFormDTO formDTO); + + /** + * 获取项目分类名 + * @Param customerId + * @Return {@link Result< Map< String, String>>} + * @Author zhaoqifeng + * @Date 2022/1/5 10:16 + */ + @PostMapping("/gov/issue/issueprojectcategorydict/categoryMap/{customerId}") + Result> getCategoryMap(@PathVariable("customerId") String customerId); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 5e59dc20fe..ae87c2cd6b 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -305,4 +305,18 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result> getCategoryList(IssueProjectCategoryDictListFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getCategoryList", formDTO); } + + /** + * 获取项目分类名 + * + * @param customerId + * @Param customerId + * @Return {@link Result< Map< String, String>>} + * @Author zhaoqifeng + * @Date 2022/1/5 10:16 + */ + @Override + public Result> getCategoryMap(String customerId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getCategoryMap", customerId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java index f77f9ce9d9..51b04c93f3 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java @@ -33,7 +33,6 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IssueProjectCategoryDictDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.IssueProjectCategoryDictEntity; import com.epmet.excel.IssueProjectCategoryDictExcel; import com.epmet.project.dto.CustomerCategoryDTO; import com.epmet.project.dto.result.ProjectCategoryDictResultDTO; @@ -288,5 +287,17 @@ public class IssueProjectCategoryDictController { return new Result>().ok(issueProjectCategoryDictService.selectCategoryOneLevelListByCustomerId(tokenDto.getCustomerId())); } + /** + * 获取项目分类名 + * @Param customerId + * @Return {@link Result< Map< String, String>>} + * @Author zhaoqifeng + * @Date 2022/1/5 10:16 + */ + @PostMapping("categoryMap/{customerId}") + public Result> getCategoryMap(@PathVariable("customerId") String customerId) { + return new Result>().ok(issueProjectCategoryDictService.getCategoryMap(customerId)); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java index 50a93b4bef..4259265dac 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java @@ -192,4 +192,13 @@ public interface IssueProjectCategoryDictDao extends BaseDao selectCategoryOneLevelListByCustomerId(@Param("customerId")String customerId); + /** + * @Description 获取客户下分类 + * @Param customerId + * @Return {@link List< IssueProjectCategoryDictDTO>} + * @Author zhaoqifeng + * @Date 2022/1/5 10:45 + */ + List getCategoryByCustomer(@Param("customerId") String customerId); + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java index 292e6449d8..204fba3743 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java @@ -25,7 +25,6 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IssueProjectCategoryDictEntity; import com.epmet.project.dto.result.ProjectCategoryDictResultDTO; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -230,4 +229,6 @@ public interface IssueProjectCategoryDictService extends BaseService selectCategoryOneLevelListByCustomerId(String customerId); + Map getCategoryMap(String customerId); + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java index 28a7192afb..08adcb5860 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -507,6 +508,20 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl getCategoryMap(String customerId) { + List list = baseDao.getCategoryByCustomer(customerId); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + list.forEach(item -> { + if(StringUtils.isNotBlank(item.getParentCategoryName())) { + item.setCategoryName(item.getParentCategoryName().concat(StrConstant.HYPHEN).concat(item.getCategoryName())); + } + }); + return list.stream().collect(Collectors.toMap(IssueProjectCategoryDictDTO::getCategoryCode, IssueProjectCategoryDictDTO::getCategoryName)); + } + /** * @Description 项目分类处理 * @Param list diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml index 06c1fc0000..6c38707498 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml @@ -41,7 +41,7 @@ ORDER BY sort ASC - SELECT ID, PID, @@ -292,4 +292,20 @@ WHERE customer_id = #{customerId} AND id = #{id} AND DEL_FLAG = '0' + + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ApprovaledListFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ApprovaledListFromDTO.java new file mode 100644 index 0000000000..1e0977ee0d --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ApprovaledListFromDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/1/4 14:49 + */ +@NoArgsConstructor +@Data +public class ApprovaledListFromDTO implements Serializable { + + private static final long serialVersionUID = 5700160700676332579L; + private String customerId; + @NotBlank(message = "组织id不能为空") + private String agencyId; + private String startTime; + private String endTime; + private String staffId; + private Integer pageSize = 1; + private Integer pageNo = 20; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ApprovaledListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ApprovaledListResultDTO.java new file mode 100644 index 0000000000..97f2efd601 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ApprovaledListResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/1/4 14:58 + */ +@NoArgsConstructor +@Data +public class ApprovaledListResultDTO implements Serializable { + + private static final long serialVersionUID = 5118030421632653558L; + private String projectId; + private String title; + private String projectCategory; + private String locateAddress; + private String happenTime; + private String staffId; + private String staffName; + private String gridId; + private String gridName; + private String createdTime; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index f40e6c3de8..027ee1cf62 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -3,6 +3,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -380,5 +381,21 @@ public class ProjectTraceController { ValidatorUtils.validateEntity(formDTO,EventToProjectFormDTO.ApprovalCategory.class,EventToProjectFormDTO.AddUserInternalGroup.class); return new Result().ok(projectTraceService.eventToProject(formDTO)); } + + /** + * 【网格员工作统计】项目列表 + * + * @Param formDTO + * @Return {@link Result< PageData< ApprovaledListResultDTO>>} + * @Author zhaoqifeng + * @Date 2022/1/4 15:32 + */ + @PostMapping("approvaled-list") + public Result> approvaledList(@LoginUser TokenDto tokenDto, @RequestBody ApprovaledListFromDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + formDTO.setCustomerId(tokenDto.getCustomerId()); + PageData result = projectTraceService.approvaledList(formDTO); + return new Result>().ok(result); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index 0f91019b54..673acf371e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -267,4 +267,15 @@ public interface ProjectDao extends BaseDao { */ List selectProjectCountByOrg(List orgIds,@Param("startDate")String startDate,@Param("endDate")String endDate); + /** + * 网格员立项 + * @Param agencyId + * @Param staffId + * @Param startTime + * @Param endTime + * @Return {@link List< ApprovaledListResultDTO>} + * @Author zhaoqifeng + * @Date 2022/1/4 16:45 + */ + List getGridMemberProjectList(@Param("agencyId") String agencyId, @Param("staffId") String staffId, @Param("startTime") String startTime, @Param("endTime") String endTime); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectCategoryService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectCategoryService.java index 4d66d39dd0..9ae8a7fdee 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectCategoryService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectCategoryService.java @@ -28,6 +28,7 @@ import com.epmet.entity.ProjectCategoryEntity; import java.util.List; import java.util.Map; +import java.util.Set; /** * 项目所属分类表 @@ -126,4 +127,13 @@ public interface ProjectCategoryService extends BaseService getProjectCategoryService(String projectId); + + /** + * @Description 获取项目分类列表 + * @Param projectIds + * @Return {@link Map< String, Set< String>>} + * @Author zhaoqifeng + * @Date 2022/1/5 9:50 + */ + Map> getProjectCategoryMap(List projectIds); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index dff8e9d30e..920234017b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -357,4 +357,14 @@ public interface ProjectService extends BaseService { * @return */ TopicResearchAnalysisResDTO topicResearchAnalysis(TopicResearchAnalysisFormDTO formDTO); + + /** + * 【网格员工作统计】项目列表 + * + * @Param formDTO + * @Return {@link PageData< ApprovaledListResultDTO>} + * @Author zhaoqifeng + * @Date 2022/1/4 16:27 + */ + PageData approvaledList(ApprovaledListFromDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index 620f9577fc..eb25d072a4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -1,5 +1,6 @@ package com.epmet.service; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -183,4 +184,14 @@ public interface ProjectTraceService { * @date 2021/8/5 15:38 */ EventToProjectResultDTO eventToProject(EventToProjectFormDTO formDTO); + + /** + * 【网格员工作统计】项目列表 + * + * @Param formDTO + * @Return {@link PageData< ApprovaledListResultDTO>} + * @Author zhaoqifeng + * @Date 2022/1/4 15:33 + */ + PageData approvaledList(ApprovaledListFromDTO formDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java index ac0a279fb9..91d609d8e2 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -39,15 +40,14 @@ import com.epmet.entity.ProjectEntity; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.redis.ProjectCategoryRedis; import com.epmet.service.ProjectCategoryService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 项目所属分类表 @@ -225,4 +225,23 @@ public class ProjectCategoryServiceImpl extends BaseServiceImpl>} + * @Author zhaoqifeng + * @Date 2022/1/5 9:50 + */ + @Override + public Map> getProjectCategoryMap(List projectIds) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(ProjectCategoryEntity::getProjectId, projectIds); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.groupingBy(ProjectCategoryEntity::getProjectId, Collectors.mapping(ProjectCategoryEntity::getCategoryCode, Collectors.toSet()))); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 7c72732c7c..6d43baee54 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -3045,6 +3045,24 @@ public class ProjectServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2022/1/4 16:27 + */ + @Override + public PageData approvaledList(ApprovaledListFromDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getGridMemberProjectList(formDTO.getAgencyId(), formDTO.getStaffId(), + formDTO.getStartTime(), formDTO.getEndTime()); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } + /** * @Description 区间项目分类数量处理 * 查询的是时间段内的分类项目数,查询的时间 是传入一个日期,拼上时间,在进行比较大小 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 1150ecc9f5..174f64a673 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -5,10 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; @@ -33,14 +38,14 @@ import com.epmet.feign.*; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -882,6 +887,49 @@ public class ProjectTraceServiceImpl implements ProjectTraceS return resultDTO; } + /** + * 【网格员工作统计】项目列表 + * + * @param formDTO + * @Param formDTO + * @Return {@link PageData < ApprovaledListResultDTO>} + * @Author zhaoqifeng + * @Date 2022/1/4 15:33 + */ + @Override + public PageData approvaledList(ApprovaledListFromDTO formDTO) { + //获取项目列表 + PageData result = projectService.approvaledList(formDTO); + //获取项目分类 + Result> categoryMapResult = govIssueOpenFeignClient.getCategoryMap(formDTO.getCustomerId()); + if (!categoryMapResult.success()) { + throw new EpmetException(categoryMapResult.getCode(),categoryMapResult.getMsg()); + } + Map categoryMap = categoryMapResult.getData(); + if(CollectionUtils.isNotEmpty(result.getList())) { + List projectIds = result.getList().stream().map(ApprovaledListResultDTO::getProjectId).collect(Collectors.toList()); + Map> projectCategory = projectCategoryService.getProjectCategoryMap(projectIds); + result.getList().forEach(item -> { + //工作人员姓名 + CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), item.getStaffId()); + item.setStaffName(staff.getRealName()); + //项目分类 + Set categoryList = projectCategory.get(item.getProjectCategory()); + if (null != categoryList) { + List categoryNames = new ArrayList<>(); + categoryList.forEach(category -> { + if (StringUtils.isNotBlank(categoryMap.get(category))) { + categoryNames.add(categoryMap.get(category)); + } + } ); + item.setProjectCategory(StringUtils.join(categoryNames.toArray(), StrConstant.SEMICOLON)); + } + }); + + } + return result; + } + private List queryStaffListRes(List staffList,String currentUserId) { List staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList()); staffIdList.add(currentUserId); diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index a43a05d0b8..f0d6166741 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -483,4 +483,29 @@ AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') #{endDate} + \ No newline at end of file