From 8d7f58194d1c44d09b5d19856a0649f9e6ff24a6 Mon Sep 17 00:00:00 2001 From: zoujiangtao Date: Tue, 10 Dec 2024 16:23:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=20=E5=A4=87=E6=B3=A8?= =?UTF-8?q?=EF=BC=9A=E5=AE=9A=E6=97=B6=E6=8E=A8=E9=80=81=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E8=87=B3BIP=20=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=82=B9?= =?UTF-8?q?=E6=B1=9F=E6=B6=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/sys/plugin/task/PushTaskPlugin.java | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java index 3919aef..e8d3dcd 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java @@ -6,6 +6,8 @@ import com.kingdee.bos.qing.util.DateUtils; import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.exception.KDException; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.schedule.executor.AbstractTask; @@ -13,6 +15,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.sdk.plugin.Plugin; import shkd.sys.sys.mservice.ApiService; +import shkd.sys.sys.plugin.form.ApiMappingBillPlugin; import java.text.ParseException; import java.time.LocalDate; @@ -23,6 +26,7 @@ import java.util.*; * 后台任务插件 */ public class PushTaskPlugin extends AbstractTask implements Plugin { + private static final Log logger = LogFactory.getLog(PushTaskPlugin.class); @Override public void execute(RequestContext requestContext, Map map) throws KDException { @@ -39,11 +43,13 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { Date date; try { - date = DateUtils.stringToDate(formattedDate,"yyyy-MM-dd"); + date = DateUtils.stringToDate(formattedDate, "yyyy-MM-dd"); } catch (ParseException e) { throw new RuntimeException(e); } + String billName = null; + List dynamicObjects = new ArrayList<>(); if (billMark != null) { switch (billMark.toString()) { @@ -55,6 +61,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { "shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname" , new QFilter("bizdate", QCP.large_equals, date).and("shkd_pushstatus", QCP.not_equals, "已推送").toArray()); dynamicObjects = Arrays.asList(objects1); + billName = "付款处理"; break; // 收款处理 case "cas_recbill": @@ -64,8 +71,9 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { "shkd_businessnumber,shkd_businessid,shkd_businessname" , new QFilter("bizdate", QCP.large_equals, date).and("shkd_pushstatus", QCP.not_equals, "已推送").toArray()); dynamicObjects = Arrays.asList(objects2); + billName = "收款处理"; break; - // 银企交易明细查询 + // 银行收付处理 case "bei_transdetail_cas": DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas", "id,bizdate,oppbank,oppunit,accountbank,description,company,oppbanknumber," + @@ -73,6 +81,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { "shkd_businessnumber,shkd_businessid,shkd_businessname" , new QFilter("bizdate", QCP.large_equals, date).and("shkd_pushstatus", QCP.not_equals, "已推送").toArray()); dynamicObjects = Arrays.asList(objects3); + billName = "银行收付处理"; break; default: return; @@ -80,17 +89,22 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { } List objects = new ArrayList<>(); + String finalBillName = billName; dynamicObjects.forEach(dynamicObject -> { String responseBody = ApiService.paymentSlipsJson(dynamicObject, "BIP"); - JSONObject jsonObject = JSON.parseObject(responseBody); - JSONObject data = jsonObject.getJSONObject("data"); - String code = data.getString("code"); - String id = data.getString("id"); - dynamicObject.set("shkd_businessnumber", code); - dynamicObject.set("shkd_businessid", id); - dynamicObject.set("shkd_businessname", "BIP"); - dynamicObject.set("shkd_pushstatus", "已推送"); - objects.add(dynamicObject); + if (!responseBody.contains("失败")) { + JSONObject jsonObject = JSON.parseObject(responseBody); + JSONObject data = jsonObject.getJSONObject("data"); + String code = data.getString("code"); + String id = data.getString("id"); + dynamicObject.set("shkd_businessnumber", code); + dynamicObject.set("shkd_businessid", id); + dynamicObject.set("shkd_businessname", "BIP"); + dynamicObject.set("shkd_pushstatus", "已推送"); + objects.add(dynamicObject); + } else { + logger.info("推送 → {} → 失败,失败单据编号:{}", finalBillName, dynamicObject.getString("billno")); + } }); SaveServiceHelper.save(objects.toArray(new DynamicObject[0])); }