| 
					
				 | 
			
			
				@@ -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");//显示名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |