Browse Source

优化查询语句以及质控

xiaochan 2 years ago
parent
commit
fcc5444308

+ 2 - 1
src/main/java/thyyxxk/webserver/controller/zhuyuanyizheng/emr/EmrControlRuleController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.*;
 import thyyxxk.webserver.config.auth.PassToken;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.zhuyuanyisheng.emr.EmrAuditDetail;
 import thyyxxk.webserver.entity.zhuyuanyisheng.emr.EmrLimitUnlock;
 import thyyxxk.webserver.entity.zhuyuanyisheng.emrcontrolrule.*;
 import thyyxxk.webserver.service.zhuyuanyisheng.emr.EmrControlRuleSever;
@@ -42,7 +43,7 @@ public class EmrControlRuleController {
     }
 
     @GetMapping("/myPatientQualityControl")
-    public ResultVo<JSONObject> myPatientQualityControl() {
+    public ResultVo<List<EmrAuditDetail>> myPatientQualityControl() {
         return serverv2.myPatientQualityControl();
     }
 

+ 2 - 3
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/JianYanJianChaDao.java

@@ -102,7 +102,6 @@ public interface JianYanJianChaDao {
     List<JcZdClass> getCheckNewApplication();
 
 
-
     @Select("select tc_name as name," +
             "       rtrim(tc_no) as code," +
             "       '1' as isTheParentNode " +
@@ -478,8 +477,8 @@ public interface JianYanJianChaDao {
             "                     exec_unit, " +
             "    exec_unit_name = (select name from zd_unit_code where zd_unit_code.code = exec_unit) " +
             "from jc_zd_item " +
-            "where del_flag = 0 " +
-            "  and zy_flag = 0 " +
+            "where isnull(del_flag,'0') = '0' " +
+            "  and isnull(zy_flag,'0') = '0' " +
             "  and (zy_order_code like #{code} or py_code like #{code} or d_code like #{code} or name like #{code})")
     List<JyJcItem> getJcItem(String code);
 

+ 6 - 1
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/emr/EmrControlDao.java

@@ -20,7 +20,12 @@ import java.util.Map;
 
 public interface EmrControlDao {
 
-    @Select("select count(1) " + "from emr_control_temp_code a, " + "     emr_control_rule b " + "where a.rule_id = b.id " + "  and code = #{code} " + "  and b.type = #{type} ")
+    @Select("select count(1) " +
+            "from emr_control_temp_code a, " +
+            "     emr_control_rule b " +
+            "where a.rule_id = b.id " +
+            "  and code = #{code} " +
+            "  and b.type = #{type} ")
     int getEmrRuleCount(String code, int type);
 
     @Insert("insert into emr_control_temp_code (code, rule_id) values (#{code},#{id})")

+ 25 - 0
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/emr/EmrControlDaoV2.java

@@ -279,4 +279,29 @@ public interface EmrControlDaoV2 {
     @Select("select data_element from emr_data_element where pat_no = #{patNo} and times = #{times}")
     JSONObject objects(String patNo, Integer times);
 
+
+    @Select("select id, " +
+            "       pat_no, " +
+            "       times, " +
+            "       approver, " +
+            "       review_time, " +
+            "       name, " +
+            "       scoring_criteria, " +
+            "       remark, " +
+            "       remediation_status, " +
+            "       number_of_defects, " +
+            "       modify_person, " +
+            "       modification_time, " +
+            "       emr_id, " +
+            "       history, " +
+            "       doctor, " +
+            "       final_control, " +
+            "       pat_name = (select rtrim(name) from a_patient_mi where a.pat_no = inpatient_no), " +
+            "       emr_name = (select emr_name from emr_patient_data where emr_id = emr_patient_data.id) " +
+            "from emr_audit_detail a " +
+            "where history = 0 " +
+            "  and doctor = #{doctor} " +
+            "  and remediation_status is null")
+    List<EmrAuditDetail> getUnprocessedRecommendationsByDoctor(String doctor);
+
 }

+ 1 - 0
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/emr/EmrAuditDetail.java

@@ -13,6 +13,7 @@ public class EmrAuditDetail implements Serializable {
 
     private String patNo;
     private Integer times;
+    private String patName;
 
     private static final long serialVersionUID = 3711491177934905816L;
 

+ 3 - 16
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/emr/EmrControlRuleSeverV2.java

@@ -61,23 +61,10 @@ public class EmrControlRuleSeverV2 {
         return ResultVoUtil.success(qualityControlOfMedicalRecords(patInfo, null, 0));
     }
 
-    public ResultVo<JSONObject> myPatientQualityControl() {
-        QueryWrapper<?> qw = new QueryWrapper<>();
-        qw.eq("refer_physician", TokenUtil.getTokenUserId());
-        qw.notLike("inpatient_no", "JT");
+    public ResultVo<List<EmrAuditDetail>> myPatientQualityControl() {
+        List<EmrAuditDetail> list = dao.getUnprocessedRecommendationsByDoctor(TokenUtil.getTokenUserId());
 
-        List<QualityControlAnalysisOfMedicalRecords> patInfo = getPatients(qw);
-        if (ListUtil.isBlank(patInfo)) {
-            return ResultVoUtil.fail(ExceptionEnum.SLIGHTLY_ERROR);
-        }
-        JSONObject js = new JSONObject();
-        List<EmrAuditDetail> list = dao.selectedAudit(TokenUtil.getTokenUserId());
-        Map<String, List<EmrAuditDetail>> groupMedicalRecords = list.stream().collect(
-                Collectors.groupingBy(item -> item.getEmrName() + "_" + item.getPatNo() + "_" + item.getTimes())
-        );
-        js.put("timeQualityControl", qualityControlOfMedicalRecords(patInfo, null, null));
-        js.put("emrSuggestion", groupMedicalRecords);
-        return ResultVoUtil.success(js);
+        return ResultVoUtil.success(list);
     }