From 22d2759d1fb1a5aeeffd8fc087dfd967e5d91bf8 Mon Sep 17 00:00:00 2001 From: csx <1981897232@qq.com> Date: Sun, 4 Jan 2026 12:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/01/04=2010?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E6=8E=A8=E9=80=81=E5=85=AC?= =?UTF-8?q?=E4=BA=AB=E5=89=8D=E7=AB=AF=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/tsgxApiMappingBillPlugin.java | 33 +++++++++++++++++-- .../sys/plugin/task/SharePushTaskPlugin.java | 29 ++++++++++++++-- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java index c7dd8d9..1558237 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java @@ -27,6 +27,7 @@ import org.apache.http.util.EntityUtils; import shkd.sys.sys.mservice.ApiService; import java.io.IOException; +import java.math.BigDecimal; import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; @@ -46,6 +47,8 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { private static final Log logger = LogFactory.getLog(tsgxApiMappingBillPlugin.class); // 日期格式化器 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + + String sourcebillnumber = ""; @Override public void registerListener(EventObject e) { Toolbar tbmain = this.getView().getControl("tbmain"); @@ -76,7 +79,10 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { dzhdqFilter=dzhdqFilter.and(zdyqFilter); } logger.info("dzhdqFilter:"+dzhdqFilter); - DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray()); + DynamicObject shkd_sourcebill = shkd_apimapping.getDynamicObject("shkd_sourcebill"); + sourcebillnumber = shkd_sourcebill.getString("number"); + + DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load(sourcebillnumber, "id", dzhdqFilter.toArray()); logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length); String shkd_url = shkd_apimapping.getString("shkd_url"); @@ -88,7 +94,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping"); for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) { - DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt"); + DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), sourcebillnumber); String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json:"+saveRequestBody); Map resultMap = new HashMap<>(); @@ -314,13 +320,16 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { }else { IFormView viewByDynamicObj = ApiService.createViewByDynamicObj(bei_elecreceipt); List errMsgList = new ArrayList<>(); - DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," + + DynamicObjectCollection receipts = QueryServiceHelper.query(sourcebillnumber, "id,bank," + "fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," + "bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, bei_elecreceipt.getPkValue())}); value = ApiService.getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList); logger.info("单据编号:"+bei_elecreceipt.getString("billno")+"对应url:"+value); } break; + case "特殊处理": + value=tscl(bei_elecreceipt,shkd_jsontartype,shkd_djzdms,shkd_mrz); + break; case "默认值": value=shkd_mrz; break; @@ -332,6 +341,24 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { return value; } + private String tscl(DynamicObject bei_elecreceipt, String shkd_jsontartype, String shkd_djzdms, String shkd_mrz) { + String value = null; + switch (shkd_djzdms){ + case "incomeOrExpenditure": + BigDecimal debitamount = bei_elecreceipt.getBigDecimal("debitamount");//付款金额 + if (debitamount.compareTo(BigDecimal.ZERO)>0){ + value="1"; + }else { + value="2"; + } + break; + default: + break; + } + return value; + } + + /* * 根据字段类型或默认值获取字段 * */ diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java index 63cb35a..5806d3c 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java @@ -27,6 +27,7 @@ import shkd.sys.sys.mservice.ApiService; import shkd.sys.sys.utils.EmptyUtil; import java.io.IOException; +import java.math.BigDecimal; import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; @@ -46,6 +47,7 @@ public class SharePushTaskPlugin extends AbstractTask { private static final Log logger = LogFactory.getLog(SharePushTaskPlugin.class); // 日期格式化器 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + String sourcebillnumber = ""; @Override public void execute(RequestContext requestContext, Map map) throws KDException { //获取司库电子回单推送共享系统的对应映射 @@ -72,7 +74,10 @@ public class SharePushTaskPlugin extends AbstractTask { dzhdqFilter=dzhdqFilter.and(zdyqFilter); } logger.info("dzhdqFilter:"+dzhdqFilter); - DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray()); + DynamicObject shkd_sourcebill = shkd_apimapping.getDynamicObject("shkd_sourcebill"); + sourcebillnumber = shkd_sourcebill.getString("number"); + + DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load(sourcebillnumber, "id", dzhdqFilter.toArray()); logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length); String shkd_url = shkd_apimapping.getString("shkd_url"); @@ -84,7 +89,7 @@ public class SharePushTaskPlugin extends AbstractTask { DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping"); for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) { - DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt"); + DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), sourcebillnumber); String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json:"+saveRequestBody); Map resultMap = new HashMap<>(); @@ -309,13 +314,15 @@ public class SharePushTaskPlugin extends AbstractTask { }else { IFormView viewByDynamicObj = ApiService.createViewByDynamicObj(bei_elecreceipt); List errMsgList = new ArrayList<>(); - DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," + + DynamicObjectCollection receipts = QueryServiceHelper.query(sourcebillnumber, "id,bank," + "fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," + "bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, bei_elecreceipt.getPkValue())}); value = ApiService.getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList); logger.info("单据编号:"+bei_elecreceipt.getString("billno")+"对应url:"+value); } break; + case "特殊处理": + value=tscl(bei_elecreceipt,shkd_jsontartype,shkd_djzdms,shkd_mrz); case "默认值": value=shkd_mrz; break; @@ -327,6 +334,22 @@ public class SharePushTaskPlugin extends AbstractTask { return value; } + private String tscl(DynamicObject bei_elecreceipt, String shkd_jsontartype, String shkd_djzdms, String shkd_mrz) { + String value = null; + switch (shkd_djzdms){ + case "incomeOrExpenditure": + BigDecimal debitamount = bei_elecreceipt.getBigDecimal("debitamount");//付款金额 + if (debitamount.compareTo(BigDecimal.ZERO)>0){ + value="1"; + }else { + value="2"; + } + break; + default: + break; + } + return value; + } /* * 根据字段类型或默认值获取字段 * */