Explorar el Código

义乌妇幼保健院从视图过去数据接口更新

“wangdsYun hace 8 meses
padre
commit
f62c780c1b

+ 5 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -188,6 +188,11 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/data/hisDataDeal").permitAll()
                 .antMatchers("/qc/data/saveMrRecord").permitAll()
                 .antMatchers("/qc/data/analyseHomePage").permitAll()
+                .antMatchers("/qc/data/updatePlace").permitAll()
+                .antMatchers("/qc/data/updateHomePage").permitAll()
+                .antMatchers("/qc/data/sendDateInfo").permitAll()
+                .antMatchers("/qc/data/sendDateInfoOne").permitAll()
+                .antMatchers("/qc/data/updateBaby").permitAll()
                 .antMatchers("/qc/data_str/sendAdmissionNote").permitAll()
                 .antMatchers("/qc/data_str/sendBloodResult").permitAll()
                 .antMatchers("/qc/data_str/sendBloodTransfusion").permitAll()

+ 5 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -248,6 +248,11 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/data/hisDataDeal", request)
                 || matchers("/qc/data/saveMrRecord", request)
                 || matchers("/qc/data/analyseHomePage", request)
+                || matchers("/qc/data/updatePlace", request)
+                || matchers("/qc/data/updateHomePage", request)
+                || matchers("/qc/data/sendDateInfo", request)
+                || matchers("/qc/data/sendDateInfoOne", request)
+                || matchers("/qc/data/updateBaby", request)
                 || matchers("/qc/data_str/sendAdmissionNote", request)
                 || matchers("/qc/data_str/sendBloodResult", request)
                 || matchers("/qc/data_str/sendBloodTransfusion", request)

+ 5 - 0
src/main/java/com/diagbot/entity/BehospitalInfo.java

@@ -168,6 +168,11 @@ public class BehospitalInfo implements Serializable {
      */
     private String isDaytime;
 
+    /**
+     * 是否为婴儿,1:是,0:否
+     */
+    private String isBaby;
+
     /**
      * 是否删除,N:未删除,Y:删除
      */

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

@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -145,7 +146,7 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 updateE.add(s);
             } else {
                 s.setGmtCreate(new Date());
-                //s.setQcTypeId(initQcTypeId(s));
+                s.setQcTypeId(initQcTypeId(s));
                 addE.add(s);
             }
         });
@@ -238,4 +239,112 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
             return RespDTO.onError(e.getMessage());
         }
     }
