瀏覽代碼

病历质控报表基础代码

chengyao 4 年之前
父節點
當前提交
7ac9d8edc4

+ 57 - 0
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -1245,6 +1245,63 @@ public class ConsoleFacade {
         return records;
     }
 
+    /**
+     * 病历质控报表
+     *
+     * @param behospitalPageVO
+     * @return
+     */
+    public List<HomePageNumDTO> getQualityControl(BehospitalPageVO behospitalPageVO) {
+        behospitalPageSet(behospitalPageVO);
+        List<HomePageNumDTO> records = behospitalInfoFacade.getQualityControl(behospitalPageVO);
+        //没有科室过滤时增加全院数据
+        if (StringUtil.isBlank(behospitalPageVO.getDeptName()) || behospitalPageVO.getDeptName().equals("全院")) {
+            HomePageNumDTO item = getGlobleRecord(records);
+            if (item != null) {
+                records.add(0, item);
+            }
+        }
+        return records;
+    }
+
+    private void behospitalPageSet(BehospitalPageVO behospitalPageVO) {
+        //入参验证
+        //入院时间
+        if (null != behospitalPageVO && null != behospitalPageVO.getBehosDateStart()) {
+            behospitalPageVO.setBehosDateStart(DateUtil.getFirstTimeOfDay(behospitalPageVO.getBehosDateStart()));
+        }
+        if (null != behospitalPageVO && null != behospitalPageVO.getBehosDateEnd()) {
+            behospitalPageVO.setBehosDateEnd(DateUtil.getFirstTimeOfDay(DateUtil.addDay(behospitalPageVO.getBehosDateEnd(), 1)));
+        }
+        if (null != behospitalPageVO && null != behospitalPageVO.getBehosDateStart() && null != behospitalPageVO.getBehosDateEnd()) {
+            if (DateUtil.after(behospitalPageVO.getBehosDateStart(), behospitalPageVO.getBehosDateEnd())) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "入院时间的开始时间必须小于结束时间!");
+            }
+        }
+        //出院时间
+        if (null != behospitalPageVO && null != behospitalPageVO.getLeaveHosDateStart()) {
+            behospitalPageVO.setLeaveHosDateStart(DateUtil.getFirstTimeOfDay(behospitalPageVO.getLeaveHosDateStart()));
+        }
+        if (null != behospitalPageVO && null != behospitalPageVO.getLeaveHosDateEnd()) {
+            behospitalPageVO.setLeaveHosDateEnd(DateUtil.getFirstTimeOfDay(DateUtil.addDay(behospitalPageVO.getLeaveHosDateEnd(), 1)));
+        }
+        if (null != behospitalPageVO && null != behospitalPageVO.getLeaveHosDateStart() && null != behospitalPageVO.getLeaveHosDateEnd()) {
+            if (DateUtil.after(behospitalPageVO.getLeaveHosDateStart(), behospitalPageVO.getLeaveHosDateEnd())) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "出院时间的开始时间必须小于结束时间!");
+            }
+        }
+        behospitalPageVO.setHospitalId(Long.parseLong(SysUserUtils.getCurrentHospitalID()));
+//        behospitalPageVO.setIsPlacefile("1");
+//        if (null != behospitalPageVO.getStatisticsType()
+//                && null == behospitalPageVO.getLeaveHosDateStart()
+//                && null == behospitalPageVO.getLeaveHosDateEnd()) {
+//            String startDate = filterFacade.getStartDateStr(behospitalPageVO.getStatisticsType(), null);
+//            String endDate = filterFacade.getEndDateStr(behospitalPageVO.getStatisticsType(), null);
+//            behospitalPageVO.setLeaveHosDateStart(DateUtil.parseDate(startDate));
+//            behospitalPageVO.setLeaveHosDateEnd(DateUtil.parseDate(endDate));
+//        }
+    }
+
     /**
      * 病案首页合格率占比
      *

+ 9 - 0
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -147,6 +147,15 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
      */
     public List<HomePageNumDTO> homePageLevelStatistics(FilterOrderVO filterOrderVO);
 
+    /**
+     * 病历质控报表
+     *
+     * @param behospitalPageVO
+     * @return
+     */
+    public List<HomePageNumDTO> getQualityControl(BehospitalPageVO behospitalPageVO);
+
+
     /**
      * 各科室缺陷占比(主任医生)
      *

+ 9 - 0
src/main/java/com/diagbot/service/BehospitalInfoService.java

@@ -147,6 +147,15 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
      */
     public List<HomePageNumDTO> homePageLevelStatistics(FilterOrderVO filterOrderVO);
 
+    /**
+     * 病历质控报表
+     *
+     * @param behospitalPageVO
+     * @return
+     */
+    public List<HomePageNumDTO> getQualityControl(BehospitalPageVO behospitalPageVO);
+
+
     /**
      * 各科室缺陷占比(主任医生)
      *

+ 12 - 0
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -213,6 +213,18 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
         return baseMapper.homePageLevelStatistics(filterOrderVO);
     }
 
+    /**
+     * 病历质控报表
+     *
+     * @param behospitalPageVO
+     * @return
+     */
+    @Override
+    public List<HomePageNumDTO> getQualityControl(BehospitalPageVO behospitalPageVO) {
+        return baseMapper.getQualityControl(behospitalPageVO);
+    }
+
+
     /**
      * 各科室缺陷占比(主任医生)
      *

+ 2 - 0
src/main/java/com/diagbot/web/ADataStrController.java

@@ -1,3 +1,4 @@
+/*
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
@@ -251,3 +252,4 @@ public class ADataStrController {
     }
 
 }
+*/

+ 19 - 0
src/main/java/com/diagbot/web/ConsoleController.java

@@ -442,6 +442,25 @@ public class ConsoleController {
         return RespDTO.onSuc(consoleFacade.homePageLevelStatistics(filterOrderVO));
     }
 
+    /**
+     * 病历质控报表
+     *
+     * @param behospitalPageVO
+     * @return
+     */
+    @ApiOperation(value = "病历质控报表[by:cy]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "level: 病历等级 <br>" +
+                    "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc: 排序(降序) <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/qualityControl ")
+    @SysLogger("qualityControl")
+    public RespDTO<List<HomePageNumDTO>> getQualityControl(@RequestBody BehospitalPageVO behospitalPageVO) {
+        return RespDTO.onSuc(consoleFacade.getQualityControl(behospitalPageVO));
+    }
+
     /**
      * 病案首页不合格数病历详情(内页)
      * @param qcResultPageVO