---
# System prepended metadata

title: 中心軟體

---

# 中心軟體

# 註冊
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/member
####  變數及規則:(前端給後端資料)
* 姓lastName：(String)長度1~5
* 名firstName：(String)長度1~5
* 電話cellphone：(String)一定要10
* 密碼password：(String)長度6~20
* 學號studentId：(String)長度8 or 9
* 確認密碼confirmPassword：(String)長度6~20
#### 輸出參數:(後端給前端的資料)
無
# 登入
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/member/login 
####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 密碼password：(String)確認是否一致
#### 輸出參數(後端給前端的資料)
* 姓lastName(String)
* 名firstName(String)
* 學號studentId(String)
* 身分identity(String)


# 簽到

* 方法:post
* URL: http://localhost:8080/birc-member-management-system/sign/check-in

####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9

#### 輸出參數(後端給前端的資料)
* id(int)

# 簽退

* 方法:post
* URL: http://localhost:8080/birc-member-management-system/sign/check-out

####  變數及規則:(前端給後端資料)
* id:(int)
* 學號studentId：(String)長度8 or 9
* 小時restHours:(Double)
* 事件affair:(String)長度不能超過22個字

#### 輸出參數(後端給前端的資料)
無



# 簽到退列表
## 簽到狀態
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/status
#### 變數及規則:(前端給後端資料)
* 學號(studentId)： (String)長度8 or 9
#### 輸出參數(後端給前端的資料)
* 狀態(isSignIn) : (boolean)
    * 簽到 : true
    * 未簽到 : false
## 查詢簽到退全部記錄
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/student-all/search
####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
#### 輸出參數(後端給前端的資料)
* 學號studentId：(String)長度8 or 9
* 簽到時間checkIn:(String)格式yyyy/MM/dd HH:mm:ss
* 簽退時間checkOut:(String)格式yyyy/MM/dd HH:mm:ss
* 小時hours:(Double)
* 事件affair:(String)長度不能超過22個字

## 查詢簽到退記錄(天)
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/student-day/search

####  變數及規則:(前端給後端資料)

* 學號studentId：(String)長度8 or 9
* 查詢當天日期checkIn:(String)格式yyyy/MM/dd HH:mm:ss

#### 輸出參數(後端給前端的資料)
* 學號studentId：(String)長度8 or 9
* 簽到時間checkIn:(String)格式yyyy/MM/dd HH:mm:ss
* 簽退時間checkOut:(String)格式yyyy/MM/dd HH:mm:ss
* 小時hours:(Double)
* 事件affair:(String)長度不能超過22個字

## 查詢簽到退記錄(周)
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/student-week/search

####  變數及規則:(前端給後端資料)

* 學號studentId：(String)長度8 or 9
* 查詢當周的日期checkIn:(String)格式yyyy/MM/dd HH:mm:ss

#### 輸出參數(後端給前端的資料)
* 學號studentId：(String)長度8 or 9
* 簽到時間checkIn:(String)格式yyyy/MM/dd HH:mm:ss
* 簽退時間checkOut:(String)格式yyyy/MM/dd HH:mm:ss
* 小時hours:(Double)
* 事件affair:(String)長度不能超過22個字

## 查詢簽到退時數(總)
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/all-total-time/search

####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
#### 輸出參數(後端給前端的資料)(管理者)
* 學號studentId：(String)長度8 or 9
* 姓lastName：(String)長度1~5
* 名firstName：(String)長度1~5
* 加總小時hours:(Double)
#### 輸出參數(後端給前端的資料)(使用者)
* 學號studentId：(String)長度8 or 9
* 簽到時間checkIn:(String)格式yyyy/MM/dd HH:mm:ss
* 簽退時間checkOut:(String)格式yyyy/MM/dd HH:mm:ss
* 小時hours:(Double)
* 事件affair:(String)長度不能超過22個字
* 加總小時total:(Double)

## 查詢簽到退時數(天)
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/day-total-time/search

####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 查詢當天日期checkIn:(String)格式yyyy/MM/dd HH:mm:ss
#### 輸出參數(後端給前端的資料)(管理者)
* 學號studentId：(String)長度8 or 9
* 姓lastName：(String)長度1~5
* 名firstName：(String)長度1~5
* 加總小時hours:(Double)
#### 輸出參數(後端給前端的資料)(使用者)
* 學號studentId：(String)長度8 or 9
* 簽到時間checkIn:(String)格式yyyy/MM/dd HH:mm:ss
* 簽退時間checkOut:(String)格式yyyy/MM/dd HH:mm:ss
* 小時hours:(Double)
* 事件affair:(String)長度不能超過22個字
* 加總小時total:(Double)

