# 報價單>新增、編輯>提交 * 檢查 ``` 6.1 報價資料檢查 (一) 若”單價”、”最低收費”、”最高收費”、”額外收費”、” 最大單位數區間”有值 ,則v_ebl_fee_part.(相同fee_id AND 相同$計價代碼.屬性值)的報價必須相同,否則BID報價單顯示警示訊息: msg.494;其餘類別報價單顯示警示訊息: msg.444 (備註: 由於報價UI優化只先調整BID,其他類別報價UI未跟著變更為頁籤,因此訊息先仍維持舊的) 1. $計價代碼.屬性值from_port,需改取NVL($起運地區域, from_port)比對、to_port改取NVL($目的地區域, to_port)比對 (1) 起運地區域、目的地區域: SELECT group_id FROM ebl_port_group WHERE company_id = ? AND module = $(報價單.模組,若 = 'NOT_SPECIFY',則不篩選此條件) AND $報價單.報價生效日 BETWEEN effective_date_from AND effective_date_to AND country_id+port_id = $from_port、to_port ORDER BY group_id,若該port找到多個區域,比對須完全相同才須限制單價應相同 2. msg.444訊息內的{items}帶錯誤的項次及計價代碼,例: 費用項目,項次2: P001, 項次4: P003 的[ 單價 ]必須相同!。 3. msg.494訊息內的{fee}帶”費用名稱”、{field}帶欄位名稱、{items}帶$頁籤+”-”+$項次+”-”+$報價金額,例: 國外手續費以下項目的[ 單價、最低收費 ]必須相同! 頁籤2-項次3-單價100-最低收費10 頁籤3-項次24-單價100-最低收費11 提單製作費以下項目的[ 單價 ]必須相同! 頁籤2-項次4-單價100 頁籤4-項次2-單價200 頁籤5-項次33-單價100 (二) 檢查v_ebl_fee_part.confirm_quote_role必須相同OR = 'NOT_SPECIFY',否則顯示警示訊息: msg.247 1. 訊息內的{feePartId}帶confirm_quote_role相同筆數較少的計價代碼。 (三) 檢查v_ebl_fee_part以下$計價代碼.屬性值<> NULL、'NOT_SPECIFY' 時,需與費用項目.路線輸入的資料一致,否則顯示警示訊息: msg.391;若路線該欄位未輸入資料,則該欄位不比對。 1. 計價代碼.屬性比對規則: (1) from_port: <> 費用項目.路線.裝貨港 AND <> 費用項目.路線.起運地 AND <> (費用項目.路線.起運地區域下的ebl_port_group.country_id + port_id WHERE company_id = ? AND module = $Web.基本資料.模組 AND $Web.基本資料.報價生效日 BETWEEN effective_date_from AND effective_date_to AND group_id = $起運地區域,若Web.基本資料.模組 = 'NOT_SPECIFY',則不篩選module),則顯示警示訊息 (2) to_port: <> 費用項目.路線.卸貨港 AND <> 費用項目.路線.目的地 AND <> (費用項目.路線.目的地區域下的ebl_port_group.country_id + port_id WHERE company_id = ? AND module = $Web.基本資料.模組 AND $Web.基本資料.報價生效日 BETWEEN effective_date_from AND effective_date_to AND group_id = $目的地區域,若Web.基本資料.模組 = 'NOT_SPECIFY',則不篩選module),則顯示警示訊息 (3) from_location: <> 費用項目.路線.起運地,則顯示警示訊息。 (4) to_location: <> 費用項目.路線.目的地,則顯示警示訊息。 (5) from_country: <> 費用項目.路線.起運國 AND <> 費用項目.路線.起運地區域下的ebl_port_group.country_id WHERE $(條件同from_port) AND <> 費用項目.路線.裝貨港前2碼,則顯示警示訊息。 (6) to_country: <> 費用項目.路線.目的國 AND <> 費用項目.起訖點.目的地區域下的ebl_port_group.country_id $(條件同from_port) AND <> 費用項目.路線.卸貨港前2碼,則顯示警示訊息。 (7) depot_location: <> 費用項目.路線.領/還空櫃場,則顯示警示訊息。 (8) trans_mode: <> 費用項目.路線.轉運方式,則顯示警示訊息。 (四) 檢查若”報價類別” = 'FSC' ,則”報價生效日”應大於現有報價的生效日, SELECT FROM v_ebl_quote_fee_part WHERE company_id = ? AND lsp_id = ? AND quote_status = 'APPROVED' AND is_delete = 'N' AND fee_part_id IN ? AND quote_effective_date ≧ $報價生效日, 若資料存在,則顯示提示訊息: msg.249,輸入原因才可儲存 1. UI見Input Form圖三,欄位對應見附表十七。 (五) 檢查若”報價類別” = 'BID' ,則fee_part_id的報價生效日必須大於已核准的報價生效日, SELECT FROM v_ebl_quote_fee_part WHERE company_id = ? AND lsp_id = ? AND quote_type = 'BID' AND quote_status = 'APPROVED' AND fee_part_id = ? AND is_delete = 'N' AND quote_effective_date ≧ $報價生效日, 若資料存在且詢價單號不等於此筆詢價單號,則顯示警示訊息: msg.245 1. 以下設定存在才要檢查,toplogis.company_props WHERE company_id = $貨主.company_id AND name = 'ebl2.quotation.checkEffDate' AND enable = 'Y' (備註: C1688希望系統擋掉LSP選錯生效日,Shipper審核時又沒注意到) (六) 檢查必填欄位都要有值,否則顯示警示訊息: msg.091。(前端檢查) (七) 檢查費用項目.費用表,至少要有一筆計價代碼,否則顯示警示訊息: msg.097(無路線用)、msg.098(有路線用)。 (八) 檢查若”報價類別”= 'BID',則檢查”報價進度”,若有 > 0 AND <100的資料,則顯示警示訊息: msg.104;若全部 = 0,則顯示警示訊息: msg.120。 (九) 檢查若”報價類別”<> 'BID',則檢查”單價”都要有值,否則顯示警示訊息: msg.091。 (十) 檢查若”報價類別”= 'BID',則檢查”報價進度”= 100的資料必須有報價單號,否則顯示警示訊息: msg.512 ``` * 執行 (ebl_quote.rfq_id <> NULL) OR (ebl_quote.quote_type = 'SPE' AND shipment_id <> NULL)時call pkg_cale_quote,不需等待。 * Input ``` { rfqId: 'R230416274', // 報價單號 negotiationTimes: 10, // 議價回合 } ``` * Output ``` // 使用 APIResult { success: 0, // 可不用塞 successMsg: [ { msg: 'msg.047', // 送出成功。 params: {} }, ], fail: 0, // 可不用塞 failMsg: [] } ```