|
@@ -1,11 +1,13 @@
|
|
|
package nc.ui.pu.m25.editor.card.afteredit.body;
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import nc.bs.framework.common.NCLocator;
|
|
|
import nc.itf.uap.IUAPQueryBS;
|
|
|
import nc.jdbc.framework.processor.BeanProcessor;
|
|
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
|
|
+import nc.jdbc.framework.processor.MapProcessor;
|
|
|
import nc.ui.pu.pub.editor.card.listener.ICardBodyAfterEditEventListener;
|
|
|
import nc.ui.pub.beans.UIRefPane;
|
|
|
import nc.ui.pub.beans.constenum.DefaultConstEnum;
|
|
@@ -21,50 +23,52 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
public IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
|
|
|
@Override
|
|
|
public void afterEdit(CardBodyAfterEditEvent arg0) {
|
|
|
-
|
|
|
- UIRefPane ref=(UIRefPane) arg0.getBillCardPanel().getBodyItem("OCR").getComponent();
|
|
|
- String[] pks = ref.getRefPKs();
|
|
|
- StringBuffer sbf = new StringBuffer();
|
|
|
-
|
|
|
- if (pks == null || pks.length <= 0) {
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef15");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef17");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntaxrate");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ctaxcodeid");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastnum");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nnum");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastorigprice");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastprice");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nprice");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "norigmny");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nmny");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastorigtaxprice");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nasttaxprice");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntaxprice");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "norigtaxmny");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntaxmny");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntax");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef20");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef16");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ncalcostmny");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef13");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef14");
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef12");
|
|
|
- return;
|
|
|
- }else {
|
|
|
- for (int i = 0; i < pks.length; i++) {
|
|
|
- sbf.append(pks[i]+",");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- UFDouble SumAmount = UFDouble.ZERO_DBL;
|
|
|
- UFDouble SumTotal = UFDouble.ZERO_DBL;
|
|
|
- UFDouble SumTax =UFDouble.ZERO_DBL;
|
|
|
- String shuilv = "";
|
|
|
- String supplier = "";
|
|
|
- Object shuilvpk = "";
|
|
|
- StringBuffer kind = new StringBuffer();
|
|
|
try {
|
|
|
+ UIRefPane ref=(UIRefPane) arg0.getBillCardPanel().getBodyItem("OCR").getComponent();
|
|
|
+ String[] pks = ref.getRefPKs();
|
|
|
+ StringBuffer sbf = new StringBuffer();
|
|
|
+
|
|
|
+ if (pks == null || pks.length <= 0) {
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef15");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef17");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntaxrate");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ctaxcodeid");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastnum");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nnum");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastorigprice");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastprice");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nprice");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "norigmny");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nmny");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nastorigtaxprice");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "nasttaxprice");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntaxprice");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "norigtaxmny");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntaxmny");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ntax");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef20");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef16");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "ncalcostmny");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef13");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef14");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef12");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(null, arg0.getRow(), "vbdef11");
|
|
|
+ return;
|
|
|
+ }else {
|
|
|
+ for (int i = 0; i < pks.length; i++) {
|
|
|
+ sbf.append(pks[i]+",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ UFDouble SumAmount = UFDouble.ZERO_DBL;
|
|
|
+ UFDouble SumTotal = UFDouble.ZERO_DBL;
|
|
|
+ UFDouble SumTax =UFDouble.ZERO_DBL;
|
|
|
+ String url = null;
|
|
|
+ String shuilv = "";
|
|
|
+ String supplier = "";
|
|
|
+ Object shuilvpk = "";
|
|
|
+ StringBuffer kind = new StringBuffer();
|
|
|
if(pks.length > 1){
|
|
|
for(int j = 0;j < pks.length;j++){
|
|
|
String pk = pks[j];
|
|
@@ -95,6 +99,7 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
for(int i = 0;i < pks.length;i++){
|
|
|
String pk = pks[i];
|
|
|
String qrysql = "select * from bd_defdoc where dr=0 and pk_defdoc = '"+pk+"'";
|
|
@@ -112,27 +117,44 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
|
|
|
ExceptionUtils.wrappBusinessException(e1.getMessage());
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
arg0.getBillCardPanel().setBodyValueAt(defdocvo.getName4(), arg0.getRow(), "vbdef15");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(defdocvo.getShortname5(), arg0.getRow(), "vbdef17");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(defdocvo.getShortname6(), arg0.getRow(), "ntaxrate");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(shuilvpk, arg0.getRow(), "ctaxcodeid");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(defdocvo.getCode(), arg0.getRow(), "vbdef16");
|
|
|
- Object shortname = defdocvo.getShortname();
|
|
|
- if(shortname != null && shortname.toString() != ""){
|
|
|
- SumAmount = SumAmount.add(new UFDouble(shortname.toString()));
|
|
|
- }
|
|
|
- Object shortname2 = defdocvo.getShortname2();
|
|
|
- if(shortname2 != null && shortname2.toString() != ""){
|
|
|
- SumTotal = SumTotal.add(new UFDouble(shortname2.toString()));
|
|
|
- }
|
|
|
- Object shortname3 = defdocvo.getShortname3();
|
|
|
- if(shortname3 != null && shortname3.toString() != ""){
|
|
|
- SumTax = SumTax.add(new UFDouble(shortname3.toString()));
|
|
|
+
|
|
|
+ StringBuffer sql = new StringBuffer();
|
|
|
+ sql.append("SELECT");
|
|
|
+ sql.append(" * ");
|
|
|
+ sql.append(" FROM");
|
|
|
+ sql.append(" ocr_defdoc");
|
|
|
+ sql.append(" WHERE");
|
|
|
+ sql.append(" vdef17 = '"+defdocvo.getName6()+"' ");
|
|
|
+ sql.append(" AND numberid = '"+defdocvo.getCode()+"' ");
|
|
|
+ Map<String,String> mapdb = (Map<String, String>) iuap.executeQuery(sql.toString(), new MapProcessor());
|
|
|
+
|
|
|
+
|
|
|
+ if(mapdb.get("kyhsje") == null) {
|
|
|
+ Object shortname = defdocvo.getShortname();
|
|
|
+ if(shortname != null && shortname.toString() != ""){
|
|
|
+ SumAmount = SumAmount.add(new UFDouble(shortname.toString()));
|
|
|
+ }
|
|
|
+ Object shortname2 = defdocvo.getShortname2();
|
|
|
+ if(shortname2 != null && shortname2.toString() != ""){
|
|
|
+ SumTotal = SumTotal.add(new UFDouble(shortname2.toString()));
|
|
|
+ }
|
|
|
+ Object shortname3 = defdocvo.getShortname3();
|
|
|
+ if(shortname3 != null && shortname3.toString() != ""){
|
|
|
+ SumTax = SumTax.add(new UFDouble(shortname3.toString()));
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ SumAmount = SumAmount.add(new UFDouble(mapdb.get("kywsje")));
|
|
|
+ SumTotal = SumTotal.add(new UFDouble(mapdb.get("kyhsje")));
|
|
|
+ SumTax = SumTax.add(new UFDouble(mapdb.get("jyse")));
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+ url = mapdb.get("fpxz");
|
|
|
kind.append(defdocvo.getShortname4()+",");
|
|
|
}
|
|
|
|
|
@@ -155,7 +177,7 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
arg0.getBillCardPanel().setBodyValueAt("不一致", arg0.getRow(), "vbdef14");
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(url, arg0.getRow(), "vbdef11");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(1, arg0.getRow(), "nastnum");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(1, arg0.getRow(), "nnum");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(SumAmount, arg0.getRow(), "nastorigprice");
|
|
@@ -178,13 +200,13 @@ public class OcrRefaft implements ICardBodyAfterEditEventListener{
|
|
|
DefaultConstEnum refEnumxz = new DefaultConstEnum(sbf.toString().substring(0, sbf.toString().length()-1), ref.getRefShowName());
|
|
|
|
|
|
|
|
|
- String str = kind.toString();
|
|
|
+ String vbdef13 = kind.toString();
|
|
|
byte[] bytes = kind.toString().getBytes("UTF-8");
|
|
|
if (bytes.length > 101) {
|
|
|
byte[] truncatedBytes = Arrays.copyOf(bytes, 101);
|
|
|
- str = new String(truncatedBytes, "UTF-8");
|
|
|
+ vbdef13 = new String(truncatedBytes, "UTF-8");
|
|
|
}
|
|
|
- arg0.getBillCardPanel().setBodyValueAt(str, arg0.getRow(), "vbdef13");
|
|
|
+ arg0.getBillCardPanel().setBodyValueAt(vbdef13, arg0.getRow(), "vbdef13");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(sbf.toString().substring(0, sbf.toString().length()-1), arg0.getRow(), "vbdef20");
|
|
|
arg0.getBillCardPanel().setBodyValueAt(refEnumxz, arg0.getRow(), "vbdef12");
|
|
|
} catch (Exception e) {
|