前言

  支持农垦项目中,需要增加抓取银行接口传输数据,需求有两点:一是银企平台前置机需要增加扩展中行、农行数据字段。(代理账号、代理账户名称、代理银行) 二是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的更多相关文章

  1. Java生鲜电商平台-交易对账以及跟商家对账的思考

    Java生鲜电商平台-交易对账以及跟商家对账的思考 说明:对于任何一家电商而言,资金的安全尤为重要,在资金管理过程中,涉及到交易订单的对账以及商家的对账,那i么如何来保证对账的高效与准确呢? 公司在搭 ...

  2. SNF开发平台WinForm之二-开发-单表表单管理页面-SNF快速开发平台3.3-Spring.Net.Framework

    2.1运行效果: 2.2开发实现: 2.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http: ...

  3. Chrome扩展开发之一——Chrome扩展的文件结构

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  4. ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中

    如果解决ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中 手机平台性能是个关键问题. 压缩视频分成3个步骤: 读取显卡数据, 使用编码器压缩,保存文件. 使用libav 压缩的 ...

  5. 【干货】Chrome插件(扩展)开发全攻略(不点进来看看你肯定后悔)

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  6. 【干货】Chrome插件(扩展)开发全攻略

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  7. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

    Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...

  8. Java生鲜电商平台-App系统架构开发与设计

    Java生鲜电商平台-App系统架构开发与设计 说明:阅读此文,你可以学习到以下的技术分享 1.Java生鲜电商平台-App架构设计经验谈:接口的设计2.Java生鲜电商平台-App架构设计经验谈:技 ...

  9. iOS开发系列--App扩展开发

    概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...

随机推荐

  1. phpExcel读取excel文件数据

    require_once $_SERVER['DOCUMENT_ROOT'].'/Classes/PHPExcel.php';require_once $_SERVER['DOCUMENT_ROOT' ...

  2. JQuery实现点击关注和取消功能

    点赞,网络用语,表示“赞同”.“喜爱”. 该网络语来源于网络社区的“赞”功能.送出和收获的赞的多少.赞的给予偏好等,在某种程度能反映出你是怎样的人以及处于何种状态.点赞的背后,反映出你自己.与之对应的 ...

  3. 由form表单来说说前后台数据之间的交互

    为什么从表单提交说起呢?因为大部分与后台的交互都是在form表单中实现,恰巧我入职一个月来都是在处理与后台交互的数据整合中度过,期间也发现一些小坑,出于喜欢总结,所以才想写这篇小博客. 各位童鞋,可以 ...

  4. 我的学习之路_第二十八章_JQuery 和validator插件

    jQuery 利用jQuery进行遍历 js原生: for(var i=0;i>?;i++){ } jQuery: 方式一: 想要遍历的jQuery对象.each(function(index, ...

  5. Linux学习笔记(二)——文件/目录/VIM

    文件和目录管理 及 VI编辑器的使用 文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了.至于Vim编辑器,不得 ...

  6. 003.ASP.NET Core tutorials--【Asp.net core 教程】

    ASP.NET Core tutorials Asp.net core 教程 2016-10-14 1 分钟阅读时长 本文内容 1.Building web applications 构建web应用 ...

  7. OpenStack(企业私有云)万里长征第四步——DevStack整体安装规划及使用

    一.前言 前期成功通过DevStack安装OpenStack,现将从机房规划到虚拟机搭建的整个过程总结如下,以供日后查阅或有需之人参考. 二.机房规划 这个整个安装过程的重点,能不能成功就看规划的如何 ...

  8. 使用Jenkins进行持续集成ionic3项目

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.  网上大多数是关于.net web网站以及 ...

  9. 接口开发,tp5结合swagger-ui安装方法

    今天看到老java用的swagger提供接口,美观好用,方便维护,不是写好接口之后再写接口文档,麻烦的要死.网上找了找结合php的方法,在此记录一下,以后再开发接口就可以方便很多了. Swagger的 ...

  10. ftp站点密码破解

    启动流光软件,在"F T P 主机"点击鼠标右键选择"编辑 | 添加",然后添加想要利用的那个 F T P 地址,然后在弹出的对话框添加欲利用的主机,FTP 主 ...