فهرست منبع

Merge remote-tracking branch 'origin/beilun/dev' into beilun/dev

zhangzw 4 سال پیش
والد
کامیت
26984aebbe

+ 19 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/threelevelward/THR0126.java

@@ -7,12 +7,14 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
+import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDoc;
 import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
 import com.lantone.qc.pub.util.DateUtil;
 import com.lantone.qc.pub.util.SpringContextUtil;
 import com.lantone.qc.pub.util.StringUtil;
+import io.swagger.models.auth.In;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -64,12 +66,28 @@ public class THR0126 extends QCCatalogue {
             status.set("0");
             return;
         }
+
+        String deptDirector = "";
+        String directorDoctor = "";
+        String attendingDoctor = "";
+        FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
+        if (firstPageRecordDoc != null) {
+            Map<String, String> firstPageStructureMap = firstPageRecordDoc.getStructureMap();
+            if (firstPageStructureMap != null) {
+                deptDirector = firstPageStructureMap.get("科主任");
+                directorDoctor = firstPageStructureMap.get("主任医师");
+                attendingDoctor = firstPageStructureMap.get("主治医师");
+            }
+        }
         /* 首次病程录如果是主治或者主任写的,也算主治查房 */
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
         if (firstCourseRecordDoc != null) {
             String doctorSign = firstCourseRecordDoc.getStructureMap().get("记录医生");
             String firstCourseProfessor = getFirstCourseProfessor(doctorSign);
-            if (firstCourseProfessor.contains("主治") || firstCourseProfessor.contains("主任")) {
+            if (firstCourseProfessor.contains("主治") || firstCourseProfessor.contains("主任") ||
+                    (StringUtil.isNotBlank(deptDirector) && doctorSign.contains(deptDirector)) ||
+                    (StringUtil.isNotBlank(directorDoctor) && doctorSign.contains(directorDoctor)) ||
+                    (StringUtil.isNotBlank(attendingDoctor) && doctorSign.contains(attendingDoctor))) {
                 String recordDateStr = firstCourseRecordDoc.getStructureMap().get("病历日期");
                 if (StringUtil.isNotBlank(recordDateStr)) {
                     if (!CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {

+ 18 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/threelevelward/THR0601.java

@@ -7,6 +7,7 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDoc;
 import com.lantone.qc.pub.util.SpringContextUtil;
@@ -38,12 +39,28 @@ public class THR0601 extends QCCatalogue {
             }
         }
 
+        String deptDirector = "";
+        String directorDoctor = "";
+        String attendingDoctor = "";
+        FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
+        if (firstPageRecordDoc != null) {
+            Map<String, String> firstPageStructureMap = firstPageRecordDoc.getStructureMap();
+            if (firstPageStructureMap != null) {
+                deptDirector = firstPageStructureMap.get("科主任");
+                directorDoctor = firstPageStructureMap.get("主任医师");
+                attendingDoctor = firstPageStructureMap.get("主治医师");
+            }
+        }
+
         if (inputInfo.getFirstCourseRecordDoc() != null) {
             Map<String, String> structureMap = inputInfo.getFirstCourseRecordDoc().getStructureMap();
             String recordDoctor = structureMap.get("记录医生");
             if (StringUtil.isNotBlank(recordDoctor)) {
                 String operationProfessor = getCourseProfessor(recordDoctor);
-                if (operationProfessor.contains("主治") || operationProfessor.contains("主任")) {
+                if (operationProfessor.contains("主治") || operationProfessor.contains("主任") ||
+                        (StringUtil.isNotBlank(deptDirector) && recordDoctor.contains(deptDirector)) ||
+                        (StringUtil.isNotBlank(directorDoctor) && recordDoctor.contains(directorDoctor)) ||
+                        (StringUtil.isNotBlank(attendingDoctor) && recordDoctor.contains(attendingDoctor))) {
                     return;
                 }
             }