From b33b18edf4af6a1bab4b065a054274106243e03f Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Mon, 12 Dec 2022 10:49:05 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20=E4=B8=80=E8=88=AC=E9=A2=98=E5=9E=8B?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/CompanyQnController.java | 6 +- .../lingnuo/mapper/CompanyQnAnswerMapper.java | 4 +- .../CompanyQnAnswerServiceImpl.java | 77 +++++++++++-------- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/zh/lingnuo/controller/company/CompanyQnController.java b/src/main/java/com/zh/lingnuo/controller/company/CompanyQnController.java index 7b2c3a2..521c0fd 100644 --- a/src/main/java/com/zh/lingnuo/controller/company/CompanyQnController.java +++ b/src/main/java/com/zh/lingnuo/controller/company/CompanyQnController.java @@ -311,17 +311,17 @@ public class CompanyQnController { } @Data - public static class ResultPartnerChoice { + public static class AnswererResult { private Integer answererId; private String answererName; private Integer qnTowardsId; private String qnTowardsName; - private List answerPartnerChoice; + private List answerTitleResult; } @Data @Accessors(chain = true) - public static class ResultAnswerPartnerChoice { + public static class AnswererTitleResult { private Integer titleId; private String answerOpt; } diff --git a/src/main/java/com/zh/lingnuo/mapper/CompanyQnAnswerMapper.java b/src/main/java/com/zh/lingnuo/mapper/CompanyQnAnswerMapper.java index 6596f0f..7ce7425 100644 --- a/src/main/java/com/zh/lingnuo/mapper/CompanyQnAnswerMapper.java +++ b/src/main/java/com/zh/lingnuo/mapper/CompanyQnAnswerMapper.java @@ -45,7 +45,7 @@ public interface CompanyQnAnswerMapper extends BaseMapper { List answerList(@Param("ew") Wrapper qw); @Data - public static class MapperResultPartnerChoice { + public static class MapperAnswererResult { private Integer id; private Integer qnId; private Integer titleId; @@ -64,5 +64,5 @@ public interface CompanyQnAnswerMapper extends BaseMapper { " left join answerer as t3 on t1.answerer_id = t3.id\n" + " left join answerer as t4 on t1.qn_towards_id = t4.id\n" + " ${ew.customSqlSegment}") - List partnerChoiceResult(@Param("ew") Wrapper qw); + List answererResult(@Param("ew") Wrapper qw); } diff --git a/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java b/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java index 3c5e394..bd076a5 100644 --- a/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java +++ b/src/main/java/com/zh/lingnuo/serviceImpl/CompanyQnAnswerServiceImpl.java @@ -256,18 +256,17 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl0?partnerChoiceResultData(qnId, isManage ? false : 1 == (qn.getIsSecret()),ids):new ArrayList<>())); + return Result.success(iPage.setRecords(ids.size()>0?answererResultData(qnId, isManage ? false : 1 == (qn.getIsSecret()),ids):new ArrayList<>())); } - // 答题人互评结果导出Excel + // 答题人结果导出Excel public void resultExportExcel(HttpServletResponse response, int qnId, boolean isManage) { CompanyQn qn = companyQnService.getById(qnId); if (null == qn) { return; } List qnTitleList = companyQnTitleService.list(new QueryWrapper() - .eq("qn_id", qnId) - .eq("kind", CompanyQnTitle.CompanyQnTitleKindPartnerChoice)); + .eq("qn_id", qnId)); Map qnTitleMap = new LinkedHashMap<>(); for (CompanyQnTitle qnTitle : qnTitleList) { qnTitleMap.put(qnTitle.getId(), qnTitle.getTitle()); @@ -275,24 +274,40 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl> sheets = new LinkedHashMap<>(); // 问卷结果 - List resultList = new ArrayList<>(); - List list = partnerChoiceResultData(qnId, isManage ? false : (qn.getIsSecret() == 1), null); - for (CompanyQnController.ResultPartnerChoice resultPartnerChoice : list) { - Map map = new LinkedHashMap(); - map.put("SourceId", resultPartnerChoice.getAnswererId()); - map.put("SourceName", resultPartnerChoice.getAnswererName()); - map.put("TargetId", resultPartnerChoice.getQnTowardsId()); - map.put("TargetName", resultPartnerChoice.getQnTowardsName()); - for (CompanyQnController.ResultAnswerPartnerChoice resultAnswerPartnerChoice : resultPartnerChoice.getAnswerPartnerChoice()) { - String title = "题目编号" + resultAnswerPartnerChoice.getTitleId().toString(); - if (null != qnTitleMap.get(resultAnswerPartnerChoice.getTitleId())) { - title = qnTitleMap.get(resultAnswerPartnerChoice.getTitleId()); + List customResultList = new ArrayList<>(); + List partnerChoiceResultList = new ArrayList<>(); + List list = answererResultData(qnId,isManage ? false : (qn.getIsSecret() == 1), null); + for (CompanyQnController.AnswererResult answererResult : list) { + if (answererResult.getQnTowardsId() >0){ + Map map = new LinkedHashMap(); + map.put("SourceId", answererResult.getAnswererId()); + map.put("SourceName", answererResult.getAnswererName()); + map.put("TargetId", answererResult.getQnTowardsId()); + map.put("TargetName", answererResult.getQnTowardsName()); + for (CompanyQnController.AnswererTitleResult answererTitleResult : answererResult.getAnswerTitleResult()) { + String title = "题目编号" + answererTitleResult.getTitleId().toString(); + if (null != qnTitleMap.get(answererTitleResult.getTitleId())) { + title = qnTitleMap.get(answererTitleResult.getTitleId()); + } + map.put(title, answererTitleResult.getAnswerOpt()); + } + partnerChoiceResultList.add(map); + }else{ + Map map = new LinkedHashMap(); + map.put("SourceId", answererResult.getAnswererId()); + map.put("SourceName", answererResult.getAnswererName()); + for (CompanyQnController.AnswererTitleResult answererTitleResult : answererResult.getAnswerTitleResult()) { + String title = "题目编号" + answererTitleResult.getTitleId().toString(); + if (null != qnTitleMap.get(answererTitleResult.getTitleId())) { + title = qnTitleMap.get(answererTitleResult.getTitleId()); + } + map.put(title, answererTitleResult.getAnswerOpt()); } - map.put(title, resultAnswerPartnerChoice.getAnswerOpt()); + customResultList.add(map); } - resultList.add(map); } - sheets.put("问卷结果", resultList); + sheets.put("问卷结果", customResultList); + sheets.put("互选结果", partnerChoiceResultList); if (isManage) { // 问卷人员 @@ -327,25 +342,25 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl answererIds) { + //答题人答题数据 + public List answererResultData(int qnId,boolean isSecret, Collection answererIds) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq("t1.qn_id", qnId).eq("t2.kind", CompanyQnTitle.CompanyQnTitleKindPartnerChoice); + qw.eq("t1.qn_id", qnId); if (null != answererIds && answererIds.size() > 0) { qw.in("t1.answerer_id", answererIds); } - List list = companyQnAnswerMapper.partnerChoiceResult(qw); - List result = new ArrayList(); - HashMap>> t = new HashMap(); - for (CompanyQnAnswerMapper.MapperResultPartnerChoice i : list) { + List list = companyQnAnswerMapper.answererResult(qw); + List result = new ArrayList(); + HashMap>> t = new HashMap(); + for (CompanyQnAnswerMapper.MapperAnswererResult i : list) { int asId = i.getAnswererId(); int qnTowardsId = i.getQnTowardsId(); if (null == t.get(asId)) { - t.put(asId, new HashMap>()); + t.put(asId, new HashMap>()); } if (null == t.get(asId).get(qnTowardsId)) { t.get(asId).put(qnTowardsId, new ArrayList<>()); - CompanyQnController.ResultPartnerChoice r = new CompanyQnController.ResultPartnerChoice(); + CompanyQnController.AnswererResult r = new CompanyQnController.AnswererResult(); BeanUtils.copyProperties(i, r); if (isSecret) { r.setAnswererName(String.valueOf(asId)); @@ -353,11 +368,11 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl