diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java index 3a9b6bd..f935652 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java @@ -320,23 +320,29 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin { String xkBillno = ""; if ("cas_paybill".equals(billMark)) { - dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_businessnumber", + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_businessnumber,shkd_xkfilestatus", new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(付款处理 → 付款单:AP_PAYBILL) xkBillno = dynamicObject.getString("shkd_businessnumber"); } else if ("cas_recbill".equals(billMark)) { - dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_businessnumber", + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_businessnumber,shkd_xkfilestatus", new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(收款处理 → 收款单:AR_RECEIVEBILL) xkBillno = dynamicObject.getString("shkd_businessnumber"); } else if ("fca_transupbill".equals(billMark)) { - dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_pushxknumber", + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_pushxknumber,shkd_xkfilestatus", new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(上划处理 → 收款单:AR_RECEIVEBILL) xkBillno = dynamicObject.getString("shkd_pushxknumber"); } else if ("fca_transdownbil".equals(billMark)) { - dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_pushxknumber", + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_pushxknumber,shkd_xkfilestatus", new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(下拨处理 → 付款单:AP_PAYBILL) xkBillno = dynamicObject.getString("shkd_pushxknumber"); } + Object shkd_xkfilestatus = dynamicObject.get("shkd_xkfilestatus"); + if (shkd_xkfilestatus != null && "已推送".equals(shkd_xkfilestatus.toString())) { + this.getView().showTipNotification("已推送的单据,不支持重复推送!"); + return; + } + // 获取k3cloudapi K3CloudApi k3CloudApi = getK3CloudApi(dataEntity); @@ -368,6 +374,12 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin { String result = pushXkAttachment(dynamicObject, pdfUrl, fileName, resultMap, k3CloudApi); builder.append(result).append("\n"); } + + if (!builder.toString().contains("电子回单推送星空失败")) { + dynamicObject.set("shkd_xkfilestatus", "已推送"); + SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); + } + this.getView().showTipNotification(builder.toString()); } else { this.getView().showTipNotification("通过反写字段为查找到星空对应单据数据");