单据联查凭证可以找个如收款结算单的仿写一个。

而总账凭证联查单据则需要实现联查单据的类,重新写一个类。并把类注册进数据库。

最终效果:

public class QuerySellcarryBillService implements IBillReflectorService {

    public Collection<FipExtendAggVO> queryBillByRelations(
Collection<FipRelationInfoVO> relationvos) throws BusinessException {
List<String> pkList = new ArrayList<String>();
// 收入结转单主键
String pkfld = "pk_sellcarry_h";
Class cl = AggSellcarryHVO.class;
boolean bl = true;
String billtype = "";
for (FipRelationInfoVO vo : relationvos) {
pkList.add(vo.getRelationID());
if (bl) {
billtype = vo.getPk_billtype();
checkTemplet(billtype);// 检查模板
String transtype = this.querytranstype(billtype);
// 单据类型
if ("HZ19".equals(billtype)
|| (transtype != null && "HZ19".equals(transtype))) {
pkfld = "pk_sellcarry_h";
cl = AggSellcarryHVO.class;
}
bl = false;
}
}
String[] pks = pkList.toArray(new String[0]);
String sql = "";
sql = SqlUtils.getInStr(pkfld, pks, true); NCObject[] results = MDPersistenceService
.lookupPersistenceQueryService().queryBillOfNCObjectByCond(cl,
sql, false);
List<FipExtendAggVO> fipAggVOList = new ArrayList<FipExtendAggVO>();
if (!ArrayUtils.isEmpty(results)) {
for (NCObject aggvo : results) {
AggSellcarryHVO aggVo2 = (AggSellcarryHVO) aggvo
.getContainmentObject();
FipExtendAggVO fipAggVO = new FipExtendAggVO();
fipAggVO.setRelationID(aggVo2.getPrimaryKey());
fipAggVO.setBillVO(aggVo2);
fipAggVOList.add(fipAggVO);
}
}
return fipAggVOList;
} private void checkTemplet(String billtype) throws BusinessException {
try {
IBillTemplateQry impl = (IBillTemplateQry) NCLocator.getInstance()
.lookup(IBillTemplateQry.class);
IUAPQueryBS bs = (IUAPQueryBS) NCLocator.getInstance().lookup(
IUAPQueryBS.class);
// 默认HZ19的查询模板主键。
String sql = "select templateid from pub_systemplate_base where templateid='0001ZZ100000005442CC'";
String id = (String) bs.executeQuery(sql, new ColumnProcessor());
BillTempletVO template = impl.findCardTempletData(id);
if (template == null) {
throw new BusinessException("交易类型:" + billtype
+ "没有分配模板,请在功能节点默认模板设置进行分配!");
}
} catch (BusinessException e) {
e.printStackTrace();
throw new BusinessException("查询模板出现异常:" + e.getMessage());
} } // 去查询交易类型与单据类型的关联关系,
public String querytranstype(String billtype) throws BusinessException {
String sql = "select parentbilltype from bd_billtype where pk_billtypecode='"
+ billtype + "'";
Object tr = new BaseDAO().executeQuery(sql, new ColumnProcessor());
if (tr != null) {
if (!StringUtils.isEmpty(tr.toString())
&& !"~".equals(tr.toString())) {
return tr.toString();
}
}
return null;
}
}

注册进数据库

insert into fip_billregister (BILLDRAWCLASS, BILLREFLECTCLASS, BILLSUMCLASS, CLASS_ENTITY_ID, CTRLORGFINDCLASS, DEFDOC1, DEFDOC2, DEFDOC3, DEFQUERYCLASS, DESBILLSERVCLASS, DESBILLSUMCLASS, DESCTRLRULECLASS, DESSUMRULECLASS, DESSUMRULEENTITY, DESSUMRULEREF, DISPLAYCLASS, DR, DRAWQUERYCLASS, EDITCLASS, LINKQUERYCLASS, MODULECODE, ORG_CTRL_ENTITY1, ORG_CTRL_ENTITY2, ORG_ENTITY_ID, PK_BILLREGISTER, PK_BILLTYPE, PK_GROUP, PK_ORG, TS)
values (null, 'nc.bs.hzctr.sellcarry.ace.bp.QuerySellcarryBillService', null, '~', null, null, null, null, null, null, null, null, null, null, null, null, 0, null, null, null, 'hzctr', '~', '~', '~', '0000Z30000000HPF0811', 'HZ19', '~', '~', '2017-08-11 10:03:11');

