浏览代码

首页质控审核添加科室筛选

lighter 1 年之前
父节点
当前提交
32d60ac396

+ 5 - 0
src/main/java/thyyxxk/webserver/controller/inpatient/casefrontsheet/CaseFrontSheetController.java

@@ -289,4 +289,9 @@ public class CaseFrontSheetController {
     public ResultVo<AuditCount> fetchAuditCount(@RequestBody FrontsheetQualityVerification request) {
         return ResultVoUtil.success(service.fetchAuditCount(request));
     }
+
+    @GetMapping("/getAllSmallDept")
+    public ResultVo<List<CodeName>> getAllSmallDept() {
+        return ResultVoUtil.success(service.getAllSmallDept());
+    }
 }

+ 5 - 0
src/main/java/thyyxxk/webserver/dao/his/inpatient/casefrontsheet/QualityVerificationDao.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Select;
 import org.mapstruct.Mapper;
 import thyyxxk.webserver.entity.casefrontsheet.FrontsheetQualityVerification;
+import thyyxxk.webserver.entity.dictionary.CodeName;
 
 import java.util.List;
 
@@ -23,4 +24,8 @@ public interface QualityVerificationDao extends BaseMapper<FrontsheetQualityVeri
             "group by pat_no, times, pat_name, pat_gender, doctor_code, doctor_name" +
             ") t where t.approved=0")
     List<FrontsheetQualityVerification> selectRejectedRecords(String start, String end, String statement);
+
+    @Select("select code,name,py_code from zd_unit_code where isnull(del_flag,'0')!='1' " +
+            "and code not like '8%' and inpatient_flag='1' order by code")
+    List<CodeName> selectAllSmallDeptWithInpatientFlag();
 }

+ 10 - 0
src/main/java/thyyxxk/webserver/entity/casefrontsheet/FrontsheetQualityVerification.java

@@ -55,6 +55,16 @@ public class FrontsheetQualityVerification implements Serializable {
 	 */
 	private String doctorName;
 
+	/**
+	 * 出院科室编码
+	 * */
+	private String disDeptCode;
+
+	/**
+	 * 出院科室编码
+	 * */
+	private String disDeptName;
+
 	/**
 	 * 申请时间
 	 */

+ 3 - 0
src/main/java/thyyxxk/webserver/entity/casefrontsheet/request/AuditInquiry.java

@@ -3,10 +3,13 @@ package thyyxxk.webserver.entity.casefrontsheet.request;
 import lombok.Data;
 import thyyxxk.webserver.entity.casefrontsheet.state.AuditState;
 
+import java.util.List;
+
 @Data
 public class AuditInquiry {
     private String start;
     private String end;
     private AuditState state;
     private String patNo;
+    private List<String> deptList;
 }

+ 22 - 3
src/main/java/thyyxxk/webserver/service/inpatient/casefrontsheet/CaseFrontSheetMainService.java

@@ -1159,21 +1159,36 @@ public class CaseFrontSheetMainService {
     public List<FrontsheetQualityVerification> fetchQualityVerifications(AuditInquiry inquiry) {
         if (inquiry.getState() != AuditState.REJECTED) {
             QueryWrapper<FrontsheetQualityVerification> wrapper = new QueryWrapper<>();
-            if (StringUtil.notBlank(inquiry.getPatNo())) {
-                wrapper.eq("pat_no", inquiry.getPatNo());
-            }
             wrapper.eq("audit_state", inquiry.getState());
             wrapper.ge("application_time", inquiry.getStart());
             wrapper.le("application_time", inquiry.getEnd());
+            if (StringUtil.notBlank(inquiry.getPatNo())) {
+                wrapper.eq("pat_no", inquiry.getPatNo());
+            }
+            if (ListUtil.notBlank(inquiry.getDeptList())) {
+                wrapper.in("dis_dept_code", inquiry.getDeptList());
+            }
             return qualityVerificationDao.selectList(wrapper);
         }
         String statement = "";
         if (StringUtil.notBlank(inquiry.getPatNo())) {
             statement = " and pat_no=" + inquiry.getPatNo();
         }
+        if (ListUtil.notBlank(inquiry.getDeptList())) {
+            statement += " and dis_dept_code in " + makeInStatement(inquiry.getDeptList());
+        }
         return qualityVerificationDao.selectRejectedRecords(inquiry.getStart(), inquiry.getEnd(), statement);
     }
 
+    private String makeInStatement(List<String> list) {
+        StringBuilder builder = new StringBuilder();
+        for (String item : list) {
+            builder.append(",'").append(item).append("'");
+        }
+        builder.append(")");
+        return "(" + builder.substring(1);
+    }
+
     public String executeAudit(FrontsheetQualityVerification request) {
         String userCode = TokenUtil.getInstance().getTokenUserId();
         request.setAuditStaffCode(userCode);
@@ -1225,4 +1240,8 @@ public class CaseFrontSheetMainService {
         auditCount.setRejected(qualityVerificationDao.selectCount(wrapper));
         return auditCount;
     }
+
+    public List<CodeName> getAllSmallDept() {
+        return qualityVerificationDao.selectAllSmallDeptWithInpatientFlag();
+    }
 }