+
+    public RespDTO updatePlace(String startDate, String endDate){
+        try {
+            //验证数据是否存在
+            if(StringUtil.isBlank(startDate)){
+                return RespDTO.onError("请输入开始时间!");
+            }else if(StringUtil.isBlank(endDate)){
+                return RespDTO.onError("请输入截止时间!");
+            }else{
+                String sql = "SELECT t.behospitalCode FROM AI_V_SENDPATIENTINFO t WHERE t.isPlacefile='1' and to_char(t.behospitalDate,'yyyy-mm-dd') >='" + startDate
+                        + "' and to_char(t.behospitalDate,'yyyy-mm-dd') < '" + endDate + "'";
+                sql = sql.replace("\"","");
+                List<String> isPlaceFileInfoList = tzDBConn.getBeHospitalCode(sql);
+                if(isPlaceFileInfoList.size() == 0){
+                    return RespDTO.onError("未找到病历!");
+                }
+                UpdateWrapper<BehospitalInfo> updateWrapper=new UpdateWrapper<>();
+                updateWrapper.eq("hospital_id", "5")
+                        .eq("is_deleted",IsDeleteEnum.N)
+                        .in("behospital_code", isPlaceFileInfoList)
+                        .set("is_placefile","1")
+                        .set("gmt_modified", DateUtil.now());
+
+                Boolean flag=update(new BehospitalInfo(),updateWrapper);
+                return RespDTO.onSuc(flag);
+            }
+        }catch (Exception e){
+            return RespDTO.onError(e.getMessage());
+        }
+    }
+
+    public RespDTO sendDateInfo(String startDate, String endDate){
+        try {
+            //验证数据是否存在
+            if(StringUtil.isBlank(startDate)){
+                return RespDTO.onError("请输入开始时间!");
+            }else if(StringUtil.isBlank(endDate)){
+                return RespDTO.onError("请输入截止时间!");
+            }else{
+                String sql = "SELECT * FROM AI_V_SENDPATIENTINFO t WHERE to_char(t.behospitalDate,'yyyy-mm-dd') >='" + startDate
+                        + "' and to_char(t.behospitalDate,'yyyy-mm-dd') < '" + endDate + "'";
+                sql = sql.replace("\"","");
+                List<BehospitalInfo> behospitalInfoList = tzDBConn.getBehospitalInfo(sql);
+                if(behospitalInfoList.size() == 0){
+                    return RespDTO.onError("未找到病历!");
+                }
+                execute(behospitalInfoList);
+            }
+            return RespDTO.onSuc("入院信息更新成功!");
+        }catch (Exception e){
+            return RespDTO.onError(e.getMessage());
+        }
+    }
+
+    public RespDTO sendDateInfoOne(String behospitalCode){
+        try {
+            //验证数据是否存在
+            if(StringUtil.isBlank(behospitalCode)){
+                return RespDTO.onError("请输入病历号");
+            }else{
+                String sql = "SELECT * FROM AI_V_SENDPATIENTINFO t WHERE t.behospitalCode ='" + behospitalCode + "'";
+                sql = sql.replace("\"","");
+                List<BehospitalInfo> behospitalInfoList = tzDBConn.getBehospitalInfo(sql);
+                if(behospitalInfoList.size() == 0){
+                    return RespDTO.onError("未找到病历!");
+                }
+                execute(behospitalInfoList);
+            }
+            return RespDTO.onSuc(behospitalCode + "入院信息更新成功!");
+        }catch (Exception e){
+            return RespDTO.onError(e.getMessage());
+        }
+    }
+
+    /**
+     * 更新婴儿标志(义乌妇保专用)
+     * @return
+     */
+    public RespDTO updateBaby(String startDate, String endDate){
+        try {
+            //验证数据是否存在
+            if(StringUtil.isBlank(startDate)){
+                return RespDTO.onError("请输入开始时间!");
+            }else if(StringUtil.isBlank(endDate)){
+                return RespDTO.onError("请输入截止时间!");
+            }else{
+                String sql = "SELECT t.behospitalCode FROM AI_V_SENDPATIENTINFO t WHERE t.YINGERBZ='1' and to_char(t.behospitalDate,'yyyy-mm-dd') >='" + startDate
+                        + "' and to_char(t.behospitalDate,'yyyy-mm-dd') < '" + endDate + "'";
+                sql = sql.replace("\"","");
+                //获取病人的住院号
+                List<String> isPlaceFileInfoList = tzDBConn.getBeHospitalCode(sql);
+                if(isPlaceFileInfoList.size() == 0){
+                    return RespDTO.onError("未找到病历!");
+                }
+                UpdateWrapper<BehospitalInfo> updateWrapper=new UpdateWrapper<>();
+                updateWrapper.eq("hospital_id", "5")
+                        .eq("is_deleted",IsDeleteEnum.N)
+                        .in("behospital_code", isPlaceFileInfoList)
+                        .set("is_baby","1")
+                        .set("gmt_modified", DateUtil.now());
+
+                Boolean flag=update(new BehospitalInfo(),updateWrapper);
+                return RespDTO.onSuc(flag);
+            }
+        }catch (Exception e){
+            return RespDTO.onError(e.getMessage());
+        }
+    }
 }

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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.AnalyzeRunDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AHomePageDTO;
+import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.entity.HomePage;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.data.*;
@@ -69,6 +70,35 @@ public class AHomePageFacade extends HomePageServiceImpl{
         execute(homePageList);
     }
 
