一、设置卡片界面下 金额字段负数为红色!

 /**
* 设置卡片界面下 金额字段负数为红色!
*/
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笔记(编辑中)的更多相关文章

  1. [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】

    感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...

  2. Android笔记——Android中数据的存储方式(二)

    我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...

  3. [.NET] 《Effective C#》快速笔记 - C# 中的动态编程

    <Effective C#>快速笔记 - C# 中的动态编程 静态类型和动态类型各有所长,静态类型能够让编译器帮你找出更多的错误,因为编译器能够在编译时进行大部分的检查工作.C# 是一种静 ...

  4. java有关 String char 常见问题 编辑中

    1 输入输出有关 Scanner 的next()方法 返回值是String 所以尝试获得char时 应该用input.next().charAt[0] 2 空值 String 中null是指 对象引用 ...

  5. 涂抹mysql笔记-数据库中的权限体系

    涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password. ...

  6. ArcGIS案例学习笔记-点集中最近点对和最远点对

    ArcGIS案例学习笔记-点集中最近点对和最远点对 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于点图层,查找最近的点对和最远的点对 数据: 方法: 1. ...

  7. 二、Laya学习笔记 ---- Laya中如何新建一个场景UI并使用

    因为我之前是用Egret的,Egret是场景皮肤HomeSceneSkin.exml,然后在场景代码HomeScene代码中为该场景赋值皮肤this.skinName = "HomeScen ...

  8. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

  9. easyui datagrid行编辑中数据联动

    easyui的datagrid中行内编辑使用数据联动.即:当编辑产品编号时,该行的产品名称自动根据产品编号显示出来. 在编辑中获取当前行的索引 function getRowIndex(target) ...

随机推荐

  1. ZeroC Ice 暂记

    摘自: http://weibo.com/p/1001603869896789339575 原文地址: http://www.oschina.net/question/865233_242146 吴治 ...

  2. 将Excel数据导入数据库

    Excel如下,这页工作表名叫“线路” 数据库表如下 using System; using System.Collections.Generic; using System.Linq; using ...

  3. CSAPP学习笔记(异常控制流1)

    1:诸如子进程结束之后父进程需要被告知,有时候应用程序需要系统调用,内核通过上下文切换将控制从一个进程切换到另一个进程,还有一个进程发送信号到另一个进程时接收者转而到它的信号处理函数去执行等等,我们的 ...

  4. 用Python读写Excel文件(转)

    原文:google.com/ncr 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TA ...

  5. 重走java--Step 3

    java基础(三)之枚举用法用法一:常量 public enum Color {    RED,GREEN,RED,YELLOW;}用法二:枚举中自定义方法/** * 枚举中自定义方法 */publi ...

  6. C++使用protobuf传输中间包含\0的字节数组

    The C++ implementation of protocol buffers returns the byte and string types as std::string. This st ...

  7. JavaScript 中this与Dom中的注意

    对于下面这段代码: <script type='text/javascript'> function testThis() { console.log(this); } </scri ...

  8. easyui combobox点击输入框弹出下拉框

    由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...

  9. table 固定表头

    1 .table { border-collapse: collapse; } .table th { display: table-cell; } .fixedThead {//thead disp ...

  10. 敏捷软件开发vs传统软件开发

    摘要 本文介绍了传统软件开发(着重介绍了传统软件开发中常用的瀑布模型)和敏捷软件开发,以及敏捷开发和传统开发的对比. 一.传统软件开发 比较常用的几种传统软件开发方法:瀑布式开发.迭代式开发.螺旋开发 ...