资金平台交易明细扩展开发-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扩展交易明细开发。

先贴出整理的整个开发过程的思维导图进行总体的概述,在进行各个部分的细致描述:

Xmind下载链接:https://pan.baidu.com/s/1slI2TtV

整体开发过程思维导图:

源码的扩展

  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根目录\server\lib\sp\ sp_bankFacade2017051504_class.jar

  

DEP扩展交易明细开发

  扩展交易明细列表界面TransDetailListUI 时提示不能扩展开发,原因是DEP中缺少该UI的注册记录,因此需要将该UI添加到白名单中。

  1. 添加白名单

白名单路径:Eas\Server\server\properties\dep\whitelist\depwhitelist_FM.xml

<ui name="com.kingdee.eas.fm.be.client.TransDetailListUI" alias="银行交易明细"/>
    <ui name="com.kingdee.eas.fm.be.client.TransDetailFilterUI" alias="银行交易明细过滤"/>

  2. 在动态扩展平台DEP中新增扩展方案

  3. 新建扩展单元

  4. 导入系统标准的交易明细实体

  5. 在导入的交易明细实体中新增 数据字段

  6. 因为还要在列表中进行显示,因此还需要导入交易明细Query,新增刚在新增加的查询字段

  7. 导入交易明细查询列表界面

  然后右键 编辑表信息,新增显示的数据列

  此时,虽然新增了表列,但是新增加的列还没有绑定修改后的Query数据字段。因此,还需要进行空间和查询Query 的数据绑定

  右键列表ListUI,数据绑定,选中控件,然后再选中对应的数据字段,左框和右框进行一一匹配,一一对应添加!

  此时,交易明细的DEP开发就完成了,进行扩展方案的发布就可以了,即使就会实时的进行实体的修改,数据表修改,列表List修改。在配合上面的代码扩展开发,新增加的字段就会存储到数据交易明细表中了。

  最后,初次接触DEP扩展平台,实在是太强大了!不仅可以在标准产品扩展中使用,还是在独立的开发中使用DEP哦!

 

时间: 2024-07-30 13:31:59

资金平台交易明细扩展开发-DEP的相关文章

在铁汇平台交易,即可获取最高3美金的返现

即日起,凡是在铁汇IronFX平台进行交易的客户,开设及向新账户入资,即可获取高至每手3美元的返现.您还在等什么,赶快来参加吧! 参与交易返现活动的客户必须满足以下两个条件: 1.交易返现账户持有者都可以交易外汇.股票.商品期货和贵金属等所有的产品. 2.微型账户和白金账户根据投资者的入金金额不同. 关于本次铁汇平台"交易返现"活动的详细规则如下所示: 1. IronFX获得了欧盟的牌照和授权,塞浦路斯证卷交易委员会CySEC号码125/10,推出返现金活动. 2. 客户在开设返现金活

移动支付平台间接口报文解析技术核心架构实现、及平台交易处理项目全程实录教程

<基于移动支付平台间接口报文解析技术核心架构实现.及平台交易处理项目全程实录>课程讲师:MoMo 课程分类:Java框架适合人群:中级课时数量:52课时用到技术:JavaBean .Spring3.X. SpringMVC. Hibernate3.X.Apache HttpClient 3.x.JUnit4.x.自定义Annotation + java反射技术涉及项目:移动支付平台间接口咨询QQ:1337192913 课程介绍:   本课程抛开理论.以项目为驱动,适用于初次接触报文收发.组装解

Firefox 扩展开发手记

2015.7.14 因工作,想写一个能实现将 Excel 中的信息自动提交到网页表单的工具,决定开发一个插件试验一下.第一次开发 FF 插件,也决定写一下开发日志,一方面和大家分享经验,另一方面也是希望能坚持到底 今天主要做了信息收集. 了解到基本上只需要 XML 和 Javascrtip 就可以了 FF 官方开发中心 https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/XUL_School/Getting_Started

移动支付平台间接口报文解析核心架构及平台交易全程实录

移动支付平台间接口报文解析核心架构及平台交易全程实录 (HttpClient+SpringMVC+Spring3+Hibernate3+自定义Annotation) 课程分类:Java框架 适合人群:中级 课时数量:52课时 用到技术:JavaBean .Spring3.X. SpringMVC. Hibernate3.X.Apache HttpClient 3.x.JUnit4.x.自定义Annotation + java反射技术 涉及项目:移动支付平台间接口 咨询qq:1840215592

一本关于 PHP 扩展开发的书——《PHP internals Book》

今天给大家介绍一本 PHP 扩展开发相关的书籍<PHP internals Book>,这本书是几个PHP开发人员之间的协作努力,可以更好地记录和描述PHP内部的工作原理. <PHP internals Book> 有三个主要目标: 记录和描述PHP内部工作原理. 记录并描述如何使用扩展扩展语言. 记录并描述如何与社区进行交互以开发PHP本身. <PHP internals Book> 主要面向具有C编程语言经验的开发人员.然而,尽管如此,我们将尝试提炼信息并对其进行总

php扩展开发

本文的环境是windows下开发php版本5.3 1.下载php5.3的源码包和php5.3的二进制包(平时使用的php程序包) 2.下载cygwin,并默认安装在c:\cygwin,因为生成php扩展框架的程序需要cygwin 3.假设php扩展的工作目录为d:\php,解压源码包和二进制包到这个目录 4.cmd命令行在d:\php\ext目录中运行 php ext_skel_win32.php --extname=yourext (如果php.exe程序的路劲未加入系统环境变量则需要自己指定

Chrome浏览器扩展开发系列之十四:本地消息机制Native messagin

Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 2016-11-24 09:36 114人阅读 评论(0) 收藏 举报  分类: PPAPI(27)  通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的"本地消息主机(native messaging host)",Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应用注册为Chrome浏览器扩展的"本地消息主机"之后,Chrome浏览器会在独立的

EXNESS平台交易下单包含哪些种类?

所谓外汇交易下单就是下下单,看起来挺简单的一个步骤,确实整个外汇交易最重要的一步,也是交易的第一步.只有通过下单之后才能够产生订单. 在EXNESS平台上交易时,进行下单的种类总共有四种,分别是,止损挂单/止损进场单:挂单/定单:限价挂单以及市价单. 下面我们就EXNESS平台的四种下单种类来详细说说他们的定义以及作用. 种类一:市价单 市价单指的就是依照目前外汇市场的实时报价成交, 如果市场行情出现巨大的波动, EXNESS暂时无法成交, 则我们将自动在下一个可能的最好价格为您成交. 种类二:

基于低压电量采集平台DW710C的基础开发

实验课题 (1)自定义通信规约,采用java或C++编写简单的PC端上位机软件,实现采集器与PC机的通信.实验可在DW710C-PC工程下进行. (2)实现LCD显示字符.数字.汉字和简单的图像,并能根据上位机发送的命令做相应的显示.此实验需要掌握LCD屏幕的显示原理(可参考LCD屏幕指导手册),并编写程序控制LCD显示(可参考工程DW710C-LCD):知道如何用字模提取软件提取字模:另外还要修改采集器端接收到的命令的解析程序,实现不同命令显示不同内容. 实验说明 采集器的一个485接口与RS