1、继承NcInnerFunction(nc.vo.pub.formulaset.function.NcInnerFunction)

在方法中引用父类方法function,并在里面写方法

@Override
public Object function(List param) throws ParseException {
if(param==null&&param.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系自定义显示公式的更多相关文章

  1. LCD12864 液晶显示-汉字及自定义显示(并口)

    LCD12864带字库,型号:CM12864-12.其相关数据手册可以在百度中搜索“ST7920 系列中文图形液晶模块使用说明书”,里面有详细的介绍.这里就不在多描述. 其原理简图:(我们只需关心接口 ...

  2. Siteserver-stl:searchOutput(搜索结果)自定义显示样式

    stl:searchOutput 自定义显示样式 自定义搜索提交表单需要在<stl:searchOutput>中嵌入显示搜索结果的标签,必须包含的标签 有<stl:pageConte ...

  3. TreeView 自定义显示checkbox

    本项目需要对TreeView进行定制,要求比较简单,主要要求如下: Winform中TreeView控件默认只支持所有级别的CheckBox显示或者不显示,不能控制制定Level的树节点显示 效果如下 ...

  4. SharePoint 2013 关于自定义显示列表表单的bug

    1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹 ...

  5. LR脚本自定义显示Controller虚拟用户状态

    在场景监控的过程中,想知道场景运行时Vusers的运行状态以及每一个Vuser虚拟用户在本次场景运行的过程共迭代了多少次,那么就需要在VuGen脚本中自定义显示虚拟用户状态信息. 代码如下: stat ...

  6. LCD12864 液晶显示-汉字及自定义显示(串口)

    在网上找了许久,发现FPGA用串口驱动LCD12864程序很少,基本上没有.刚开始窃喜,中间郁闷,最后还是高兴,为什么这样说呢!头一回在没有参考程序的情况下,完全是照时序图写(自信),中间调试过程遇到 ...

  7. ToastCustom【自定义显示风格的Toast】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 基于系统Toast的自定义显示风格的Toast. 效果图 代码分析 ToastCustom类基于系统Toast,不是继承Toast, ...

  8. piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)

    访客头像 自定义显示访问者头像(URL)和描述(标题和替代) 链接地址:https://plugins.matomo.org/VisitorAvatar#description

  9. C# TreeView 自定义显示checkbox

    本项目需要对TreeView进行定制,要求比较简单,主要要求如下: Winform中TreeView控件默认只支持所有级别的CheckBox显示或者不显示,不能控制制定Level的树节点显示 效果如下 ...

随机推荐

  1. opencv 学习笔记

    Opencv 笔记 路径问题: 路径输入:Opencv载Qt中不能出现汉字,路径也不能出现汉字在vs中可以出现. (”D:/QTopencv/.1jpg”)=(”D:\\QTopencv\\.1jpg ...

  2. 2.5、CDH 搭建Hadoop在安装(设置Cloudera Manager数据库)

    步骤5:设置Cloudera Manager数据库 Cloudera Manager Server包含一个可以为自己创建和配置数据库的脚本.该脚本可以: 创建Cloudera Manager Serv ...

  3. Java判断一个字符串中有多少大写字母、小写字母和数字

    Java判断一个字符串中有多少大写字母.小写字母和数字 思路: 大写字母就是A-Z之间,小写字母是a-z之间,数字就是0-9之间,于是做判断就好:用到的String知识点,遍历字符串, 长度方法len ...

  4. 调试JS代码的神器

    1.火狐浏览器的 “Web开发者” 可以打断点,实时查看当前值 2.谷歌浏览器的“开发者工具” 可以打断点,实时查看当前值

  5. pyinstaller linux系统下打包python源文件

    将python程序放在其他linux服务器中执行,通常linux服务器中默认安装python2.6,很多情况下需要升级为2.7  且要安装程序中需要的第三方模块,配置较为麻烦,所以通过在本地linux ...

  6. html中相对(relative),绝对(absolute)位置以及float的学习和使用案例 (转)

    这几天着手于CSS的研究,研究的原因主要是工作需要,最近发现如果做前端仅仅会javascript很难尽善尽美,当然懂样式和html在一定程度上可以让我们更近一步. css较为简单,由于个人擅长编写代码 ...

  7. 从上往下打印二叉树(python)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # ...

  8. numpy 之矩阵的认知

    di numpy 矩阵的创建与应用 可以用np.mat(a) 将a转变成矩阵 矩阵的加减法和 array相同 矩阵的乘法,如果矩阵要相乘的话就要A矩阵的行数,和B矩阵的列数相同才可以 这是查看数组不重 ...

  9. 贪吃蛇Controller Java实现(二)

    package cn.tcc.snake.Controller; import java.awt.Point;import java.awt.event.KeyAdapter;import java. ...

  10. Hdu1805-Expression(表达式树模版题+层序遍历树+栈的基本应用)

    2018-11-23-02:27:37 原题链接 题目描述: 题目一目了然. 本题思路: 本题很容易能想到是构建表达式树然后按照层序逆序输出即可. AC代码: #include <cstdio& ...