nc细节点

nc细节点

1.每个新home都要替换这个xml文件

2.新建的自定义档案所在的路径

3.在已经发布好的单据上新加一个表体时生成Java源代码的注意事项

可以重新生成Java源代码到其他路径位置上,然后再去生成的路径上把新加的表体VO拿到工作空间里面就可以了

4.rest.properties的路径

5.sql语句

sql 复制代码
//修改自定义参照的参照名称的sql
//md_class是实体表,displayname是显示名称
select id from md_class where displayname like '%税盘编号%'
//refmodelname是参照名称
update md_class set refmodelname = '税盘编号(自定义档案)-自定义' where id='100lAZ10000000332L5P'

//通过 自定义档案列表编码 查询 自定义档案主键,自定义档案编码,自定义档案名称
//自定义档案列表编码:ZDY_YXLX,ZDY_TBLX...
//自定义档案编码:01,02...
select pk_defdoc,code,name from bd_defdoc where pk_defdoclist =
(select pk_defdoclist bd_defdoclist where code = '自定义档案列表编码')

//通过单据类型查询单据名称
select * from bd_billtype where pk_billtypecode = 'YH04'

//查询具体参照名
select * from bd_refinfo where name like'%客户%'

//查询下游单据
select forwardbilltype from bd_billtype where pk_billtypecode='YH06'

//删除表
drop table yhlx_yhlypxhtfkd

//pub_billtemplet单据模板表
select * from pub_billtemplet where modulecode like 'H6%'


//删除表中全部数据
delete from yhlx_yhlypxhtfkd

//实体[xxx]没有实现制定的业务接口:nc.itf.uap.pf.metadata.IHeadBodyQueryItf
//classid对应值换成报错的实体id,执行完一定要点提交才能生效,提交后重启服务
insert into md_bizitfmap
  (bizinterfaceid,
   bizitfimpclassname,
   classattrid,
   classattrpath,
   classid,
   dr,
   industry,
   intattrid,
   ts,
   versiontype)
values
  ('5205ef20-5eae-4c75-bad8-16639152e622',
   null,
   null,
   null,
   'f8402ac6-042a-4734-b254-4b76efd3fba6',
   null,
   null,
   '5205ef20-5eae-4c75-bad8-16639152e622',
   '2018-05-16 11:39:09',
   null);

6.前端获取数据要用到的方法

java 复制代码
//空字符型数据处理,null返回UFDouble.ZERO_DBL
NullValueUtils.getNullStringValue()

//空运算型数据处理,null返回""
NullValueUtils.getNullUFdoubleValue()

//获取当前编辑字段
getKey()

//获取当前编辑字段的值
getValue()

//获取表体总行数
getBillCardPanel().getBillModel("页签编码").getRowCount()

//获取表体当前编辑行
getBillCardPanel().getBillTable().getSelectedRow()

//获取表头字段的值
getBillCardPanel().getHeadItem("字段名").getValueObject()

//获取表体字段的值
getBillCardPanel().getBillModel().getValueAt(row, "字段名")

//给表头字段赋值
getBillCardPanel().setHeadItem("字段名","值")

//给表体字段赋值
getBillCardPanel().setBodyValueAt("值",row, "字段名")

//判断UFDouble型数据是否为0
UFDouble型数据.compareTo(UFDouble.ZERO_DBL)==0

//获取选中aggvo
AggXxxVO aggvo = getSelectedAggVo()

//通过aggvo获取表头
aggvo.getParentVO()

//通过aggvo获取表体
XxxBVO[] bvos = (XxxBVO[]) aggvo.getChildren(XxxBVO.class)

7.前后端执行sql要用到的语句

java 复制代码
//一行多列
List<String> objs = (List<String>) getService().executeQuery(sql, new ColumnListProcessor());

//一行一列
String obj = (String) getService().executeQuery(sql, new ColumnProcessor());

//一行多列
Object[] objs = (Object[]) getService().executeQuery(sb.toString(), newArrayProcessor());

//多行多列
List<Object[]> list = (List<Object[]>) getDao().executeQuery(sb.toString(), new ArrayListProcessor());

//表头VO接收
VO hvo = (VO) getService().executeQuery(sql, new BeanProcessor(VO.class));

//表体VO接收
List<BVO> bvos= (List<BVO>) getService().executeQuery(sql, new BeanListProcessor(BVO.class));

//client端根据主键查aggvo
BillAggVO aggvo = MDPersistenceService.lookupPersistenceQueryService().queryBillOfVOByPK(BillAggVO.class, pk_paybill,false);

//private端根据主键查aggvo
BillQuery<AggLoanfkVo> billQuery = new BillQuery< AggLoanfkVo>( AggLoanfkVo.class);
AggLoanfkVO[] loanfkvos = billQuery.query(list.toArray(new String[0]));

//通过单据类型和主键查aggvo
AggregatedValueObject aggvo = MobileAppUtil.queryBillEntity(parantbillType, billid);

//前端查sql要用到的方法
private IUAPQueryBS service;
private IUAPQueryBS getService() {
	if (service == null) {
		service = NCLocator.getInstance().lookup(IUAPQueryBS.class);
	}
	return service;
}

//后端查sql要用到的方法
private BaseDAO dao;
private BaseDAO getDao() {
	if(dao == null) {
		dao = new BaseDAO();
	}
	return dao;
}

//要修改哪个单子调哪个单子的接口
private ICjtbxmdjMaintain service;
private ICjtbxmdjMaintain getService(){
	if (service == null) {
		service = NCLocator.getInstance().lookup(ICjtbxmdjMaintain.class);
	}
	return service;
}

