當前位置:
首頁 > 知識 > 資金平台交易明細擴展開發-DEP

資金平台交易明細擴展開發-DEP

前言

支持農墾項目中,需要增加抓取銀行介面傳輸數據,需求有兩點:一是銀企平台前置機需要增加擴展中行、農行數據欄位。(代理賬號、代理賬戶名稱、代理銀行) 二是EAS資金模塊中的交易明細查詢列表界面能夠顯示擴展的上述三個欄位數據。

資金模塊

交易明細表:T_BE_TransDetail

實體:TransDetail

新增欄位 <String 80>:代理賬號: agentAccNo

代理賬戶名稱:agentAccName

代理銀行名稱:agentAccBkName

銀企平台與資金平台二者數據關係:銀企平台使用的是基於插件的開發,通過抓起對應銀行介面數據,然後以響應報文方式傳輸數據給EAS資金平台,資金平台通過對報文XML的結構化解析,獲得對應的數據存入資料庫中。

項目過程問題:通過對銀企平台響應報文的研究,發現其已經對代理賬號等上述三個欄位進行抓取並相應,因此不再需要對此進行擴展開發。只是EAS7.5版本資金平台沒有對其進行抓取而已(EAS8.2版本已解決)。因此,只需要對資金平台抓取數據部分進行擴展開發。其中源代碼 com.kingdee.eas.fm.be.app.BankFacadeControllerBean 中的 parseDetailOtherMessage 方法是進行的數據抓取,可供擴展使用。然後再對交易明細實體進行擴展欄位,及修改列表界面,增加新抓取欄位(對實體 列表界面 查詢Query 的修改 使用 DEP擴展平台 進行擴展開發,專門針對修改標準產品,而且是熱更新部署,不需要重啟伺服器。開發出來這個DEP平台的是真大牛啊!)閑話少說,下面開始闡述開發過程。

分為兩部分:一是源碼的擴展。二是DEP擴展交易明細開發。

先貼出整理的整個開發過程的思維導圖進行總體的概述,在進行各個部分的細緻描述:

整體開發過程思維導圖:

資金平台交易明細擴展開發-DEP

源碼的擴展

BankFacadeControllerBean

我們只需要對這個類進行擴展,重寫該方法即可。

1 package com.kingdee.eas.fm.be.app;
2
3 import org.apache.log4j.Logger;
4 import com.kingdee.bos.Context;
5 import com.kingdee.bos.ebservice.Detail;
6 import com.kingdee.eas.base.core.util.EmptyUtil;
7 import com.kingdee.eas.fm.be.TransDetailInfo;
8
9 public class BankFacadeControllerBeanEx extends com.kingdee.eas.fm.be.app.BankFacadeControllerBean
10 {
11 private static Logger logger =
12 Logger.getLogger("com.kingdee.eas.fm.be.app.BankFacadeControllerBeanEx");
13 public TransDetailInfo parseDetailOtherMessage(Context ctx,
14 TransDetailInfo transDetailInfo, Detail detail) {
15 String reserveds = detail.getReserveds;
16 if (!EmptyUtil.isEmpty(reserveds)) {
17 for (int i = 0; i < reserveds.length; i++) {
18 String returnValue = reserveds[i].trim;
19 if (returnValue.toUpperCase.startsWith("agentAccNo=".toUpperCase)) {
20 transDetailInfo.put("agentAccNo", returnValue.substring("agentAccNo=".length));
21 }
22 if (returnValue.toUpperCase.startsWith("agentAccName=".toUpperCase)) {
23
24 transDetailInfo.put("agentAccName", returnValue.substring("agentAccName=".length));
25 }
26 if (returnValue.toUpperCase.startsWith("agentAccBkName=".toUpperCase)) {
27
28 transDetailInfo.put("agentAccBkName", returnValue.substring("agentAccBkName=".length));
29 }
30
31 }
32
33 }
34 return transDetailInfo;
35 }
36 }

然後將代碼進行導出jar部署到路徑:Eas根目錄serverlibspsp_bankFacade2017051504_class.jar

DEP擴展交易明細開發

