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 方法的使用情境、運作流程、輸入與輸出格式,以及範例結果。