|
@@ -16,28 +16,25 @@ import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
|
|
|
|
|
public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
|
|
|
- IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
|
|
|
-
|
|
|
+ public IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
|
|
|
@Override
|
|
|
public void afterEdit(CardBodyAfterEditEvent arg0) {
|
|
|
- UIRefPane ref=(UIRefPane) arg0.getBillCardPanel().getBodyItem("vbdef20").getComponent();
|
|
|
+
|
|
|
+ UIRefPane ref=(UIRefPane) arg0.getBillCardPanel().getBodyItem("OCR").getComponent();
|
|
|
String[] pks = ref.getRefPKs();
|
|
|
StringBuffer sbf = new StringBuffer();
|
|
|
// 处理PK
|
|
|
if (pks == null || pks.length <= 0) {
|
|
|
return;
|
|
|
-// sbf.append(",");
|
|
|
- } else {
|
|
|
+ }else {
|
|
|
for (int i = 0; i < pks.length; i++) {
|
|
|
- sbf.append(","+pks[i]);
|
|
|
- }
|
|
|
+ sbf.append(pks[i]+",");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- //存放PK
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(sbf.substring(1), arg0.getRow(), "vbdef20");
|
|
|
- UFDouble SumAmount = new UFDouble(0);//不含税
|
|
|
- UFDouble SumTotal = new UFDouble(0);//价税合计
|
|
|
- UFDouble SumTax = new UFDouble(0);//税额
|
|
|
+ UFDouble SumAmount = UFDouble.ZERO_DBL;//不含税
|
|
|
+ UFDouble SumTotal = UFDouble.ZERO_DBL;//价税合计
|
|
|
+ UFDouble SumTax =UFDouble.ZERO_DBL;//税额
|
|
|
String shuilv = "";//记录第一条税率,和后面进行对比,若不同则报错不允许保存
|
|
|
Object shuilvpk = "";
|
|
|
if(pks.length > 1){
|
|
@@ -48,17 +45,17 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
try {
|
|
|
defdocvo = (DefdocVO) iuap.executeQuery(qrysql, new BeanProcessor(DefdocVO.class));
|
|
|
Object shortname6 = defdocvo.getShortname6();
|
|
|
- if(shortname6 == null){
|
|
|
- ExceptionUtils.wrappBusinessException("所选发票税率为空,不能保存!");
|
|
|
- return;
|
|
|
- }
|
|
|
+ if(shortname6 == null){
|
|
|
+ ExceptionUtils.wrappBusinessException("所选发票税率为空,不能保存!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
if(j == 0 && shortname6 != null){
|
|
|
shuilv = shortname6.toString();
|
|
|
}
|
|
|
- if(j != 0 && !shortname6.toString().equals(shuilv)){
|
|
|
- ExceptionUtils.wrappBusinessException("所选发票税率不同,不能保存!");
|
|
|
- return;
|
|
|
- }
|
|
|
+ if(j != 0 && !shortname6.toString().equals(shuilv)){
|
|
|
+ ExceptionUtils.wrappBusinessException("所选发票税率不同,不能保存!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
} catch (BusinessException e) {
|
|
|
// TODO 自动生成的 catch 块
|
|
@@ -85,12 +82,12 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
// TODO 自动生成的 catch 块
|
|
|
ExceptionUtils.wrappBusinessException(e1.getMessage());
|
|
|
}
|
|
|
- arg0.getBillCardPanel().setHeadItem("vbillcode", defdocvo.getName());//发票号
|
|
|
+ // arg0.getBillCardPanel().setHeadItem("vbillcode", defdocvo.getName());//发票号
|
|
|
arg0.getBillCardPanel().setHeadItem("vdef19", defdocvo.getName4());//开票方
|
|
|
- arg0.getBillCardPanel().setHeadItem("dbilldate", new UFDate(defdocvo.getShortname4()));//发票日期
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(defdocvo.getShortname5(), 0, "vbdef17");//发票分类
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(defdocvo.getShortname6(), 0, "ntaxrate");//税率
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(shuilvpk, 0, "ctaxcodeid");//税码
|
|
|
+// arg0.getBillCardPanel().setHeadItem("dbilldate", new UFDate(defdocvo.getShortname4()));//发票日期
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(defdocvo.getShortname5(), arg0.getRow(), "vbdef17");//发票分类
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(defdocvo.getShortname6(), arg0.getRow(), "ntaxrate");//税率
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(shuilvpk, arg0.getRow(), "ctaxcodeid");//税码
|
|
|
Object shortname = defdocvo.getShortname();
|
|
|
if(shortname != null && shortname.toString() != ""){
|
|
|
SumAmount = SumAmount.add(new UFDouble(shortname.toString()));
|
|
@@ -112,32 +109,24 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
arg0.getBillCardPanel().setBodyValueAt(1, arg0.getRow(), "nnum");//主数量
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "nastorigprice");//无税单价
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "nastprice");//本币无税单价
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "norigprice");//主无税单价
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "nprice");//主本币无税单价
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "norigmny");//无税金额
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "nmny");//本币无税金额
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "nastorigtaxprice");//含税单价
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "norigtaxprice");//主含税单价
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "nasttaxprice");//本币含税单价
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "ntaxprice");//主本币含税单价
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "norigtaxmny");//价税合计
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "ntaxmny");//本币价税合计
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumTax, arg0.getRow(), "ntax");//税额
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(SumTotal, arg0.getRow(), "ncalcostmny");//计成本金额
|
|
|
|
|
|
|
|
|
|
|
|
//存放PK
|
|
|
- // ref.setPKs(pks);
|
|
|
- DefaultConstEnum refEnumxz = new DefaultConstEnum(sbf.toString().substring(0, sbf.toString().length()-1), ref.getRefShowName());
|
|
|
- DefaultConstEnum refEnum = new DefaultConstEnum("1001ZZ1000000097LQJ2", "发票信息已赋值");///默认值(发票信息已赋值)
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(refEnum, arg0.getRow(), "OCR");//默认
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(sbf.toString().substring(0, sbf.toString().length()-1), arg0.getRow(), "vbdef20");//主键
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(refEnumxz, arg0.getRow(), "vbdef16");//显示名称
|
|
|
+ // ref.setPKs(pks);
|
|
|
+ DefaultConstEnum refEnumxz = new DefaultConstEnum(sbf.toString().substring(0, sbf.toString().length()-1), ref.getRefShowName());
|
|
|
+ DefaultConstEnum refEnum = new DefaultConstEnum("1001ZZ1000000097LQJ2", "发票信息已赋值");///默认值(发票信息已赋值)
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(refEnum, arg0.getRow(), "OCR");//默认
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(sbf.toString().substring(0, sbf.toString().length()-1), arg0.getRow(), "vbdef20");//主键
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(refEnumxz, arg0.getRow(), "vbdef16");//显示名称
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
-}
|
|
|
+}
|