擴展交易明細列表界面TransDetailListUI 時提示不能擴展開發,原因是DEP中缺少該UI的註冊記錄,因此需要將該UI添加到白名單中。

資金平台交易明細擴展開發-DEP

1. 添加白名單

白名單路徑:EasServerserverpropertiesdepwhitelistdepwhitelist_FM.xml

<ui name="com.kingdee.eas.fm.be.client.TransDetailListUI" alias="銀行交易明細"/>
<ui name="com.kingdee.eas.fm.be.client.TransDetailFilterUI" alias="銀行交易明細過濾"/>

2. 在動態擴展平台DEP中新增擴展方案

資金平台交易明細擴展開發-DEP

資金平台交易明細擴展開發-DEP

3. 新建擴展單元

資金平台交易明細擴展開發-DEP

資金平台交易明細擴展開發-DEP

4. 導入系統標準的交易明細實體

資金平台交易明細擴展開發-DEP

5. 在導入的交易明細實體中新增 數據欄位

資金平台交易明細擴展開發-DEP

6. 因為還要在列表中進行顯示,因此還需要導入交易明細Query,新增剛在新增加的查詢欄位

資金平台交易明細擴展開發-DEP

7. 導入交易明細查詢列表界面

資金平台交易明細擴展開發-DEP

然後右鍵 編輯表信息,新增顯示的數據列

資金平台交易明細擴展開發-DEP

此時,雖然新增了表列,但是新增加的列還沒有綁定修改後的Query數據欄位。因此,還需要進行空間和查詢Query 的數據綁定

右鍵列表ListUI,數據綁定,選中控制項,然後再選中對應的數據欄位,左框和右框進行一一匹配,一一對應添加!

資金平台交易明細擴展開發-DEP

此時,交易明細的DEP開發就完成了,進行擴展方案的發布就可以了,即使就會實時的進行實體的修改,數據表修改,列表List修改。在配合上面的代碼擴展開發,新增加的欄位就會存儲到數據交易明細表中了。

最後,初次接觸DEP擴展平台,實在是太強大了!不僅可以在標準產品擴展中使用,還是在獨立的開發中使用DEP哦!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

mybatis 詳解(八)——懶載入
野生程序員對.NETFramework 4.0 ThreadPool的理解
編寫一個簡單的TCP服務端和客戶端

TAG:達人科技 |

您可能感興趣

PHP 擴展開發檢測清單
高通宣布推出XR1擴展現實平台:可幫助FB等公司開發攜帶型VR頭盔
英偉達首款邊緣計算AI平台EGX重磅發布!實時處理,高性能、可擴展
Jaunt XR平台通過新的AR研發計划進行擴展
英偉達首款邊緣計算AI平台EGX重磅發布!實時處理,高性能可擴展
藍寶石發布顯卡擴展塢 支持NVIDIA和專業卡
華碩雙屏擴展旗艦本靈耀X Pro首發開賣
Uber 開源 Plato:擴展性極強的開發測試會話 AI 平台,可實現多智能體並行訓練
Dynabook發布USB-C擴展塢新品:略貴
戴爾 DELL 發布 頂級擴展器:支持快充、雷電3擴展
Type-C介面引發的擴展塢配件狂潮,綠聯積極創新研發、布局已久
EMBOLX通過推出新的K-TIP設計擴展了SNIPER BALLOON OCCLUSION微導管系列
雙M.2 SSD固態硬碟擴展、支持RGB背光同步燈效
PLDA宣布推出兩個可在PCIe鏈路或AMBA AXI結構上提供強大性能和可擴展性的創新vDMA引擎IP解決方案
VR本周說:高通發布擴展現實專用平台XR1,小米VR一體機正式亮相
擴展亞洲版圖-UNDEFEATED 將在日本名古屋開設全新分店
Uber 開源 Plato:擴展性極強的開發測試會話 AI 平台,可實現多智能體並行訓練!
《怪物獵人 世界》擴展包「ICEBORNE」9月6日發售
EDCON最新報道 火幣宣布將業務擴展至加拿大
VAIO SX12筆記本電腦發布:小體積也能有豐富的擴展性