|
|
|
@ -256,18 +256,17 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl<CompanyQnAnswerMappe
|
|
|
|
|
ids.add(i.getAnswererId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return Result.success(iPage.setRecords(ids.size()>0?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<CompanyQnTitle> qnTitleList = companyQnTitleService.list(new QueryWrapper<CompanyQnTitle>()
|
|
|
|
|
.eq("qn_id", qnId)
|
|
|
|
|
.eq("kind", CompanyQnTitle.CompanyQnTitleKindPartnerChoice));
|
|
|
|
|
.eq("qn_id", qnId));
|
|
|
|
|
Map<Integer, String> qnTitleMap = new LinkedHashMap<>();
|
|
|
|
|
for (CompanyQnTitle qnTitle : qnTitleList) {
|
|
|
|
|
qnTitleMap.put(qnTitle.getId(), qnTitle.getTitle());
|
|
|
|
@ -275,24 +274,40 @@ public class CompanyQnAnswerServiceImpl extends ServiceImpl<CompanyQnAnswerMappe
|
|
|
|
|
LinkedHashMap<String, List<Map>> sheets = new LinkedHashMap<>();
|
|
|
|
|
|
|
|
|
|
// 问卷结果
|
|
|
|
|
List<Map> resultList = new ArrayList<>();
|
|
|
|
|
List<CompanyQnController.ResultPartnerChoice> list = partnerChoiceResultData(qnId, isManage ? false : (qn.getIsSecret() == 1), null);
|
|
|
|
|
for (CompanyQnController.ResultPartnerChoice resultPartnerChoice : list) {
|
|
|
|
|
List<Map> customResultList = new ArrayList<>();
|
|
|
|
|
List<Map> partnerChoiceResultList = new ArrayList<>();
|
|
|
|
|
List<CompanyQnController.AnswererResult> 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", 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());
|
|
|
|
|
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<CompanyQnAnswerMappe
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//答题人互评详情数据
|
|
|
|
|
public List partnerChoiceResultData(int qnId, boolean isSecret, Collection<Integer> answererIds) {
|
|
|
|
|
//答题人答题数据
|
|
|
|
|
public List answererResultData(int qnId,boolean isSecret, Collection<Integer> answererIds) {
|
|
|
|
|
QueryWrapper<CompanyQnAnswer> 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<CompanyQnAnswerMapper.MapperResultPartnerChoice> list = companyQnAnswerMapper.partnerChoiceResult(qw);
|
|
|
|
|
List<CompanyQnController.ResultPartnerChoice> result = new ArrayList();
|
|
|
|
|
HashMap<Integer, HashMap<Integer, List<CompanyQnController.ResultAnswerPartnerChoice>>> t = new HashMap();
|
|
|
|
|
for (CompanyQnAnswerMapper.MapperResultPartnerChoice i : list) {
|
|
|
|
|
List<CompanyQnAnswerMapper.MapperAnswererResult> list = companyQnAnswerMapper.answererResult(qw);
|
|
|
|
|
List<CompanyQnController.AnswererResult> result = new ArrayList();
|
|
|
|
|
HashMap<Integer, HashMap<Integer, List<CompanyQnController.AnswererTitleResult>>> 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<Integer, List<CompanyQnController.ResultAnswerPartnerChoice>>());
|
|
|
|
|
t.put(asId, new HashMap<Integer, List<CompanyQnController.AnswererTitleResult>>());
|
|
|
|
|
}
|
|
|
|
|
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<CompanyQnAnswerMappe
|
|
|
|
|
}
|
|
|
|
|
result.add(r);
|
|
|
|
|
}
|
|
|
|
|
t.get(asId).get(qnTowardsId).add(new CompanyQnController.ResultAnswerPartnerChoice()
|
|
|
|
|
t.get(asId).get(qnTowardsId).add(new CompanyQnController.AnswererTitleResult()
|
|
|
|
|
.setTitleId(i.getTitleId()).setAnswerOpt(i.getAnswerOpt()));
|
|
|
|
|
}
|
|
|
|
|
for (CompanyQnController.ResultPartnerChoice item : result) {
|
|
|
|
|
item.setAnswerPartnerChoice(t.get(item.getAnswererId()).get(item.getQnTowardsId()));
|
|
|
|
|
for (CompanyQnController.AnswererResult item : result) {
|
|
|
|
|
item.setAnswerTitleResult(t.get(item.getAnswererId()).get(item.getQnTowardsId()));
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|