NC nc5.x笔记(编辑中)
一、设置卡片界面下 金额字段负数为红色!
/**
* 设置卡片界面下 金额字段负数为红色!
*/
private void repaintBodyMoneyColor(){
if(!isListPanelSelected()){
int rows = getBModel().getRowCount();
if(rows>0){
for(int i=0;i<rows;i++){
CbGatheringBVO bvo = (CbGatheringBVO)getBModel().getBodyValueRowVO(i, CbGatheringBVO.class.getName());
if(bvo!=null){
if(SafeCompute.compare(UFDouble.ZERO_DBL, bvo.getNbroddaccountreceiv())>0
||SafeCompute.compare(UFDouble.ZERO_DBL, bvo.getNboddaccountreceiv())>0){
setBodyForeGroundByRow(tabB,i,new String[]{"nbroddaccountreceiv","nboddaccountreceiv"}, Color.RED);
}
}
}
}
}
}
二、读取XML并解析参数
Document document = null;
try {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
// 接收XX电子票返回的信息
document = builder.parse(new ByteArrayInputStream(retStr
.getBytes("utf-8")));
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException("更新失败!!!解析XX返回信息为: " + document);
}
NodeList fphm = document.getElementsByTagName("FP_HM"); // XX号码
NodeList fpdm = document.getElementsByTagName("FP_DM"); // XX代码
NodeList kprq = document.getElementsByTagName("KPRQ");
NodeList code = document.getElementsByTagName("returnCode");
NodeList msg = document.getElementsByTagName("returnMsg");
NodeList pdfurl = document.getElementsByTagName("PDF_URL");
String returncode = code.item(0).getTextContent();
String returnMsg = msg.item(0).getTextContent();
String PDF_URL = pdfurl.item(0).getTextContent(); if (!"0".equals(returncode)) {
throw new BusinessException("更新开票失败!!!XX返回信息为: " + returnMsg);
} String FP_HM = fphm.item(0).getTextContent();
String FP_DM = fpdm.item(0).getTextContent();
String KPRQ1 = kprq.item(0).getTextContent();
String KPRQ = KPRQ1.substring(0, 4) + KPRQ1.substring(4, 7)
+ KPRQ1.substring(7, 10);
三、继承ManageEventHandler取AggVO(按钮事件类)
@Override
protected void onBoSave() throws Exception { VatinvoiceAggVO aggVO = (VatinvoiceAggVO) getBillCardPanelWrapper()
.getBillVOFromUI();
VatinvoiceBVO[] vatinvoiceBVO = (VatinvoiceBVO[]) aggVO.getChildrenVO();
UFDouble amount = new UFDouble(0);
UFDouble amountnotax = new UFDouble(0);
UFDouble taxamount = new UFDouble(0);
for (VatinvoiceBVO vatBVO : vatinvoiceBVO) {
// 表体含税金额
amount = amount.add(vatBVO.getAmount());
// 表体无税金额
amountnotax = amountnotax.add(vatBVO.getAmountnotax());
// 表体税额
taxamount = taxamount.add(vatBVO.getTaxamount());
}
// 表头
getBillCardPanelWrapper().getBillCardPanel().getHeadItem("totalamount")
.setValue(amount);
getBillCardPanelWrapper().getBillCardPanel()
.getHeadItem("totalamountnotax").setValue(amountnotax);
getBillCardPanelWrapper().getBillCardPanel()
.getHeadItem("totaltaxamount").setValue(taxamount);
getBillCardPanelWrapper().getBillCardPanel().dataNotNullValidate();
// 表尾
getBillCardPanelWrapper().getBillCardPanel().getHeadTailItem("pk_checker").setValue(getChecker(headVO.getPk_manager()));
super.onBoSave();
}
四、按钮事件类下判断是什么界面
BillManageUI manageUI = (BillManageUI) getBillUI();
boolean isListPanel = manageUI.isListPanelSelected();
if(isListPanel){//列表界面 }else{//卡片界面 }
五、取得所有行数
int[] selects = manageUI.getBillListPanel().getHeadTable()
.getSelectedRows();
for (int i : selects) {
VatinvoiceAggVO aggVO = (VatinvoiceAggVO) getBufferData()
.getVOByRowNo(i);
}
六、eclispce起中间间报内存不足
-Dnc.exclude.modules=${FIELD_EX_MODULES} -Dnc.runMode=develop -Dnc.server.location=${FIELD_NC_HOME} -DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs -DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLs
-Xms512m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m
-Duser.timezone=GMT+8
七、设置单据号
String billcode = (new BillcodeGenerater()).getBillCode(
"节点编码", 公司主键, null, null);
八、取单据VO
AggregatedValueObject[] vos = getBillListPanelWrapper().getBillListPanel().getMultiSelectedVOs(
HzAuthenticateBillVO.class.getName(), HzAuthenticateHVO.class.getName(),
HzAuthenticateHVO.class.getName());
for (AggregatedValueObject vo : vos) {
String key = vo.getParentVO().getPrimaryKey();
HzVatinvoiceBillVO vatbillvo = (HzVatinvoiceBillVO) getService().queryBillVOByPrimaryKey(billVOName, key);
}
NC nc5.x笔记(编辑中)的更多相关文章
- [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】
感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...
- Android笔记——Android中数据的存储方式(二)
我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...
- [.NET] 《Effective C#》快速笔记 - C# 中的动态编程
<Effective C#>快速笔记 - C# 中的动态编程 静态类型和动态类型各有所长,静态类型能够让编译器帮你找出更多的错误,因为编译器能够在编译时进行大部分的检查工作.C# 是一种静 ...
- java有关 String char 常见问题 编辑中
1 输入输出有关 Scanner 的next()方法 返回值是String 所以尝试获得char时 应该用input.next().charAt[0] 2 空值 String 中null是指 对象引用 ...
- 涂抹mysql笔记-数据库中的权限体系
涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password. ...
- ArcGIS案例学习笔记-点集中最近点对和最远点对
ArcGIS案例学习笔记-点集中最近点对和最远点对 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于点图层,查找最近的点对和最远的点对 数据: 方法: 1. ...
- 二、Laya学习笔记 ---- Laya中如何新建一个场景UI并使用
因为我之前是用Egret的,Egret是场景皮肤HomeSceneSkin.exml,然后在场景代码HomeScene代码中为该场景赋值皮肤this.skinName = "HomeScen ...
- 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音
<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...
- easyui datagrid行编辑中数据联动
easyui的datagrid中行内编辑使用数据联动.即:当编辑产品编号时,该行的产品名称自动根据产品编号显示出来. 在编辑中获取当前行的索引 function getRowIndex(target) ...
随机推荐
- c#全局鼠标事件以及鼠标事件模拟
最近在编写Max插件时,其主容器FlowLayoutPanel由于隐藏了滚动条,要实现按住鼠标中键上下拖动的功能,因此尝试了全局鼠标事件.以及鼠标勾子,可惜由于Max不争气?都未能实现,于是代码报废, ...
- Android启动标记
1. Task是包含一系列Activity的堆栈, 遵循先进后出原则. 2. Task默认行为: (1) 前提: Activity A和Activity B在同一个应用中. 操作: Activity ...
- JAVA学习笔记(33-53)
33:java中的多维数组,以二位为例: 创建方法:int[][] a = new int[2][3]; 建立一个5*5的数组. 或者下面的建立方法也可以: int[][] c = { {1, 2, ...
- Datasnap Image
delphi用,不能与java.c#互相识别. procedure TServerMethods.UpdateDoc(ItemID : integer; doc : TStream); delphi用 ...
- MySQL索引原理及慢查询优化(转)
add by zhj:这是美团点评技术团队的一篇文章,讲的挺不错的. 原文:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰 ...
- 通过sqoop来传输mysql/oracle/vertica数据至HBASE
首先要注意将连接用的jar包,放到sqoop目录下,我的是/var/lib/sqoop 如果没有主键,则要加上-m 1 export正确的jdk目录 当做key的列必须唯一存在,不然报错 --mysq ...
- 如何在一台电脑上开启多个tomcat
大家基本上都只在一台电脑上面启动一个Tomcat,而启动多个Tomcat会提示报错等相关故障.而假如调试负载均衡及集群的时候,需要在一台电脑上面开启多个Tomcat,那么怎么开启呢? 首先需要知道的是 ...
- PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码
PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码 <?php /* *通过禁止IP频繁访问防止网站被防攻击代码*design by www.scutephp.com*/header('C ...
- Angular JS中双击事件ng-dblclick避免同时触发两次单击事件ng-click的解决方案
有些需求中,需要一个元素上既有双击事件,也有单击事件,而两者实现的效果不一样. 这时可以使用ng-dblclick与ng-click来实现需求,但是要避免浏览器将双击事件误认为是两次单击事件,从而出现 ...
- react-jsx
本文同步至微信公众号http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=402252760&idx=1&sn=6952c4 ...