+    public RespDTO updateHomePage(String behospitalCode, String startDate, String endDate){
+        try {
+            //验证数据是否存在
+            if(StringUtil.isNotBlank(behospitalCode)){
+                String sql = "SELECT * FROM ai_v_sendhomepageing t WHERE t.BEHOSPITALDATE ='" + behospitalCode + "'";
+                sql = sql.replace("\"","");
+                List<HomePage> homePageList = tzDBConn.getHomePage(sql);
+                if(homePageList.size() == 0){
+                    return RespDTO.onSuc(false);
+                }
+                execute(homePageList);
+                return RespDTO.onSuc(true);
+            } else {
+                String sql = "SELECT * FROM ai_v_sendhomepageing t WHERE t.BEHOSPITALDATE >=to_date('" + startDate
+                        + "','yyyy-mm-dd') and t.BEHOSPITALDATE < to_date('" + endDate + "','yyyy-mm-dd')";
+                sql = sql.replace("\"","");
+                List<HomePage> homePageList = tzDBConn.getHomePage(sql);
+                if(homePageList.size() == 0){
+                    return RespDTO.onSuc(false);
+                }
+                execute(homePageList);
+                return RespDTO.onSuc(true);
+            }
+
+        }catch (Exception e){
+            return RespDTO.onError(e.getMessage());
+        }
+    }
+
     /**
      * 运行质控-验证数据有效性
      * @param aHomePageIngVO

+ 24 - 1
src/main/java/com/diagbot/util/TZDBConn.java

@@ -425,6 +425,7 @@ public class TZDBConn {
 				behospitalInfo.setDirectorDoctorName(rs.getString("DIRECTORDOCTORNAME"));
 				behospitalInfo.setDoctorId(rs.getString("DOCTORID"));//医生ID
 				behospitalInfo.setDoctorName(rs.getString("DOCTORNAME"));//医生姓名
+				behospitalInfo.setIsBaby(rs.getString("YINGERBZ"));//婴儿标志
 				behospitalInfo.setIsPlacefile(rs.getString("ISPLACEFILE"));
 				behospitalInfo.setIsDaytime(rs.getString("ISDAYTIME"));//日间病例标志
 				behospitalInfo.setPlacefileDate(DateUtil.parseDateTime(rs.getString("PLACEFILEDATE")));
@@ -645,7 +646,7 @@ public class TZDBConn {
 				MedPacsResult medPacsResult=new MedPacsResult();
 				medPacsResult.setRepNo(rs.getString("REPTNO"));
 				medPacsResult.setHospitalId(HOSPITAL_ID);
-				medPacsResult.setBehospitalCode(rs.getString("BEHOSPITALCODE"));
+ 				medPacsResult.setBehospitalCode(rs.getString("BEHOSPITALCODE"));
 				medPacsResult.setReptName(rs.getString("REPTNAME"));
 				medPacsResult.setPart(rs.getString("PART"));
 				medPacsResult.setClinicSight(rs.getString("CLINICSIGHT"));
@@ -874,4 +875,26 @@ public class TZDBConn {
 		}
 		return homeDiagnoseVOList;
 	}
+
+	/**
+	 * 获取病人的住院号
+	 * @return
+	 */
+	public List<String> getBeHospitalCode(String sql) {
+		List<String> beHospitalCodeList=Lists.newLinkedList();
+		try {
+			TZDBConn dbconn=new TZDBConn();
+			ResultSet rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				beHospitalCodeList.add(rs.getString("BEHOSPITALCODE"));//病人住院ID
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+
+		return beHospitalCodeList;
+	}
+
 }

+ 5 - 0
src/main/java/com/diagbot/vo/data/ABehospitalInfoVO.java

