---
# System prepended metadata

title: 慈濟系統交接

---

## 健檢系統交接

## 1. CustomerService.customerInfoListen

### Details
- **概述**: 大德動態表單接口，單純將動態表單資料同步至 `NHMS.THMS_CUSTOMER`資料表中。
- **行為**: 動態表單儲存時`trigger`
- **方法名**: `customerInfoListen`
- **主要功能**: 同步動態表單至`NHMS.THMS_CUSTOMER`
- **資料來源**: 動態表單
- **資料目標**: `NHMS.THMS_CUSTOMER`資料表

### 流程
1. **將資料存入 `NHMS.THMS_CUSTOMER` 資料表中**：
2. **更新 `THMS_CUSTOMER` 資料表中相應欄位資料，確保所有欄位的最新性。**：
3. **如果有新的用戶資料，則新增一筆記錄**：
   - 擷取資料是否為新用戶資料，如果是則在資料表中新增一筆記錄，並將`rowStatus`設為`C`。
   - 如果是已有用戶資料，則更新相應的記錄，並將 `rowStatus` 設為 `U`。
   - 比照 HIS 表單的 `rowStatus` 值進行相應操作：
     - **`rowStatus: C`** 表示新增記錄。
     - **`rowStatus: U`** 表示更新記錄。

![image](https://hackmd.io/_uploads/rJLGKFTBA.png)


### ● TH5ComServiceImpl.updatePatientInfo

### Details
- **概述**: 此功能為對接右岸HIS院內大德資料更新。
- **方法名**: `updatePatientInfo`
- **主要功能**: 更新HIS院內大德資料
- **資料來源**: 帶入的大德資訊`CustomerInfo`
- **資料目標**: HIS院內資料

### 流程
1. 更新患者記錄中如 `NationId` 和院內證號 ID 欄位。
2. 確認更新操作成功comCharbase。

### ▲ 功能開發(院內同步資料時，要把5跟9帶回HIS)
![image](https://hackmd.io/_uploads/Hk7TmN6HA.png)
![image](https://hackmd.io/_uploads/BJFeGITr0.png)
```mermaid
graph TD
    A(開始) --> B(從動態表單擷取大德資料)
    B --> C{是否為新用戶？}
    C -->|是| D(新增設置rowStatus為C)
    C -->|否| E(更新設置rowStatus為U)
    D --> |updatePatientInfo|F(更新相應欄位資料)
    E --> |updatePatientInfo|F(HIS更新相應欄位資料 ID_TYPE 5和9的同步)
    F --> G(結束)
``` 
---
## 2. CustomerListener.filterFormData

### Details
- **行為**: 打開動態表單時`trigger`
- **方法名**: `filterFormData`->`this.fromMapFromHis`
- **主要功能**: 帶入動態表單資料並將院內資料重新匯入
- **資料來源**: 動態表單Map(FormListenerDataModel)

### 流程
1. **重新匯入院內資料**：
   - HIS院內資料重新匯入動態表單Map ex:`FV_2_6`身分證號。
   - 確保重新匯入過程中的數據完整性和一致性。

### ▲ 功能開發(動態表單串接證號)
- 在同步過程中，確保將 `ID_TYPE` 值 5 (護照號碼其他) 和 9 (大陸人士代碼) 帶回來並同步到 動態表單：
  - ID_TYPE 5 (護照號碼其他)**：
  - ID_TYPE 9 (大陸人士代碼)**：
![image](https://hackmd.io/_uploads/HJtsfLpBA.png)


### 注意事項
- 確保動態表單資料`Map key`對應欄位資料。

---
## 3. CustomerServiceImpl.getCustomerBaseInfo

### Details
- **概述**: 此功能負責從大德資料中取得基本資訊，並根據特定的證號優先順序顯示。需要顯示證號資料地方 follow something`
- **API**: `@RequestMapping(value = "/customer/{chartNo}/basicInfo"`
- **方法名**: `getCustomerBaseInfo`
- **主要功能**: 取得大德基本資訊
- **資料來源**: `NHMS.THMS_CUSTOMER`
### ▲ 功能開發(根據特定的證號優先順序顯示)
#### 身分證字號 => 居留證號 => 護照號碼 => 護照號碼其他 => 大陸人士代碼![image](https://hackmd.io/_uploads/HJlaDKTr0.png)![image](https://hackmd.io/_uploads/SJD3VEaSR.png)
---
## 4. CustomerServiceImpl.updateHisBaseCustomer

### Details
- **概述**: 此功能負責HIS院內資料更新至`NHMS.THMS_CUSTOMER`
- **方法名**: `updateHisBaseCustomer`
- **主要功能**: HIS院內資料更新至`NHMS.THMS_CUSTOMER`
- **資料來源**: `HIS院內資料`
- **資料目標**: `NHMS.THMS_CUSTOMER`資料表

### ▲ 功能開發(跟院內同步資料)
跟院內同步資料時，把5跟9帶回來，同步到THMS_CUSTOMER中
![image](https://hackmd.io/_uploads/S1T6oKTB0.png)

---
如有任何問題或需要進一步の詳細說明。!pg)
![d1970630](https://hackmd.io/_uploads/r1HzTHarR.jpg)
![272615377_1236412466883828_8493697285580109674_n (1)](https://hackmd.io/_uploads/SkeW5DTBA.gif)

