springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/QuestnaireAnswersDTO.java
@@ -5,6 +5,7 @@ import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,4 +22,7 @@ @ApiModelProperty("题目用户回答列表") private List<ComActQuestnaireAnswerContentVO> answers; @ApiModelProperty("用户填报记录") private ComActReserveRegisterDetailedVO recordListVO; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAnswerContentVO.java
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -28,4 +29,7 @@ private Integer type; @ApiModelProperty("题目选项ID") private Long selectionId; @ApiModelProperty("答题记录id") private Long reserveRecordId; } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java
@@ -22,6 +22,7 @@ import com.panzhihua.common.model.vos.community.reserve.*; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.SFTPUtil; import com.panzhihua.community_backstage.config.SFTPConfig; import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler; @@ -497,68 +498,28 @@ headList.add(headn); }); List<List<Object>> datalist = new ArrayList<>(); List<ComActQuestnaireAnswerContentVO> answerContentVOList = questnaireAnswersDTOS.getAnswers(); if(answerContentVOList!=null && answerContentVOList.size()>0) { Map<LoginUserInfoVO, LinkedHashMap<Long, List<ComActQuestnaireAnswerContentVO>>> answersMap = new HashMap<>(); List<ComActQuestnaireAnswerContentVO> usersAnswers = questnaireAnswersDTOS.getAnswers(); usersAnswers.forEach(userAnswers -> { R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfoByUserId(userAnswers.getUserId().toString()); if (R.isOk(loginUserInfoVOR)) { LoginUserInfoVO loginUserInfoVO = loginUserInfoVOR.getData(); LinkedHashMap<Long, List<ComActQuestnaireAnswerContentVO>> theUserList = answersMap.get(loginUserInfoVO); if (theUserList == null) { theUserList = new LinkedHashMap<>(); answersMap.put(loginUserInfoVO, theUserList); } /** * 按题分类题目答案 */ Long subId = userAnswers.getSubId(); List<ComActQuestnaireAnswerContentVO> answerContentVOList1 = theUserList.get(subId); if(answerContentVOList1==null){ answerContentVOList1 = new ArrayList<>(); theUserList.put(subId, answerContentVOList1); } answerContentVOList1.add(userAnswers); } }); /** * 构造导出数据 */ answersMap.forEach((user, answers) ->{ List<Object> userData = new ArrayList<>(); userData.add(user.getName()); //获取提交时间 Set<Long> keySet = answers.keySet(); String dateStr = ""; if(keySet!=null && keySet.size()>0){ try { ComActQuestnaireAnswerContentVO firstvo = answers.get(keySet.toArray()[0]).get(0); if (firstvo != null) { Date time = firstvo.getCreateAt(); if(time!=null) { String sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time); dateStr = sd; List<ComActQuestnaireAnswerContentVO> usersAnswers = questnaireAnswersDTOS.getAnswers(); //查询用户回答的所有答案,并新增到答案列表中 ComActReserveRegisterDetailedVO recordListVO = questnaireAnswersDTOS.getRecordListVO(); userData.add(recordListVO.getNickName()); userData.add(DateUtils.format(recordListVO.getCreateAt(),DateUtils.ymdhms_format)); Long reserveRecordId = null; for (ComActQuestnaireAnswerContentVO userAnswers:usersAnswers) { if(reserveRecordId == null){ reserveRecordId = userAnswers.getReserveRecordId(); } } }catch (Exception e){ dateStr = ""; } } userData.add(dateStr); answers.forEach((id, answer )->{ StringBuilder usersAnswerContent = new StringBuilder(""); answer.forEach(ans ->{ String context = (ans.getChoice()!=null?(ans.getChoice()+ "."):"") + ans.getAnswerContent(); usersAnswerContent.append(context +"\n"); }); userData.add(usersAnswerContent.toString()); }); if(!reserveRecordId.equals(userAnswers.getReserveRecordId())){ datalist.add(userData); }); userData = new ArrayList<>(); userData.add(recordListVO.getNickName()); userData.add(DateUtils.format(recordListVO.getCreateAt(),DateUtils.ymdhms_format)); reserveRecordId = userAnswers.getReserveRecordId(); } userData.add(userAnswers.getAnswerContent()); } } WriteCellStyle headWriteCellStyle = new WriteCellStyle(); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java
@@ -42,4 +42,6 @@ */ List<ComActReserveRegisterDetailedAnswerVO> getRegisterDetailedAnswerList(@Param("reserveRecordId")Long reserveRecordId); ComActReserveRegisterDetailedVO getRegisterDetailedById(@Param("reserveRecordId") Long reserveRecordId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
@@ -9,6 +9,7 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRecordListVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedAnswerVO; import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO; import com.panzhihua.common.utlis.DateUtils; @@ -58,15 +59,23 @@ }); result.setSubs(listSubVo); Long reserveRecordId = null; //查询用户回答 List<ComActReserveAnswerContentDO> questnaireAnswerContentDOList = this.baseMapper.selectListByReserve(reserveId); List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>(); questnaireAnswerContentDOList.forEach(dos -> { for (ComActReserveAnswerContentDO dos:questnaireAnswerContentDOList) { ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO(); BeanUtils.copyProperties(dos, vo); reserveRecordId = dos.getReserveRecordId(); vos.add(vo); }); } result.setAnswers(vos); //查询用户提交信息 ComActReserveRegisterDetailedVO recordListVO = this.baseMapper.getRegisterDetailedById(reserveRecordId); if(recordListVO != null){ result.setRecordListVO(recordListVO); } return R.ok(result); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml
@@ -32,9 +32,6 @@ LEFT JOIN com_act_reserve qn ON qs.reserve_id = qn.id WHERE qn.id = #{reserveId} ORDER BY ac.user_id, qs.id </select> <select id="pageRegisterDetailedListAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveRegisterDetailedAdminDTO" @@ -65,4 +62,15 @@ where carac.reserve_record_id = #{reserveRecordId} order by carac.id asc </select> <select id="getRegisterDetailedById" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO"> SELECT carr.id, su.nick_name, carr.create_at FROM com_act_reserve_record AS carr LEFT JOIN sys_user AS su ON su.user_id = carr.user_id where carr.id = #{reserveRecordId} </select> </mapper>