提交内容:上存余额修复

时间:2025-05-28 10:03
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-05-28 10:04:17 +08:00
parent af14450f81
commit 4951a87aaa
3 changed files with 31 additions and 20 deletions

View File

@ -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.*;

View File

@ -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});
}
}

View File

@ -73,6 +73,13 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
* 供应链融资 SCF
*/
case "cas_paybill":
ArrayList<String> 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");