DCFP102Controller 是一組 Web API,用於進貨折讓應付沖帳傳票作業。該 API 包含多項功能,包括交易區分查詢、進貨折讓應付沖帳傳票暫存檔查詢、資料轉入、傳票生成,以及檢核 DC 代號等操作。本文將詳細描述每個 API 方法的運作流程、使用情境、輸入與輸出格式,以及檢核邏輯。
[Authorize] 屬性,任何用戶都可以調用。使用者在進行進貨折讓資料管理時,需要選擇交易類型(例如:進貨折讓、代購折讓)。當使用者點擊前端的下拉選單時,前端會調用 GetBusTypeList API 來獲取交易類型選項。
GET 請求到 GetBusTypeList API。_commonService.QueryBusTypeForBPTypeResult(),從資料庫中取得交易類型列表。CodeReference_OutputVo)"A"(表示進貨折讓)。"進貨折讓"。{
"RESULT_CODE": "S0000001",
"RESULT_MESSAGE": "查詢成功",
"RESULT": [
{
"CODE_NO": "A",
"CODE_DESC": "進貨折讓"
},
{
"CODE_NO": "F",
"CODE_DESC": "代購折讓"
},
{
"CODE_NO": "99",
"CODE_DESC": "全部"
}
]
}
[Authorize] 屬性,任何用戶都可以調用。使用者想要查詢某月份的進貨折讓資料,輸入查詢條件(結帳年月、結帳期間、DC 代號、交易區分),然後點擊查詢按鈕。
使用者在查詢條件輸入框中填寫以下資訊:
結帳年月: "202408"結帳期間 起: "2024-08-01"結帳期間 迄: "2024-08-31"DC 代號: "DC001"交易區分: "A"前端將這些資訊打包成 JSON 格式,並發送 POST 請求到 Query API:
{
"P_YYMM": "202408",
"P_SDATE": "2024-08-01",
"P_EDATE": "2024-08-31",
"P_DC_CODE": "DC001",
"P_BUS_TYPE": "A"
}
API 調用 _service.QueryResult(inputVo),根據 DCFP102_InputVo 中的查詢條件到資料庫中檢索符合的進貨折讓資料。
API 將查詢結果組合成 DCFP102Q_OutputVo 物件,並打包成 JSON 格式返回給前端。
DCFP102_InputVo)"202408")。"2024-08-01")。"2024-08-31")。"DC001")。"A")。DCFP102Q_OutputVo){
"RESULT_CODE": "S0000001",
"RESULT_MESSAGE": "查詢成功",
"RESULT": [
{
"O_BUS_TYPE": "A",
"O_ACCT_DATE": "2024-08-15T00:00:00",
"O_CNT": 5,
"O_AMT": 5000,
"O_TAX": 250,
"O_EXPECT": 200,
"O_DIF": 50
}
]
}
流程圖: : 流程圖
[Authorize] 屬性,必須經過身份驗證的用戶才能調用。使用者從供應商那裡獲取了一份進貨折讓資料,並希望將這些資料匯入系統中。該 API 包含前端資料檢核,以確保資料的正確性。
使用者點擊「資料轉入」按鈕,前端將相關資訊(如匯入月份、DC 代號、交易區分)打包成 JSON,並發送 POST 請求到 Procedure_Ins_WDS_Data API:
{
"P_YYMM": "202408",
"P_SDATE": "2024-08-01",
"P_EDATE": "2024-08-31",
"P_DC_CODE": "DC001",
"P_BUS_TYPE": "A"
}
資料檢核:
執行儲存程序:
P_BUS_TYPE 的值來決定執行哪個儲存程序(INS_WDS_DATA_A 或 INS_WDS_DATA_F)。結果處理:
"RESULT_CODE": "S0000001" 並記錄成功訊息:「預存程序 INS_WDS_DATA_A 執行完成」。DCFP102_InputVo)DCFP102_OutputVo){
"RESULT_CODE": "S0000001",
"RESULT_MESSAGE": "預存程序 INS_WDS_DATA_A 執行完成",
"RESULT": {
"P_ERRMSG": ""
}
}
[Authorize] 屬性,必須經過身份驗證的用戶才能調用。使用者已經匯入了某月份的進貨折讓資料,並核對無
誤,然後希望生成對應的會計傳票。
使用者點擊「生成傳票」按鈕,前端將條件打包成 JSON,發送 POST 請求到 Function_DCFP102v API:
{
"P_YYMM": "202408",
"P_SDATE": "2024-08-01",
"P_EDATE": "2024-08-31",
"P_DC_CODE": "DC001",
"P_BUS_TYPE": "A"
}
資料檢核:API 對輸入資料進行檢核,確保內容正確。若檢核通過,執行 Function_DCFP102v 生成傳票。
結果處理:成功時,返回 "傳票產生完成" 訊息;若發生錯誤,返回錯誤訊息。
DCFP102_OutputVo){
"RESULT_CODE": "S0000001",
"RESULT_MESSAGE": "傳票產生完成",
"RESULT": {
"P_ERRMSG": ""
}
}
[Authorize] 屬性,任何用戶都可以調用。使用者在輸入 DC 代號時,想要確認該代號是否正確並存在於系統內。
POST 請求到 CheckDCCode API:{
"DC_CODE": "DC001"
}
_service.CheckDCCodeResult 對 DC 代號進行檢核,確認該代號是否存在於資料庫中。"S0000001" 代表成功。"檢核成功" 或 "在參數檔中無 DC 代號"。true 代表 DC 代號有效,false 代表無效。成功情況:
{
"RESULT_CODE": "S0000001",
"RESULT_MESSAGE": "檢核成功",
"RESULT": true
}
無效情況:
{
"RESULT_CODE": "S0010001",
"RESULT_MESSAGE": "在參數檔中無 DC 代號",
"RESULT": false
}
這就是 DCFP102Controller API 的文件,包括每個 API 方法的使用情境、運作流程、輸入與輸出格式,以及範例結果。