Kaynağa Gözat

版本升级调整

liuqq 3 yıl önce
ebeveyn
işleme
f6e6d3325b

+ 78 - 43
src/main/java/com/diagbot/facade/data/AMedCrisisFacade.java

@@ -2,81 +2,88 @@ package com.diagbot.facade.data;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.AMedCrisisDTO;
+import com.diagbot.entity.HomePage;
 import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.MedCrisisInfoServiceImpl;
-import com.diagbot.util.BeanUtil;
-import com.diagbot.util.DateUtil;
+import com.diagbot.util.*;
+import com.diagbot.vo.data.ADeleteFlagVO;
 import com.diagbot.vo.data.AMedCrisisVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
 import java.util.List;
 
 @Component
-public class AMedCrisisFacade extends MedCrisisInfoServiceImpl {
+public class AMedCrisisFacade extends MedCrisisInfoServiceImpl{
 
     @Autowired
     @Qualifier("medCrisisInfoServiceImpl")
     private MedCrisisInfoServiceImpl medCrisisInfoService;
+
     @Autowired
     private AMedAbnormalInfoFacade aMedAbnormalInfoFacade;
-    @Value("${log_switch.enable}")
-    private boolean logSwitch;
+
+    @Autowired
+    private SqlProperties sqlProperties;
+    private TZDBConn tzDBConn = new TZDBConn();
+
+    public void executeMedCrisisResult() {
+        String sql = sqlProperties.getCrisisInfoSql();
+        List<MedCrisisInfo> medCrisisInfoList = tzDBConn.getMedCrisisInfo(sql);
+        execute(medCrisisInfoList);
+    }
 
     public RespDTO<List<AMedCrisisDTO>> executeMedCrisis(List<AMedCrisisVO> list) {
-        try{
-            if (list != null && list.size() > 0) {
+        try {
+            if(list!=null && list.size()>0){
                 //循环验证数据有效性
-                for (AMedCrisisVO aMedCrisisVO : list) {
-                    if ("".equals(aMedCrisisVO.getRecId())) {
+                for (AMedCrisisVO aMedCrisisVO:list) {
+                    if("".equals(aMedCrisisVO.getRecId())){
                         return RespDTO.onError("请输入文书编码!");
-                    } else if ("".equals(aMedCrisisVO.getBehospitalCode())) {
+                    }else if("".equals(aMedCrisisVO.getBehospitalCode())) {
                         return RespDTO.onError("请输入病人住院编码!");
-                    } else if (aMedCrisisVO.getHospitalId() == null) {
+                    }else if(aMedCrisisVO.getHospitalId()==null){
                         return RespDTO.onError("请输入医院编码!");
-                    } else if ("".equals(aMedCrisisVO.getRecType())) {
+                    }else if("".equals(aMedCrisisVO.getRecType())){
                         return RespDTO.onError("请输入危急值类型!");
                     }
                 }
 
-                List<MedCrisisInfo> medCrisisList = Lists.newArrayList();
-                list.stream().forEach(s -> {
-                    MedCrisisInfo medCrisisInfo = new MedCrisisInfo();
-                    BeanUtil.copyProperties(s, medCrisisInfo);
+                List<MedCrisisInfo> medCrisisList=Lists.newArrayList();
+                list.stream().forEach(s->{
+                    MedCrisisInfo medCrisisInfo=new MedCrisisInfo();
+                    BeanUtil.copyProperties(s,medCrisisInfo);
                     medCrisisInfo.setRepDate(DateUtil.parseDateTime(s.getRepDate()));
                     medCrisisInfo.setSendDate(DateUtil.parseDateTime(s.getSendDate()));
                     medCrisisList.add(medCrisisInfo);
                 });
                 execute(medCrisisList);
 
-                if(logSwitch){
-                    medCrisisList.forEach(s->{
-                        aMedAbnormalInfoFacade.saveAbnormalInfo("危急值信息-正常","", JSON.toJSONString(list),"","");
-                    });
-                }
-                return RespDTO.onSuc("操作正常!");
-            } else {
+                List<AMedCrisisDTO> medCrisisDtoList=BeanUtil.listCopyTo(list,AMedCrisisDTO.class);
+                return RespDTO.onSuc(medCrisisDtoList);
+            }else{
+                aMedAbnormalInfoFacade.saveAbnormalInfo("危急值","",JSON.toJSONString(list),"","未接收到数据!");
                 return RespDTO.onError("未接收到数据!");
             }
         }catch (Exception e){
-            log.error(e.getMessage(),e);
-            aMedAbnormalInfoFacade.saveAbnormalInfo("危急值信息-异常","", JSON.toJSONString(list),"",e.getMessage());
-            return RespDTO.onError("数据处理异常,详情查看日志表");
+            aMedAbnormalInfoFacade.saveAbnormalInfo("危急值","",JSON.toJSONString(list),"",e.getMessage());
+            return RespDTO.onError(e.getMessage());
         }
     }
 
-    public void execute(List<MedCrisisInfo> medCrisisList) {
-        List<MedCrisisInfo> addE = Lists.newLinkedList();
-        List<MedCrisisInfo> updateE = Lists.newLinkedList();
-        if (medCrisisList != null && medCrisisList.size() > 0) {
-            medCrisisList.forEach(s -> {
-                try {
+    public void execute(List<MedCrisisInfo> medCrisisList){
+        try {
+            List<MedCrisisInfo> addE = Lists.newLinkedList();
+            List<MedCrisisInfo> updateE = Lists.newLinkedList();
+            if (medCrisisList != null && medCrisisList.size() > 0) {
+                medCrisisList.stream().forEach(s -> {
                     MedCrisisInfo medCrisisInfo = this.getOne(new QueryWrapper<MedCrisisInfo>()
                             .eq("rec_id", s.getRecId())
                             .eq("hospital_id", s.getHospitalId())
@@ -89,17 +96,45 @@ public class AMedCrisisFacade extends MedCrisisInfoServiceImpl {
                         s.setGmtCreate(new Date());
                         addE.add(s);
                     }
-                } catch (Exception e) {
-                    log.error(e.getMessage(), e);
-                    aMedAbnormalInfoFacade.saveAbnormalInfo("数据解析", s.getRecId(), JSON.toJSONString(medCrisisList), "", e.getMessage());
-                }
-            });
-        }
-        if (addE.size() > 0) {
-            medCrisisInfoService.saveBatch(addE);
+                });
+            }
+            if(addE.size()>0){
+                medCrisisInfoService.saveBatch(addE);
+            }
+            if(updateE.size()>0){
+                medCrisisInfoService.updateBatchByKey(updateE);
+            }
+            //aMedAbnormalInfoFacade.saveAbnormalInfo("危急值",JSON.toJSONString(medCrisisList),"","操作成功!");
+        }catch (Exception e){
+            aMedAbnormalInfoFacade.saveAbnormalInfo("危急值","",JSON.toJSONString(medCrisisList),"",e.getMessage());
         }
-        if (updateE.size() > 0) {
-            medCrisisInfoService.updateBatchByKey(updateE);
+    }
+
+    public RespDTO deleteFlag(ADeleteFlagVO aDeleteFlagVO){
+        try {
+            //验证数据是否存在
+            if(StringUtil.isEmpty(aDeleteFlagVO.getRecId())){
+                return RespDTO.onError("请输入文书编码!");
+            }else if(StringUtil.isEmpty(aDeleteFlagVO.getBehospitalCode())) {
+                return RespDTO.onError("请输入病人住院编码!");
+            }else if(aDeleteFlagVO.getHospitalId()==null){
+                return RespDTO.onError("请输入医院编码!");
+            }else {
+                UpdateWrapper<MedCrisisInfo> updateWrapper=new UpdateWrapper<>();
+                updateWrapper.eq("home_page_id", aDeleteFlagVO.getHomePageId())
+                        .eq("hospital_id", aDeleteFlagVO.getHospitalId())
+                        .eq("operation_order_no", aDeleteFlagVO.getOperationOrderNo())
+                        .eq("is_deleted",IsDeleteEnum.N)
+                        .set("is_deleted",IsDeleteEnum.Y)
+                        .set("gmt_modified", DateUtil.now());
+
+                Boolean flag=update(new MedCrisisInfo(),updateWrapper);
+                //aMedAbnormalInfoFacade.saveAbnormalInfo("危急值-删除",JSON.toJSONString(aDeleteFlagVO),JSON.toJSONString(RespDTO.onSuc(flag)),"操作成功!");
+                return RespDTO.onSuc(flag);
+            }
+        }catch (Exception e){
+            aMedAbnormalInfoFacade.saveAbnormalInfo("危急值-删除","",JSON.toJSONString(aDeleteFlagVO),"",e.getMessage());
+            return RespDTO.onError(e.getMessage());
         }
     }
 }

+ 0 - 2
src/main/java/com/diagbot/facade/data/AMedNurseFacade.java

@@ -4,10 +4,8 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.MedLisInfo;
 import com.diagbot.entity.MedNurse;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.service.impl.MedLisInfoServiceImpl;
 import com.diagbot.service.impl.MedNurseServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.SqlProperties;

Dosya farkı çok büyük olduğundan ihmal edildi
+ 617 - 292
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java


+ 22 - 0
src/main/java/com/diagbot/util/MapUtil.java

@@ -1,10 +1,16 @@
 package com.diagbot.util;
 
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.io.IOUtils;
+import org.springframework.core.io.ClassPathResource;
+
 import java.beans.BeanInfo;
 import java.beans.Introspector;
 import java.beans.PropertyDescriptor;
+import java.io.InputStreamReader;
 import java.lang.reflect.Method;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
@@ -116,4 +122,20 @@ public class MapUtil {
         return wholeMap;
     }
 
+    public static Map<String, String> getMap(String path){
+        Map<String,String> map = new LinkedHashMap();
+        try {
+            //路径
+            ClassPathResource classPathResource = new ClassPathResource(path);
+            //读取文件信息
+            String str = IOUtils.toString(new InputStreamReader(classPathResource.getInputStream(),"UTF-8"));
+            //转换为Map对象
+            map = JSONObject.parseObject(str, LinkedHashMap.class);
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+        return map;
+    }
+
 }

+ 31 - 51
src/main/java/com/diagbot/web/DataController.java

@@ -1,4 +1,5 @@
 package com.diagbot.web;
+
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.data.*;
@@ -22,39 +23,47 @@ import java.util.Map;
 public class DataController {
     @Autowired
     private ABasDoctorInfoFacade aBasDoctorInfoFacade;
+
     @Autowired
     private ABasDeptInfoFacade aBasDeptInfoFacade;
+
     @Autowired
     private AMedRecordTypeFacade aMedRecordTypeFacade;
+
     @Autowired
     private ABehospitalInfoFacade aBehospitalInfoFacade;
+
     @Autowired
     private ADoctorAdviceFacade aDoctorAdviceFacade;
+
     @Autowired
     private AHomePageFacade aHomePageFacade;
+
     @Autowired
     private AHomeDiagnoseInfoFacade aHomeDiagnoseInfoFacade;
+
     @Autowired
     private AHomeOperationInfoFacade aHomeOperationInfoFacade;
+
     @Autowired
     private AMedCrisisFacade aMedCrisisFacade;
+
     @Autowired
     private AMedicalRecordFacade aMedicalRecordFacade;
+
     @Autowired
     private AMedicalRecordContentFacade aMedicalRecordContentFacade;
+
     @Autowired
     private AMedLisResultFacade aMedLisResultFacade;
+
     @Autowired
     private AMedPacsResultFacade aMedPacsResultFacade;
-    @Autowired
-    private AMedPacsInfoFacade aMedPacsInfoFacade;
-    @Autowired
-    private AMedLisInfoFacade aMedLisInfoFacade;
 
     @ApiOperation(value = "数据引擎-获取医院所有在职医生的基本信息")
     @PostMapping("/sendDoctorInfos")
     @SysLogger("sendDoctorInfos")
-    public RespDTO sendDoctorInfos(@RequestBody List<ABasDoctorInfoVO> list){
+    public RespDTO<List<ABasDoctorInfoDTO>> sendDoctorInfos(@RequestBody List<ABasDoctorInfoVO> list){
         return aBasDoctorInfoFacade.executeDoctor(list);
     }
 
@@ -135,7 +144,7 @@ public class DataController {
         return RespDTO.onSuc(aHomeOperationInfoFacade.executeHomeOperation(list));
     }
 
-    @ApiOperation(value = "数据引擎-获取危急值")
+    @ApiOperation(value = "危急值")
     @PostMapping("/sendCrisis")
     @SysLogger("sendCrisis")
     public RespDTO<List<AMedCrisisDTO>> sendCrisis(@RequestBody List<AMedCrisisVO> list){
@@ -147,22 +156,31 @@ public class DataController {
     @SysLogger("deleteFlag")
     public RespDTO deleteFlag(@RequestBody ADeleteFlagVO aDeleteFlagVO){
         if("brzyxx".equals(aDeleteFlagVO.getModeType())){
+            //住院登记
             return aBehospitalInfoFacade.deleteFlag(aDeleteFlagVO);
         }else if("bryz".equals(aDeleteFlagVO.getModeType())){
+            //病人医嘱
             return aDoctorAdviceFacade.deleteFlag(aDeleteFlagVO);
         }else if("basyxx".equals(aDeleteFlagVO.getModeType())){
+            //病案首页
             return aHomePageFacade.deleteFlag(aDeleteFlagVO);
         }else if("basyzd".equals(aDeleteFlagVO.getModeType())){
+            //病案诊断
             return aHomeDiagnoseInfoFacade.deleteFlag(aDeleteFlagVO);
         }else if("basyss".equals(aDeleteFlagVO.getModeType())){
+            //病案手术
             return aHomeOperationInfoFacade.deleteFlag(aDeleteFlagVO);
         }else if("wsxx".equals(aDeleteFlagVO.getModeType())){
+            //文书信息
             return aMedicalRecordFacade.deleteFlag(aDeleteFlagVO);
         }else if("wsnr".equals(aDeleteFlagVO.getModeType())){
+            //文书内容
             return aMedicalRecordContentFacade.deleteFlag(aDeleteFlagVO);
         }else if("hyjg".equals(aDeleteFlagVO.getModeType())){
+            //文书内容
             return aMedLisResultFacade.deleteFlag(aDeleteFlagVO);
         }else if("jcjg".equals(aDeleteFlagVO.getModeType())){
+            //文书内容
             return aMedPacsResultFacade.deleteFlag(aDeleteFlagVO);
         }
         return RespDTO.onSuc(true);
@@ -175,62 +193,24 @@ public class DataController {
         return aBehospitalInfoFacade.placeFileFlag(aPlaceFileVO);
     }
 
-    @ApiOperation(value = "检查结果")
+    @ApiOperation(value = "检查")
     @PostMapping("/sendPacsResults")
     @SysLogger("sendPacsResults")
     public RespDTO<List<AMedPacsResultVO>> sendPacsResults(@RequestBody List<AMedPacsResultVO> list){
         return aMedPacsResultFacade.executeMedPacsResult(list);
     }
 
-    @ApiOperation(value = "化验结果")
+    @ApiOperation(value = "化验")
     @PostMapping("/sendLisResults")
     @SysLogger("sendLisResults")
     public RespDTO<List<AMedLisResultVO>> sendLisResults(@RequestBody List<AMedLisResultVO> list){
         return aMedLisResultFacade.executeMedLisResult(list);
     }
 
-    @ApiOperation(value = "检查信息")
-    @PostMapping("/sendPacsInfos")
-    @SysLogger("sendPacsInfos")
-    public RespDTO sendPacsInfos(@RequestBody List<AMedPacsInfoVO> list){
-        return aMedPacsInfoFacade.dealData(list);
-    }
-
-    @ApiOperation(value = "化验信息")
-    @PostMapping("/sendLisInfos")
-    @SysLogger("sendLisInfos")
-    public RespDTO sendLisInfos(@RequestBody List<AMedLisInfoVO> list){
-        return aMedLisInfoFacade.dealData(list);
-    }
-
-    @ApiOperation(value = "数据引擎-历史数据结构化处理")
-    @PostMapping("/hisDataDeal")
-    @SysLogger("hisDataDeal")
-    public RespDTO<List<AMedCrisisDTO>> hisDataDeal(@RequestBody HisDataDealVO hisDataDealVO){
-        boolean b = true;
-        try {
-             b = aMedicalRecordFacade.hisDataDeal(hisDataDealVO);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return RespDTO.onSuc(b);
-    }
-
-    /*
-    @ApiOperation(value = "数据引擎-列字段名和注释")
-    @PostMapping("/getColumnZhAndCh")
-    @SysLogger("getColumnZhAndCh")
-    public RespDTO getColumnZhAndCh(){
-        aStrConsultationNoteFacade.getColumnZhAndCh();
-        return RespDTO.onSuc(true);
+    @ApiOperation(value = "文书保存")
+    @PostMapping("/saveMrRecord")
+    @SysLogger("saveMrRecord")
+    public RespDTO saveMrRecord(@RequestBody List<String> behospitalCodeList){
+        return aMedicalRecordFacade.getRecordToView(behospitalCodeList);
     }
-    @Autowired
-    private ColumnFacade columnFacade;
-    @ApiOperation(value = "病历解析")
-    @PostMapping("/analyseRec")
-    @SysLogger("analyseRec")
-    public RespDTO analyseRec(@RequestBody AColumnVO aColumnVO){
-        columnFacade.analyseRec(aColumnVO.getHospitalId(),aColumnVO.getModeId(),aColumnVO.getContent());
-        return RespDTO.onSuc(true);
-    }*/
 }