Browse Source

ca签名修复状态错误

xiaochan 3 months ago
parent
commit
b5fc9650a5

+ 0 - 5
src/main/java/thyyxxk/webserver/controller/ca/CaPatientSignController.java

@@ -66,11 +66,6 @@ public class CaPatientSignController {
         }
         ResultVo<JSONObject> rst = caServer.sendMoreEventSign(moreEventSign.getMoreEventSign());
         if (ExceptionEnum.SUCCESS_AND_EL_MESSAGE.getCode().equals(rst.getCode())) {
-            EmrPatientData build = EmrPatientData.builder()
-                    .emrDocumentId(moreEventSign.getMoreEventSign().getDocumentId())
-                    .signComplete(SignCompleteEnum.SEND_CA_API.getCode())
-                    .build();
-            emrPatientDao.updateById(build);
             return ResultVoUtil.success(CaExceptionEnum.SUCCESS_AND_MESSAGE, rst.getMessage());
         } else {
             return ResultVoUtil.fail(CaExceptionEnum.ERROR_AND_ALERT, rst.getMessage());

+ 15 - 5
src/main/java/thyyxxk/webserver/service/ca/CaServer.java

@@ -308,6 +308,8 @@ public class CaServer implements Assertion {
         String decode = URLUtil.decode(msg);
         log.info("返回值:{},\n错误信息:{}", execute, decode);
         if (rst.getInt("ret_code") == 0) {
+            // 设置病历的签名状态为发送到了ca接口
+            setEmrSignComplete(moreEventSign.getDocumentId(), SignCompleteEnum.SEND_CA_API);
             cache.put(redisKey, uuid);
             return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE, "发送成功。");
         } else {
@@ -800,17 +802,25 @@ public class CaServer implements Assertion {
         if (!SignCompleteEnum.INIT.getCode().equals(emrPatientData.getSignComplete())) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("此病历状态为:{},无法再次发起签名", SignCompleteEnum.getDescriptionByCode(emrPatientData.getSignComplete())));
         }
+        setEmrSignComplete(emrPatientData.getEmrDocumentId(), SignCompleteEnum.SEND_MORE);
+        // 返回成功信息
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE);
+    }
 
+    /**
+     * 设置病历签名完成状态
+     *
+     * @param documentId 病历文档ID
+     * @param value      签名完成状态
+     */
+    public void setEmrSignComplete(String documentId, SignCompleteEnum value) {
         // 构建更新病历数据对象
         EmrPatientData update = EmrPatientData.builder()
-                .emrDocumentId(emrPatientData.getEmrDocumentId())
-                .signComplete(SignCompleteEnum.SEND_CA_API.getCode())
+                .emrDocumentId(documentId) // 设置病历文档ID
+                .signComplete(value.getCode()) // 设置病历签名完成状态
                 .build();
-
         // 更新病历数据
         emrPatientDao.updateById(update);
-        // 返回成功信息
-        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE);
     }
 
 

+ 1 - 1
src/main/resources/application.yml

@@ -1,3 +1,3 @@
 spring:
   profiles:
-    active: prod
+    active: dev