From aa0feb328efdc4fca028c388e8e54ec63246aac5 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Tue, 15 Nov 2022 11:06:38 +0800 Subject: [PATCH] =?UTF-8?q?20221114=E5=A2=9E=E5=8A=A0=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E9=97=AE=E5=8D=B7=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/ManageQuestionnaireController.java | 43 +++++++++++ .../manage/ManageStatisticalController.java | 47 ++++++++++++ .../carbasics/bean/dto/QuestionnaireDto.java | 35 +++++++++ .../carbasics/bean/vo/QuestionnaireVo.java | 1 - .../persist/dao/QuestionnaireRecordDao.java | 7 ++ .../service/AccountManageService.java | 3 +- .../service/IManageQuestionnaireService.java | 17 +++++ .../service/ManageQuestionnaireService.java | 74 +++++++++++++++++++ src/main/resources/application-test.yml | 6 +- src/main/resources/application.yml | 4 +- .../mapper_dao/QuestionnaireRecordDao.xml | 63 ++++++++++++++++ 11 files changed, 293 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/ccsens/carbasics/api/manage/ManageQuestionnaireController.java create mode 100644 src/main/java/com/ccsens/carbasics/api/manage/ManageStatisticalController.java create mode 100644 src/main/java/com/ccsens/carbasics/service/IManageQuestionnaireService.java create mode 100644 src/main/java/com/ccsens/carbasics/service/ManageQuestionnaireService.java diff --git a/src/main/java/com/ccsens/carbasics/api/manage/ManageQuestionnaireController.java b/src/main/java/com/ccsens/carbasics/api/manage/ManageQuestionnaireController.java new file mode 100644 index 0000000..0cefd14 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/api/manage/ManageQuestionnaireController.java @@ -0,0 +1,43 @@ +package com.ccsens.carbasics.api.manage; + +import com.ccsens.carbasics.bean.dto.QuestionnaireDto; +import com.ccsens.carbasics.service.IManageQuestionnaireService; +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Api(tags = "问查调卷相关接口" , description = "") +@RestController +@RequestMapping("/manage/questionnaire") +@Slf4j +public class ManageQuestionnaireController { + + @Resource + private IManageQuestionnaireService manageQuestionnaireService; + + @MustLogin + @ApiOperation(value = "后台查看问卷填写记录", notes = "") + @RequestMapping(value = "/list", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse>> queryQuestionnaireDetail(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("后台查看问卷填写记录{}", params); + // 未添加时间条件 + PageInfo> o = manageQuestionnaireService.queryQuestionnaireDetail(params.getParam(), params.getUserId()); + + return JsonResponse.newInstance().ok(o); + } + +} diff --git a/src/main/java/com/ccsens/carbasics/api/manage/ManageStatisticalController.java b/src/main/java/com/ccsens/carbasics/api/manage/ManageStatisticalController.java new file mode 100644 index 0000000..bef6ed7 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/api/manage/ManageStatisticalController.java @@ -0,0 +1,47 @@ +package com.ccsens.carbasics.api.manage; + +import com.ccsens.carbasics.bean.dto.StatisticalDto; +import com.ccsens.carbasics.bean.vo.StatisticalVo; +import com.ccsens.carbasics.service.IStatisticalService; +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @description: 统计查询 + * @author: whj + * @time: 2021/7/28 8:54 + */ +@Api(tags = "统计查询") +@RestController +@RequestMapping("/manage/statistical") +@Slf4j +public class ManageStatisticalController { + @Resource + private IStatisticalService statisticalService; + + + @MustLogin + @ApiOperation(value = "跑道图", notes = "跑道图") + @RequestMapping(value = "/runway", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse runway(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("跑道图:{}", params); + StatisticalVo.Common common = statisticalService.runway(params.getParam(), params.getUserId()); + log.info("跑道图结果:{}", common); + return JsonResponse.newInstance().ok(common); + } + + +} diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java index ecac0a2..6252416 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java @@ -205,4 +205,39 @@ public class QuestionnaireDto { private Byte healthTracking; } + + @Data + @ApiModel("后台查找问卷填写信息列表-返回") + public static class BackQueryQuestionnaire { + @ApiModelProperty("地区信息 市/县") + private String county; + @ApiModelProperty("医院名称") + private String hospitalName; + @ApiModelProperty("医院等级") + private String hospitalLevel; + @ApiModelProperty("联系人") + private String contacts; + @ApiModelProperty("手机号") + private String phone; + @ApiModelProperty("是否为脑防委高级卒中中心") + private String cuzhong; + @ApiModelProperty("是否为脑防委卒中防治中心") + private String fangzhi; + @ApiModelProperty("是否为山西省溶栓2.0版地图医院") + private String hosMap; + @ApiModelProperty("是否开展血管内治疗") + private String xgzl; + @ApiModelProperty("提交时间开始") + private Long submitTimeStart; + @ApiModelProperty("提交时间结束") + private Long submitTimeEnd; + @ApiModelProperty("第几页") + @Min(value = 1) + private int pageNum = 1; + @ApiModelProperty("每页多少条") + @Min(value = 1) + @Max(value=100) + private int pageSize = 10; + } + } diff --git a/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java index 1b43764..642861d 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java @@ -2,7 +2,6 @@ package com.ccsens.carbasics.bean.vo; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.ccsens.carbasics.bean.po.QuestionnaireDetail; import com.ccsens.util.DesensitizedUtils; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java index 291755d..b534a95 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java @@ -47,4 +47,11 @@ public interface QuestionnaireRecordDao extends QuestionnaireRecordMapper { * @return 医院列表 */ List queryHospitalList(@Param("param") QuestionnaireDto.QueryHospitalList param); + + /** + * 后台查看问卷提交记录 + * @param codes + * @return + */ + List> backQueryRecordList(@Param("param")QuestionnaireDto.BackQueryQuestionnaire param, @Param("codes") List codes); } diff --git a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java index b1725f1..0da4f57 100644 --- a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java @@ -108,7 +108,8 @@ public class AccountManageService implements IAccountManageService { } //查询职位id - Long positionId = positionDao.queryByCode(accountManageInfo.getPositionCode(),accountManageInfo.getHospitalName()); +// Long positionId = positionDao.queryByCode(accountManageInfo.getPositionCode(),accountManageInfo.getHospitalName()); + Long positionId = null; questionnaireService.createOrganization(accountManageInfo.getHospitalName(),accountManageInfo.getDepartmentName(),accountManageInfo.getSubmitterUserId(), accountManageInfo.getSubmitter(),accountManageInfo.getSubmitterPhone(),positionId,accountManageInfo.getPositionName(),accountManageInfo.getPositionCode(),accountManageInfo.getDepartmentCode()); // questionnaireService.createHospitalAndProject(accountManageInfo.getSubmitterPhone(),accountManageInfo.getSubmitterUserId(),"", diff --git a/src/main/java/com/ccsens/carbasics/service/IManageQuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/IManageQuestionnaireService.java new file mode 100644 index 0000000..495aaec --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/service/IManageQuestionnaireService.java @@ -0,0 +1,17 @@ +package com.ccsens.carbasics.service; + +import com.ccsens.carbasics.bean.dto.QuestionnaireDto; +import com.github.pagehelper.PageInfo; + +import java.util.List; +import java.util.Map; + +public interface IManageQuestionnaireService { + + /** + * 后台查找问卷列表 + * @param param + * @param userId + */ + PageInfo> queryQuestionnaireDetail(QuestionnaireDto.BackQueryQuestionnaire param, Long userId); +} diff --git a/src/main/java/com/ccsens/carbasics/service/ManageQuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/ManageQuestionnaireService.java new file mode 100644 index 0000000..d453ad6 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/service/ManageQuestionnaireService.java @@ -0,0 +1,74 @@ +package com.ccsens.carbasics.service; + +import cn.hutool.core.util.StrUtil; +import com.ccsens.carbasics.bean.dto.QuestionnaireDto; +import com.ccsens.carbasics.bean.vo.CodeVo; +import com.ccsens.carbasics.bean.vo.QuestionnaireVo; +import com.ccsens.carbasics.persist.dao.AreaDao; +import com.ccsens.carbasics.persist.dao.CodeDictionariesDao; +import com.ccsens.carbasics.persist.dao.QuestionnaireRecordDao; +import com.ccsens.carbasics.util.Constant; +import com.ccsens.util.PoiUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class ManageQuestionnaireService implements IManageQuestionnaireService { + + @Resource + private CodeDictionariesDao codeDictionariesDao; + @Resource + private QuestionnaireRecordDao questionnaireRecordDao; + @Resource + private AreaDao areaDao; + + @Override + public PageInfo> queryQuestionnaireDetail(QuestionnaireDto.BackQueryQuestionnaire param, Long userId) { + String areaCode = "CITY-COUNTY"; + + List parentCodes = new ArrayList<>(); + parentCodes.add("QXXWJ"); + parentCodes.add("XGZL"); + List codes = codeDictionariesDao.query(parentCodes); + log.info("code数量:{}", codes.size()); + + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + List> records = questionnaireRecordDao.backQueryRecordList(param,codes); + log.info("记录结束"); + records.forEach(record ->{ + String s = record.get(areaCode); + if (StrUtil.isNotBlank(s)) { + String[] split = s.split(Constant.STRING_REGEX); + List areaIds = new ArrayList<>(); + for(String id: split) { + areaIds.add(Long.parseLong(id)); + } + List areaBasics = areaDao.queryByIdArr(areaIds); + StringBuilder area = new StringBuilder(); + for (QuestionnaireVo.AreaBasic areaBasic : areaBasics) { + area.append(areaBasic.getName()); + } + record.put(areaCode,area.toString()); + } + }); + + return new PageInfo<>(records); + } +} diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 446d4bd..1425382 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -40,12 +40,12 @@ mybatisCache: timeout: 1000 eureka: instance: - ip-address: 127.0.0.1 + ip-address: 101.201.226.163 file: path: /home/cloud/carbasics/uploads/ - domain: https://sd.tall.wiki/gateway/carbasics/v4.0 - imgDomain: https://sd.tall.wiki/gateway/carbasics/v4.0/uploads/ + domain: https://test.tall.wiki/gateway/carbasics/v4.0 + imgDomain: https://test.tall.wiki/gateway/carbasics/v4.0/uploads/ wisdom: weight: 10000 time: 600000 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5abf242..c3b11fb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod + active: test + include: common, util-test diff --git a/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml b/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml index 87afe36..95a9cbb 100644 --- a/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml @@ -87,5 +87,68 @@ + \ No newline at end of file