From 4951a87aaad1d24bcf8a967b3af94844c48eea62 Mon Sep 17 00:00:00 2001 From: zoujiangtao Date: Wed, 28 May 2025 10:04:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E4=B8=8A=E5=AD=98=E4=BD=99=E9=A2=9D=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=9A2025-05-28=2010=EF=BC=9A03=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=82=B9=E6=B1=9F=E6=B6=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shkd/sys/sys/mservice/ApiService.java | 18 ++++---------- .../sys/sys/plugin/Exp/BalanceExpansion.java | 24 ++++++++++++++----- .../sys/sys/plugin/task/PushTaskPlugin.java | 9 ++++++- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java index 736e31c..5606bf6 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java @@ -16,9 +16,6 @@ import kd.bos.dataentity.resource.ResManager; import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.MainEntityType; import kd.bos.exception.KDBizException; -import kd.bos.fileservice.FileItem; -import kd.bos.fileservice.FileService; -import kd.bos.fileservice.FileServiceFactory; import kd.bos.form.IFormView; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; @@ -30,16 +27,13 @@ import kd.bos.orm.query.QFilter; import kd.bos.print.core.service.PrtAttach; import kd.bos.print.matchtpl.MatcherTpl; import kd.bos.print.matchtpl.ViewType; -import kd.bos.print.service.BosPrintServiceHelper; import kd.bos.servicehelper.*; -import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.bos.servicehelper.print.NotePrintService; -import kd.bos.util.FileNameUtils; +import kd.bos.util.ExceptionUtils; import kd.tmc.bei.business.ocr.impl.ScanServiceImpl; import kd.tmc.bei.business.ocr.invoke.ScanSystemFactory; import kd.tmc.bei.common.helper.BeiHelper; import kd.tmc.bei.common.helper.ReceiptPrintHelper; -import kd.bos.util.ExceptionUtils; import kd.tmc.bei.common.resource.BeiBizResource; import kd.tmc.fbp.common.ofd.OfdConvertUtil; import kd.tmc.fbp.common.util.EmptyUtil; @@ -48,12 +42,6 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; -import shkd.sys.sys.common.PaymentRequest; - -import java.net.URLConnection; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.Files; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; @@ -62,8 +50,12 @@ import java.io.*; import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; +import java.net.URLConnection; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.security.cert.X509Certificate; import java.text.SimpleDateFormat; import java.util.*; diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/Exp/BalanceExpansion.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/Exp/BalanceExpansion.java index 7ef1d12..6063607 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/Exp/BalanceExpansion.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/Exp/BalanceExpansion.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; +import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.sdk.tmc.bei.extpoint.balance.IFillBankBalance; @@ -17,16 +18,27 @@ import java.math.BigDecimal; */ public class BalanceExpansion implements IFillBankBalance { private static final Log logger = LogFactory.getLog(BalanceExpansion.class); + @Override public void fillExtBankBalance(DynamicObject bankBalance, String balanceString) { + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(bankBalance.getPkValue(), bankBalance.getDynamicObjectType()); JSONObject jsonObject = JSON.parseObject(balanceString); - logger.info("bankBalance数据:{},balanceString数据:{}", bankBalance, jsonObject); + logger.info("bankBalance数据:{},balanceString数据:{}", dynamicObject, jsonObject); + Object balance = jsonObject.get("depositBalance"); - if (balance != null && !"".equals(balance)) { - bankBalance.set("shkd_depositbalance", new BigDecimal(String.valueOf(balance))); - } else { - bankBalance.set("shkd_depositbalance", BigDecimal.ZERO); + BigDecimal depositBalance = BigDecimal.ZERO; + + if (balance != null) { + if (!"".equals(balance.toString())) { + depositBalance = new BigDecimal(balance.toString()); + } + } + + // 只有当新值与旧值不同时才设置并更新 + BigDecimal currentBalance = dynamicObject.getBigDecimal("shkd_depositbalance"); + if (depositBalance.compareTo(currentBalance) != 0) { + bankBalance.set("shkd_depositbalance", depositBalance); + logger.info("新值与旧值不同,新值上存余额为:{},旧值上存余额为:{}", depositBalance, currentBalance); } - SaveServiceHelper.update(new DynamicObject[]{bankBalance}); } } 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 26db86d..838ffb5 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 @@ -73,6 +73,13 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { * 供应链融资 SCF */ case "cas_paybill": + ArrayList bizdates = new ArrayList<>(); + bizdates.add("FCA");//1 + bizdates.add("CFM");//2 + bizdates.add("CIM");//3 + bizdates.add("LC");//4 + bizdates.add("CDM");//5 + bizdates.add("FL");//6 DynamicObject[] objects1 = BusinessDataServiceHelper.load("cas_paybill", "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,entry.e_actamt,settletype," + "payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype," + @@ -80,7 +87,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { "billstatus,bankpaystatus,sourcetype" , new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth(3)) .and("billstatus", QCP.equals, "D") - .and("sourcetype", QCP.in, "FCA,CFM,CIM,LC,CDM,FL").toArray()); + .and("sourcetype", QCP.in, bizdates).toArray()); Arrays.stream(objects1).forEach(dynamicObject -> { DynamicObject org = dynamicObject.getDynamicObject("org");