From 770fc866997abe371805ed42ee0b4556298a2810 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 24 Jun 2021 14:31:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=A4=E4=BC=97=E4=B8=8D=E6=BB=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/MassesDiscontentFormV2DTO.java | 52 ++++++++++++++ .../project/MassesDiscontentResultV2DTO.java | 69 +++++++++++++++++++ .../project/constant/ProjectConstant.java | 7 ++ .../controller/project/ProjectController.java | 15 ++++ .../datareport/dao/project/ProjectDao.java | 18 +++++ .../service/project/ProjectService.java | 10 +++ .../project/impl/ProjectServiceImpl.java | 56 +++++++++++++++ .../resources/mapper/project/ProjectDao.xml | 41 +++++++++++ 8 files changed, 268 insertions(+) create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/project/MassesDiscontentFormV2DTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/project/MassesDiscontentResultV2DTO.java diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/project/MassesDiscontentFormV2DTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/project/MassesDiscontentFormV2DTO.java new file mode 100644 index 0000000000..4c287c8158 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/project/MassesDiscontentFormV2DTO.java @@ -0,0 +1,52 @@ +package com.epmet.dto.form.project; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 群众不满列表查询入参DTO,从指标库取值 + * + * @author yinzuomei@elink-cn.com + * @date 2021/6/24 10:55 + */ +@Data +public class MassesDiscontentFormV2DTO implements Serializable { + public interface MassesDiscontentFormV2 { + } + + /** + * 时间区间,三个月:threeMonth;半年:sixMonth;一年:twelveMonth + * 一个月按照30天,三个月90天,半年180天,一年365天 + */ + @NotBlank(message = "timeSection不能为空,取值:三个月:threeMonth;半年:sixMonth;一年:twelveMonth", groups = MassesDiscontentFormV2.class) + private String timeSection; + + /** + * asc:分数由低到高 + * desc:分数由高到低 + */ + @NotBlank(message = "sortType不能为空,取值:asc:分数由低到高;desc:分数由高到低", groups = MassesDiscontentFormV2.class) + private String sortType; + + /** + * 组织ID + */ + @NotBlank(message = "agencyId不能为空", groups = MassesDiscontentFormV2.class) + private String agencyId; + + @NotNull(message = "pageNo不能为空", groups = MassesDiscontentFormV2.class) + private Integer pageNo; + + @NotNull(message = "pageSize不能为空", groups = MassesDiscontentFormV2.class) + private Integer pageSize; + + private String areaCode; + + //以下属性无需前端传入 + + private String startDate; + private String endDate; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/project/MassesDiscontentResultV2DTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/project/MassesDiscontentResultV2DTO.java new file mode 100644 index 0000000000..627edc6daa --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/project/MassesDiscontentResultV2DTO.java @@ -0,0 +1,69 @@ +package com.epmet.dto.result.project; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * 群众不满列表查询返参DTO,从指标库取值 + * + * @author yinzuomei@elink-cn.com + * @date 2021/6/24 11:02 + */ +@Data +public class MassesDiscontentResultV2DTO implements Serializable { + private static final long serialVersionUID = 403953150174574960L; + /** + * 项目ID + */ + private String projectId; + + /** + * 议题ID + */ + private String issueId; + + /** + * 话题所在网格 + */ + private String gridName; + + /** + * 话题图片 + */ + private List photos; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 项目分类标签 + */ + private String projectCategory; + + /** + * 项目评价分数 + * 直接取整数位展示 + */ + private BigDecimal score; + + @JsonIgnore + private String customerId; + @JsonIgnore + private String parentAgencyId; + @JsonIgnore + private String areaCode; + + public MassesDiscontentResultV2DTO() { + this.gridName = ""; + this.photos = new ArrayList<>(); + this.topicContent = ""; + this.projectCategory = ""; + } +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java index 7b07db5c72..ac850effbe 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java @@ -22,4 +22,11 @@ public interface ProjectConstant { String PROCESS_FAILURE = "查询项目进展失败......"; + /** + * 三个月,六个月,12个月 + */ + String THREE_MONTH = "threeMonth"; + String SIX_MONTH = "sixMonth"; + String TWELVE_MONTH = "twelveMonth"; + String YESTERDAY = "yesterday"; } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java index f114739e1a..1c4154f4cb 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java @@ -11,6 +11,8 @@ import com.epmet.datareport.service.evaluationindex.screen.ScreenProjectQuantity import com.epmet.datareport.service.evaluationindex.screen.ScreenProjectQuantityOrgMonthlyService; import com.epmet.datareport.service.project.ProjectService; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.project.MassesDiscontentFormV2DTO; +import com.epmet.dto.result.project.MassesDiscontentResultV2DTO; import com.epmet.project.constant.ProjectConstant; import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; @@ -169,4 +171,17 @@ public class ProjectController { public Result> categoryDict(@RequestHeader("CustomerId") String customerId) { return new Result>().ok(projectService.getCategoryDict(customerId)); } + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param formDTO + * @author yinzuomei + * @description 群众不满列表,改为从指标库的screen_project_data取值 + * @Date 2021/6/24 11:13 + **/ + @PostMapping("massesdiscontent-multic") + public Result> queryMassesDiscontentMultic(@RequestBody MassesDiscontentFormV2DTO formDTO){ + ValidatorUtils.validateEntity(formDTO, MassesDiscontentFormV2DTO.MassesDiscontentFormV2.class); + return new Result>().ok(projectService.queryMassesDiscontentMultic(formDTO)); + } } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java index 81e0ce2a3a..f3f3922c13 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java @@ -1,5 +1,6 @@ package com.epmet.datareport.dao.project; +import com.epmet.dto.result.project.MassesDiscontentResultV2DTO; import com.epmet.project.dto.FactAgencyProjectDailyDTO; import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.result.*; @@ -82,4 +83,21 @@ public interface ProjectDao { * @date 2020.10.20 10:13 **/ List getDifficultyImgList(String eventId); + + /** + * @return java.util.List + * @param agencyId + * @param areaCode + * @param startDate + * @param endDate + * @param sortType + * @author yinzuomei + * @description 群众不满列表,改为从指标库的screen_project_data取值 + * @Date 2021/6/24 13:16 + **/ + List selectMassesDiscontentMultic(@Param("agencyId") String agencyId, + @Param("areaCode") String areaCode, + @Param("startDate") String startDate, + @Param("endDate") String endDate, + @Param("sortType") String sortType); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java index 41bb952fa0..27f510ac06 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java @@ -1,6 +1,8 @@ package com.epmet.datareport.service.project; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.project.MassesDiscontentFormV2DTO; +import com.epmet.dto.result.project.MassesDiscontentResultV2DTO; import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.dto.form.ProcessListFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; @@ -99,4 +101,12 @@ public interface ProjectService { * @return com.epmet.project.dto.result.ProjectNextAgencyResultDTO */ List myNextAgencyMultic(String staffId,String currentCustomerId); + + /** + * 群众不满列表,改为从指标库的screen_project_data取值 + * + * @param formDTO + * @return com.epmet.dto.result.project.MassesDiscontentResultV2DTO + */ + List queryMassesDiscontentMultic(MassesDiscontentFormV2DTO formDTO); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index 027e108845..100ba5775c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -11,6 +11,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; +import com.epmet.datareport.dao.evaluationindex.screen.ScreenProjectDataDao; import com.epmet.datareport.dao.project.ProjectDao; import com.epmet.datareport.service.evaluationindex.screen.AgencyService; import com.epmet.datareport.service.project.ProjectService; @@ -19,7 +20,9 @@ import com.epmet.dto.ScreenCustomerGridDTO; import com.epmet.dto.form.LoginUserDetailsFormDTO; import com.epmet.dto.form.ProcessListFormDTO; import com.epmet.dto.form.SubAgencyFormDTO; +import com.epmet.dto.form.project.MassesDiscontentFormV2DTO; import com.epmet.dto.result.*; +import com.epmet.dto.result.project.MassesDiscontentResultV2DTO; import com.epmet.evaluationindex.screen.dto.result.DepartmentNameListResultDTO; import com.epmet.feign.*; import com.epmet.project.constant.ProjectConstant; @@ -72,6 +75,8 @@ public class ProjectServiceImpl implements ProjectService { private OperCrmOpenFeignClient operCrmOpenFeignClient; @Autowired private AgencyService screenAgencyService; + @Autowired + private ScreenProjectDataDao screenProjectDataDao; /** * @Author sun @@ -501,4 +506,55 @@ public class ProjectServiceImpl implements ProjectService { } return resultList; } + + /** + * 群众不满列表,改为从指标库的screen_project_data取值 + * + * @param formDTO + * @return com.epmet.dto.result.project.MassesDiscontentResultV2DTO + */ + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) + @Override + public List queryMassesDiscontentMultic(MassesDiscontentFormV2DTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + formDTO.setEndDate(getDateId(ProjectConstant.YESTERDAY)); + formDTO.setStartDate(getDateId(formDTO.getTimeSection())); + log.info(JSON.toJSONString(formDTO,true)); + //已结案、并且来源于议题、在当前时间范围内的、 + List list = projectDao.selectMassesDiscontentMultic(formDTO.getAgencyId(), + formDTO.getAreaCode(), + formDTO.getStartDate(), + formDTO.getEndDate(), + formDTO.getSortType()); + list.forEach(project -> { + project.setPhotos(screenProjectDataDao.selectProjectImgs(project.getProjectId(), project.getCustomerId())); + }); + return list; + } + + /** + * @Description 处理时间 + * @Param dateType + * @author zxc + * @date 2021/5/18 2:28 下午 + */ + public String getDateId(String dateType){ + String result = DateUtils.getBeforeNDay(NumConstant.ONE); + switch (dateType) { + case ProjectConstant.THREE_MONTH: + result = DateUtils.getBeforeNDay(NumConstant.NINETY); + break; + case ProjectConstant.SIX_MONTH: + result = DateUtils.getBeforeNDay(NumConstant.ONE_HUNDRED_AND_EIGHTY); + break; + case ProjectConstant.TWELVE_MONTH: + result = DateUtils.getBeforeNDay(NumConstant.THREE_HUNDRED_AND_SIXTY_FIVE); + break; + case ProjectConstant.YESTERDAY: + result = DateUtils.getBeforeNDay(NumConstant.ONE); + break; + default: + } + return result; + } } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 73552407d7..882a7f7735 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -326,4 +326,45 @@ WHERE EVENT_ID = #{eventId} ORDER BY SORT + + +