Browse Source

查询视图 日间病例标识,更新数据库

Gaozk 2 năm trước cách đây
mục cha
commit
aadd70bf30

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

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 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.diagbot.client.AuthServiceClient;
 import com.diagbot.dto.*;
@@ -12,8 +13,10 @@ import com.diagbot.entity.*;
 import com.diagbot.enums.CheckStatusEnum;
 import com.diagbot.enums.CheckerRoleEnum;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.data.SexEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
 import com.diagbot.service.impl.BehospitalInfoServiceImpl;
 import com.diagbot.service.impl.MedClickInfoServiceImpl;
 import com.diagbot.service.impl.StrInformedConsentServiceImpl;
@@ -53,6 +56,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     @Autowired
     QcClientFacade qcServiceClient;
     @Autowired
+    private AMedAbnormalInfoFacade aMedAbnormalInfoFacade;
+    @Autowired
     DoctorAdviceFacade doctorAdviceFacade;
     @Autowired
     HomePageFacade homePageFacade;
@@ -75,6 +80,10 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     @Autowired
     QcModeFacade qcModeFacade;
     @Autowired
+    private QcTypeFacade qcTypeFacade;
+    @Autowired
+    private BehospitalInfoFacade behospitalInfoService;
+    @Autowired
     AuthServiceClient authServiceClient;
     @Autowired
     QcCasesEntryPagedataFacade qcCasesEntryPagedataFacade;
@@ -88,6 +97,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     private FilterFacade filterFacade;
     @Autowired
     MedLisInfoFacade medLisInfoFacade;
+    private TZDBConn tzDBConn = new TZDBConn();
     @Autowired
     MedLisResultFacade medLisResultFacade;
     @Autowired
@@ -1754,6 +1764,43 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 .eq("hospital_id", analyzeRunVO.getHospitalId())
                 .eq("behospital_code", analyzeRunVO.getBehospitalCode()), false
         );
+        /*查看试图日间病例标识*/
+        String sql = "SELECT * FROM AI_V_SENDPATIENTINFO t WHERE t.BEHOSPITALCODE='" + analyzeRunVO.getBehospitalCode() + "'";
+        List<BehospitalInfo> behospitalInfos = tzDBConn.getBehospitalInfo(sql);
+        BehospitalInfo hospitalInfo = null;
+        if (behospitalInfos.size() > 0) {
+            hospitalInfo = behospitalInfos.get(0);
+        }
+        aMedAbnormalInfoFacade.saveAbnormalInfo(analyzeRunVO.getBehospitalCode()+"mrRecord", analyzeRunVO.getBehospitalCode(), hospitalInfo.getIsDaytime(), "", "!");
+        //更新日间病例标识 isDaytime
+        if(hospitalInfo.getIsDaytime().equals("1")){
+            UpdateWrapper<BehospitalInfo> wrapper = new UpdateWrapper<>();
+            wrapper.eq("behospital_code",analyzeRunVO.getBehospitalCode())
+                    .eq("is_deleted","N")
+                    .set("is_daytime",1);
+            behospitalInfoService.update(wrapper);
+        }
+        /*//根据日间病例标志 查看质控类型 没有质控类型 则修改质控类型
+        * */
+        UpdateWrapper<BehospitalInfo> wrapper = new UpdateWrapper<>();
+
+        if (hospitalInfo.getIsDaytime().equals("1")) {
+
+            if (behospitalInfo.getSex().equals(SexEnum.NUM_MALE.getName())) {
+                QcType byId = qcTypeFacade.getById("129");
+                wrapper.eq("behospital_code",analyzeRunVO.getBehospitalCode())
+                        .eq("is_deleted","N")
+                        .set("qc_type_id",byId.getId());
+
+            }else{
+                QcType byId = qcTypeFacade.getById("161");
+                wrapper.eq("behospital_code",analyzeRunVO.getBehospitalCode())
+                        .eq("is_deleted","N")
+                        .set("qc_type_id",byId.getId());
+            }
+            behospitalInfoService.update(wrapper);
+
+        }
         if (null == behospitalInfo) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病历不存在或已删除!");
         }

