NC-NCC笔记

这篇博客详细介绍了NC服务类中的查询服务、数据库操作工具以及单据转换功能。内容包括自定义档案查询、自动增行、SQL构建、列表操作、临时表创建、调用公式以及页面排序等实用工具的使用方法,为NC系统的开发和维护提供了重要的参考资料。
摘要由CSDN通过智能技术生成

查询服务

功能注册(节点与按钮)数据库查询服务。

IFuncRegisterQueryService

自定义档案查询

IDefdoclistQryService

读取配置文件服务类

IReadPropService

NC 工具服务类

自动增行工具类

//在最后增N行时,自动设置所有新增行的行号。
BillRowNoUtils.addLineRowNos(BillCardPanel pnlCard, String sRowNOKey,
      int iSetCount);
//增一行后,自动添加新增行的行号。
BillRowNoUtils.addLineRowNo(BillCardPanel pnlCard, String sRowNOKey)
//从元数据对照中获取表体行号的字段名
BillRowNoUtils.getCurrentBodyTableRownoKey(BillCardPanel billCardPanel) ;
SQL工具类
//类路径
//nc.vo.arap.util.SqlUtils_Pub
/**
* 获得In 语句
* @param fieldName 字段名
* @param pks       主键数组
*/
String insql = SqlUtils_Pub.getInStr("vbdef3", list.toArray(new String[0]));


NC 列表操作笔记
//取当前表头选中行
int selectedNO =this.getLocationListPanel().getHeadTable().getSelectedRow(); 

//设置列表选择表头第几行到几行     
getLocationListPanel().getHeadTable().setRowSelectionInterval(0, 0);

//取表体所有行
int  rowcunt=this.getLocationListPanel().getBodyTable().getRowCount()-1; 

//设置列表选择表体第几行到几行   
getLocationListPanel().getBodyTable().getSelectionModel().setSelectionInterval(j, j);  

//创建一个模板字段
BillTempletBodyVO bi =this.getBillTempletBodyVO("是否扫码减数量", ISCODENUM, 1, false,IBillItem.BOOLEAN, 1, 50, true);

  /**
* @Title: getBillTempletBodyVO
* @Description: 创建一个模板字段
* @param name  显示名字
* @param key 字段key
* @param showorder 显示顺序
* @param isbody 是否表体字段
* @param itype 字段类型
* @param iwidth 宽度
* @param inputlen 输入长度
* @param bedit 是否可编辑
* @return BillTempletBodyVO
* @author lzl
* @date 2021年7月17日
* @throws
*/
  private BillTempletBodyVO getBillTempletBodyVO(String name, String key,
      int showorder, boolean isbody, int itype, int iwidth, int inputlen,
      boolean bedit) {
    BillTempletBodyVO bi = new BillTempletBodyVO();
    if (isbody) {
      bi.setPos(Integer.valueOf(IBillItem.BODY));
    }
    else {
      bi.setPos(Integer.valueOf(IBillItem.HEAD));
    }
    bi.setDefaultshowname(name);
    bi.setDatatype(Integer.valueOf(itype));
    bi.setInputlength(Integer.valueOf(inputlen));
    bi.setEditflag(bedit ? Boolean.TRUE : Boolean.FALSE);
    bi.setItemkey(key);
    bi.setWidth(Integer.valueOf(iwidth));
    bi.setShoworder(Integer.valueOf(showorder));
    bi.setCardflag(Boolean.TRUE);
    bi.setListflag(Boolean.FALSE);
    return bi;
  }


NC数据库创建临时表
SqlBuilder sql = new SqlBuilder();
sql.append(" select * from ");
sql.append(" po_comparebill_b ");
sql.append(" where ");
IDExQueryBuilder iq = new IDExQueryBuilder("temp_comparebill_srcbid");
sql.append(iq.buildSQL("csrcbid", map.keySet().toArray(new String[0])));
NC单据转换 (拉单 推单)
//来源单据类型 , 转换单据类型,转换单据数据vo
EInvoiceAggVO[] aggvos = PfServiceScmUtil.executeVOChange(SOBillType.Invoice.getCode(), "E32", vos);
调用NC公式
FormulaParseFather parse = null;
String fomular = "value->getcolvalue(" + table + "," + filed + "," + wherefiled + ",value)";
    if (RuntimeEnv.getInstance().isRunningInServer()) {
      parse = new nc.bs.pub.formulaparse.FormulaParse();
   } else {
     parse = new nc.ui.pub.formulaparse.FormulaParse();
    }
    parse.setExpress(fomular);
    parse.addVariable("value", value);
    //获得公式执行的值
   String str= parse.getValue();
NC实用工具类
//计算工具类
nc.vo.pubapp.pattern.pub.MathTool
//sql构建帮助类
nc.vo.pubapp.pattern.pub.SqlBuilder
//文件操作基本类
nc.vo.pfxx.util.FileUtils
//SQL预编译查询参数对象
nc.vo.sql.SQLParam
NC 页面排序
//页面排序
getBillCardPanel().getBillModel("conbilltype").sortByColumn("dealtime", true);

//VO排序
nc.vo.trade.voutils.VOUtil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值