8.类型转换

java 复制代码
//Int转String
String s = String.valueOf(i);
String s = Integer.toString(i);
String s = "" + i;

//String转Int
int i = Integer.valueOf(str).intValue();

//String转Integer
Integer.parseInt(s);

//集合转数组
LoanctexcBVO[] newBVO = list.toArray(new LoanctexcBVO[0]);

//数组转集合
ArrayList<LoanctexcBVO> list = new ArrayList<>(Arrays.asList(bvos));

//JSON转VO
new Gson().fromJson(jsonInfo,JkAddVO.class);

//VO转JSON
new Gson().toJson(VO数组);

9.快捷键

java 复制代码
//大写转小写快捷键
ctrl + shift + Y

//小写转大写快捷键
ctrl + shift + X

//打开资源
ctrl + shift + R

//为本地变量赋值
ctrl+2,L

//重命名
alt+shift+r

//将当前行的内容往上或下移动(try/catch)
Alt+方向键

//文本编辑器 查找上一个 
Ctrl+Shift+K 

//文本编辑器 查找下一个 
Ctrl+K 

//下一个错误
ctrl+.

//快速修改
ctrl+1

//当前行之下创建一个空白行
shift+enter

//当前行之上创建一个空白行
ctrl+shift+enter

//提取本地变量及方法
alt+shift+l以及alt+shift+m

//快速outline
ctrl+o

//快速转换编辑器
ctrl+e

//编辑窗口最大化
ctrl+m

10.其他

java 复制代码
//根据主数量计算无税单价、含税单价、价税合计内部封装的方法
BusiCalculator cal = BusiCalculator.getBusiCalculatorAtBS();
cal.calcMnyNCC(purchaseInBodyVOs, "nnum");

//将此list2中的所有元素加入到当前list1中
list1.addAll(list2);

//数据库更新语句的使用
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

//数据库中的连接符的使用
把列与列,列与字符连接在一起。用 '||'表示。可以用来'合成'列。

//返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str)
  
//用新字符newChar 替换所有的 旧字符oldChar
String replace(char oldChar, char newChar) 

//从0开始数,其中不包括endIndex位置的字符
String substring(int beginIndex, int endIndex) 

//UFDateTime转Date
hvo.getCreationtime()==null ? "" : new Date(hvo.getCreationtime().toDate().getTime())

//数据库插入语句的使用
insert into 表名(列名1,列名2,列名3.....) values(值1,值2,值3.....)

//返回map集合中所有的键的Set集合
map.keySet()

//set集合转数组
set.toArray(new String[0])

//list集合转数组
list.toArray(new String[0])

//代码中去除警告的方法
@SuppressWarnings("unchecked")

//按特殊符号截取字符串并把截取的字符串分别存放到数组中(split函数)
String vchangerate = NullValueUtils.getNullStringValue(bodyvo.getVchangerate());
if(!"".equals(vchangerate)) {
	String[] bzs = vchangerate.split("/");
	item.setBz(bzs[0]);// 包装(换算率)
}

//档案新增方法
BatchOperateVO batchVO = new BatchOperateVO();
batchVO.setAddObjs(new Cjyxdk[]{dkvo});
getSv().batchSave(batchVO);

//将客户端传来的'是','否'转换成'Y','N'
private String getBoolean(String str) {
	if(str == null||"".equals(str)) {//防止空指针异常
		return "N";
	}else {
		if(str.equals("是")) {//如果是写成"是".equals(str)就不会有空异常
			return "Y";
		}else {
			return "N";
		}
	}
}

//往aggvo的子表中赋值
aggvo.setChildren(BuaFsealappBVO.class, bvoList.toArray(new BuaFsealappBVO[0]));
setChildrenVO():
aggvo.setChildrenVO(bvoList.toArray(new BuaFsealappBVO[0]));

11.导包

java 复制代码
//NC开发导包汇总
//List
import java.util.List;

//ArrayList
import java.util.ArrayList;

//Map
import java.util.Map;

//HashMap
import java.util.HashMap;

//ExceptionUtils
import nc.vo.pubapp.pattern.exception.ExceptionUtils;

//BusinessException
import nc.vo.pub.BusinessException;

//BaseAction
import nc.ui.yhlypx.pub.baseaction.BaseAction;

//SqlBuilder
import nc.vo.pubapp.pattern.pub.SqlBuilder;

//IRule
import nc.impl.pubapp.pattern.rule.IRule;

//ICompareRule
import nc.impl.pubapp.pattern.rule.ICompareRule;

//UpdateBPTemplate
import nc.impl.pubapp.pattern.data.bill.template.UpdateBPTemplate;

//JSONObject
import com.alibaba.fastjson.JSONObject;

//BatchOperateVO
import nc.vo.bd.meta.BatchOperateVO;
相关推荐
喵叔哟5 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生11 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
不是二师兄的八戒34 分钟前
本地 PHP 和 Java 开发环境 Docker 化与配置开机自启
java·docker·php
爱编程的小生1 小时前
Easyexcel(2-文件读取)
java·excel
带多刺的玫瑰1 小时前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
计算机毕设指导62 小时前
基于 SpringBoot 的作业管理系统【附源码】
java·vue.js·spring boot·后端·mysql·spring·intellij-idea
Gu Gu Study2 小时前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言
Chris _data2 小时前
二叉树oj题解析
java·数据结构
牙牙7052 小时前
Centos7安装Jenkins脚本一键部署
java·servlet·jenkins
paopaokaka_luck2 小时前
[371]基于springboot的高校实习管理系统
java·spring boot·后端