## 查詢簽到退時數(周)
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/sign/week-total-time/search

####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 查詢當周的日期checkIn:(String)格式yyyy/MM/dd HH:mm:ss

#### 輸出參數(後端給前端的資料)(管理者)
* 學號studentId：(String)長度8 or 9
* 姓lastName：(String)長度1~5
* 名firstName：(String)長度1~5
* 加總小時hours:(Double)
#### 輸出參數(後端給前端的資料)(使用者)
* 學號studentId：(String)長度8 or 9
* 簽到時間checkIn:(String)格式yyyy/MM/dd HH:mm:ss
* 簽退時間checkOut:(String)格式yyyy/MM/dd HH:mm:ss
* 小時hours:(Double)
* 事件affair:(String)長度不能超過22個字
* 加總小時total:(Double)


# 請假
* 方法:POST
* URL: http://localhost:8080/birc-member-management-system/absence
####  變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 代理人學號agentId：(String)長度8 or 9
* 請假日期date：(String)格式yyyy/MM/dd
* 請假類別absentType：(int)
    * 1:病假
    * 2:事假
    * 3:公假
    * 4:喪假
    * 5:其他
* 原因reason：(String)長度不能超過100
#### 輸出參數:(後端給前端的資料)
無
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/absence
####  變數及規則:(前端給後端資料)
無
#### 輸出參數:(後端給前端的資料)
* 學生學號studentId：(String)長度8 or 9
* 學生姓名studentName : (String)
# 請假列表
## 學生資料
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/absence/searchStudent
#### 變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
#### 輸出參數(後端給前端的資料)
* 學號studentId：(String)長度8 or 9
* 學生姓名studentName : (String)
## 依姓名查詢請假紀錄
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/absence/searchByName
#### 變數及規則:(前端給後端資料)
* 查詢者學號studentId : (String)長度8 or 9
* 查詢學號searchStudentId：(String)長度8 or 9
#### 輸出參數(後端給前端的資料)
* 學生姓名studentName : (String)
* 代理人姓名agentName : (String)
* 請假日期date：(String)格式yyyy/MM/dd
* 請假類別absentTypeValue：(String)
    * 1:病假
    * 2:事假
    * 3:公假
    * 4:喪假
    * 5:其他
* 原因reason：(String)長度不能超過100
## 依日期查詢請假紀錄
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/absence/searchByDate
#### 變數及規則:(前端給後端資料)
* 查詢者學號studentId : (String) 長度8 or 9
* 查詢日期searchDate : (String)格式 : yyyy/MM/dd
#### 輸出參數(後端給前端的資料)
* 學生姓名studentName : (String)
* 代理人姓名agentName : (String)
* 請假日期date：(String)格式yyyy/MM/dd
* 請假事由absentTypeValue：(String)
    * 1:病假
    * 2:事假
    * 3:公假
    * 4:喪假
    * 5:其他
* 原因reason：(String)長度不能超過100
## 查詢全部
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/absence/searchAll
####  變數及規則:(前端給後端資料)
* 查詢者學號studentId : (String) 長度8 or 9
#### 輸出參數(後端給前端的資料)
* 學生姓名studentName : (String)
* 代理人姓名agentName : (String)
* 請假日期date：(String)格式yyyy/MM/dd
* 請假類別absentTypeValue：(String)
    * 1:病假
    * 2:事假
    * 3:公假
    * 4:喪假
    * 5:其他
* 原因reason：(String)長度不能超過100

# 個人資訊

## 顯示資訊
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/info/show

#### 變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9

#### 輸出參數(後端給前端的資料)
* 學號studentId：(String)長度8 or 9
* 姓lastName：(String)長度1~5
* 名firstName：(String)長度1~5
* 電話cellphone：(String)一定要10
* 註冊時間registrationTime:(String)格式yyyy/MM/dd HH:mm:ss
* 照片photo:(String) 照片的URL
* 缺席時數shortTime:(Double) 

## 修改密碼
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/info/revisePassword

#### 變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 密碼password:(String)長度6~20
* 新密碼newPassword:(String)長度6~20
* 確認密碼confirmPassword:(String)長度6~20

#### 輸出參數(後端給前端的資料)
* 無

## 修改大頭貼
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/info/revisePhoto

#### 變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 照片photo:(File)

#### 輸出參數(後端給前端的資料)
* 無

