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

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

最终效果:

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. django模板语言循环字典,及forloop

    views: from django.shortcuts import render,redirect from django.shortcuts import HttpResponse # Crea ...

  2. 使用JAVA实现的一个简单IOC注入实例

    https://blog.csdn.net/echoshinian100/article/details/77977823 欲登高而望远,勿筑台于流沙 RSS订阅 原 使用JAVA实现的一个简单IOC ...

  3. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  4. 黄聪:详解申请微信h5支付方法,开通微信h5网页支付接口(转)

    版权声明:图文并茂的微信小程序教程!欢迎转载,请保留作者名字和链接:商业合作请联系子恒老师助理 QQ : 2334512685 https://blog.csdn.net/towtotow/artic ...

  5. windows下缩短time_wait的时间

    最近线上遇到windows机器访问其他机器的时候失败的情况.实际就是本地的端口不够用造成的. D:\>netsh interface ipv4 show dynamicportrange pro ...

  6. SQLServer数据库镜像配置

    目录 一.目标...2 二.前提条件.限制和建议...2 三.设置概述...2 四.安装Sql Server 2008 enterprise X64.3 4.1.安装.NET3.5.3 4.2.安装时 ...

  7. 电商中的库存管理实现-mysql与redis

        库存是电商系统的核心环节,如何做到不少卖,不超卖是库存关心的核心业务问题.业务量大时带来的问题是如何更快速的处理库存计算. 此处以最简模式来讨论库存设计. 以下内容只做分析,不能直接套用,欢迎 ...

  8. 图灵一代接入V1

    现在官方没有一代接入了,但是还是可用,留个方法 $.ajax({ type:"post", url:"http://www.tuling123.com/openapi/a ...

  9. 高校手机签到系统——第一部分Authority权限系统(上)

    序:今天开始写一个算是我第一个系列的文章——高校手机签到系统.本系统结合我们学校自身的一些特点编写.这是我的毕业设计项目,写在这里算是给最后论文的时候一些点滴的记录.另外也想通过这个系列的文章找到一份 ...

  10. html常见的块元素和行内元素(特别注意个别块元素不能嵌套其他块元素)

    html中常见的块元素:div.p.h1-h6.ul.ol.li.hr.table.pre等 块级元素新开启一行即使是设置了width属性也是独占一行(可设置float浮动属性调整布局).尽可能撑满父 ...