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里查看数据的方法 前言部 ...
随机推荐
- TF(3): 安装部署_Windows
CUDA: CUDA(Compute Unified Device Architecture): CUDA™是一种由显卡厂商NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题. ...
- gdb调试嵌入式环境搭建
1.下载gdb源代码 http://ftp.gnu.org/gnu/gdb/ 2.编译 解压#tar zxvf gdb-7.9.1.tar.gz,cd到解压的目录中. 2.1编译arm-linux-g ...
- AsyncTask(异步任务)
一.AsyncTask ①AsyncTask的源码: public abstract class AsyncTask<Params, Progress, Result> 三种泛型类型分别代 ...
- Prometheus介绍
Prometheus的主要特点 Prometheus 属于一站式监控告警平台,依赖少,功能齐全.Prometheus 支持对云的或容器的监控,其他系统主要对主机监控.Prometheus 数据查询语句 ...
- websocket简单理解
实现及原理 Websocket是一种在单个TCP连接上进行全双工通讯的协议. WebSocket 首先发起一个 HTTP 请求,在请求头加上 `Upgrade` 字段,该字段用于改变 HTTP 协议版 ...
- 源码:Java集合源码之:哈希表(二)
要想知道一个元素是否在数组或链表中,只能从前向后挨个对比,无论是数组还是链表,其对数据的查询表现都比较无力.在的二叉排序树中,还会将数据排序以进行二分查找,将时间复杂度从O(n)降低到O(lg n). ...
- SQL Server 2012无法连接到WMI提供程序
这篇文章主要介绍了SQL Server 2012无法连接到WMI提供程序(Cannot connect to WMI provider)解决方案,需要的朋友可以参考下 今天一位同事在启动自己工作机的S ...
- Windows和Linux查看端口占用
Windows方法 TCP netstat -aon|findstr "TCP"|findstr "LISTENING"|findstr ":135[ ...
- mongodb相关文章
1.Windows 平台安装 MongoDB 2.MONGODB基本命令用 3.MongoDB 教程
- java学习--构造方法
构造方法的作用:创建对象并初始化对象 定义规则:构造方法名与类名相同且没有返回值.(构造方法不需要设置返回值类型,包括void) 在没有定义构造方法是,编译器会自动为类添加形如 类名 () {} ...