---
# System prepended metadata

title: 企業總覽

---

# 企業總覽

---
API 清單
* [Top5檢驗值異常項目分析](#Top5檢驗值異常項目分析)
* [年度健檢執行分析](#年度健檢執行分析)
* [Top5警示通知](#Top5警示通知)
* [Top5收案醫院服人數](#Top5收案醫院服人數)
* [查詢本企業的收案機構](#查詢本企業的收案機構)
* [查詢本企業的已收案疾病](#查詢本企業的已收案疾病)
* [企業個案名單](#企業個案名單)
* [刪除企業個案名單](#刪除企業個案名單)
* [企業部門清單](#企業部門清單)
* [編輯在職狀態](#編輯在職狀態)
* [匯出年度健檢分析未檢人數](#匯出年度健檢分析未檢人數)
* [健檢醫院及年度清單](#健檢醫院及年度清單)
* [檢驗檢查樣版檔下載](#檢驗檢查樣版檔下載)
* [匯入健檢資料](#匯入健檢資料)
* [下載健檢錯誤資料檔](#下載健檢錯誤資料檔)

---

## Top5檢驗值異常項目分析

```url
POST /company/employee/list
```

匯出
```url
POST /company/employee/export-list
```

### Request
 欄位 | 型態  | 必填 | 預設 | 說明 
---|---|---|---|---
 year | string | int | | 年度 

```javascript
{
    "year": 2021,
    "topNum" : 5
}
```

### Response
 欄位 | 型態 | 說明  
 ---| --- |--- 
 abnormal | int | 檢驗異常總人數 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": {
            "abnormal": 5880,
            "total": {
                "male": 1000,
                "female": 2000
            },
            "list": [
                {
                    "id": "1552fc8b-055e-49d0-a7f8-8329389b8c84",
                    "abnormalName": "收縮壓",
                    "male": 1000,
                    "female": 2000,
                    "tooltip": "收縮壓 90-140mmHg"
                }
            ]
        }
    }
}

```

## 年度健檢執行分析

```url
POST /company/checkup/list
```

### Request
  欄位 | 型態  | 必填 | 預設 | 說明  |
---|---|---|---|---
 year | int | Y | | 年度 

```javascript
{
    "year": 2021
}
```

### Response
  欄位 | 型態 | 說明  
 --- | --- | --- 
 checked | int | 已檢人數 
 unchecked | int | 未檢人數 
 list | array of json | 年齡分佈List

#### Response-年齡分佈 json
  欄位 | 型態 | 說明  
 --- | --- |---- 
 agelevel | string | 年齡區間 
 checked | json | 已檢人數json 
 unchecked | json | 未檢人數json
 
#### Response-人數 json 
 欄位 | 型態  | 說明  
 ---| --- | ---
 male | int | 男性人數 
 female | int | 女性人數 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": {
            "unchecked": 6,
            "checked": 1,
            "list": [
                {
                    "agelevel": "<30",
                    "checked": {
                        "male": 1,
                        "female": 0
                    },
                    "unchecked": {
                        "male": 0,
                        "female": 2
                    }
                },
                ．．．
            ]
        }
    }
}
```


## Top5警示通知
```url
POST /company/warning/list
```

匯出
```url
POST /company/warning/export-list
```

### Request
 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 startDate | timestamp | Y | | 開始年度 
 endDate | timestamp | Y | | 結束年度 
 topNum | int |  | 5 | top數目
  
```javascript
{
    "startDate": 1614528000000,
    "endDate": 1614528000000,
    "topNum" : 5
}
```

### Response
 欄位 | 型態   | 說明  
 --- | --- | --- 
 warning | int | 警示通知
 disease | json | 疾病別與階段
 caseCount | int | 關懷人次
 tooltip | string | 提示

### Response-disease json
 欄位 | 型態   | 說明  
 --- | --- | ---
 diseaseType | string | 疾病別
 diseaseStage | string | 疾病階段

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "id": "1552fc8b-055e-49d0-a7f8-8329389b8c84",
                "warning": "血壓過高",
                "disease": [
                    {
                        "diseaseType": "ECKD",
                        "diseaseStage": "STage1"
                    }
                ],
                "caseCount": 1000,
                "tooltip": "60 <= eGFR <= 89.9 AND UPCR >= 150"
            }
        ]
    }
}
```

## Top5收案醫院服人數
```url
POST /company/hospital/list
```

匯出
```url
POST /company/hospital/export-list
```

### Request
 欄位 | 型態  | 必填 | 預設 | 說明  
---|---|---|---|---
 year | string | int | | 年度 
 topNum | int |  | 5 | top數目 

```javascript
{
    "year": 2021,
    "topNum" : 5
}
```

### Response
  欄位 | 型態   | 說明  
 --- | --- |--- 
 hospital | string | 收案醫院
 caseCount | int | 收案人數

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "id": "1552fc8b-055e-49d0-a7f8-8329389b8c84",
                "hospital": "吉安診所", 
                "caseCount": 100
            }
        ]
    }
}
```

## 查詢本企業的收案機構
```url
POST /company/employee/hospital
```

### Request

### Response
 欄位 | 型態  | 說明 
 ---|---|---
 id| String | 收案機構 ID
 name  | String | 收案機構名稱 
 type  | String | 收案機構類別 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "id": "1103200",
                "name": "高雄醫院",
                "type": "HOSPITAL"
            },
            {
                "id": "215065",
                "name": "台大醫院",
                "type": "DEALER"
            }  
        ]
    }
}
```

## 查詢本企業的已收案疾病
```url
POST /company/employee/alldisease
```

### Request

### Response
 欄位 | 型態  | 說明 
 ---|---|---
 id | String | 疾病id
 diseaseStage | json array | 疾病階段json array

#### Response-diseaseStage
 欄位 | 型態  | 說明 
 ---|---|---
 id | String | 疾病階段ID
 name | String | 疾病階段名稱 

```javascript
{
  "httpCode": 200,
  "result": {
    "data": [
      {
        "id": "ECKD",
        "diseaseStage": [
            {
                "id" : "d5d579a2-9109-4cbf-bc3f-96600580ff3f",
                "name": "Stage1",
            },
            ...
        ],
      }, 
      {
        "id": "DM",
        "diseaseStage": [],
      },
      ...
    ]
  }
}
```


## 企業個案名單
```url
POST /company/employee/case
```

### Request
### Request
 欄位 | 型態 | 預設 | 說明
 --- | --- | --- |---
 query | json | | 查詢條件json
 pagination | json | | 分頁json
 sorter | json | | 排序json

#### query (查詢條件json)
 欄位 | 型態  | 必填 | 長度限制 | 預設 | 說明
 ---|---|---|---|---|---
 gender | number  | 1為男性，2為女性，不帶值為不指定
 appUse  | boolean | true為有使用app, false為未使用app, null 為不指定
 keywords  | String | 查尋姓名或身份證關鍵字
 hospital  | String | 指定收案機構ID
 disease  | String | 指定疾病ID, null 為全部
 stage  | String | 指定疾病階段名稱ID, null為全部
 isClosed  | boolean | true 代表已結案，false 代表未結案，null 代表全部

#### pagination (分頁json)
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|---
 current | int | | 1 | 當前頁數
 pageSize | int | | 10 | 每頁結果數量，-1 為顯示所有

#### sorter (排序json)
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|---
 field | string | | time | 排序欄位，可排序欄位有 employId , name, gender, appUse, jobStatus
 order | string | | desc | 升序或降序

```javascript
{
    "query": {
        "gender":1,
        "appUse":false,
        "keywords":"A15984623",
        "hospital":"bf47bd9c-4364-4086-946d-9fd191d93dda",
        "disease":"PreESRD",
        "stage":"6e848d55-0505-4d19-87fd-f7644d7a3fd4",
        "isClosed":false
    },
    "pagination": {
        "current": 1,
        "pageSize":10
    },
    "sorter": {
        "field": "employId",
        "order": "asc"
    }
}
```

### Response
 欄位 | 型態 | 說明  
 ---|---|---
 employId |String | 企業員工編號
 householdMemberId|String|用戶ID
 name | String  | 企業員工姓名
 cardNo | String  | 企業員工身份證字號
 department | String  | 部門別，預設為null
 gender | number  | 企業員工性別，1:男，2:女
 tel | number  | 企業員工電話號碼
 appUse | boolean  | 企業員工有無使用 App
 jobStatus | String  | 在職狀態。ON:在職，EXIT:離職。
 experience | JsonArray  | 每一企業員工在每一家醫院的收案記錄 json array
 createTime|long|收案時間

### Response-experience json
 欄位 | 型態 | 說明  
 ---|---|---
 hospital | String  | 收案醫院名稱
 record | JsonArray  | 企業員工在此家醫院的收案記錄 json array

### Response-experience json
 欄位 | 型態 | 說明  
 ---|---|---
 disease | String  | 收案疾病
 closeDate | timestamp  | 結案日期，null 為尚未結案
 isClosed | boolean  | true 為已結案，false 為尚未結案
 stageName | String  | 疾病階段名稱，null 意指此疾病無分階段
 acceptDate | timestamp  | 收案日期

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "employId":"1103200",
                "name": "Black",
                "cardNo": "C120882609",
                "createTime": 1621363553134,
                "householdMemberId": "66519a94-4084-41d8-a95a-b6ac7a055e63",
                "department": "footpart"
                "gender":1,
                "tel":"0963208526",
                "appUse": false,
                "department": "食品部",
                "jobStatus": "ON",
                "experience": [
                   {
                        "hospital": "緯緯醫學",
                        "record": [
                            {
                                "disease": "ECKD",
                                "closeDate": null,
                                "isClosed ": false,
                                "stageName": null,
                                "acceptDate": 1609725600000
                            }
                        ]
                    },
                    ...
                ]
            },
            ...
        ],
        "pagination": {
            "current": 3,
            "pageSize": 10,
            "total": 75
        },
        "sorter": {
            "field": "employId",
            "order": "asc"
        }
    }
}
```

## 刪除企業個案名單
```url
POST /company/employee/delete
```

- 企客管理員可以刪除某成員

### Request
  欄位 | 型態 | 必填 | 預設 | 說明 
 ---|---|---|---|---
  id | String | Y |  | 企業客戶個案id 

### Response
   欄位 | 型態  | 說明 
 ---|---|---
  data | int | 更新資料筆數  

```javascript
{
    "httpCode": 200,
    "result": {
        "data": 1
    }
}
```

## 企業部門清單
```url
POST /company/department/list
```

- 該企業下之部門列表

### Request

### Response
  欄位 | 型態  | 說明 
---|---|---
 department | string | 部門別 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "department": "工業部"
            },
            {
                "department": "茶水部"
            }
        ]
    }
}
```

## 編輯在職狀態
```url
POST /company/job-status/update
```

- 更改在職 / 離職狀態

### Request
 欄位 | 型態 | 必填 | 預設 | 說明 
---|---|---|---|---
 id | String | Y |  | 企業客戶個案id 
 jobStatus | String | Y | ON | 在職狀態。<br>**ON**=在職，**WEB_EXIT**=WEB離職，**APP_EXIT**=APP離職。 


### Response
  欄位 | 型態  | 說明 
---|---|---
 data | int | 更新資料筆數  

```javascript
{
    "httpCode": 200,
    "result": {
        "data": 1
    }
}
```

## 匯出年度健檢分析未檢人數
```url
POST /company/checkup/export-unchecked
```

### Request
  欄位 | 型態  | 必填 | 預設 | 說明  
---|---|---|---|---
 areaCode | string | Y | | 企業客戶id (tenantId) 
 year | string | Y | | 年度, 格式:yyyy 

```javascript
{
    "areaCode": "5efcfd67-334e-45b3-bf49-7e52f5172891",
    "year": "2021"
}
```

### Error
 httpCode | 錯誤碼 | 說明
 --- | --- | ---
 400 | API_ERROR.RESOURCE_NOT_EXISTS | 資料檔不存在

* httpCode 400 - [errorMsg](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#service_error)

### Response
```
File name: 年度未檢人數報表_2021.xlsx 
```


## 健檢醫院及年度清單
```url
GET /company/exam/hospital-list
```

### Request

### Response
 欄位 | 型態 | 說明  
 --- | --- |---  
 year | array of year string | 檢驗年度, format: yyyy 
 hospital | array of hospital json | 健檢醫院 json array 

#### Response-hospital json
 欄位 | 型態 | 說明  
 --- | --- |---  
 code | string | 醫院代碼, FEMH: 亞東醫院, TAH: 台安醫院, CGMH: 長庚醫院, DELIN: 德霖管顧
 name | string | 醫院名稱 
 reportType | string | 報告類型,  EXAM_DATA: 檢驗檢查資料, RAW_DATA: 健檢報告raw data

```javascript
{
    "httpCode": 200,
    "result": {
        "data": {
            "year": [
                "2021",
                "2020"
            ],
            "hospital": [
                {
                    "code": "FEMH",
                    "name": "亞東醫院",
                    "reportType": "EXAM_DATA"
                },
                {
                    "code": "DELIN",
                    "name": "德霖管顧",
                    "reportType": "RAW_DATA"
                },
                ...
            ]
        }
    }
}
```


## 檢驗檢查樣版檔下載
```url
POST /company/exam/export-sample
```

### Request
  欄位 | 型態  | 必填 | 預設 | 說明  
---|---|---|---|---
 hospital | string | Y |  | 健檢醫院, FEMH: 亞東醫院, TAH: 台安醫院, CGMH: 長庚醫院, DELIN: 德霖管顧 
 year | string | Y |  | 檢驗年度, format: yyyy 

### Error
 httpCode | 錯誤碼 | 說明
 --- | --- | ---
 422 | SERVICE_ERROR.RESOURCE_NOT_EXISTS | 資源不存在

* httpCode 422 - [errorMsg](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#service_error)

### Response
```
File name: 檢驗檢查樣版_[hospital]-[year].xlsx 
```


## 匯入健檢資料
```url
POST /company/exam/import-data
```
* reportType為EXAM_DATA的, 請叫用此支API

匯入資料格式:
[參見附檔](https://nssi2.atlassian.net/browse/HV-677)

### Request
* body format: form-data

 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 file | File | Y | | 匯入的excel檔案 
 hospital | string | Y | | 健檢醫院, FEMH: 亞東醫院, TAH: 台安醫院, CGMH: 長庚醫院, DELIN: 德霖管顧 
 year | string | Y | | 健檢年度, 格式: yyyy 

![](https://i.imgur.com/RnCprd9.png)

### Error
 httpCode | 錯誤碼 | 說明
 --- | --- | ---
 400 | API_ERROR.ARGUMENT_ERROR | 未選擇上傳檔案
 400 | API_ERROR.IMPORT_FILE_FORMAT_ERROR | 匯入檔案非excel 格式

### Response
  欄位 | 型態   | 說明  
 --- | --- |---  
 totalCount | int | 匯入處理筆數 
 successCount | int | 匯入成功筆數 
 failCount | int | 匯入失敗筆數 
 failuresId | string | 匯入失敗檔案下載id  

```javascript
//匯入成功
{
    "httpCode": 200,
    "result": {
        "data": {
            "totalCount": 30,
            "successCount": 30,
            "failCount": 0,
            "failuresId": null
        }
    }
}

//匯入失敗
{
    "httpCode": 200,
    "result": {
        "data": {
            "totalCount": 30,
            "successCount": 0,
            "failCount": 30,
            "failuresId": "18982a76-7062-44cd-a27e-d132da550b52"
        }
    }
}
```


## 下載健檢錯誤資料檔
```url
POST /company/exam/export-failures
```

### Request
  欄位 | 型態  | 必填 | 預設 | 說明  
---|---|---|---|---
 failuresId | string | | 匯入失敗檔案下載id 

```javascript
{
    "failuresId": "18982a76-7062-44cd-a27e-d132da550b52"
}
```

### Error
 httpCode | 錯誤碼 | 說明
 --- | --- | ---
 422 | SERVICE_ERROR.RESOURCE_NOT_EXISTS | 資源不存在

* httpCode 400 - [errorMsg](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#service_error)

### Response
```
File name: 檢驗檢查錯誤資料檔.xlsx 
```
