NC 5系自定义显示公式
1、继承NcInnerFunction(nc.vo.pub.formulaset.function.NcInnerFunction)
在方法中引用父类方法function,并在里面写方法
@Override
public Object function(List param) throws ParseException {
if(param==null&¶m.size()!=1)
throw new ParseException("参数不正确!"); String id = (String) param.get(0); IUAPQueryBS bs = NCLocator.getInstance().lookup(IUAPQueryBS.class);
String sql = " select h.vbillno,h.invoiceno,h.invoicestatus,h.pk_buleid,h.invoicetype from XXXXt " +
" inner join XXXX h on t.pk_vatinvoice = h.pk_vatinvoice " +
"where nvl(h.dr,0)=0 and t.pk_detail='"+id+"' ";
if(getInvoiceType()==1){
sql+=" t.ispenal ='N' ";
}else if(getInvoiceType()==2){
sql+=" t.ispenal ='Y' ";
}
try {
System.out.println(sql);
List resList = (List) bs.executeQuery(sql, new MapListProcessor());
if(resList.isEmpty())
return null; StringBuffer sb = new StringBuffer();
for (int i=0;i<resList.size();i++) {
Map<String, Object> linMap = (Map<String, Object>)resList.get(i);
String no = (String)linMap.get("invoiceno");
String billno = (String)linMap.get("vbillno"); sb.append(no==null?billno:no);
Integer st = (Integer)linMap.get("invoicestatus");
Integer type = (Integer)linMap.get("invoicetype");
String ty = "";
if(InvoiceType.VATCOM.getType() == type)
ty = "XX";
if(InvoiceType.VATPRO.getType() == type)
ty = "XX";
if(InvoiceType.VATELCOM.getType() == type)
ty = "XX";
// End if(st==InvoiceStatus.OUTED.getStatus()){
if(linMap.get("pk_buleid")!=null){
sb.append("(").append(ty+",").append("XX").append(")");
}else{
sb.append("(").append(InvoiceStatus.OUTED.getName()).append(")");
}
} // else if(st==InvoiceStatus.OUTING.getStatus()){
// sb.append("(").append(InvoiceStatus.OUTING.getName()).append(")");
// }
else if(st==InvoiceStatus.CANCEL.getStatus()){
sb.append("(").append(ty+",").append(InvoiceStatus.CANCEL.getName()).append(")");
}else if(st==InvoiceStatus.RCW.getStatus()){
sb.append("(").append(ty+",").append(InvoiceStatus.RCW.getName()).append(")");
}else{
sb.append("(").append(ty+",").append(InvoiceStatus.UNOUT.getName()).append(")");
}
if(i<resList.size()-1)
sb.append(",");
}
if(sb.length()>0)
return sb.toString();
} catch (BusinessException e) {
e.printStackTrace();
} return null;
}
返回描述为:
@Override
public String getFunctionDesc() {
return "invoiceall(String):传入XX主键,返回全部XX信息";
}
引入到配置文件中:
<?xml version="1.0" encoding="gb2312"?>
<formula-array>
<formula>
<customType>9</customType>
<functionName>invoiceall</functionName>
<functionClass>xx.xx.xx.InvoiceAll</functionClass>
</formula>
</formula-array>
配置文件放在nchome 下 resources/formulaconfig/custfunction/xx.xml
效果为:
NC 5系自定义显示公式的更多相关文章
- LCD12864 液晶显示-汉字及自定义显示(并口)
LCD12864带字库,型号:CM12864-12.其相关数据手册可以在百度中搜索“ST7920 系列中文图形液晶模块使用说明书”,里面有详细的介绍.这里就不在多描述. 其原理简图:(我们只需关心接口 ...
- Siteserver-stl:searchOutput(搜索结果)自定义显示样式
stl:searchOutput 自定义显示样式 自定义搜索提交表单需要在<stl:searchOutput>中嵌入显示搜索结果的标签,必须包含的标签 有<stl:pageConte ...
- TreeView 自定义显示checkbox
本项目需要对TreeView进行定制,要求比较简单,主要要求如下: Winform中TreeView控件默认只支持所有级别的CheckBox显示或者不显示,不能控制制定Level的树节点显示 效果如下 ...
- SharePoint 2013 关于自定义显示列表表单的bug
1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹 ...
- LR脚本自定义显示Controller虚拟用户状态
在场景监控的过程中,想知道场景运行时Vusers的运行状态以及每一个Vuser虚拟用户在本次场景运行的过程共迭代了多少次,那么就需要在VuGen脚本中自定义显示虚拟用户状态信息. 代码如下: stat ...
- LCD12864 液晶显示-汉字及自定义显示(串口)
在网上找了许久,发现FPGA用串口驱动LCD12864程序很少,基本上没有.刚开始窃喜,中间郁闷,最后还是高兴,为什么这样说呢!头一回在没有参考程序的情况下,完全是照时序图写(自信),中间调试过程遇到 ...
- ToastCustom【自定义显示风格的Toast】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 基于系统Toast的自定义显示风格的Toast. 效果图 代码分析 ToastCustom类基于系统Toast,不是继承Toast, ...
- piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)
访客头像 自定义显示访问者头像(URL)和描述(标题和替代) 链接地址:https://plugins.matomo.org/VisitorAvatar#description
- C# TreeView 自定义显示checkbox
本项目需要对TreeView进行定制,要求比较简单,主要要求如下: Winform中TreeView控件默认只支持所有级别的CheckBox显示或者不显示,不能控制制定Level的树节点显示 效果如下 ...
随机推荐
- linux 设备驱动分类
1. 字符设备 :在I/O传输过程中以字符为单位. 2. 块设备: 在传输过程中以块为单位,相关概念有 缓冲,I/O调度,请求队列.主要体现出与字符设备在操作硬件的接口实现方式上是不一样的. 3. 网 ...
- svn转git合并代码
在Git Bash 中输入 git-svn clone http://devsvnread.uuzuonline.net/GOT_PRIVATE/server/ --no-metadata -T tr ...
- mysql查询记录修改时间于现在大于30分钟
(unix_timestamp(now())-`updatetime`)>1800
- 运用active和hover实现导航栏的页面切换
.nav ul li a:hover{ background: #3E6EDD;}.nav ul li a:hover img{ display: block;}.nav ul li a.active ...
- jar is specified twice.
Warning:Exception while processing task java.io.IOException: The same input jar [libs\afinal_0.5.1_b ...
- 1、CDH 搭建Hadoop在安装之前(存储空间规划)
Cloudera Manager的存储空间规划 最低要求角色: 完全管理员 Cloudera Manager跟踪许多后台进程中的服务,作业和应用程序的度量标准.所有这些指标都需要存储.根据组织的大小, ...
- 为什么要用MarkDown?
[为什么要用MarkDown?] 大部分作家用 Word 或 Pages 写作,过去的文档也大都以 .doc, .docx 格式或是 Pages 格式储存.还有人为了保证文稿发给谁都能正常打开,会用 ...
- json数组转java对象
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>ison-lib</art ...
- linux系统修改系统时间与时区
有装过Linux系统的人,可能都会有这样的经历,就是该机器安装windows系统时,时间正确,但是安装了linux系统后,尽管时区选择正确,也会发现系统时间不对.这是由于安装系统时采用了UTC,那么什 ...
- MAT eclipse内存分析工具
启动的时候提示: Failed to load the JNIshared library 解决办法: 查看配置文件:MemoryAnalyzer.ini --launcher.librarypl ...