提交内容:整体代码更新

备注:整体代码更新(应收、应付API二开代码修改;银行流水电子回单定时任务代码修改)
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-03-18 09:23:06 +08:00
parent a4590b235a
commit 5d05698932
4 changed files with 161 additions and 31 deletions

View File

@ -59,6 +59,11 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
Object payeetype = map.get("payeetype");//如果是收款人类型 则为付款处理保存接口
Object payertype = map.get("payertype");//如果是付款人类型 则为收款处理保存接口
Object recorg = map.get("recorg");// 收款组织 财务应收单
Object payorg = map.get("payorg");// 付款组织 财务应付单
// 付款处理保存接口
if (payeetype != null) {
logger.info("进入付款处理单API");
// 收款人ID
@ -193,8 +198,12 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
}
}
// 收款处理保存接口
if (payertype != null) {
// 付款人ID
fieldName1 = "payer";
// 收款银行.number
fieldName2 = "payeebank";
if ("BD_Supplier".equals(payertype)) {
payertype = "bd_supplier";
@ -218,47 +227,128 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
map.put("payerformid", "other");
}
if ("bd_supplier".equals(payertype) || "bd_customer".equals(payertype)) {
DynamicObject[] objects = BusinessDataServiceHelper.load(payertype.toString(), "id,number,name,societycreditcode", new QFilter("societycreditcode", QCP.equals, map.get("payernumber").toString()).toArray());
DynamicObject[] amAccountbanks = BusinessDataServiceHelper.load("am_accountbank", "id,bank,bank.number", new QFilter("number", QCP.equals, bankNumber).toArray());
logger.info("收款账户,通过银行账号查对应的付款账户长度:{}", amAccountbanks.length);
Map<String, Object> payeebank = new HashMap<>();
if (amAccountbanks.length > 0) {
payeebank.put("number", amAccountbanks[0].getDynamicObject("bank").getString("number"));
}
logger.info("收款银行:{}", payeebank);
map.put(fieldName2, payeebank);
// 如果为供应商或者客户
if ("bd_supplier".equals(payeetype)) {
Map<String, Object> societycreditcode = new HashMap<>();
societycreditcode.put("societycreditcode", map.get("payernumber").toString());
map.put("shkd_supplier", societycreditcode);
logger.info("付款供应商统一社会信用代码:{}", map.get("payernumber"));
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,societycreditcode,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank", new QFilter("societycreditcode", QCP.equals, map.get("payernumber").toString()).toArray());
if (objects.length > 0) {
DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank");
logger.info("dynamicObjectCollection{}", dynamicObjectCollection);
// 付款人编码
map.put("payernumber", objects[0].getString("number"));
// 付款人ID
map.put(fieldName1, objects[0].getPkValue());
//收款人编码
objectNumber = objects[0].getString("number");
} else {
}
} else if ("bd_customer".equals(payeetype)) {
Map<String, Object> societycreditcode = new HashMap<>();
societycreditcode.put("societycreditcode", map.get("payernumber").toString());
map.put("shkd_customer", societycreditcode);
logger.info("付款客户统一社会信用代码:{}", map.get("payernumber"));
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,societycreditcode,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank", new QFilter("societycreditcode", QCP.equals, map.get("payernumber").toString()).toArray());
if (objects.length > 0) {
DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank");
logger.info("dynamicObjectCollection{}", dynamicObjectCollection);
// 付款人编码
map.put("payernumber", objects[0].getString("number"));
// 付款人ID
map.put(fieldName1, objects[0].getPkValue());
//收款人编码
objectNumber = map.get("payernumber").toString();
objectNumber = objects[0].getString("number");
}
} else {
//收款人编码
objectNumber = map.get("payernumber").toString();
}
} else if ("bos_user".equals(payeetype)) {
Map<String, Object> username = new HashMap<>();
username.put("username", map.get("payernumber").toString());
map.put("shkd_user", username);
objectType = payertype.toString();
if (!"other".equals(objectType)) {
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,name,number,username", new QFilter("username", QCP.equals, map.get("payernumber").toString()).toArray());
if (objects.length > 0) {
// 付款人编码
map.put("payernumber", objects[0].getString("number"));
// 付款人ID
map.put(fieldName1, objects[0].getPkValue());
// 付款人编码
objectNumber = objects[0].getString("number");
}
} else if ("bos_org".equals(payeetype)) {
Map<String, Object> number = new HashMap<>();
number.put("number", map.get("payernumber").toString());
map.put("shkd_org", number);
Map<String, Object> accountbank = (Map<String, Object>) map.get("accountbank");
bankNumber = (String) accountbank.get("number");
logger.info("收款处理 → \nobjectType{}\nobjectNumber{}\nbankNumber:{}", objectType, objectNumber, bankNumber);
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load(objectType, "id,number", new QFilter("number", QCP.equals, objectNumber).toArray());
logger.info("dynamicObjects.length{}", dynamicObjects.length);
if (dynamicObjects.length > 0) {
map.put(fieldName1, dynamicObjects[0].getPkValue());
logger.info("dynamicObjects[0]{}", dynamicObjects[0]);
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,", new QFilter("number", QCP.equals, map.get("payernumber").toString()).toArray());
if (objects.length > 0) {
// 收款人编码
map.put("payernumber", objects[0].getString("number"));
// 付款人ID
map.put(fieldName1, objects[0].getPkValue());
//收款人编码
objectNumber = objects[0].getString("number");
}
}
}
if ("bos_org".equals(objectType)) {
fieldName2 = "payeebank";
DynamicObject[] amAccountbanks = BusinessDataServiceHelper.load("am_accountbank", "id,bank,bank.number", new QFilter("number", QCP.equals, bankNumber).toArray());
logger.info("amAccountbanks.length:{}", amAccountbanks.length);
Map<String, Object> payeebank = new HashMap<>();
if (amAccountbanks.length > 0) {
payeebank.put("number", amAccountbanks[0].getDynamicObject("bank").getString("number"));
// 财务应收保存接口 // 财务应付保存接口
if (recorg != null || payorg != null) {
// 往来类型
String asstacttype = map.get("asstacttype").toString();
// 获取往来户
Map<String, Object> asstact = (Map<String, Object>) map.get("asstact");
// 如果为供应商或者客户
if ("bd_supplier".equals(asstacttype)) {
Map<String, Object> societycreditcode = new HashMap<>();
societycreditcode.put("societycreditcode", asstact.get("number").toString());
map.put("shkd_supplier", societycreditcode);
logger.info("供应商统一社会信用代码:{}", asstact.get("number").toString());
DynamicObject[] objects = BusinessDataServiceHelper.load("bd_supplier", "id,number,name,societycreditcode,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank", new QFilter("societycreditcode", QCP.equals, asstact.get("number").toString()).toArray());
if (objects.length > 0) {
Map<String, Object> number = new HashMap<>();
number.put("number", objects[0].getString("number"));
map.put("asstact", number);
}
} else if ("bd_customer".equals(asstacttype)) {
Map<String, Object> societycreditcode = new HashMap<>();
societycreditcode.put("societycreditcode", asstact.get("number").toString());
map.put("shkd_customer", societycreditcode);
logger.info("客户统一社会信用代码:{}", asstact.get("number").toString());
DynamicObject[] objects = BusinessDataServiceHelper.load("bd_customer", "id,number,name,societycreditcode,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank", new QFilter("societycreditcode", QCP.equals, asstact.get("number").toString()).toArray());
if (objects.length > 0) {
Map<String, Object> number = new HashMap<>();
number.put("number", objects[0].getString("number"));
map.put("asstact", number);
}
} else if ("bos_user".equals(asstacttype)) {
Map<String, Object> username = new HashMap<>();
username.put("username", asstact.get("number").toString());
map.put("shkd_user", username);
logger.info("人员用户名:{}", asstact.get("number").toString());
DynamicObject[] objects = BusinessDataServiceHelper.load("bos_user", "id,name,number,username", new QFilter("username", QCP.equals, asstact.get("number").toString()).toArray());
if (objects.length > 0) {
Map<String, Object> number = new HashMap<>();
number.put("number", objects[0].getString("number"));
map.put("asstact", number);
}
logger.info("payerbank:{}", payeebank);
map.put(fieldName2, payeebank);
}
}

View File

@ -248,7 +248,7 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
DynamicObject[] objects4 = BusinessDataServiceHelper.load("bei_elecreceipt",
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno"
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno,ismatch"
, new QFilter("billno", QCP.equals, billNumber).toArray());
billObject = objects4[0];
logger.info("获取银企交易明细查询推送对象 → billObject{}", billObject);

View File

@ -0,0 +1,39 @@
package shkd.sys.sys.plugin.mob;
import kd.bos.bill.AbstractMobBillPlugIn;
import kd.bos.form.CloseCallBack;
import kd.bos.form.container.Container;
import kd.bos.form.control.Button;
import kd.bos.form.control.Toolbar;
import kd.bos.form.events.AfterDoOperationEventArgs;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.sdk.plugin.Plugin;
import shkd.sys.sys.plugin.form.ApiTestBillPlugin;
import java.util.EventObject;
import java.util.HashMap;
/**
* 单据界面插件(移动端)
*/
public class ApprovalMobBillPlugin extends AbstractMobBillPlugIn implements Plugin {
private static final Log logger = LogFactory.getLog(ApprovalMobBillPlugin.class);
@Override
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
super.afterDoOperation(afterDoOperationEventArgs);
logger.info("进入afterDoOperation方法");
if (afterDoOperationEventArgs.getOperateKey().equals("donothing")) {
logger.info("进入donothing");
// 插件代码
HashMap<String, Object> map = new HashMap<>();
map.put("method", "setLocalStorage");
HashMap<String, Object> args = new HashMap<>();
args.put("key", "123");
args.put("value", "456");
map.put("args", args);
this.getView().executeClientCommand("callAPPApi", map);
}
}
}

View File

@ -171,8 +171,9 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno"
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno,ismatch"
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth())
.and("ismatch", QCP.equals, "1")
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
DynamicObject companys = dynamicObject.getDynamicObject("company");