Browse Source

补录接口ââ€

江豪迪 3 years ago
parent
commit
9418099164

+ 11 - 0
src/main/java/com/diagbot/aggregate/view/StructuralOldDataSupplementaryRecordAggregate.java

@@ -0,0 +1,11 @@
+package com.diagbot.aggregate.view;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * @author 10185
+ * @create 2022/7/13 16:42
+ */
+@Component
+public class StructuralOldDataSupplementaryRecordAggregate {
+}

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

@@ -167,6 +167,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/data/sendPacsResults").permitAll()
                 .antMatchers("/qc/data/getColumnZhAndCh").permitAll()
                 .antMatchers("/qc/data/getColumnZhAndCh1").permitAll()
+                .antMatchers("/qc/data/dataViewSupplementaryRecord").permitAll()
                 .antMatchers("/qc/data/analyseRec").permitAll()
                 .antMatchers("/qc/data/hisDataDeal").permitAll()
                 .antMatchers("/qc/data_str/sendAdmissionNote").permitAll()

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

@@ -211,6 +211,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/data/sendPacsResults", request)
                 || matchers("/qc/data/getColumnZhAndCh", request)
                 || matchers("/qc/data/getColumnZhAndCh1", request)
+                || matchers("/qc/data/dataViewSupplementaryRecord", request)
                 || matchers("/qc/data/analyseRec", request)
                 || matchers("/qc/data/hisDataDeal", request)
                 || matchers("/qc/data_str/sendAdmissionNote", request)

+ 46 - 0
src/main/java/com/diagbot/facade/data/StructuralOldDataFacade.java

@@ -143,6 +143,52 @@ public class StructuralOldDataFacade {
         }
     }
 
+    /**
+     *
+     */
+    public void sendBehospitalCodeDataOld(BeHospitalInfoDataVo beHospitalInfoDataVo) {
+        try {
+            StringBuilder stringBuilder = null;
+
+            if (beHospitalInfoDataVo.getStartDate() != null || beHospitalInfoDataVo.getStopDate() != null) {
+
+                stringBuilder = new StringBuilder("select * from med_behospital_info t  where  t.behospitalDate >= to_date('" + beHospitalInfoDataVo.getStartDate()
+                        + "','yyyy-mm-dd hh24:mi:ss') and t.behospitalDate < to_date('" + beHospitalInfoDataVo.getStopDate() + "','yyyy-mm-dd hh24:mi:ss')");
+            }
+            ArrayList<String> behospitalCode = beHospitalInfoDataVo.getBehospitalCode();
+            if (behospitalCode != null && behospitalCode.size() > 0) {
+                stringBuilder = new StringBuilder("select * from med_behospital_info t where behospitalCode in (");
+                for (String s : behospitalCode) {
+                    stringBuilder.append("'"+s+"'");
+                    stringBuilder.append(",");
+                }
+                if (stringBuilder.lastIndexOf(",") == stringBuilder.length() - 1) {
+                    stringBuilder.deleteCharAt(stringBuilder.length() - 1);
+                }
+                stringBuilder.append(")");
+            }
+
+
+//            String sql ="select t.behospitalCode ,t.patientId  from med_behospital_info t where t.leaveHospitalDate is null";
+            List<StructuralDataVo> strings = fjtzdbConnHarp.getBehospitalInfoDate(stringBuilder.toString());
+            strings.forEach(s -> {
+                StructuralDataVo sData = new StructuralDataVo();
+
+                for (int i = 0; i < 65; i++) {
+                    String tableName = TableNameEnum.getName(i);
+                    if (null != tableName) {
+                        sData.setBehospitalCode(s.getBehospitalCode());
+                        sData.setModeId(String.valueOf(i));
+                        sData.setPatientId(s.getPatientId());
+                        executeOld(sData);
+                    }
+                }
+            });
+        } catch (Exception e) {
+            aMedAbnormalInfoFacade.saveAbnormalInfo("保存数据异常", "", JSON.toJSONString(beHospitalInfoDataVo), "", e.getMessage());
+        }
+    }
+
     /**
      * 终末质控,单个病人来导入数据
      *

+ 4 - 1
src/main/java/com/diagbot/util/FJTZDBConnHarp.java

@@ -6,13 +6,14 @@ import com.diagbot.facade.data.AMedAbnormalInfoFacade;
 import com.diagbot.vo.data.*;
 import com.diagbot.vo.str.StrCrisisNoteVO;
 import com.google.common.collect.Lists;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.sql.*;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.ResourceBundle;
-
+@Slf4j
 public class FJTZDBConnHarp {
 	private static final String DRIVER = getValue("jdbc.driverClassName");
     private static final String URL = getValue("jdbc.url");
@@ -214,8 +215,10 @@ public class FJTZDBConnHarp {
 	public List<StructuralDataVo> getBehospitalInfoDate(String sql) {
 		List<StructuralDataVo> strings=Lists.newLinkedList();
 		try {
+			log.info(sql);
 			FJTZDBConnHarp dbconn=new FJTZDBConnHarp();
 			ResultSet rs =dbconn.Query(sql, null);
+
 			while(rs.next()){
 				StructuralDataVo structuralDataVo =new StructuralDataVo();
 				structuralDataVo.setBehospitalCode(rs.getString("behospitalCode"));//病人住院ID

+ 34 - 0
src/main/java/com/diagbot/vo/data/BeHospitalInfoDataVo.java

@@ -0,0 +1,34 @@
+package com.diagbot.vo.data;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+
+
+/**
+ * 入院信息补录VO
+ */
+@Data
+public class BeHospitalInfoDataVo {
+    /**
+     * 病历号
+     */
+    private ArrayList<String> behospitalCode;
+
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 开始时间
+     */
+    private String startDate;
+    /**
+     * 结束时间
+     */
+    private String stopDate;
+
+
+}

