提交内容:整体代码更新
备注:整体代码更新(应收、应付API二开代码修改;银行流水电子回单定时任务代码修改) 提交人:邹江涛
This commit is contained in:
parent
a4590b235a
commit
5d05698932
|
@ -59,6 +59,11 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
||||||
|
|
||||||
Object payeetype = map.get("payeetype");//如果是收款人类型 则为付款处理保存接口
|
Object payeetype = map.get("payeetype");//如果是收款人类型 则为付款处理保存接口
|
||||||
Object payertype = map.get("payertype");//如果是付款人类型 则为收款处理保存接口
|
Object payertype = map.get("payertype");//如果是付款人类型 则为收款处理保存接口
|
||||||
|
Object recorg = map.get("recorg");// 收款组织 财务应收单
|
||||||
|
Object payorg = map.get("payorg");// 付款组织 财务应付单
|
||||||
|
|
||||||
|
|
||||||
|
// 付款处理保存接口
|
||||||
if (payeetype != null) {
|
if (payeetype != null) {
|
||||||
logger.info("进入付款处理单API");
|
logger.info("进入付款处理单API");
|
||||||
// 收款人ID
|
// 收款人ID
|
||||||
|
@ -193,8 +198,12 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 收款处理保存接口
|
||||||
if (payertype != null) {
|
if (payertype != null) {
|
||||||
|
// 付款人ID
|
||||||
fieldName1 = "payer";
|
fieldName1 = "payer";
|
||||||
|
// 收款银行.number
|
||||||
|
fieldName2 = "payeebank";
|
||||||
|
|
||||||
if ("BD_Supplier".equals(payertype)) {
|
if ("BD_Supplier".equals(payertype)) {
|
||||||
payertype = "bd_supplier";
|
payertype = "bd_supplier";
|
||||||
|
@ -218,47 +227,128 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
||||||
map.put("payerformid", "other");
|
map.put("payerformid", "other");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("bd_supplier".equals(payertype) || "bd_customer".equals(payertype)) {
|
DynamicObject[] amAccountbanks = BusinessDataServiceHelper.load("am_accountbank", "id,bank,bank.number", new QFilter("number", QCP.equals, bankNumber).toArray());
|
||||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payertype.toString(), "id,number,name,societycreditcode", new QFilter("societycreditcode", QCP.equals, map.get("payernumber").toString()).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) {
|
if (objects.length > 0) {
|
||||||
|
DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank");
|
||||||
|
logger.info("dynamicObjectCollection:{}", dynamicObjectCollection);
|
||||||
|
|
||||||
|
// 付款人编码
|
||||||
map.put("payernumber", objects[0].getString("number"));
|
map.put("payernumber", objects[0].getString("number"));
|
||||||
|
// 付款人ID
|
||||||
|
map.put(fieldName1, objects[0].getPkValue());
|
||||||
//收款人编码
|
//收款人编码
|
||||||
objectNumber = objects[0].getString("number");
|
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 {
|
} else if ("bos_user".equals(payeetype)) {
|
||||||
//收款人编码
|
Map<String, Object> username = new HashMap<>();
|
||||||
objectNumber = map.get("payernumber").toString();
|
username.put("username", map.get("payernumber").toString());
|
||||||
}
|
map.put("shkd_user", username);
|
||||||
|
|
||||||
objectType = payertype.toString();
|
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,name,number,username", new QFilter("username", QCP.equals, map.get("payernumber").toString()).toArray());
|
||||||
if (!"other".equals(objectType)) {
|
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);
|
||||||
|
|
||||||
|
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,", new QFilter("number", QCP.equals, map.get("payernumber").toString()).toArray());
|
||||||
Map<String, Object> accountbank = (Map<String, Object>) map.get("accountbank");
|
if (objects.length > 0) {
|
||||||
bankNumber = (String) accountbank.get("number");
|
// 收款人编码
|
||||||
logger.info("收款处理 → \nobjectType:{}\nobjectNumber:{}\nbankNumber:{}", objectType, objectNumber, bankNumber);
|
map.put("payernumber", objects[0].getString("number"));
|
||||||
|
// 付款人ID
|
||||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load(objectType, "id,number", new QFilter("number", QCP.equals, objectNumber).toArray());
|
map.put(fieldName1, objects[0].getPkValue());
|
||||||
logger.info("dynamicObjects.length:{}", dynamicObjects.length);
|
//收款人编码
|
||||||
if (dynamicObjects.length > 0) {
|
objectNumber = objects[0].getString("number");
|
||||||
map.put(fieldName1, dynamicObjects[0].getPkValue());
|
|
||||||
logger.info("dynamicObjects[0]:{}", dynamicObjects[0]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ("bos_org".equals(objectType)) {
|
// 财务应收保存接口 // 财务应付保存接口
|
||||||
fieldName2 = "payeebank";
|
if (recorg != null || payorg != null) {
|
||||||
DynamicObject[] amAccountbanks = BusinessDataServiceHelper.load("am_accountbank", "id,bank,bank.number", new QFilter("number", QCP.equals, bankNumber).toArray());
|
// 往来类型
|
||||||
logger.info("amAccountbanks.length:{}", amAccountbanks.length);
|
String asstacttype = map.get("asstacttype").toString();
|
||||||
Map<String, Object> payeebank = new HashMap<>();
|
// 获取往来户
|
||||||
if (amAccountbanks.length > 0) {
|
Map<String, Object> asstact = (Map<String, Object>) map.get("asstact");
|
||||||
payeebank.put("number", amAccountbanks[0].getDynamicObject("bank").getString("number"));
|
// 如果为供应商或者客户
|
||||||
|
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -248,7 +248,7 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
|
||||||
DynamicObject[] objects4 = BusinessDataServiceHelper.load("bei_elecreceipt",
|
DynamicObject[] objects4 = BusinessDataServiceHelper.load("bei_elecreceipt",
|
||||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
||||||
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
"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());
|
, new QFilter("billno", QCP.equals, billNumber).toArray());
|
||||||
billObject = objects4[0];
|
billObject = objects4[0];
|
||||||
logger.info("获取银企交易明细查询推送对象 → billObject:{}", billObject);
|
logger.info("获取银企交易明细查询推送对象 → billObject:{}", billObject);
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -171,8 +171,9 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
|
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
|
||||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
||||||
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
"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())
|
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth())
|
||||||
|
.and("ismatch", QCP.equals, "1")
|
||||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||||
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
|
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
|
||||||
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
||||||
|
|
Loading…
Reference in New Issue