@@ -129,6 +129,11 @@ public class ABehospitalInfoVO {
      */
     private String directorDoctorName;
 
+    /**
+     * 是否为婴儿,1:是,0:否
+     */
+    private String isBaby;
+
     /**
      * 是否归档(0:未归档,1:已归档)
      */

+ 36 - 0
src/main/java/com/diagbot/web/DataController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -223,4 +224,39 @@ public class DataController {
     public RespDTO analyseHomePage(@RequestBody String behospitalCode){
         return aDataFacade.analyseHomePage(behospitalCode,Long.valueOf("5"));
     }
+
+    @ApiOperation(value = "数据引擎-更新归档标识(义乌妇幼保健院)[by:dsYun]")
+    @PostMapping("/updatePlace")
+    @SysLogger("updatePlace")
+    public RespDTO updatePlace(@RequestBody String startDate, String endDate){
+        return aBehospitalInfoFacade.updatePlace(startDate,endDate);
+    }
+
+    @ApiOperation(value = "数据引擎-更新病案首页【优先按照病历号更新】(义乌妇幼保健院)[by:dsYun]")
+    @PostMapping("/updateHomePage")
+    @SysLogger("updateHomePage")
+    public RespDTO updateHomePage(@RequestBody String behospitalCode, String startDate, String endDate){
+        return aHomePageFacade.updateHomePage(behospitalCode,startDate,endDate);
+    }
+
+    @ApiOperation(value = "数据引擎-历史数据更新入院信息数据(义乌妇幼保健院)[by:dsYun]")
+    @PostMapping("/sendDateInfo")
+    @SysLogger("sendDateInfo")
+    public RespDTO sendDateInfo(@RequestBody String startDate, String endDate){
+        return aBehospitalInfoFacade.sendDateInfo(startDate,endDate);
+    }
+
+    @ApiOperation(value = "数据引擎-历史数据更新入院信息数据(义乌妇幼保健院)[by:dsYun]")
+    @PostMapping("/sendDateInfoOne")
+    @SysLogger("sendDateInfoOne")
+    public RespDTO sendDateInfoOne(@RequestBody String behospitalCode){
+        return aBehospitalInfoFacade.sendDateInfoOne(behospitalCode);
+    }
+
+    @ApiOperation(value = "数据引擎-更新婴儿标志(义乌妇幼保健院)[by:dsYun]")
+    @PostMapping("/updateBaby")
+    @SysLogger("updateBaby")
+    public RespDTO updateBaby(@RequestBody String startDate, String endDate){
+        return aBehospitalInfoFacade.updateBaby(startDate,endDate);
+    }
 }

+ 15 - 6
src/main/resources/application-test.yml

@@ -59,9 +59,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.241:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://173.18.12.191:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: lantone
+      password: dsYun8!@#
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5
@@ -111,9 +111,9 @@ spring:
     database:
       cache: 8 # cache索引
       token: 8 # Token索引
-    host: 192.168.2.241  #Redis服务器地址
+    host: 173.18.12.191  #Redis服务器地址
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    password:  # Redis服务器连接密码(默认为空)
     lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
@@ -164,7 +164,7 @@ oath.self.address: http://${myhost}:${server.port}
 
 # 加解密开关
 encrypt:
-  enable: true
+  enable: false
 
 swagger:
   enable: true
@@ -175,4 +175,13 @@ xml_analyse:
 
 #函数初始化modeId开关
 initmodeid:
-  enable: false
+  enable: false
+
+#对接过程中是否记录正常流程的日志
+log_switch:
+  enable: false
+
+mrqcLog:
+  enable: false
+
+appeal.address: http://172.17.14.228:8871

+ 3 - 23
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -1548,33 +1548,14 @@
         AND b.is_deleted = 'N'
         AND a.hospital_id = b.hospital_id
         AND a.behospital_code = b.behospital_code
-        <if test="isPlacefile != null and isPlacefile != ''">
-            and a.is_placefile = #{isPlacefile}
-        </if>
         AND (
-        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-' AND b.newborn_day != '—')
-        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' AND b.newborn_month != '—')
-        )
+        ( IFNULL( b.newborn_behospital_weight, '' ) != '' AND b.newborn_behospital_weight != '0' AND b.newborn_behospital_weight != '-' AND b.newborn_behospital_weight != '—'))
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
             AND a.hospital_id = #{hospitalId}
         </if>
-        <if test="isPlacefile != null and isPlacefile == 0">
-            <if test="startDate != null and startDate != ''">
-                <![CDATA[ AND a.behospital_date >= #{startDate}]]>
-            </if>
-            <if test="endDate != null and endDate != ''">
-                <![CDATA[ AND a.behospital_date <= #{endDate}]]>
-            </if>
-        </if>
-        <if test="isPlacefile != null and isPlacefile == 1">
-            <if test="startDate != null and startDate != ''">
-                <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
-            </if>
-            <if test="endDate != null and endDate != ''">
-                <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
-            </if>
-        </if>
+        <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
+        <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
     </select>
 
     <!-- 死亡人数统计-全院-首页 -->
@@ -6346,7 +6327,6 @@
                     sex = #{item.sex},
                     birthday = #{item.birthday},
                     file_code = #{item.fileCode},
-                    qc_type_id = #{item.qcTypeId},
                     ward_code = #{item.wardCode},
                     ward_name = #{item.wardName},
                     beh_dept_id = #{item.behDeptId},