+ 48 - 32
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -152,11 +152,15 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
      * @return
      */
     public RespDTO<Map<String, Object>> executeMrRecordIng(AMrContentVO aMrContentVO) {
+        String behospitalCode = null;
         try {
             if (aMrContentVO.getRecords() != null && aMrContentVO.getRecords().size() > 0) {
                 AMrContentDTO aMrContentDTO = new AMrContentDTO();
                 //循环验证数据有效性
                 for (AMedicalRecordVO aMedicalRecordVO : aMrContentVO.getRecords()) {
+                    if (behospitalCode == null) {
+                        behospitalCode = aMedicalRecordVO.getBehospitalCode();
+                    }
                     if (aMedicalRecordVO.getRecId() == null || "".equals(aMedicalRecordVO.getRecId())) {
                         return RespDTO.onError("请输入文书序号!");
                     } else if (aMedicalRecordVO.getHospitalId() == null) {
@@ -171,6 +175,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                         return RespDTO.onError("请输入文书详情!");
                     }
                 }
+                aMedAbnormalInfoFacade.saveAbnormalInfo(behospitalCode+"mrRecord", behospitalCode, JSON.toJSONString(aMrContentVO), "", "!");
                 //更新文书信息
                 executeMrRecord(aMrContentVO.getRecords());
                 aMrContentVO.getRecords().stream().forEach(s -> {
@@ -178,46 +183,57 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                         String sql = "SELECT CONTENTS FROM AI_V_SENDMRRECORDING WHERE RECID = '" + s.getRecId() + "' AND BEHOSPITALCODE = '" + s.getBehospitalCode() + "'";
                         s.getContents().get(0).setXmlText(tzDBConn.getRecordXml(sql));
                     }
-                    
+
                     aMedicalRecordContentFacade.executeMrRecordContent(s.getContents());
-                    /*//日间病历修改质控类型为0 不参与质控
-                    if(s.getRecTitle().contains("日间入出院记录")||s.getRecTitle().contains("24小时入出院记录")||s.getRecTitle().contains("日间病历")){
+                    /*查看试图日间病例标识*/
+                    String sql = "SELECT * FROM AI_V_SENDPATIENTINFO t WHERE t.BEHOSPITALCODE='" + s.getBehospitalCode() + "'";
+                    List<BehospitalInfo> behospitalInfos = tzDBConn.getBehospitalInfo(sql);
+                    BehospitalInfo hospitalInfo = null;
+                    if (behospitalInfos.size() > 0) {
+                        hospitalInfo = behospitalInfos.get(0);
+                    }
+                    aMedAbnormalInfoFacade.saveAbnormalInfo(s.getBehospitalCode()+"mrRecord", s.getBehospitalCode(), hospitalInfo.getIsDaytime(), "", "!");
+                    //更新日间病例标识 isDaytime
+                    if(hospitalInfo.getIsDaytime().equals("1")){
                         UpdateWrapper<BehospitalInfo> wrapper = new UpdateWrapper<>();
                         wrapper.eq("behospital_code",s.getBehospitalCode())
                                 .eq("is_deleted","N")
-                                .set("qc_type_id",0);
+                                .set("is_daytime",1);
                         behospitalInfoService.update(wrapper);
-                    }*/
+                    }
 
                     BehospitalInfo behospitalInfo =behospitalInfoFacade.getOne(new QueryWrapper<BehospitalInfo>().eq("behospital_code", s.getBehospitalCode()));
-                    QcType qcType= qcTypeFacade.getOne(new QueryWrapper<QcType>()
-                            .eq("beh_dept_id", behospitalInfo.getBehDeptId())
-                            .eq("default_module",0)
-                            .eq("sex",behospitalInfo.getSex())
-                            .eq("hospital_id", behospitalInfo.getHospitalId())
-                            .eq("is_deleted", IsDeleteEnum.N));
-                    //根据日间病例标志 查看质控类型 没有质控类型 则修改质控类型
-                    if (qcType==null) {
-                        UpdateWrapper<BehospitalInfo> wrapper = new UpdateWrapper<>();
-
-                        if (behospitalInfo.getIsDaytime().equals("1")) {
-
-                            if (behospitalInfo.getSex().equals(SexEnum.NUM_MALE.getName())) {
-                                QcType byId = qcTypeFacade.getById("129");
-                                wrapper.eq("behospital_code",s.getBehospitalCode())
-                                        .eq("is_deleted","N")
-                                        .set("qc_type_id",byId.getId());
-                                behospitalInfoService.update(wrapper);
-
-                            }else{
-                                QcType byId = qcTypeFacade.getById("161");
-                                wrapper.eq("behospital_code",s.getBehospitalCode())
-                                        .eq("is_deleted","N")
-                                        .set("qc_type_id",byId.getId());
-                            }
-
+                    UpdateWrapper<BehospitalInfo> wrapper = new UpdateWrapper<>();
+                    //使用试图日间标识 判断是否是日间病例
+                    if (hospitalInfo.getIsDaytime().equals("1")) {
+
+                        if (behospitalInfo.getSex().equals(SexEnum.NUM_MALE.getName())) {
+                            QcType byId = qcTypeFacade.getById("129");
+                            wrapper.eq("behospital_code",s.getBehospitalCode())
+                                    .eq("is_deleted","N")
+                                    .set("qc_type_id",byId.getId());
+
+                        }else{
+                            QcType byId = qcTypeFacade.getById("161");
+                            wrapper.eq("behospital_code",s.getBehospitalCode())
+                                    .eq("is_deleted","N")
+                                    .set("qc_type_id",byId.getId());
                         }
-                }});
+                        behospitalInfoService.update(wrapper);
+
+                    }else{
+                        QcType qcType= qcTypeFacade.getOne(new QueryWrapper<QcType>()
+                                .eq("beh_dept_id", behospitalInfo.getBehDeptId())
+                                .eq("default_module",0)
+                                .eq("sex",behospitalInfo.getSex())
+                                .eq("hospital_id", behospitalInfo.getHospitalId())
+                                .eq("is_deleted", IsDeleteEnum.N));
+                        //根据日间病例标志 查看质控类型 没有质控类型 则修改质控类型
+//                        if (qcType==null) {
+//
+//                        }
+                    }
+});
 
                 //评分后返回结构体
                 if (aMrContentVO.getRecords().get(0).getRecTypeId().equals("BASY")) {

+ 27 - 0
src/main/java/com/diagbot/util/TZDBConn.java

@@ -2,9 +2,11 @@ package com.diagbot.util;
 
 import com.alibaba.druid.pool.DruidDataSource;
 import com.diagbot.entity.*;
+import com.diagbot.facade.data.AMedAbnormalInfoFacade;
 import com.diagbot.vo.data.AHomeDiagnoseVO;
 import com.diagbot.vo.data.AHomeOperationVO;
 import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
 
 import java.sql.*;
 import java.util.Date;
@@ -12,6 +14,8 @@ import java.util.List;
 import java.util.ResourceBundle;
 
 public class TZDBConn {
+	@Autowired
+	private AMedAbnormalInfoFacade aMedAbnormalInfoFacade;
 	private static final String DRIVER = getValue("jdbc.driverClassName");
 	private static final String URL = getValue("jdbc.url");
 	private static final String USERNAME = getValue("jdbc.username");
@@ -434,7 +438,30 @@ public class TZDBConn {
 
 		return behospitalInfoList;
 	}
+	/**
+	 * 从试图中获取日间病例标识
+	 * ISDAYTIME
+	 */
+	public String getIsDaytime(String sql){
+		String isDaytime = "";
+		try {
+			TZDBConn dbconn=new TZDBConn();
+			ResultSet rs =dbconn.Query(sql, null);
+			aMedAbnormalInfoFacade.saveAbnormalInfo(rs+"mrRecord", "+++++", rs.getString("ISDAYTIME"), "", "!");
+			isDaytime=rs.getString("ISDAYTIME");
+			/*System.out.println(rs);
+			if (rs.next()) {
+				aMedAbnormalInfoFacade.saveAbnormalInfo(rs+"_____________", "____________", rs.getString("ISDAYTIME"), "", "!");
+				System.out.println(rs);
+			}*/
 
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+		return isDaytime;
+	}
 	/**
 	 * 从视图中获取医嘱信息
 	 * @return