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里查看数据的方法 前言部 ...
随机推荐
- Bootstrap格式转换代码
网址:http://www.w3cschool.cc/bootstrap/bootstrap-responsive-utilities.html <div class="contain ...
- Android之MainActivity类
一.MainActivity: 1.每个种语言都有一个程序入库(如:C#main函数),而Android程序的入口就是Mani Actiivty函数. 2.Activity是Android的核心类(a ...
- logback不输出日志消息,且SLF4J绑定源错误
我之前的项目已经成功使用过logback作为日志输出,但是今天新项目在使用的时候,不输出日志信息. 最后终于找到问题所在,并成功解决.解决步骤如下: 第一步:检查pom.xml 按照以往惯例,我先检查 ...
- kafka partition(分区)与 group(转)
原文 https://www.cnblogs.com/liuwei6/p/6900686.html 一. 1.原理图 2.原理描述 一个topic 可以配置几个partition,produce发送 ...
- fastext 中文文本分类
1. 输入文本预处理, 通过jieba分词, 空格" "拼接文本串. 每行一个样本, 最后一个单词为双下划线表明label, __label__'xxx' . eg: 邱县 继 ...
- ss客户端以及tcp,udp,dns代理ss-tproxy在线安装版--centos7.3 x64以上(7.3-7.6x64测试通过)
#!/bin/sh # # Script for automatic setup of an SS-TPROXY server on CentOS 7.3 Minimal. # export PATH ...
- Deployment Descriptor Web.xml
Deployment Descriptor部署描述符: - 部署描述符是要部署到Web容器或EJB容器的Web应用程序或EJB应用程序的配置文件. - 部署描述符应包含EJB应用程序中所有企业bean ...
- Python中xlrd和xlwt模块使用方法
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
- 学习笔记:Stage.js(又叫Cut.js)——2D canvas 开发库,游戏方面的
http://piqnt.com/stage.js/ http://www.bootcdn.cn/stage.js/ Stage.js(可能又叫Cut.js)是一个2D HTML5 JavaScrip ...
- leetcode104
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...