Browse Source

首次质控非甲级病历查询功能新增

wanghn 5 months ago
parent
commit
40b5918233

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -79,6 +79,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/behospitalInfo/page_dept").permitAll()
                 .antMatchers("/qc/behospitalInfo/page_person").permitAll()
                 .antMatchers("/qc/behospitalInfo/page_group").permitAll()
+                .antMatchers("/qc/behospitalInfo/page_deptFirstAnalyze").permitAll()
                 .antMatchers("/qc/casesEntryHospital/findQcCasesEntry").permitAll()
                 .antMatchers("/qc/casesEntryHospital/getQcFirstAnalyze").permitAll()
                 .antMatchers("/qc/dataimport/import").permitAll()

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -155,6 +155,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/behospitalInfo/page_dept", request)
                 || matchers("/qc/behospitalInfo/page_person", request)
                 || matchers("/qc/behospitalInfo/page_group", request)
+                || matchers("/qc/behospitalInfo/page_deptFirstAnalyze", request)
                 || matchers("/qc/casesEntryHospital/findQcCasesEntry", request)
                 || matchers("/qc/casesEntryHospital/getQcFirstAnalyze", request)
                 || matchers("/qc/behospitalInfo/exportExcel", request)

+ 25 - 0
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.AuthServiceClient;
 import com.diagbot.dto.*;
 import com.diagbot.entity.*;
@@ -2091,6 +2092,30 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return res;
     }
 
+    public IPage<BehospitalInfoDeptDTO> pageDeptFirstAnalyze(BehospitalPageVO behospitalPageVO) {
+        behospitalPageSet(behospitalPageVO);
+        behospitalPageVO.setUserId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
+        IPage<BehospitalInfoDeptDTO> res = getPageByDept(behospitalPageVO);
+        List<BehospitalInfoDeptDTO> records = res.getRecords();
+        List<BehospitalInfoDeptDTO> resRecords = new ArrayList<>();
+        for (BehospitalInfoDeptDTO record : records) {
+            QcresultInfo qcresultInfo = qcresultInfoFacade.lambdaQuery()
+                    .like(QcresultInfo::getBehospitalCode, record.getBehospitalCode())
+                    .orderByAsc(QcresultInfo::getGmtCreate)
+                    .last("LIMIT 1")
+                    .one();
+            if(qcresultInfo != null && !qcresultInfo.getLevel().equals("甲")){
+                resRecords.add(record);
+            }
+        }
+
+        IPage<BehospitalInfoDeptDTO> resultPage = new Page<>(res.getCurrent(), res.getSize(), res.getTotal());
+        resultPage.setRecords(resRecords); // 设置记录
+        resultPage.setTotal(resRecords.size());
+        resultPage.setSize(resRecords.size());
+        return resultPage;
+    }
+
     /**
      * 评分-运行质控
      *

+ 1 - 1
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -636,7 +636,7 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
                 .last("LIMIT 1")
                 .one();
         //2.判断病历等级是否为甲级
-        if(qcresultInfo == null || qcresultInfo.getLevel().equals("甲")){
+        if(qcresultInfo == null){
             return new QcFirstAnalyzeDTO();
         }
         QcFirstAnalyzeDTO dto = new QcFirstAnalyzeDTO();

+ 15 - 0
src/main/java/com/diagbot/web/BehospitalInfoController.java

@@ -318,4 +318,19 @@ public class BehospitalInfoController {
         return RespDTO.onSuc(behospitalInfoFacade.analyzeCds(analyzeCdsVO));
     }
 
+    @ApiOperation(value = "首次质控非甲级病历分页列表(科室)[by:zhoutg]",
+            notes = "name:姓名<br>" +
+                    "fileCode:档案号<br>" +
+                    "statisticsType: 统计维度 1-本月,2-本年<br>" +
+                    "behosDateStart:入院时间开始时间<br>" +
+                    "behosDateEnd:入院时间结束时间<br>" +
+                    "leaveHosDateStart:出院时间开始时间<br>" +
+                    "leaveHosDateEnd:出院时间结束时间<br>")
+    @PostMapping("/page_deptFirstAnalyze")
+    @SysLogger("page_deptFirstAnalyze")
+    public RespDTO<IPage<BehospitalInfoDeptDTO>> pageDeptFirstAnalyze(@RequestBody BehospitalPageVO behospitalPageVO) {
+        IPage<BehospitalInfoDeptDTO> data = behospitalInfoFacade.pageDeptFirstAnalyze(behospitalPageVO);
+        return RespDTO.onSuc(data);
+    }
+
 }