Bläddra i källkod

电子病历保存删除同步

DESKTOP-0GD05B0\Administrator 2 år sedan
förälder
incheckning
67f7ad3b24

+ 2 - 6
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/EmrPatientDao.java

@@ -36,12 +36,8 @@ public interface EmrPatientDao {
 
     @Select("select count(1) " +
             "from emr_patient_data " +
-            "where pat_no = #{patNo} " +
-            "  and times = #{times} " +
-            "  and emr_document_id = #{docmentId} ")
-    Integer whetherThereIsAMedicalRecord(@Param("patNo") String patNo,
-                                         @Param("times") Integer times,
-                                         @Param("docmentId") String docmentId);
+            "where  emr_document_id = #{docmentId} ")
+    Integer whetherThereIsAMedicalRecord(@Param("docmentId") String docmentId);
 
     @Insert("insert into emr_patient_data (pat_no, times, emr_document_id, emr_category_code, emr_name,create_id,name) " +
             "values (#{patNo},#{times},#{emrDocumentId},#{emrCategoryCode},#{emrName},#{createId},#{name})")

+ 6 - 0
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/emr/EmrPatientData.java

@@ -104,4 +104,10 @@ public class EmrPatientData implements Serializable {
      * 是否提交
      */
     private Integer submit;
+
+    /**
+     * 前端保存的页面数据结构
+     */
+    private JSONObject documentData;
+
 }

+ 8 - 0
src/main/java/thyyxxk/webserver/service/externalhttp/emr/EmrEditor.java

@@ -24,4 +24,12 @@ public interface EmrEditor {
     @Get("http://172.16.32.125:8001/emr/runtime/api/v1/document/invalid/{id}")
     JSONObject getInvalidByDocumentIdApi(@Var("id") String id);
 
+
+    @Post("http://172.16.32.125:8001/emr/runtime/api/v1/document?history=0")
+    JSONObject saveDocument(@JSONBody JSONObject jsonObject);
+
+
+    @Delete("http://172.16.32.125:8001/emr/runtime/api/v1/document/{id}")
+    JSONObject deleteEmr(@Var("id") String id);
+
 }

+ 20 - 1
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/EmrServer.java

@@ -160,8 +160,18 @@ public class EmrServer {
      * @return 提示
      */
     public ResultVo<Map<String, Object>> insertEmrData(EmrPatientData param) {
+        JSONObject saveJson = new JSONObject();
+        saveJson.put("document", param.getDocumentData());
+
+        try {
+            emr.saveDocument(saveJson);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "病历保存错误,请重试!" + e.getMessage());
+        }
+
         param.setCreateId(TokenUtil.getTokenUserId());
-        boolean isUpdated = dao.whetherThereIsAMedicalRecord(param.getPatNo(), param.getTimes(), param.getEmrDocumentId()).equals(1);
+        boolean isUpdated = dao.whetherThereIsAMedicalRecord(param.getEmrDocumentId()).equals(1);
         Map<String, Object> extractedData = extractDataElement(param);
         if (isUpdated) {
             dao.updateCreatedTemplate(param);
@@ -179,6 +189,15 @@ public class EmrServer {
      * @return 删除电子病历的同时需要删除, 提取到的数据源.
      */
     public ResultVo<List<String>> deletePatientEmrByDocumentId(String documentId) {
+
+        try {
+            emr.deleteEmr(documentId);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "保存病历失败,请重试!" + e.getMessage());
+        }
+
+
         EmrPatientData patientData = dao.getCategoryCodeByDocumentId(documentId);
         EmrDataExtract emrDataExtract = dao.extractDataSource(patientData.getEmrCategoryCode());
         List<String> strings = new ArrayList<>();