From 56a211036ccd1413a7038c4e308724bfdca91f29 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 22 Sep 2021 14:44:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=B1=E6=96=87=E9=80=97=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmettduck/form/ItemResDetailFormDTO.java | 9 ++- .../controller/EpmetTDuckController.java | 6 +- .../epmettduck/PrUserProjectService.java | 2 +- .../impl/PrUserProjectServiceImpl.java | 57 ++++++++++++++----- 4 files changed, 49 insertions(+), 25 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java index 381efce3d1..a107080eea 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java @@ -3,7 +3,6 @@ package com.epmet.dataaggre.dto.epmettduck.form; import lombok.Data; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; /** * @Description 问卷-数据分析-查看详情 @@ -25,9 +24,9 @@ public class ItemResDetailFormDTO extends ProjectKeyCommonDTO{ /** * 09.22目前产品没要求分页 */ - @NotNull(message = "pageNo不能为空",groups = AddUserInternalGroup.class) - private Integer pageNo; - @NotNull(message = "pageSize不能为空",groups = AddUserInternalGroup.class) - private Integer pageSize; + //@NotNull(message = "pageNo不能为空",groups = AddUserInternalGroup.class) + //private Integer pageNo; + //@NotNull(message = "pageSize不能为空",groups = AddUserInternalGroup.class) + //private Integer pageSize; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetTDuckController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetTDuckController.java index ea90244205..8f7638e589 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetTDuckController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetTDuckController.java @@ -1,7 +1,6 @@ package com.epmet.dataaggre.controller; import com.epmet.commons.tools.annotation.LoginUser; -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; @@ -123,9 +122,8 @@ public class EpmetTDuckController { * @date 2021/9/22 1:37 下午 */ @PostMapping("itemresdetail") - public Result>> queryItemResDetail(@RequestBody ItemResDetailFormDTO formDTO){ + public Result> queryItemResDetail(@RequestBody ItemResDetailFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO,ProjectKeyCommonDTO.AddUserInternalGroup.class); - PageData> page=prUserProjectService.queryItemResDetail(formDTO); - return new Result>>().ok(page); + return new Result>().ok(prUserProjectService.queryItemResDetail(formDTO)); } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java index 55323276ea..16d14000d5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java @@ -155,5 +155,5 @@ public interface PrUserProjectService extends BaseService { * @author yinzuomei * @date 2021/9/22 1:37 下午 */ - PageData> queryItemResDetail(ItemResDetailFormDTO formDTO); + List queryItemResDetail(ItemResDetailFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java index de5a424a77..f04cf54966 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java @@ -376,21 +376,22 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl resMap = new HashMap<>(); for (PrUserProjectResultEntity res : resultList) { JSONObject originalData = JSON.parseObject(res.getOriginalData()); - List dtoList = JSON.parseArray(originalData.get(key).toString(), CascaderDTO.class); - if(CollectionUtils.isEmpty(dtoList)){ - log.info(String.format("当前userId:%s,没有填写本题itemId:%s",res.getUserId(),key)); - continue; - } + if(originalData.containsKey(key)){ + List dtoList = JSON.parseArray(originalData.get(key).toString(), CascaderDTO.class); + if(CollectionUtils.isEmpty(dtoList)){ + log.info(String.format("当前userId:%s,没有填写本题itemId:%s",res.getUserId(),key)); + continue; + } - for (CascaderDTO cascaderDTO : dtoList) { - if (null != cascaderDTO && !CollectionUtils.isEmpty(cascaderDTO.getLabels())) { - totalCount += 1; - String pathName = StringUtils.join(cascaderDTO.getLabels(), StringUtils.isNotBlank(cascaderExpandStruct.getSeparator()) ? cascaderExpandStruct.getSeparator() : StrConstant.HYPHEN); - Integer count = resMap.get(pathName); - resMap.put(pathName, count == null ? 1 : count + 1); + for (CascaderDTO cascaderDTO : dtoList) { + if (null != cascaderDTO && !CollectionUtils.isEmpty(cascaderDTO.getLabels())) { + totalCount += 1; + String pathName = StringUtils.join(cascaderDTO.getLabels(), StringUtils.isNotBlank(cascaderExpandStruct.getSeparator()) ? cascaderExpandStruct.getSeparator() : StrConstant.HYPHEN); + Integer count = resMap.get(pathName); + resMap.put(pathName, count == null ? 1 : count + 1); + } } } - } detail.put("totalCount", totalCount); detail.put("profile", resMap); @@ -543,8 +544,34 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl> queryItemResDetail(ItemResDetailFormDTO formDTO) { - //todo - return null; + public List queryItemResDetail(ItemResDetailFormDTO formDTO) { + List resultList=baseDao.selectResults(formDTO.getProjectKey()); + if(CollectionUtils.isEmpty(resultList)){ + return new ArrayList<>(); + } + List stringList=new ArrayList<>(); + String key="field".concat(formDTO.getFormItemId()); + for(PrUserProjectResultEntity res:resultList){ + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + if(ProjectItemTypeEnum.INPUT.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.TEXTAREA.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.TIME.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.DATE.getValue().equals(formDTO.getType())){ + if(originalData.containsKey(key)){ + stringList.add((String) originalData.get(key)); + continue; + } + }else if(ProjectItemTypeEnum.TIME_RANGE.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.DATE_RANGE.getValue().equals(formDTO.getType())){ + if(originalData.containsKey(key)){ + List originalList= (List) originalData.get(key); + if(!CollectionUtils.isEmpty(originalList)){ + String rangeStr=StringUtils.join(originalList,StrConstant.COMMA); + stringList.add(rangeStr); + } + } + } + } + return stringList; } } \ No newline at end of file