123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- package com.diagbot.web;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.diagbot.annotation.SysLogger;
- import com.diagbot.dto.*;
- import com.diagbot.facade.ConsoleByDeptFacade;
- import com.diagbot.vo.*;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import springfox.documentation.annotations.ApiIgnore;
- import javax.validation.Valid;
- import java.util.List;
- import java.util.Map;
- /**
- * @author zhaops
- * @Description:
- * @date 2020/5/9 13:20
- **/
- @RequestMapping("/consoleByDept")
- @RestController
- @Api(value = "控制台(科室)统计相关API", tags = { "控制台(科室)统计相关API" })
- @SuppressWarnings("unchecked")
- public class ConsoleByDeptController {
- @Autowired
- private ConsoleByDeptFacade consoleByDeptFacade;
- //region --------------------------首页接口开始------------------------------
- @ApiOperation(value = "出院病人统计(科室)-首页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/leaveHosCountByDept")
- @SysLogger("leaveHosCountByDept")
- public RespDTO<Map<String, Object>> leaveHosCountByDept(@RequestBody @Valid FilterVO filterVO) {
- Map<String, Object> data = consoleByDeptFacade.leaveHosCountByDept(filterVO);
- return RespDTO.onSuc(data);
- }
- @ApiOperation(value = "入院病人统计(科室)-首页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/beHosCountByDept")
- @SysLogger("beHosCountByDept")
- public RespDTO<Map<String, List<AdmissionCountDTO>>> beHosCountByDept(@RequestBody @Valid FilterVO filterVO) {
- Map<String, List<AdmissionCountDTO>> data = consoleByDeptFacade.admissionHosCountByDept(filterVO);
- return RespDTO.onSuc(data);
- }
- @ApiOperation(value = "病历数统计(科室)-首页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/mrCountByDept")
- @SysLogger("mrCountByDept")
- public RespDTO<Map<String, Object>> mrCountByDept(@RequestBody @Valid FilterVO filterVO) {
- Map<String, Object> data = consoleByDeptFacade.mrCountByDept(filterVO);
- return RespDTO.onSuc(data);
- }
- @ApiOperation(value = "各模块缺陷占比排名(科室)-首页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/entryCountGroupByCaseAndDept")
- @SysLogger("entryCountGroupByCaseAndDept")
- public RespDTO<Map<String, Object>> entryCountGroupByCaseAndDept(@RequestBody @Valid FilterVO filterVO) {
- Map<String, Object> data = consoleByDeptFacade.entryCountGroupByCaseAndDept(filterVO);
- return RespDTO.onSuc(data);
- }
- @ApiOperation(value = "条目缺陷占比(科室)-首页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/entryCountGroupByEntryAndDept")
- @SysLogger("entryCountGroupByEntryAndDept")
- public RespDTO<Map<String, Object>> entryCountGroupByEntryAndDept(@RequestBody @Valid FilterVO filterVO) {
- Map<String, Object> data = consoleByDeptFacade.entryCountGroupByEntryAndDept(filterVO);
- return RespDTO.onSuc(data);
- }
- /**
- * 病案首页合格率占比(首页)
- *
- * @param filterOrderByDeptVO
- * @return
- */
- @ApiOperation(value = "病案首页合格率占比-首页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "level: 病历等级 <br>" +
- "name: 主治医生名称 <br>" +
- "deptName: 科室名称 <br>" +
- "asc: 排序(升序) <br>" +
- "desc: 排序(降序) <br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/homePageLevelByDeptLimit")
- @SysLogger("homePageLevelByDeptLimit")
- public RespDTO<List<HomePageByDeptDTO>> homePageLevelByDeptLimit(@RequestBody @Valid FilterOrderByDeptVO filterOrderByDeptVO) {
- return RespDTO.onSuc(consoleByDeptFacade.homePageLevelByDeptLimit(filterOrderByDeptVO));
- }
- /**
- * 单条条目缺陷统计(首页)
- *
- * @param filterVO
- * @return
- */
- @ApiOperation(value = "单条条目缺陷统计(科室)(首页)[by:cy]",
- notes = "startDate: 起始时间 <br>" +
- "endDate: 截止时间 <br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/casesEntryStatisticsByDept")
- @SysLogger("casesEntryStatisticsByDept")
- public RespDTO<List<NumDTO>> casesEntryStatisticsByDept(@RequestBody @Valid FilterVO filterVO) {
- return RespDTO.onSuc(consoleByDeptFacade.casesEntryStatisticsByDept(filterVO));
- }
- //endregion -----------------------首页接口结束------------------------------
- @ApiOperation(value = "用户关联科室[by:zhaops]",
- notes = "")
- @PostMapping("/getDept")
- @SysLogger("getDept")
- public RespDTO<List<DeptBaseDTO>> getDept() {
- List<DeptBaseDTO> data = consoleByDeptFacade.getDept();
- return RespDTO.onSuc(data);
- }
- //region --------------------------内页接口开始------------------------------
- @ApiOperation(value = "各模块缺陷占比排名-科室(分页)-内页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "name: 模块名称<br>" +
- "deptName: 科室名称(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/entryCountGroupByCaseAndDeptPage")
- @SysLogger("entryCountGroupByCaseAndDeptPage")
- public RespDTO<IPage<NumDTO>> entryCountGroupByCaseAndDeptPage(@RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
- IPage<NumDTO> data = consoleByDeptFacade.entryCountGroupByCaseAndDeptPage(filterPageByDeptVO);
- return RespDTO.onSuc(data);
- }
- @ApiOperation(value = "缺陷详情-科室(分页)-内页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "name: 缺陷名称<br>" +
- "deptName: 科室名称(必填)<br>" +
- "casesId: 模块id:243=病案首页 <br>" +
- "casesName: 模块名称<br>" +
- "isReject: 单项否决 1-否决,0-非<br>" +
- "ruleType: 规则类型 0:无,1:空项,2:错误<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/entryCountGroupByEntryAndDeptPage")
- @SysLogger("entryCountGroupByEntryAndDeptPage")
- public RespDTO<IPage<DeptEntryNumDTO>> entryCountGroupByEntryAndDeptPage(@RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
- IPage<DeptEntryNumDTO> data = consoleByDeptFacade.entryCountGroupByEntryAndDeptPage(filterPageByDeptVO);
- return RespDTO.onSuc(data);
- }
- @ApiOperation(value = "缺陷明细-科室(分页)-内页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "name: 缺陷名称<br>" +
- "deptName: 科室名称(必填)<br>" +
- "doctorName: 医生名称(必填)<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/resultStatisticsByDeptAndDoctorPage")
- @SysLogger("resultStatisticsByDeptAndDoctorPage")
- @ApiIgnore
- public RespDTO<IPage<DeptNumDTO>> resultStatisticsByDeptAndDoctorPage(@RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
- IPage<DeptNumDTO> data = consoleByDeptFacade.resultStatisticsByDeptAndDoctorPage(filterPageByDeptVO);
- return RespDTO.onSuc(data);
- }
- /**
- * 条目缺陷占比-内页
- *
- * @param filterPageByDeptVO
- * @return
- */
- @ApiOperation(value = "条目缺陷占比-内页(分页)-内页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "name: 缺陷名称<br>" +
- "deptName: 科室名称(必填)<br>" +
- "isReject: 单项否决 1-否决,0-非<br>" +
- "casesName: 模块名称<br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/entryGroupByEntryAndDeptInnerPage")
- @SysLogger("entryGroupByEntryAndDeptInnerPage")
- public RespDTO<IPage<DeptEntryNumDTO>> entryGroupByEntryAndDeptInnerPage(@RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
- IPage<DeptEntryNumDTO> data = consoleByDeptFacade.entryGroupByEntryAndDeptInnerPage(filterPageByDeptVO);
- return RespDTO.onSuc(data);
- }
- /**
- * 各科室缺陷占比(组合)
- *
- * @param filterOrderByDeptVO
- * @return
- */
- @ApiOperation(value = "各科室缺陷占比(组合)-内页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "level: 病历等级 <br>" +
- "name: 主治医生名称 <br>" +
- "deptName: 科室名称 <br>" +
- "asc: 排序(升序) <br>" +
- "desc: 排序(降序) <br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/levelStatisticsByDept")
- @SysLogger("levelStatisticsByDept")
- public RespDTO<List<LevelStatisticsDTO>> levelStatisticsByDept(@RequestBody @Valid FilterOrderByDeptVO filterOrderByDeptVO) {
- return RespDTO.onSuc(consoleByDeptFacade.levelStatisticsByDept(filterOrderByDeptVO));
- }
- /**
- * 病案首页合格率占比
- *
- * @param filterOrderByDeptVO
- * @return
- */
- @ApiOperation(value = "病案首页合格率占比(科室)-内页[by:zhaops]",
- notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
- "level: 病历等级 <br>" +
- "name: 主治医生名称 <br>" +
- "deptName: 科室名称 <br>" +
- "asc: 排序(升序) <br>" +
- "desc: 排序(降序) <br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/homePageLevelStatisticsByDept")
- @SysLogger("homePageLevelStatisticsByDept")
- public RespDTO<List<HomePageByDeptDTO>> homePageLevelStatisticsByDept(@RequestBody @Valid FilterOrderByDeptVO filterOrderByDeptVO) {
- return RespDTO.onSuc(consoleByDeptFacade.homePageLevelStatisticsByDept(filterOrderByDeptVO));
- }
- /**
- * 病案首页合格/不合格数
- *
- * @param qcResultPageVO
- * @return
- */
- @ApiOperation(value = "病案首页合格/不合格数(科室)-内页[by:cy]",
- notes = "behospitalCode: 病历号<br>" +
- "patName: 病人姓名 <br>" +
- "casesEntryName: 条目名称 <br>" +
- "titleName: 标题名称 <br>" +
- "casesEntryId: 条目id <br>" +
- "behDeptName:科室名称 <br>" +
- "doctorId:医生工号 <br>" +
- "doctorName:医生姓名 <br>" +
- "level: 病历等级 <br>" +
- "startDate: 起始时间 <br>" +
- "endDate: 截止时间 <br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/homePageOrGoodLevelByDept")
- @SysLogger("homePageOrGoodLevelByDept")
- public RespDTO<IPage<QcResultShortDTO>> homePageOrGoodLevelByDept(@RequestBody @Valid QcResultPageVO qcResultPageVO) {
- return RespDTO.onSuc(consoleByDeptFacade.homePageOrGoodLevelByDept(qcResultPageVO));
- }
- /**
- * 条目缺陷质控评分页-科室(内页)
- *
- * @param qcResultShortPageVO
- * @return
- */
- @ApiOperation(value = "条目缺陷质控评分页-科室(内页)[by:zhaops]",
- notes = "behospitalCode: 病历号)<br>" +
- "patName: 病人姓名 <br>" +
- "casesEntryName: 条目名称 <br>" +
- "casesEntryId: 条目id <br>" +
- "behDeptName:科室名称 <br>" +
- "doctorName:主治医生名称 <br>" +
- "level: 病历等级 <br>" +
- "diagnose: 主诊断 <br>" +
- "isReject: 单项否决 1-否决,0-非<br>" +
- "ruleType: 规则类型 0:无,1:空项,2:错误<br>" +
- "startDate: 起始时间 <br>" +
- "endDate: 截止时间 <br>" +
- "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
- @PostMapping("/qcResultShortByDeptPage")
- @SysLogger("qcResultShortByDeptPage")
- public RespDTO<IPage<QcResultShortDTO>> qcResultShortByDeptPage(@RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
- return RespDTO.onSuc(consoleByDeptFacade.qcResultShortByDeptPage(qcResultShortPageVO));
- }
- //endregion -----------------------内页接口结束------------------------------
- }
|