fixed 一般题型下载

master
zhangjinli 3 years ago
parent b5e566f72f
commit b33b18edf4

@ -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<ResultAnswerPartnerChoice> answerPartnerChoice;
private List<AnswererTitleResult> answerTitleResult;
}
@Data
@Accessors(chain = true)
public static class ResultAnswerPartnerChoice {
public static class AnswererTitleResult {
private Integer titleId;
private String answerOpt;
}

@ -45,7 +45,7 @@ public interface CompanyQnAnswerMapper extends BaseMapper<CompanyQnAnswer> {
List<MapperResultAnswerAll> answerList(@Param("ew") Wrapper<CompanyQnAnswer> 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<CompanyQnAnswer> {
" 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<MapperResultPartnerChoice> partnerChoiceResult(@Param("ew") Wrapper<CompanyQnAnswer> qw);
List<MapperAnswererResult> answererResult(@Param("ew") Wrapper<CompanyQnAnswer> qw);
}

@ -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;
}

Loading…
Cancel
Save