# 申請單
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/application
#### 變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* 申請單類別tableType:(Integer)
  * 特殊申請單(1)
  * 寒暑假申請單(3)
* 請假類別absentType:(Integer)
    * 病假(1)
    * 事假(2)
    * 公假(3)
    * 喪假(4)
    * 其他(5)
* 請假開始日startDate:(String) 格式YYYY/MM/DD
* 請假結束日endDate:(String) 格式YYYY/MM/DD
* 讀書計畫studyPlan:(String)
* 理由reason:(String)

#### 輸出參數:(後端給前端的資料)
* 無

## 動態查詢表單
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/application/tableType
#### 變數及規則:(前端給後端資料)
* 無
#### 輸出參數:(後端給前端的資料)
* tableCode:(Integer)
* tableTypeName:(String)

# 申請單查詢
## 查詢全部
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/application/all-student/search
#### 輸入參數:(前端給後端的資料)
* 表單編號(tableType):int
  * 特殊申請單(1)
  * 寒暑假申請單(3)
#### 輸出參數:(後端給前端的資料)
* 學生學號(studentId):String
* 學生姓名(name):String
* 申請單類別名稱(tableTypeName):String
* 請假事由(absentType):String
* 請假事由編號(absentTypeCode):int
* 起始日期(startDate):String(yyyy/MM/dd)
* 結束日期(endDate):String(yyyy/MM/dd)
* 原因(reason):String
* 讀書計畫(studyPlan):String

## 依學生姓名查詢
* 方法:GET
* URL: http://localhost:8080/birc-member-management-system/application/student/search
 #### 輸入參數:(前端給後端的資料)
* 表單編號(tableType):int
  * 特殊申請單(1)
  * 寒暑假申請單(3)
* 學生學號(studentId):String
#### 輸出參數:(後端給前端的資料)
* 學生學號(studentId):String
* 學生姓名(name):String
* 申請單類別名稱(tableTypeName):String
* 請假事由(absentType):String
* 請假事由編號(absentTypeCode):int
* 起始日期(startDate):String(yyyy/MM/dd)
* 結束日期(endDate):String(yyyy/MM/dd)
* 原因(reason):String
* 讀書計畫(studyPlan):String

# API新增
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/function/insert
#### 變數及規則:(前端給後端資料)
* 方法名稱 name：(String)
* 方法URL url：(String)
* method：(String) POST||GET
* parameterBeanList：[
  * 變數名稱name：(String)長度1~10
  * 參數類別type：(int) 0請求||1回應
  * 變數型態dataType：(String)長度1~20
]
#### 輸出參數:(後端給前端的資料)
無

# API查詢
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/function/search
#### 變數及規則:(前端給後端資料)
無
#### 輸出參數:(後端給前端的資料)
* 方法名稱 name：(String)
* 方法URL url：(String)
* method：(String) POST||GET
* parameterBeanList：[
  * 變數名稱name：(String)長度1~10
  * 參數類別type：(int) 0請求||1回應
  * 變數型態dataType：(String)長度1~20
]
# 開門
* 方法:post
* URL: http://localhost:8080/birc-member-management-system/open/door
#### 變數及規則:(前端給後端資料)
* 學號studentId：(String)長度8 or 9
* key:(String)00
#### 輸出參數:(後端給前端的資料)
無
# 錯誤訊息:
* 成功是會傳空errorCode|

| errorCode| message |
| -------- | -------- | 
|User - Empty string|不能為空字串|
|User - StudentId length wrong|學號長度為8或9個字|
|User - Password length wrong|密碼長度為6到20個字|
|User - LastName length wrong|姓名最大長度為5個字|
|User - FirstName length wrong|姓氏最大長度為5個字|
|User - Cellphone length wrong|手機長度為10個字|
|User - ConfirmPassword not correspond|密碼與確認密碼不符|
|User - StudentId registered|此學號已被註冊|
|User - Empty studentId|請輸入學號|
|User - Empty password|請輸入密碼|
|User - StudentId not registered|查無此學號|
|User - Password wrong|密碼錯誤|
|User - Check in  longer than check out|簽到時間大於簽退時間|
|User - Affair length wrong|事件字數超過22個字|
|User - Check in wrong|簽到失敗|
|User - Check Out wrong|簽退失敗|
|User - No check in|沒有簽到過|
|User - No User|沒有此用戶|
|User - Has check out|簽退過了|
|User - No data|沒此筆資料|
|User - Has check in|簽到過了|
|User - AbsentType not found|請假類別不存在|