提交内容:定时任务

时间:2025-05-21 15:29
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-05-22 15:41:34 +08:00
parent d59822e1e6
commit 91af2e9f53
3 changed files with 100 additions and 58 deletions

View File

@ -22,7 +22,7 @@ public class BalanceExpansion implements IFillBankBalance {
JSONObject jsonObject = JSON.parseObject(balanceString);
logger.info("bankBalance数据{}balanceString数据{}", bankBalance, jsonObject);
Object balance = jsonObject.get("depositBalance");
if (balance != null) {
if (balance != null && !"".equals(balance)) {
bankBalance.set("shkd_depositbalance", new BigDecimal(String.valueOf(balance)));
} else {
bankBalance.set("shkd_depositbalance", BigDecimal.ZERO);

View File

@ -1,5 +1,6 @@
package shkd.sys.sys.plugin.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.kingdee.bos.qing.util.DateUtils;
import com.kingdee.bos.webapi.sdk.K3CloudApi;
@ -175,14 +176,12 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
break;
/**
* 推送星空电子回单
* 星空推送不会有影响吧
*/
case "bei_xkfile":
K3CloudApi k3CloudApi = new K3CloudApi();
ArrayList<DynamicObject> paymentObjects = new ArrayList<>(); //所有存在电子回单的付款单
ArrayList<DynamicObject> receivableObjects = new ArrayList<>(); //所有存在电子回单的收款单
ArrayList<String> receiptNos = new ArrayList<>();
ArrayList<Long> orgIds = new ArrayList<Long>();
ArrayList<DynamicObject> paymentObjects = new ArrayList<>(); //所有符合条件存在电子回单的付款单
ArrayList<DynamicObject> receivableObjects = new ArrayList<>(); //所有符合条件存在电子回单的收款单
ArrayList<Long> orgIds = new ArrayList<>();
orgIds.add(2122671180270829568L);//1
orgIds.add(2122671723777131520L);//2
orgIds.add(2122671728936125440L);//3
@ -216,12 +215,22 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
if (!details.isEmpty()) {
// 交易明细查询的电子回单关联标记字段
if (details.get(0).get("receiptno") != null) {
paymentObjects.add(dynamicObject);// 付款处理单据收集
/**
* 1第一步 通过查询到的符合条件的收款或者付款单单据编号查到对应星空的对应单据的单据ID和单据编码
* 2推送电子回单至星空对应单据
*/
//
DynamicObject[] objects = BusinessDataServiceHelper.load("shkd_apimapping", "id,billno," +
"shkd_name,shkd_sourcenumber,shkd_domainname,shkd_appkey,shkd_appsecret,shkd_token,shkd_url,shkd_bodytype," +
"shkd_sourcebill,shkd_targetsystem,entryentity,entryentity.shkd_tarfield,entryentity.shkd_tartier," +
"entryentity.shkd_tartype,entryentity.shkd_parentfield,entryentity.shkd_soufield,entryentity.shkd_defaultdata," +
"entryentity.shkd_required,entryentity.shkd_remarks,shkd_submiturl,shkd_xkusername,shkd_xkappid,shkd_xkacctid," +
"shkd_xkappsec,shkd_xkserverurl",
new QFilter("shkd_targetsystem", QCP.equals, "XK").toArray());
String billNumber = dynamicObject.getString("billno");
HashMap<String, Object> resultMap = getBillObject(objects[0], dynamicObject.getDataEntityType().getName(), billNumber);
if ((boolean) resultMap.get("result")) {
//
DynamicObject[] dynamicObjects1 = BusinessDataServiceHelper.load("t_bei_elecreceipt", "id,receiptno", new QFilter("receiptno", QCP.equals, details.get(0).getString("receiptno")).toArray());
DynamicObject dynamicObjectObj = BusinessDataServiceHelper.loadSingle(dynamicObjects1[0].getPkValue(), dynamicObjects1[0].getDynamicObjectType().getName());
IFormView viewByDynamicObj = createViewByDynamicObj(dynamicObjectObj);
@ -243,16 +252,25 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
jsonObject.put("AliasFileName", upfileName);// 附件别名
jsonObject.put("SendByte", attachmentBase64(pdfUrl));// 文件字节数组转base64后的字符串
String uploadAttachmentResult = null;
String uploadAttachmentResult;
try {
uploadAttachmentResult = k3CloudApi.attachmentUpload(jsonObject.toString());
JSONObject resultJson = JSON.parseObject(uploadAttachmentResult);
JSONObject Result = resultJson.getJSONObject("Result");
JSONObject ResponseStatus = Result.getJSONObject("ResponseStatus");
Boolean isSuccess = ResponseStatus.getBoolean("IsSuccess");
if (isSuccess) {
dynamicObject.set("shkd_xkfilestatus", "已推送");
paymentObjects.add(dynamicObject);// 付款处理单据收集
logger.info("付款处理 → 电子回单推送星空,单据编码:"+ dynamicObject.getString("billno") +"\n附件上传结果" + uploadAttachmentResult);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
}
});
// 收款处理
@ -278,6 +296,18 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
* 1第一步 通过查询到的符合条件的收款或者付款单单据编号查到对应星空的对应单据的单据ID和单据编码
* 2推送电子回单至星空对应单据
*/
//
DynamicObject[] objects = BusinessDataServiceHelper.load("shkd_apimapping", "id,billno," +
"shkd_name,shkd_sourcenumber,shkd_domainname,shkd_appkey,shkd_appsecret,shkd_token,shkd_url,shkd_bodytype," +
"shkd_sourcebill,shkd_targetsystem,entryentity,entryentity.shkd_tarfield,entryentity.shkd_tartier," +
"entryentity.shkd_tartype,entryentity.shkd_parentfield,entryentity.shkd_soufield,entryentity.shkd_defaultdata," +
"entryentity.shkd_required,entryentity.shkd_remarks,shkd_submiturl,shkd_xkusername,shkd_xkappid,shkd_xkacctid," +
"shkd_xkappsec,shkd_xkserverurl",
new QFilter("shkd_targetsystem", QCP.equals, "XK").toArray());
String billNumber = dynamicObject.getString("billno");
HashMap<String, Object> resultMap = getBillObject(objects[0], dynamicObject.getDataEntityType().getName(), billNumber);
if ((boolean) resultMap.get("result")) {
//
DynamicObject[] dynamicObjects1 = BusinessDataServiceHelper.load("t_bei_elecreceipt", "id,receiptno", new QFilter("receiptno", QCP.equals, details.get(0).getString("receiptno")).toArray());
DynamicObject dynamicObjectObj = BusinessDataServiceHelper.loadSingle(dynamicObjects1[0].getPkValue(), dynamicObjects1[0].getDynamicObjectType().getName());
IFormView viewByDynamicObj = createViewByDynamicObj(dynamicObjectObj);
@ -299,17 +329,29 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
jsonObject.put("AliasFileName", upfileName);// 附件别名
jsonObject.put("SendByte", attachmentBase64(pdfUrl));// 文件字节数组转base64后的字符串
String uploadAttachmentResult = null;
String uploadAttachmentResult;
try {
uploadAttachmentResult = k3CloudApi.attachmentUpload(jsonObject.toString());
JSONObject resultJson = JSON.parseObject(uploadAttachmentResult);
JSONObject Result = resultJson.getJSONObject("Result");
JSONObject ResponseStatus = Result.getJSONObject("ResponseStatus");
Boolean isSuccess = ResponseStatus.getBoolean("IsSuccess");
if (isSuccess) {
dynamicObject.set("shkd_xkfilestatus", "已推送");
receivableObjects.add(dynamicObject);// 收款处理单据收集
logger.info("收款处理 → 电子回单推送星空,单据编码:"+ dynamicObject.getString("billno") +"\n附件上传结果" + uploadAttachmentResult);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
}
});
SaveServiceHelper.save(paymentObjects.toArray(new DynamicObject[0]));
SaveServiceHelper.save(receivableObjects.toArray(new DynamicObject[0]));
break;
default:
}