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

我们只需要对这个类进行扩展,重写该方法即可。
package com.kingdee.eas.fm.be.app; import org.apache.log4j.Logger;
import com.kingdee.bos.Context;
import com.kingdee.bos.ebservice.Detail;
import com.kingdee.eas.base.core.util.EmptyUtil;
import com.kingdee.eas.fm.be.TransDetailInfo; public class BankFacadeControllerBeanEx extends com.kingdee.eas.fm.be.app.BankFacadeControllerBean
{
private static Logger logger =
Logger.getLogger("com.kingdee.eas.fm.be.app.BankFacadeControllerBeanEx");
public TransDetailInfo parseDetailOtherMessage(Context ctx,
TransDetailInfo transDetailInfo, Detail detail) {
String[] reserveds = detail.getReserveds();
if (!EmptyUtil.isEmpty(reserveds)) {
for (int i = 0; i < reserveds.length; i++) {
String returnValue = reserveds[i].trim();
if (returnValue.toUpperCase().startsWith("agentAccNo=".toUpperCase())) {
transDetailInfo.put("agentAccNo", returnValue.substring("agentAccNo=".length()));
}
if (returnValue.toUpperCase().startsWith("agentAccName=".toUpperCase())) { transDetailInfo.put("agentAccName", returnValue.substring("agentAccName=".length()));
}
if (returnValue.toUpperCase().startsWith("agentAccBkName=".toUpperCase())) { transDetailInfo.put("agentAccBkName", returnValue.substring("agentAccBkName=".length()));
} } }
return transDetailInfo;
}
}
然后将代码进行导出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哦!
资金平台交易明细扩展开发-DEP的更多相关文章
- Java生鲜电商平台-交易对账以及跟商家对账的思考
Java生鲜电商平台-交易对账以及跟商家对账的思考 说明:对于任何一家电商而言,资金的安全尤为重要,在资金管理过程中,涉及到交易订单的对账以及商家的对账,那i么如何来保证对账的高效与准确呢? 公司在搭 ...
- SNF开发平台WinForm之二-开发-单表表单管理页面-SNF快速开发平台3.3-Spring.Net.Framework
2.1运行效果: 2.2开发实现: 2.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http: ...
- Chrome扩展开发之一——Chrome扩展的文件结构
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中
如果解决ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中 手机平台性能是个关键问题. 压缩视频分成3个步骤: 读取显卡数据, 使用编码器压缩,保存文件. 使用libav 压缩的 ...
- 【干货】Chrome插件(扩展)开发全攻略(不点进来看看你肯定后悔)
写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...
- 【干货】Chrome插件(扩展)开发全攻略
写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...
- Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲
Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台: 微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...
- Java生鲜电商平台-App系统架构开发与设计
Java生鲜电商平台-App系统架构开发与设计 说明:阅读此文,你可以学习到以下的技术分享 1.Java生鲜电商平台-App架构设计经验谈:接口的设计2.Java生鲜电商平台-App架构设计经验谈:技 ...
- iOS开发系列--App扩展开发
概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...
随机推荐
- href 和 src 区别
去网上百度了一下,感觉还是没有清楚的定义,所以自己稍稍的总结了一下: 1 html标签分为行类元素 和块元素 在加空元素(也可以叫做替换元素img input iframe):当元素为替换元素的时候, ...
- 以芯片直读方式得到的全盘镜像解析及ext4日志区域解析
之前在centos中分析了/dev/sda1下的结构,但当对象是一块以芯片直读方式作出来的全盘镜像呢? 这次以安卓手机的全盘镜像为对象,尝试按照ext4文件系统结构手动解析,加强对ext4文件系统.E ...
- mysql性能监控工具
参考文档: http://www.linuxidc.com/Linux/2012-09/70459.htm 1.记录慢查询SQL #配置开启 (linux)修改my.cnf: log-slow-que ...
- ReadAndWriteData
/** * 读取和写入不同基本类型数据 * * @throws IOException */ public static void main(String[] args) throws IOExcep ...
- 互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑
上篇博文中,我们介绍了做互联网级监控系统的必备-Influxdb的关键特性.数据读写.应用场景: 互联网级监控系统必备-时序数据库之Influxdb 本文中,我们介绍Influxdb数据库集群的搭建, ...
- PHP发送E-mail---新手教程
首先下载PHPmailer拓展包,其实就是别人封装好的类库,下载链接:http://pan.baidu.com/s/1slbhGo1 首先去163注册个账号,然后登陆进去,点击设置下面的 POP3/S ...
- Oracle数据迁移笔记-Rownum与序列的自增长的组合用法技巧
Rownum与序列的自增长的组合用法技巧 根据序列自增长的步长规律,结合表行记录Rownum值的规则批量生成表的行记录主键的用法技巧 案例如下: CREATE OR REPLACE PROCEDURE ...
- vue的增删改查
我们把这些用户信息保存到list的数组中,然后增删改查就在这个数组上进行: list: [ { username: 'aaaaa', email: '123@qq.com', sex: '男', pr ...
- 对sppnet网络的理解
前言: 接着上一篇文章提到的RCNN网络物体检测,这个网络成功的引入了CNN卷积网络来进行特征提取,但是存在一个问题,就是对需要进行特征提取图片大小有严格的限制.当时面对这种问题,rg大神采用的是对分 ...
- php 极简框架ES发布(代码总和不到 400 行)
ES 框架简介 ES 是一款 极简,灵活, 高性能,扩建性强 的php 框架. 未开源之前在商业公司 经历数年,数个高并发网站 实践使用! 框架结构 整个框架核心四个文件,所有文件加起来放在一起总行数 ...