NC 6系总账凭证联查原始单据的更多相关文章

  1. NC 6系后台调用接口保存单据

    IPFBusiAction ipf = (IPFBusiAction)NCLocator.getInstance().lookup(IPFBusiAction.class); ipf.processA ...

  2. NC 5系自定义显示公式

    1.继承NcInnerFunction(nc.vo.pub.formulaset.function.NcInnerFunction) 在方法中引用父类方法function,并在里面写方法 @Overr ...

  3. NC 6系分配组织方法

    分配客户的方法 String[] customer = { cuVO.getPk_customer() }; ICustAssignService cs = NCLocator.getInstance ...

  4. NC 6系初始化EJB

    6系开发时,调用远程接口去操作数据时,需先调用EJB. InvocationInfoProxy.getInstance().setUserDataSource(design); InvocationI ...

  5. NC 5系查询引擎做报表

    在集团下打开查询引擎管理节点,选中查询设计,鼠标移动到创建,点击文件夹 文件夹名字按需求起,创好文件夹后选中该文件夹后鼠标移动到创建,点击对象. 按需求起好编码和名称 都创建好后,点击SQL手工设计 ...

  6. NC 6系预警类型注册

    在实际开发预警任务中,因为模块是新创建的,所以开发预警,就要在相应的节点模块注册.但这样代码就得放在相应的模块中,注册个预警类型,就可以把代码直接放在自己新建的模块. .先执行新建模块语句 inser ...

  7. Oracle EBS GL总账凭证取值

    SELECT gh.je_header_id, gh.period_name, gh.default_effective_date, gh.je_source, gs.user_je_source_n ...

  8. k3 cloud总账凭证点击保存的时候提示未将对象引用到对应的实例

    检查以后发现是创建日期的用了创建日期,修改了一下日期就可以了

  9. 【MM系列】SAP 物料凭证增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]在SAP里查看数据的方法   前言部 ...

随机推荐

  1. mnist全连接层网络权值可视化

    一.数据准备 网络结构:lenet_lr.prototxt 训练好的模型:lenet_lr_iter_10000.caffemodel 下载地址:链接:https://pan.baidu.com/s/ ...

  2. UDP广播包

    一,广播地址: 广播地址是专门用于同时向网络中所有工作站进行发送的一个地址.在使用TCP/IP 协议的网络中,主机号为全1的IP地址为广播地址.例如,对于 :192.168.199.0(掩码:255. ...

  3. 记一次sql server 2005访问http接口,并解析json的过程

    记一次sql server 2005访问http接口,并解析json的过程  JSON解析官方网站:https://www.red-gate.com/simple-talk/sql/t-sql-pro ...

  4. springMVC接收参数的区别form data与query string parameters与request payload

    在AJAX请求中,我见过有三种form表单数据类型提交. 第一种:form data, 第二种:query string parameters,第三种:request payload. 在google ...

  5. linux服务之apache(二)

    1.ip/pv/uv(用来统计网站被访问情况) ip:表示该网站一天被多少ip访问过,一天一个ip之算做一次. pv:表示页面被访问的次数 uv:独立访客,一个用户就是一个uv. 2.创建虚拟主机 利 ...

  6. py库:把python打包成exe文件(pyinstaller)

    http://blog.csdn.net/be_quiet_endeavor/article/details/73929077 用Pyinstaller把Python3.4程序打包成可执行文件exe ...

  7. 开启safe_mode之后对php系统函数的影响

    safe_mode即为PHP的安全模式,在php.ini中设置safe_mode = On重启PHP便可开启安全模式. 当安全模式开启后,PHP相应的一些系统函数,文件操作函数等将会受限.例如: ck ...

  8. 一直觉得用java很不顺心

    一直觉得用java很不顺心,今儿想明白一个事情.如果把汇编比作石器时代,c作为冷兵器时代,c++作为工业革命之后的热兵器及机械化时代,而c#之类则进入了现代科学世界,至于go,python之流,大概可 ...

  9. 微信公众号Java接入demo

    微信公众号Java接入demo 前不久买了一台服务,本来是用来当梯子用的,后来买了一个域名搭了一个博客网站,后来不怎么在上面写博客一直闲着,最近申请了一个微信公众号就想着弄点什么玩玩.周末没事就鼓捣了 ...

  10. 2018面向对象程序设计(Java)第16周学习指导及要求

    2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16)   学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...