NC nc5.x笔记(编辑中)

Posted 冬瓜茶饮料

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NC nc5.x笔记(编辑中)相关的知识,希望对你有一定的参考价值。

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

 1 /**
 2      * 设置卡片界面下 金额字段负数为红色!
 3      */
 4     private void repaintBodyMoneyColor(){
 5         if(!isListPanelSelected()){
 6             int rows = getBModel().getRowCount();
 7             if(rows>0){
 8                 for(int i=0;i<rows;i++){
 9                     CbGatheringBVO bvo = (CbGatheringBVO)getBModel().getBodyValueRowVO(i, CbGatheringBVO.class.getName());
10                     if(bvo!=null){
11                         if(SafeCompute.compare(UFDouble.ZERO_DBL, bvo.getNbroddaccountreceiv())>0
12                                 ||SafeCompute.compare(UFDouble.ZERO_DBL, bvo.getNboddaccountreceiv())>0){
13                             setBodyForeGroundByRow(tabB,i,new String[]{"nbroddaccountreceiv","nboddaccountreceiv"}, Color.RED);
14                         }
15                     }
16                 }
17             }
18         }
19     }

 二、读取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笔记(编辑中)的主要内容,如果未能解决你的问题,请参考以下文章

NC 6.X笔记(编辑中)

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段

nc使用笔记

Notepad++编辑器——Verilog代码片段直接编译

VsCode编辑器如何自定义代码片段

如何使用导航组件处理片段内的向上按钮