From 175d775b37a366c9e512b37ba3f550222dc9544c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 5 Jan 2022 14:02:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PatrolRoutineWorkController.java | 26 +++++++++ .../com/epmet/excel/PcWorkListExport.java | 57 +++++++++++++++++++ .../service/PatrolRoutineWorkService.java | 2 + .../impl/PatrolRoutineWorkServiceImpl.java | 34 +++++++++++ 4 files changed, 119 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java index 5de2ecde8b..c24db708c6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java @@ -1,6 +1,10 @@ package com.epmet.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.PatrolRoutineWorkFormDTO; @@ -8,16 +12,21 @@ import com.epmet.dto.form.PcWorkListFormDTO; import com.epmet.dto.form.patrol.PatrolQueryFormDTO; import com.epmet.dto.result.PatrolRoutineWorkResult; import com.epmet.dto.result.PcWorkListResultDTO; +import com.epmet.excel.PcWorkListExport; import com.epmet.service.PatrolRoutineWorkService; import com.github.pagehelper.Page; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import java.util.List; +import static io.netty.handler.codec.smtp.SmtpRequests.data; + /** * 例行工作 * @@ -70,4 +79,21 @@ public class PatrolRoutineWorkController { return new Result().ok(gridUserWorkService.pcWorkList(formDTO)); } + @PostMapping("pcwork/list/export") + public void pcWorkListExport(@RequestBody PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception { +// formDTO.setIsPage(false); + ValidatorUtils.validateEntity(formDTO, PcWorkListFormDTO.PcWorkListForm.class); + gridUserWorkService.pcWorkListExport(formDTO,response); +// ExcelUtils.exportExcelToTarget(response, null, resultDTO.getList(), PcWorkListExport.class); + + } + + public String getPcWorkListExportName(PcWorkListFormDTO formDTO){ + String result = "例行工作列表"; + if (StringUtils.isNotBlank(formDTO.getStartTime())){ + + } + return result; + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java new file mode 100644 index 0000000000..7d1633cf13 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java @@ -0,0 +1,57 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/1/5 10:00 上午 + * @DESC + */ +@Getter +@Setter +@EqualsAndHashCode +public class PcWorkListExport { + + @ExcelProperty("事项名称") + private String title; + + @ExcelProperty("事项类型码") + private String workTypeCode; + + @ExcelProperty("事项类型名称") + private String workTypeName; + + @ExcelProperty("有无异常") + private String isNormal; + + @ExcelProperty("发生地点") + private String happenAddress; + + @ExcelProperty("发生时间") + private String happenTime; + + @ExcelProperty("人员ID") + private String staffId; + + @ExcelProperty("人员姓名") + private String staffName; + + @ExcelProperty("网格ID") + private String gridId; + + @ExcelProperty("网格名字") + private String gridName; + + @ExcelProperty("提交日期") + private String createdTime; + + @ExcelProperty("工作内容") + private String workContent; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java index 0eabbc8997..5af4a1300a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java @@ -26,6 +26,7 @@ import com.epmet.dto.result.PcWorkListResultDTO; import com.epmet.entity.PatrolRoutineWorkEntity; import com.github.pagehelper.Page; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -56,4 +57,5 @@ public interface PatrolRoutineWorkService extends BaseService data = ConvertUtils.sourceToTarget(pcWorkList(formDTO).getList(), PcWorkListExport.class); + num = data.size(); + excelWriter.write(data, writeSheet); + pageNo++; + }while (num > NumConstant.ZERO && num.compareTo(pageSize) == NumConstant.ZERO); + + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + /** * @Description 处理 workTypeName * @param workTypeList From d2d7421268ccdd3f85bea612383987c51a3f19ad Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 5 Jan 2022 14:19:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E3=80=90=E7=BD=91=E6=A0=BC=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=9F=E8=AE=A1=E3=80=91=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/IssueProjectCategoryDictDTO.java | 5 +- .../epmet/feign/GovIssueOpenFeignClient.java | 18 ++++--- .../GovIssueOpenFeignClientFallBack.java | 14 +++++ .../IssueProjectCategoryDictController.java | 13 ++++- .../dao/IssueProjectCategoryDictDao.java | 9 ++++ .../IssueProjectCategoryDictService.java | 3 +- .../IssueProjectCategoryDictServiceImpl.java | 15 ++++++ .../mapper/IssueProjectCategoryDictDao.xml | 18 ++++++- .../epmet/dto/form/ApprovaledListFromDTO.java | 27 ++++++++++ .../dto/result/ApprovaledListResultDTO.java | 28 ++++++++++ .../controller/ProjectTraceController.java | 17 ++++++ .../main/java/com/epmet/dao/ProjectDao.java | 11 ++++ .../epmet/service/ProjectCategoryService.java | 10 ++++ .../com/epmet/service/ProjectService.java | 10 ++++ .../epmet/service/ProjectTraceService.java | 11 ++++ .../impl/ProjectCategoryServiceImpl.java | 27 ++++++++-- .../service/impl/ProjectServiceImpl.java | 18 +++++++ .../service/impl/ProjectTraceServiceImpl.java | 52 ++++++++++++++++++- .../src/main/resources/mapper/ProjectDao.xml | 25 +++++++++ 19 files changed, 313 insertions(+), 18 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ApprovaledListFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ApprovaledListResultDTO.java 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