From e98752fd82d699c3b53f1f4e9e9e10281172d3f3 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 03 九月 2026 11:42:28 +0800
Subject: [PATCH] 【丽水】手术撤销

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 8535331..a3747e1 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -204,6 +204,10 @@
 
     @Value("${spring.profiles.active}")
     private String active;
+    @Autowired
+    private PatMedOperationMapper patMedOperationMapper;
+    @Autowired
+    private PatMedOperationItemMapper patMedOperationItemMapper;
 
     /**
      * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級
@@ -1121,6 +1125,15 @@
                                 patMedOuthosp.setServerState("0");
                                 patMedOuthospService.updatePatMedOuthosp(patMedOuthosp);
                             }
+                        }
+                    } else if (serviceSubtask.getServiceType().equals("19")) {
+                        ServiceTask st = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+                        //濡傛灉浠诲姟鏄暱鏈熶换鍔★紝闇�瑕佸皢璇ユ偅鑰呯殑鎵嬫湳璇︽儏鏁版嵁
+                        if (st != null && st.getLongTask() == 1 && ObjectUtils.isNotEmpty(serviceSubtask.getOperationItemId())) {
+                            PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
+                            patMedOperationItem.setOpercheckFlag("0");
+                            patMedOperationItem.setId(serviceSubtask.getOperationItemId());
+                            patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem);
                         }
                     }
                 }
@@ -2849,6 +2862,12 @@
                 collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrcode()).orElse("Unknown")));
                 break;
             case "management_doctor_code":
+                rawData = rawData.stream()
+                        .peek(item -> {
+                            item.setDrname(item.getManagementDoctor());
+                            item.setDrcode(item.getManagementDoctorCode());
+                        })
+                        .collect(Collectors.toList());
                 collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getManagementDoctorCode()).orElse("Unknown")));
                 break;
             case "deptcode":
@@ -4941,6 +4960,24 @@
         return serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime);
     }
 
+    /**
+     * 鏍囧噯鍖栭棶鍗风瓟妗堟枃鏈細鍘绘帀 A/B/C/D 鍗曞瓧姣嶅墠缂�鍜屽悗缁┖鏍�
+     * 渚嬪 "A 鏄�" -> "鏄�"锛�"B 鍚�" -> "鍚�"
+     */
+    private String normalizeOptionAnswer(String answer) {
+        if (StringUtils.isBlank(answer)) {
+            return "";
+        }
+        String trimmed = answer.trim();
+        if (trimmed.length() >= 3 && trimmed.charAt(1) == ' ') {
+            char firstChar = trimmed.charAt(0);
+            if (firstChar >= 'A' && firstChar <= 'Z') {
+                return trimmed.substring(2).trim();
+            }
+        }
+        return trimmed;
+    }
+
     private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
         Boolean result = true;
         //3.4 濡傛灉3.1鎴�3.2涓簍rue鐨勮瘽锛屾牴鎹畉ype鍒ゆ柇浠�涔堢被鍨�

--
Gitblit v1.9.3