Browse Source

产科根据病区分为产一产二科、病案首页取消删除操作

zhangzw 4 years ago
parent
commit
939270865c

+ 10 - 11
pom.xml

@@ -230,22 +230,21 @@
             <artifactId>hapi-base</artifactId>
             <version>2.2</version>
         </dependency>
-        <!--
         <dependency>
             <groupId>ca.uhn.hapi</groupId>
             <artifactId>hapi-structures-v24</artifactId>
             <version>2.3</version>
         </dependency>
-        <dependency>
-            <groupId>ca.uhn.hapi</groupId>
-            <artifactId>hapi-examples</artifactId>
-            <version>1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>ca.uhn.hapi</groupId>
-            <artifactId>hapi-hl7overhttp</artifactId>
-            <version>2.3</version>
-        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>ca.uhn.hapi</groupId>-->
+<!--            <artifactId>hapi-examples</artifactId>-->
+<!--            <version>1.2</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>ca.uhn.hapi</groupId>-->
+<!--            <artifactId>hapi-hl7overhttp</artifactId>-->
+<!--            <version>2.3</version>-->
+<!--        </dependency>-->
     </dependencies>
 
     <!-- 私有仓库 -->

+ 13 - 1
src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java

@@ -133,6 +133,18 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 BehospitalInfo behospitalInfo = this.getOne(new QueryWrapper<BehospitalInfo>()
                         .eq("behospital_code", s.getBehospitalCode())
                         .eq("hospital_id", s.getHospitalId()), false);