+ 40 - 30
src/main/java/com/diagbot/web/DataController.java

@@ -11,12 +11,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 @RestController
 @RequestMapping("/qc/data")
-@Api(value = "对接接口API", tags = { "对接接口API" })
+@Api(value = "对接接口API", tags = {"对接接口API"})
 public class DataController {
     @Autowired
     private ABasDoctorInfoFacade aBasDoctorInfoFacade;
@@ -52,7 +53,9 @@ public class DataController {
     private StructuralOldDataFacade sendOnebehospitalCode;
     @Autowired
     private AStrOperativeNoteFacade aStrOperativeNoteFacade;
-//
+
+
+    //
 //    @ApiOperation(value = "数据引擎-获取医院所有在职医生的基本信息")
 //    @PostMapping("/sendDoctorInfos")
 //    @SysLogger("sendDoctorInfos")
@@ -62,49 +65,50 @@ public class DataController {
     @ApiOperation(value = "数据引擎-获取医院所有在职医生的基本信息")
     @GetMapping("/sendDoctorInfos")
     @SysLogger("sendDoctorInfos")
-    public void sendDoctorInfos(){
+    public void sendDoctorInfos() {
         aBasDoctorInfoFacade.executeDoctorXM();
     }
 
     @ApiOperation(value = "数据引擎-获取医院所有有效科室的基本信息")
     @PostMapping("/sendDeptInfos")
     @SysLogger("sendDeptInfos")
-    public RespDTO<List<ABasDeptInfoDTO>> sendDeptInfos(@RequestBody List<ABasDeptInfoVO> list){
+    public RespDTO<List<ABasDeptInfoDTO>> sendDeptInfos(@RequestBody List<ABasDeptInfoVO> list) {
         return aBasDeptInfoFacade.executeDept(list);
     }
 
     @ApiOperation(value = "数据引擎-获取医院所有文书模板基本信息")
     @PostMapping("/sendRecordTypes")
     @SysLogger("sendRecordTypes")
-    public RespDTO<List<AMedicalRecordTypeDTO>> sendRecordTypes(@RequestBody List<AMedicalRecordTypeVO> list){
+    public RespDTO<List<AMedicalRecordTypeDTO>> sendRecordTypes(@RequestBody List<AMedicalRecordTypeVO> list) {
         return aMedRecordTypeFacade.executeMRType(list);
     }
 
     @ApiOperation(value = "运行质控-评分-文书信息")
     @PostMapping("/sendMrRecordIng")
     @SysLogger("sendMrRecordIng")
-    public RespDTO<Map<String, Object>> sendMrRecordIng(@Valid @RequestBody AMrContentVO aMrContentVO){
+    public RespDTO<Map<String, Object>> sendMrRecordIng(@Valid @RequestBody AMrContentVO aMrContentVO) {
         return aMedicalRecordFacade.executeMrRecordIng(aMrContentVO);
     }
+
     @ApiOperation(value = "单份病例保存并返回评分{厦门}")
     @PostMapping("/sendStructuralData")
     @SysLogger("sendStructuralData")
-    public RespDTO<Map<String, Object>> sendStructuralData(@Valid @RequestBody StructuralDataVo structuralDataVos){
+    public RespDTO<Map<String, Object>> sendStructuralData(@Valid @RequestBody StructuralDataVo structuralDataVos) {
         return structuralDataFacade.sendStructuralData(structuralDataVos);
     }
 
     @ApiOperation(value = "{历史病例导入单个病人}")
     @PostMapping("/sendStructuralOneOld")
     @SysLogger("sendStructuralOneOld")
-    public void sendStructuralOneOld(@Valid @RequestBody StructuralDataVo structuralDataVo){
-        sendOnebehospitalCode.sendOnebehospitalCode(structuralDataVo.getBehospitalCode(),structuralDataVo.getPatientId());
+    public void sendStructuralOneOld(@Valid @RequestBody StructuralDataVo structuralDataVo) {
+        sendOnebehospitalCode.sendOnebehospitalCode(structuralDataVo.getBehospitalCode(), structuralDataVo.getPatientId());
     }
 
     @ApiOperation(value = "{历史病例导入多个病人}")
     @PostMapping("/sendStructuralMoreOld")
     @SysLogger("sendStructuralMoreOld")
-    public void sendStructuralMoreOld(@Valid @RequestBody List<StructuralDataVo> structuralDataVo){
-        for (StructuralDataVo structuralDataVo1: structuralDataVo) {
+    public void sendStructuralMoreOld(@Valid @RequestBody List<StructuralDataVo> structuralDataVo) {
+        for (StructuralDataVo structuralDataVo1 : structuralDataVo) {
             sendOnebehospitalCode.sendOnebehospitalCode(structuralDataVo1.getBehospitalCode(), structuralDataVo1.getPatientId());
         }
     }
@@ -112,42 +116,42 @@ public class DataController {
     @ApiOperation(value = "{历史病例导入时间格式}")
     @PostMapping("/sendStructuralDateOld")
     @SysLogger("sendStructuralDateOld")
-    public void sendStructuralDateOld(@Valid @RequestBody StructuralDataVo structuralDataVos){
+    public void sendStructuralDateOld(@Valid @RequestBody StructuralDataVo structuralDataVos) {
         sendOnebehospitalCode.sendStructuralDataOld(structuralDataVos);
     }
 
     @ApiOperation(value = "终末质控-文书信息")
     @PostMapping("/sendMrRecord")
     @SysLogger("sendMrRecord")
-    public RespDTO<List<AMedicalRecordDTO>> sendMrRecord(@RequestBody List<AMedicalRecordVO> list){
+    public RespDTO<List<AMedicalRecordDTO>> sendMrRecord(@RequestBody List<AMedicalRecordVO> list) {
         return aMedicalRecordFacade.executeMrRecord(list);
     }
 
     @ApiOperation(value = "终末质控-文书详情")
     @PostMapping("/sendMrContent")
     @SysLogger("sendMrContent")
-    public RespDTO<List<AMedicalRecordContentDTO>> sendMrContent(@RequestBody List<AMedicalRecordContentVO> list){
+    public RespDTO<List<AMedicalRecordContentDTO>> sendMrContent(@RequestBody List<AMedicalRecordContentVO> list) {
         return aMedicalRecordContentFacade.executeMrRecordContent(list);
     }
 
     @ApiOperation(value = "数据引擎-获取医院病人住院记录信息")
     @PostMapping("/sendPatientInfo")
     @SysLogger("sendPatientInfo")
-    public RespDTO<List<ABehospitalInfoDTO>> sendPatientInfo(@RequestBody List<ABehospitalInfoVO> list){
+    public RespDTO<List<ABehospitalInfoDTO>> sendPatientInfo(@RequestBody List<ABehospitalInfoVO> list) {
         return aBehospitalInfoFacade.executeBehospital(list);
     }
 
     @ApiOperation(value = "数据引擎-获取医院医生医嘱信息")
     @PostMapping("/sendDoctorAdvice")
     @SysLogger("sendDoctorAdvice")
-    public RespDTO<List<ADoctorAdviceDTO>> sendDoctorAdvice(@RequestBody List<ADoctorAdviceVO> list){
+    public RespDTO<List<ADoctorAdviceDTO>> sendDoctorAdvice(@RequestBody List<ADoctorAdviceVO> list) {
         return aDoctorAdviceFacade.executeDoctorAdvice(list);
     }
 
     @ApiOperation(value = "运行质控-获取病案首页")
     @PostMapping("/sendHomePageIng")
     @SysLogger("sendHomePageIng")
-    public RespDTO<Map<String, Object>> sendHomePageIng(@Valid @RequestBody AHomePageIngVO aHomePageIngVO){
+    public RespDTO<Map<String, Object>> sendHomePageIng(@Valid @RequestBody AHomePageIngVO aHomePageIngVO) {
         return aHomePageFacade.executeHomePageIng(aHomePageIngVO);
     }
 
@@ -155,35 +159,35 @@ public class DataController {
     @ApiOperation(value = "终末质控-获取病案首页")
     @PostMapping("/sendHomePage")
     @SysLogger("sendHomePage")
-    public RespDTO<List<AHomePageDTO>> sendHomePage(@RequestBody List<AHomePageVO> list){
+    public RespDTO<List<AHomePageDTO>> sendHomePage(@RequestBody List<AHomePageVO> list) {
         return aHomePageFacade.executeHomePage(list);
     }
 
     @ApiOperation(value = "终末质控-获取病案首页诊断")
     @PostMapping("/sendHomeDiagnose")
     @SysLogger("sendHomeDiagnose")
-    public RespDTO<List<AHomeDiagnoseDTO>> sendHomeDiagnose(@RequestBody List<AHomeDiagnoseVO> list){
+    public RespDTO<List<AHomeDiagnoseDTO>> sendHomeDiagnose(@RequestBody List<AHomeDiagnoseVO> list) {
         return aHomeDiagnoseInfoFacade.executeHomeDiagnose(list);
     }
 
     @ApiOperation(value = "终末质控-获取病案首页手术")
     @PostMapping("/sendHomeOperation")
     @SysLogger("sendHomeOperation")
-    public RespDTO<List<AHomeOperationDTO>> sendHomeOperation(@RequestBody List<AHomeOperationVO> list){
+    public RespDTO<List<AHomeOperationDTO>> sendHomeOperation(@RequestBody List<AHomeOperationVO> list) {
         return RespDTO.onSuc(aHomeOperationInfoFacade.executeHomeOperation(list));
     }
 
     @ApiOperation(value = "数据引擎-获取危急值")
     @PostMapping("/sendCrisis")
     @SysLogger("sendCrisis")
-    public RespDTO<List<AMedCrisisDTO>> sendCrisis(@RequestBody List<AMedCrisisVO> list){
+    public RespDTO<List<AMedCrisisDTO>> sendCrisis(@RequestBody List<AMedCrisisVO> list) {
         return aMedCrisisFacade.executeMedCrisis(list);
     }
 
     @ApiOperation(value = "数据引擎-删除标识{厦门}")
     @PostMapping("/deleteFlag")
     @SysLogger("deleteFlag")
-    public RespDTO deleteFlag(@RequestBody ADeleteFlagVO aDeleteFlagVO){
+    public RespDTO deleteFlag(@RequestBody ADeleteFlagVO aDeleteFlagVO) {
         deleteFlagFacade.isDeleteFlag(aDeleteFlagVO);
         return RespDTO.onSuc(true);
     }
@@ -191,31 +195,31 @@ public class DataController {
     @ApiOperation(value = "数据引擎-归档标识{厦门}")
     @PostMapping("/placeFile")
     @SysLogger("placeFile")
-    public RespDTO placeFileFlag(@RequestBody APlaceFileVO aPlaceFileVO){
+    public RespDTO placeFileFlag(@RequestBody APlaceFileVO aPlaceFileVO) {
         return aBehospitalInfoFacade.placeFileFlag(aPlaceFileVO);
     }
 
     @ApiOperation(value = "检查")
     @PostMapping("/sendPacsResults")
     @SysLogger("sendPacsResults")
-    public RespDTO<List<AMedPacsResultVO>> sendPacsResults(@RequestBody List<AMedPacsResultVO> list){
+    public RespDTO<List<AMedPacsResultVO>> sendPacsResults(@RequestBody List<AMedPacsResultVO> list) {
         return aMedPacsResultFacade.executeMedPacsResult(list);
     }
 
     @ApiOperation(value = "化验")
     @PostMapping("/sendLisResults")
     @SysLogger("sendLisResults")
-    public RespDTO<List<AMedLisResultVO>> sendLisResults(@RequestBody List<AMedLisResultVO> list){
+    public RespDTO<List<AMedLisResultVO>> sendLisResults(@RequestBody List<AMedLisResultVO> list) {
         return aMedLisResultFacade.executeMedLisResult(list);
     }
 
     @ApiOperation(value = "数据引擎-历史数据结构化处理")
     @PostMapping("/hisDataDeal")
     @SysLogger("hisDataDeal")
-    public RespDTO<List<AMedCrisisDTO>> hisDataDeal(@RequestBody HisDataDealVO hisDataDealVO){
+    public RespDTO<List<AMedCrisisDTO>> hisDataDeal(@RequestBody HisDataDealVO hisDataDealVO) {
         boolean b = true;
         try {
-             b = aMedicalRecordFacade.hisDataDeal(hisDataDealVO);
+            b = aMedicalRecordFacade.hisDataDeal(hisDataDealVO);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -226,7 +230,7 @@ public class DataController {
     @ApiOperation(value = "测试")
     @PostMapping("/getColumnZhAndCh")
     @SysLogger("getColumnZhAndCh")
-    public void getColumnZhAndCh(){
+    public void getColumnZhAndCh() {
 //        aStrConsultationNoteFacade.getColumnZhAndCh();
 //        return RespDTO.onSuc(true);
         aBehospitalInfoFacade.upddateQcTypeId();
@@ -246,10 +250,16 @@ public class DataController {
     @ApiOperation(value = "测试1")
     @PostMapping("/getColumnZhAndCh1")
     @SysLogger("getColumnZhAndCh1")
-    public void getColumnZhAndCh1(){
+    public void getColumnZhAndCh1() {
 //        aStrConsultationNoteFacade.getColumnZhAndCh();
 //        return RespDTO.onSuc(true);
-        aStrOperativeNoteFacade.getOneList(null,"17");
+        aStrOperativeNoteFacade.getOneList(null, "17");
     }
 
+    @PostMapping("/dataViewSupplementaryRecord")
+    @ApiOperation(value = "数据补录")
+    @SysLogger("dataViewSupplementaryRecord")
+    public void dataViewSupplementaryRecord(@RequestBody BeHospitalInfoDataVo beHospitalInfoDataVo) {
+        sendOnebehospitalCode.sendBehospitalCodeDataOld(beHospitalInfoDataVo);
+    }
 }

+ 2 - 2
src/main/resources/application-dev.yml

@@ -59,9 +59,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://192.168.2.126:3307/qc_xiamen?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: lantone
+      password: Lat0ne@tesT
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5

+ 5 - 5
src/main/resources/application-test.yml

@@ -1,5 +1,5 @@
 server:
-  port: 5858
+  port: 5859
   max-http-header-size: 10MB
 
 hystrix:
@@ -59,9 +59,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.237:3307/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://192.168.12.181/qc-test1?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: lantone
+      password: lt@great
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5
@@ -111,7 +111,7 @@ spring:
     database:
       cache: 8 # cache索引
       token: 8 # Token索引
-    host: 192.168.2.241  #Redis服务器地址
+    host: 192.168.12.182  #Redis服务器地址
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     password: lantone # Redis服务器连接密码(默认为空)
     lettuce:
@@ -164,7 +164,7 @@ oath.self.address: http://${myhost}:${server.port}
 
 # 加解密开关
 encrypt:
-  enable: true
+  enable: false
 
 swagger:
   enable: true

+ 3 - 3
src/main/resources/jdbc.properties

@@ -1,4 +1,4 @@
-#\u6570\u636e\u5e93\u914d\u7f6e
+#\u6570\u636E\u5E93\u914D\u7F6E
 #jdbc.driverClassName=com.mysql.jdbc.Driver
 #jdbc.url=jdbc:mysql://127.0.0.1:3306/diagbot-app?useUnicode=true&characterEncoding=UTF-8
 #jdbc.username=root
@@ -19,11 +19,11 @@ jdbc.password=xmdwyylt
 #jdbc.username=zjlt
 #jdbc.password=zjlt@2020
 
-#\u6570\u636e\u670d\u52a1\u6a21\u5f0f
+#\u6570\u636E\u670D\u52A1\u6A21\u5F0F
 remote.address.ver=http://192.18.101.207:2030/index.html
 remote.address.hor=http://192.18.101.207:2030/indexHorizontal.html
 
 process.qc.url=http://192.168.12.182:1489/index.html
 
-#his\u65b9\u60a3\u8005\u63a5\u53e3\u5730\u5740
+#his\u65B9\u60A3\u8005\u63A5\u53E3\u5730\u5740
 his.patient.url=