NC 6系总账凭证联查原始单据
单据联查凭证可以找个如收款结算单的仿写一个。
而总账凭证联查单据则需要实现联查单据的类,重新写一个类。并把类注册进数据库。
最终效果:

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系总账凭证联查原始单据的更多相关文章
- NC 6系后台调用接口保存单据
IPFBusiAction ipf = (IPFBusiAction)NCLocator.getInstance().lookup(IPFBusiAction.class); ipf.processA ...
- NC 5系自定义显示公式
1.继承NcInnerFunction(nc.vo.pub.formulaset.function.NcInnerFunction) 在方法中引用父类方法function,并在里面写方法 @Overr ...
- NC 6系分配组织方法
分配客户的方法 String[] customer = { cuVO.getPk_customer() }; ICustAssignService cs = NCLocator.getInstance ...
- NC 6系初始化EJB
6系开发时,调用远程接口去操作数据时,需先调用EJB. InvocationInfoProxy.getInstance().setUserDataSource(design); InvocationI ...
- NC 5系查询引擎做报表
在集团下打开查询引擎管理节点,选中查询设计,鼠标移动到创建,点击文件夹 文件夹名字按需求起,创好文件夹后选中该文件夹后鼠标移动到创建,点击对象. 按需求起好编码和名称 都创建好后,点击SQL手工设计 ...
- NC 6系预警类型注册
在实际开发预警任务中,因为模块是新创建的,所以开发预警,就要在相应的节点模块注册.但这样代码就得放在相应的模块中,注册个预警类型,就可以把代码直接放在自己新建的模块. .先执行新建模块语句 inser ...
- Oracle EBS GL总账凭证取值
SELECT gh.je_header_id, gh.period_name, gh.default_effective_date, gh.je_source, gs.user_je_source_n ...
- k3 cloud总账凭证点击保存的时候提示未将对象引用到对应的实例
检查以后发现是创建日期的用了创建日期,修改了一下日期就可以了
- 【MM系列】SAP 物料凭证增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]在SAP里查看数据的方法 前言部 ...
随机推荐
- 原生js创建模态框(摘自:东窗凝残月 链接:https://www.cnblogs.com/dcncy/p/9076937.html)
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Te ...
- 解决scipy无法正确安装到virtualenv中的问题
一 . pip的基本操作 安装包: pip/pip3 install ***pkg 卸载包: pip/pip3 uninstall ***pkg 查看已经安装的某个包的信息: pip/pip3 sho ...
- # 20175227 2018-2019-2 《Java程序设计》第一周学习总结
20175227 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 1.安装VB,Ubuntu,Git,JDK,并自行配置. 2.写"Hello Wo ...
- The perception and large margin classifiers
假设样例按照到来的先后顺序依次定义为.为样本特征,为类别标签.任务是到来一个样例,给出其类别结果的预测值,之后我们会看到真实值,然后根据真实值来重新调整模型参数,整个过程是重复迭代的过程,直到所有的样 ...
- LTE学习笔记(一)——背景知识
一.标准化组织 无线通信技术的演进离不开一些标准化组织. 1.ITU(International Telecommunication Union) 国际电信联盟,主要任务是制定标准,分配无线频谱资源, ...
- 虚拟机克隆之后,网卡名称从eth0变成eth1之后的解决办法
使用VMware安装了CentOS虚拟机,克隆之后使用service network restart指令来重新启动网络服务时,会看到有eth0网卡不存在的提示.出现这种现象的原因是,很多Linux d ...
- vue打包
npm installnpm run devnpm run build @types/node npm install --save @types/node npm install @types/no ...
- JavaWeb——XML转义符字
被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”. 此标记用于xml文档中,我们先来看看使用转义符的 ...
- powerdesigner 基本概念
PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术.PowerDesi ...
- kettle 常用组件
Dummy步骤不会做任何事情.它的主要功能是作为以测试为目的的占位符. 追加流 分析查询(前后行查询),步骤:增加常量数据包括id,name连个字段,增加自增列autoid字段,按id,outid进行 ...