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的树节点显示 效果如下 ...
随机推荐
- Netty 能做什么
作为一个学Java的,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,会点SSH,写几个MVC,访问数据库和缓存,这些只是初等Java程序员干的事.如果你要进阶,想了解J ...
- Jmeter:性能测试指南(转)
http://yukinami.github.io/2015/11/26/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95%E6%8C%87%E5%8D%97/ 性能测试指南 ...
- UML中的关联,泛化,依赖,聚集,组合(转)
转自:http://blog.sina.com.cn/s/blog_5f8b45f20100dzjo.html 关联(association): 这是一种很常见的关系,这种关系在我们的生活中到处可见, ...
- WPF背景透明内嵌WebBrowser不显示问题,即AllowsTransparency = true 和 Webbrowser 等控件显示冲突
首先感谢两位先导者: 1. 解决 WPF AllowsTransparency = true 和 Webbrowser 等控件显示冲突 原文地址:https://www.cnblogs.com/zhi ...
- pta7-20 畅通工程之局部最小花费问题(Kruskal算法)
题目链接:https://pintia.cn/problem-sets/15/problems/897 题意:给出n个城镇,然后给出n×(n-1)/2条边,即每两个城镇之间的边,包含起始点,终点,修建 ...
- JAVA jar 参数
-client to select the "client" VM -server to select the "server" ...
- Android 支付宝/微信支付结果判断
微信支付结果码 private static final int PAY_OK = 0; //交易成功 private static final int PAY_ERR = -1; //交易失败 pr ...
- TOJ5398: 签到大富翁(简单模拟) and TOJ 5395: 大于中值的边界元素(数组的应用)
Python代码!!! 5395 传送门:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=53 ...
- f5 SSL及证书
1.SSL卸载 1)在BIG-IP上终结SSL连接BIG-IP可以全面了解应用,可以使用iRules, Profiles等,可以释放server的资源 2)包含:统一管理证书与密钥:支持基于硬件的关键 ...
- Django的Rbac介绍1
1.django的权限管理叫做RBAC 我们在百度上查看RBAC的概念如下 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的 ...