springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
@@ -39,8 +39,10 @@ LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Integer isPartymember = loginUserInfo.getIsPartymember(); Integer isVolunteer = loginUserInfo.getIsVolunteer(); pageQuestnaireDTO.setForParty(1 == isPartymember); pageQuestnaireDTO.setForVolunteer(1 == isVolunteer); pageQuestnaireDTO.setForParty(1 == isPartymember.intValue()); pageQuestnaireDTO.setForVolunteer(1 == isVolunteer.intValue()); pageQuestnaireDTO.setUserId(loginUserInfo.getUserId()); pageQuestnaireDTO.setState(0); return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId()); } @@ -80,7 +82,7 @@ } @ApiOperation(value = "在线统计详细", response = ComActQuestnaireAnswerContentVO.class) @GetMapping("/stat/details") @PostMapping("/stat/details") public R statDetails(@RequestBody PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO) { //问卷调查 return communityService.qaQeustAnswerDetails(pageQuestnaireSubDetailsDTO); @@ -107,9 +109,10 @@ } @ApiOperation(value = "继续调研/停止调研") @GetMapping("/toggle") @PostMapping("/toggle") public R toggle(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo) { return communityService.editQuestnaireDO(editComActQuestnaireVo); LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); return communityService.editQuestnaireDO(editComActQuestnaireVo, loginUserInfo.getUserId()); } @ApiOperation(value = "删除问卷") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAnswerContentVO.java
@@ -1,5 +1,6 @@ package com.panzhihua.common.model.vos.community; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,7 +21,10 @@ @ApiModelProperty("用户姓名") private String userName; @ApiModelProperty("创建时间") private String createAt; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty("选项类型 0 固定选项 1 自定义选项") private Integer type; @ApiModelProperty("题目选项ID") private Long selectionId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserAnswerContentVO.java
@@ -23,4 +23,7 @@ @ApiModelProperty(value = "选项类型 0 固定选项 1 自定义选项", example = "0") private Integer type; @ApiModelProperty(value = "题目选项ID", example = "0") private Long selectionId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1683,7 +1683,7 @@ * @return */ @PostMapping("/questnaire/editquestnairedo") R editQuestnaireDO(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo); R editQuestnaireDO(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo, @RequestParam("userId") Long userId); /** * 删除问卷 ——隐藏 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityQuestnaireApi.java
@@ -70,9 +70,10 @@ } @ApiOperation(value = "继续调研/停止调研") @GetMapping("/toggle") @PostMapping("/toggle") public R toggle(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo) { return communityService.editQuestnaireDO(editComActQuestnaireVo); LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); return communityService.editQuestnaireDO(editComActQuestnaireVo, loginUserInfo.getUserId()); } @ApiOperation(value = "删除问卷") @@ -96,14 +97,14 @@ } @ApiOperation(value = "查看详细-调查结果-查看详细信息", response = ComActQuestnaireAnswerContentVO.class) @GetMapping("/stat/details") @PostMapping("/stat/details") public R statDetails(@RequestBody PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO) { //问卷调查 return communityService.qaQeustAnswerDetails(pageQuestnaireSubDetailsDTO); } @ApiOperation(value = "答卷情况-分页", response = ComActQuestnaireAnswerContentVO.class) @GetMapping("/answer/page") @PostMapping("/answer/page") public R pageAnswer(@RequestBody PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO) { //问卷调查回答 用户分页数据 return communityService.pageQuestnaireAnswer(pageQuestnaireAnswerDTO); @@ -115,6 +116,13 @@ return communityService.answerInfoQuestnaire(userId, questId); } @ApiOperation(value = "编辑问卷") @PostMapping("/edit") public R editQuestnaire(@RequestBody QuestnaireVO questnaireVO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); return communityService.editQuestnaire(questnaireVO); } @ApiOperation(value = "导出数据", response = ComCvtBusinessVO.class) @GetMapping("/export") public R export(@RequestParam("questId") Long questId) { @@ -124,7 +132,8 @@ //Long communityId = loginUserInfo.getCommunityId(); //生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址 String ftpUrl = "/mnt/data/web/excel/"; String name = "问卷调查答题情况.xlsx"; String fileNameBottom = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()); String name = "问卷调查答题情况-" + fileNameBottom + ".xlsx"; try { SFTPUtil sftp = new SFTPUtil(sftpConfig.getUserName(), sftpConfig.getPassword(), sftpConfig.getHost(), sftpConfig.getPort()); sftp.login(); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java
@@ -29,7 +29,7 @@ " CONCAT(ROUND( COUNT(ac.user_id) /(SELECT COUNT(*) FROM com_act_questnaire_answer_content WHERE sub_id = qs.id) *100), '%') AS proportion\n" + "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" + " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" + "WHERE qn.id=#{questId} AND ac.type IS NOT NULL \n" + "WHERE qn.id=#{questId} \n" + "GROUP BY qs.id, ac.choice\n" + "ORDER BY qs.id"+ "</script>") @@ -41,8 +41,8 @@ */ @Select("<script> " + "SELECT ac.* \n" + "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" + " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" + "FROM com_act_questnaire_answer_content ac left JOIN com_act_questnaire_sub qs ON ac.sub_id = qs.id \n" + " LEFT JOIN com_act_questnaire qn ON qs.que_Id = qn.id \n" + "WHERE qn.id=#{questId}\n" + "ORDER BY ac.user_id, qs.id "+ "</script>") springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
@@ -6,7 +6,6 @@ import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireListVo; import com.panzhihua.service_community.model.dos.ComActQuestnaireDO; import com.panzhihua.service_community.model.dos.ComActQuestnaireSubSelectionDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -22,7 +21,7 @@ "FROM \n" + " com_act_questnaire aq \n" + " LEFT JOIN sys_user u on aq.create_by = u.user_id \n" + " where is_hide=0 " + " where aq.is_hide=0 " + "<if test='communityId != null and communityId!=0 '>\n" + " and aq.community_id = #{communityId}\n" + " </if> " + @@ -32,9 +31,12 @@ "<if test='pageQuestnaireDTO.forMasses != null '>\n" + " and aq.for_masses = #{pageQuestnaireDTO.forMasses} \n" + " </if> \n" + "<if test='pageQuestnaireDTO.title != null '>\n" + " and aq.title like concat('%', #{pageQuestnaireDTO.title},'%') \n" + " </if> \n" + "<if test='pageQuestnaireDTO.forParty==true and pageQuestnaireDTO.forVolunteer==true '>\n" + //既是党员又是志愿者 " and ( aq.for_party = 1 OR aq.for_party=1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) ) \n" + " and ( aq.for_party = 1 OR aq.for_volunteer=1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) ) \n" + " </if> \n" + "<if test='pageQuestnaireDTO.forParty==true and pageQuestnaireDTO.forVolunteer==false '>\n" + //党员 不是志愿者 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireAnswerContentDO.java
@@ -38,4 +38,8 @@ * 选项类型 0 固定选项 1 自定义选项 */ private Integer type; /** * */ private Long selectionId; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -83,16 +83,23 @@ ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList(); if(sub.getQuestnaiteSubSelectionVOS()!=null) { sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> { List<QuestnaiteSubSelectionVO> l = sub.getQuestnaiteSubSelectionVOS(); for(int i=0; i<l.size(); i++){ QuestnaiteSubSelectionVO subSelect = l.get(i); ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO(); subSelectionDO.setQueSubId(comActQuestnaireSubDO.getId()); subSelectionDO.setOptionName(subSelect.getOptionName()); if(subSelect.getType()==1){ //添加选项名称 subSelectionDO.setOptionName(subSelect.getOptionName()); }else { subSelectionDO.setOptionName(String.valueOf(Character.toChars('A' + i))); } subSelectionDO.setSort(subSelect.getSort()); subSelectionDO.setContent(subSelect.getContent()); subSelectionDO.setCreateBy(userId); subSelectionDO.setType(subSelect.getType()); subSelectionList.add(subSelectionDO); }); } } subSelectionService.saveBatch(subSelectionList); }); @@ -133,8 +140,8 @@ if (questnaireDO == null) { return R.fail(500, "id有误!"); } questnaireDO.setTitle(questnaireDO.getTitle()); questnaireDO.setQueDescribe(questnaireDO.getQueDescribe()); questnaireDO.setTitle(questnaireVO.getQueTitle()); questnaireDO.setQueDescribe(questnaireVO.getQueDescribe()); //保存问卷调查 questnaireDAO.updateById(questnaireDO); questnaireVO.getQuestnaiteSubVOS().forEach(sub -> { @@ -159,6 +166,8 @@ }); }); }else{ return R.fail("参数有误"); } return R.ok(); } @@ -193,6 +202,10 @@ public R statQuestnaire(Long questId) { ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0)); if(comActQuestnaireDO==null){ return R.fail("问卷已删除!"); } QuestnaireAnswerStatVO usersAnswerStatVO = new QuestnaireAnswerStatVO(); //问卷信息 ComActQuestnaireVO comActQuestnaireVO = new ComActQuestnaireVO(); @@ -218,7 +231,8 @@ usersSubAnswerStatVO.setTotal(0); usearSubAnswerSelectionStatVOList.forEach(stat -> { if (stat.getSubId() == comActQuestnaireSubDO.getId()) { if (stat.getSubId().equals(comActQuestnaireSubDO.getId()) && stat.getTotal()>0) { userSubAnswerSelectionStatVOList.add(stat); } }); @@ -336,6 +350,12 @@ @Override public R pageQuestnaireAnswer(PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO) { if(pageQuestnaireAnswerDTO.getPageNum()==null||pageQuestnaireAnswerDTO.getPageNum().longValue()==0){ pageQuestnaireAnswerDTO.setPageNum(1l); } if(pageQuestnaireAnswerDTO.getPageSize()==null||pageQuestnaireAnswerDTO.getPageSize().longValue()==0){ pageQuestnaireAnswerDTO.setPageSize(10l); } Page userPage = new Page(pageQuestnaireAnswerDTO.getPageNum(), pageQuestnaireAnswerDTO.getPageSize()); IPage<ComActQuestnaireAnswerContentVO> doPager = questnaireAnswerContentDAO.selectAnswersByPage(userPage, pageQuestnaireAnswerDTO); return R.ok(doPager); @@ -366,7 +386,15 @@ answerContentDO.setUserId(userId); answerContentDOList.add(answerContentDO); } answerContentService.saveBatch(answerContentDOList); boolean batchAddSuccess = answerContentService.saveBatch(answerContentDOList); if(batchAddSuccess) { /** * 更新回答用户数量 */ Integer joinCount = questnaireDO.getJoinCount(); questnaireDO.setJoinCount(joinCount != null ? joinCount + 1 : 1); questnaireDAO.updateById(questnaireDO); } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java
@@ -56,6 +56,9 @@ } BeanUtils.copyProperties(comMngVillageVO, comMngVillageDO); ComActDO comActDO = comActDAO.selectById(comMngVillageDO.getCommunityId()); if(comActDO==null){ return R.fail("社区没有绑定街道,请绑定后操作!"); } comMngVillageDO.setStreetId(comActDO.getStreetId()); int insert = comActVillageDAO.insert(comMngVillageDO); if (insert > 0) {