+                String wardCode = s.getWardCode();
+                if(s.getBehDeptId().equals("52103")){
+                    if((wardCode.equals("501") || wardCode.equals("502") || wardCode.equals("520"))){
+                        //产一东(501)、产一西(502)、幸福颐家东(520)对应产一科
+                        s.setBehDeptId("5210301");
+                        s.setBehDeptName("产一");
+                    }else if((wardCode.equals("503") || wardCode.equals("504") || wardCode.equals("521"))){
+                        //产二东(503)、产二西(504)、幸福颐家西(521)对应产二科
+                        s.setBehDeptId("5210302");
+                        s.setBehDeptName("产二");
+                    }
+                }
                 if (behospitalInfo != null) {
                     s.setGmtModified(new Date());
                     s.setQcTypeId(initQcTypeId(s));
@@ -282,7 +294,7 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                         .eq("hospital_id", aPlaceFileVO.getHospitalId())
                         .eq("is_deleted",IsDeleteEnum.N)
                         .set("is_placefile",aPlaceFileVO.getIsProfile())
-                        .set("placefile_date",aPlaceFileVO.getPlaceFileDate().isEmpty()?DateUtil.formatDateTime(DateUtil.now()):DateUtil.parseDateTime(aPlaceFileVO.getPlaceFileDate()))
+                        .set("placefile_date",StringUtil.isNotEmpty(aPlaceFileVO.getPlaceFileDate())?DateUtil.formatDateTime(DateUtil.now()):DateUtil.parseDateTime(aPlaceFileVO.getPlaceFileDate()))
                         .set("gmt_modified", DateUtil.now());
                 Boolean flag=update(new BehospitalInfo(),updateWrapper);
                 return RespDTO.onSuc(flag);

+ 3 - 0
src/main/java/com/diagbot/facade/data/AHomePageFacade.java

@@ -358,6 +358,9 @@ public class AHomePageFacade extends HomePageServiceImpl{
                             .eq("hospital_id", s.getHospitalId())
                             .eq("behospital_code", s.getBehospitalCode()), false);
                     if (homePage != null) {
+                        if(homePage.getIsDeleted().equals("Y")){
+                            s.setIsDeleted("N");
+                        }
                         s.setGmtModified(new Date());
                         updateE.add(s);
                     } else {

+ 16 - 1
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -9,6 +9,7 @@ import com.diagbot.dto.data.AMedicalRecordDTO;
 import com.diagbot.dto.data.AMrContentDTO;
 import com.diagbot.entity.*;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.facade.BasDeptInfoFacade;
 import com.diagbot.facade.BehospitalInfoFacade;
 import com.diagbot.facade.ModelHospitalFacade;
 import com.diagbot.facade.QcTypeFacade;
@@ -66,6 +67,9 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
 
     @Autowired
     private SqlProperties sqlProperties;
+
+    @Autowired
+    private BasDeptInfoFacade basDeptInfoFacade;
     /**
      * 终末质控-同步前一天的病历记录
      */
@@ -353,8 +357,19 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
      */
     private Long initQcTypeId(MedicalRecord medicalRecord,BehospitalInfo behospitalInfo) {
         Long qcTypeId = Long.valueOf("0");
+        String behDeptId = behospitalInfo.getBehDeptId();
+        String recTypeId = medicalRecord.getRecTypeId();
+        if(recTypeId.contains("RJBL") || recTypeId.contains("24XSCRYJL")){
+            if(behDeptId.equals("52425")){
+                /**妇科(住)日间病历、24小时出入院记录的病历模板,映射妇科日间*/
+                behDeptId = "52883";
+            }else if(behDeptId.equals("51944")){
+                /**乳腺外科日间病历、24小时出入院记录的病历模板,映射乳腺外科日间日间*/
+                behDeptId = "52923";
+            }
+        }
         List<QcType> qcTypeList = qcTypeFacade.list(new QueryWrapper<QcType>()
-                .eq("beh_dept_id", behospitalInfo.getBehDeptId())
+                .eq("beh_dept_id", behDeptId)
                 .eq("hospital_id", behospitalInfo.getHospitalId())
                 .eq("is_deleted", IsDeleteEnum.N));
         if (medicalRecord != null) {

+ 1 - 1
src/main/java/com/diagbot/util/SocketServer.java

@@ -88,7 +88,7 @@ public class SocketServer {
      * @return
      */
     private static StringBuilder onMessage(Socket socket) {
-        byte[] bytes = new byte[5120];
+        byte[] bytes = new byte[10240];
         int len;
         try {
             // 建立好连接后,从socket中获取输入流,并建立缓冲区进行读取

+ 2 - 13
src/main/java/com/diagbot/util/TZDBConn.java

@@ -222,7 +222,7 @@ public class TZDBConn {
 				homeOperationVO.setOperationLevel(rs.getString("OPERATIONLEVEL"));//手术级别
 				homeOperationVO.setAnaesthesiaName(rs.getString("ANAESTHESIANAME"));//麻醉方式
 				homeOperationVO.setShamOperationName(rs.getString("SHAMOPERATIONNAME"));//拟手术名称
-				
+
 				homeOperationVOList.add(homeOperationVO);
 			}
 		} catch (Exception e) {
@@ -259,9 +259,6 @@ public class TZDBConn {
                 homePageVO.setSex(rs.getString("SEX"));//性别
                 homePageVO.setBirthday(rs.getDate("BIRTHDAY"));//出生日期
 				homePageVO.setAge(rs.getString("AGE"));//病人年龄
-//                if(StringUtil.isNotBlank(rs.getString("AGE"))){
-//                    homePageVO.setAge(rs.getString("AGE").equals("-")?null:rs.getString("AGE"));//病人年龄
-//                }
                 homePageVO.setAgeUnit(rs.getString("AGEUNIT"));//年龄单位
                 homePageVO.setNationality(rs.getString("NATIONALITY"));//国籍
                 homePageVO.setNewbornMonth(rs.getString("NEWBORNMONTH"));//新生儿出生月数
@@ -415,12 +412,6 @@ public class TZDBConn {
 				Date leavehospitaldate = DateUtil.parseDateTime(rs.getString("LEAVEHOSPITALDATE"));//出院时间
 				behospitalInfo.setBehospitalDate(behospitaldate);
 				behospitalInfo.setLeaveHospitalDate(leavehospitaldate);
-				//日间病历不质控
-				if(StringUtil.isNotEmpty(rs.getString("BEHOSPITALDATE")) && StringUtil.isNotEmpty(rs.getString("LEAVEHOSPITALDATE"))){
-					if(leavehospitaldate.getTime() - behospitaldate.getTime() < 24){
-						behospitalInfo.setIsDeleted("Y");
-					}
-				}
 				behospitalInfo.setDiagnoseIcd(rs.getString("DIAGNOSEICD"));//疾病ICD编码
 				behospitalInfo.setDiagnose(rs.getString("DIAGNOSE"));//疾病名称
 				behospitalInfo.setBehDoctorId(rs.getString("BEHDOCTORID"));
@@ -465,7 +456,7 @@ public class TZDBConn {
 				doctorAdviceVO.setDose(String.valueOf(rs.getDouble("DOSE")));//医嘱单次剂量
 				doctorAdviceVO.setDoseUnit(rs.getString("DOSEUNIT"));//单次剂量单位
 				doctorAdviceVO.setMedModeType(rs.getString("MEDMODETYPE"));//给药方式
-				doctorAdviceVO.setMedicineType(rs.getString("MEDICINETYPE"));//药品类型
+				doctorAdviceVO.setMedicineType(String.valueOf(rs.getInt("MEDICINETYPE")));//药品类型
 				doctorAdviceVO.setDaFrequency(rs.getString("DAFREQUENCY"));//医嘱频率
 				doctorAdviceVO.setDaDealType(rs.getString("DADEALTYPE"));//医嘱处理类型
 				if (StringUtil.isNotEmpty(rs.getString("DASTARTDATE"))){
@@ -511,7 +502,6 @@ public class TZDBConn {
 				medicalRecord.setBehospitalCode(rs.getString("BEHOSPITALCODE"));//病人住院ID
 				medicalRecord.setOrgCode(rs.getString("ORGCODE"));//组织机构代码
 				medicalRecord.setRecTypeId(rs.getString("RECTYPEID"));//对应his模板ID
-
 				medicalRecord.setRecDate(rs.getString("RECDATE")!=null?DateUtil.parseDateTime(rs.getString("RECDATE")):null);//病历日期
 				medicalRecord.setRecTitle(rs.getString("RECTITLE"));//病历标题
 				//medicalRecord.setModeId(Long.valueOf(rs.getString("BLLBID")));//对应his类别ID
@@ -522,7 +512,6 @@ public class TZDBConn {
 		}finally {
 			close();
 		}
-		
 		return medicalRecordList;
 	}
 	

+ 8 - 5
src/main/java/com/diagbot/util/YWAnalysis.java

@@ -59,7 +59,7 @@ public class YWAnalysis {
 //            if (message.getName().equals("ADT_A01")) {
 //                aBehospitalInfoFacade.execute(getBehospitalInfoToView(terser.get("/.PV1-19-1")));
 //            }
-            if (message.getName().equals("ADT_A09")) {
+            if (message.getName().equals("ADT_A09") || message.getName().equals("ADT_A16") ) {
                 aBehospitalInfoFacade.execute(getBehospitalInfoToView(terser.get("/.PV1-19-1")));
                 //从入科消息中获取更新入院时间
 //                BehospitalInfo behospitalInfo = behospitalInfoFacade.getOne(new QueryWrapper<BehospitalInfo>()
@@ -240,11 +240,11 @@ public class YWAnalysis {
             medPacsInfo.setPart(terser.get("/.OBR-4-2"));//检查部位
             if (StringUtils.isNotEmpty(terser.get("/.OBR-22-1"))) {
                 //发布时间
-                medPacsInfo.setRepDate(DateUtil.formatDate(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.OBR-22-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
+                medPacsInfo.setRepDate(DateUtil.formatDateTime(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.OBR-22-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
             }
             if (StringUtils.isNotEmpty(terser.get("/.ORC-9-1"))) {
                 //报告检查时间
-                medPacsInfo.setCheckDate(DateUtil.formatDate(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.ORC-9-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
+                medPacsInfo.setCheckDate(DateUtil.formatDateTime(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.ORC-9-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
             }
             medPacsInfo.setApplyDoctor(terser.get("/.ORC-12-3"));//申请医生
             medPacsInfo.setDeptId(terser.get("/.ORC-17-1"));//开单科室代码
@@ -323,9 +323,12 @@ public class YWAnalysis {
             medLisInfo.setSlideType(null);//标本名称
             if (StringUtils.isNotEmpty(terser.get("/.OBR-22-1"))) {
                 //发布时间
-                medLisInfo.setRepDate(DateUtil.formatDate(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.OBR-22-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
+                medLisInfo.setRepDate(DateUtil.formatDateTime(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.OBR-22-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
+            }
+            if (StringUtils.isNotEmpty(terser.get("/.OBR-7-1"))) {
+                //报告检查时间
+                medLisInfo.setCheckDate(DateUtil.formatDateTime(DateUtil.parseDate(YWDateUtils.convJsonDateToString(terser.get("/.OBR-7-1"), DateUtil.DATE_TIME_FORMAT), DateUtil.DATE_TIME_FORMAT)));
             }
-            medLisInfo.setCheckDate(null);//报告检查时间
             medLisInfo.setApplyDoctor(terser.get("/.ORC-12-3"));//申请医生
             medLisInfo.setDeptId(terser.get("/.ORC-17-1"));//开单科室代码
             medLisInfo.setRegisterFlag(terser.get("/.OBR-25"));//报告单状态

+ 3 - 0
src/main/resources/mapper/HomePageMapper.xml

@@ -615,6 +615,9 @@
                 <if test="item.modifier != null">
                     modifier = #{item.modifier},
                 </if>
+                <if test="item.isDeleted != null">
+                    is_deleted = 'N',
+                </if>
             </set>
             where home_page_id = #{item.homePageId} and hospital_id = #{item.hospitalId} and behospital_code = #{item.behospitalCode}
         </foreach>