提交内容:客户、供应商、客商银行信息中间表、人员岗位、物料、行政组织API保存插件

时间:2025-11-24 10:41
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-11-24 10:42:00 +08:00
parent 6c583ea512
commit a10e753fb8
7 changed files with 415 additions and 0 deletions

View File

@ -0,0 +1,48 @@
package shkd.sys.sys.plugin.api;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 客户API保存插件
*/
public class CustomerSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = -1233066349290656167L;
private static final Log logger = LogFactory.getLog(CustomerSavePlugin.class);
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 客户分录信息 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
String groupNumber = group.get("number").toString();
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
Map<String, Object> twoLevel = new HashMap<>();
Map<String, Object> standardid = new HashMap<>();
standardid.put("number", "JBFLBZ");
Map<String, Object> groupid = new HashMap<>();
groupid.put("number", groupNumber);
twoLevel.put("standardid", standardid);
twoLevel.put("groupid", groupid);
twoLevel.put("seq", 1);
entryGroupstandard.add(twoLevel);
oneLevel.put("entry_groupstandard", entryGroupstandard);
}
logger.info("API最后推送数据 → 客户分录信息 → " + reqData);
return reqData;
}
}

View File

@ -0,0 +1,67 @@
package shkd.sys.sys.plugin.api;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 会计科目_核算维度API保存插件
*/
public class HswdApiSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = 5682058714176510321L;
private static final Log logger = LogFactory.getLog(HswdApiSavePlugin.class);
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 会计科目_核算维度 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
String billno = oneLevel.get("billno").toString();//浪潮数据内码
String shkdLcid = oneLevel.get("shkd_lcid").toString();//会计科目浪潮ID
Map<String, Object> shkdHswd = (Map<String, Object>) oneLevel.get("shkd_hswd");
String shkdHswdNumber = shkdHswd.get("number").toString();// 核算维度编码
DynamicObject[] bd_asstacttypes = BusinessDataServiceHelper.load("bd_asstacttype", "id,number", new QFilter("number", QCP.equals, shkdHswdNumber).toArray());
if (bd_asstacttypes == null || bd_asstacttypes.length == 0) {
return reqData;
} else {
DynamicObject[] bd_accountviews = BusinessDataServiceHelper.load("bd_accountview",
"id,shkd_lcid,checkitementry,checkitementry.asstactitem,checkitementry.shkd_lchswdid," +
"checkitementry.isrequire,checkitementry.isdetail", new QFilter("shkd_lcid", QCP.equals, shkdLcid).toArray());
boolean isExist = false;
if (bd_accountviews != null && bd_accountviews.length > 0) {
DynamicObject bdAccountview = bd_accountviews[0];
DynamicObjectCollection checkitementrys = bdAccountview.getDynamicObjectCollection("checkitementry");
for (DynamicObject checkitementry : checkitementrys) {
String shkdLchswdid = checkitementry.getString("shkd_lchswdid");
if (billno.equals(shkdLchswdid)) {
checkitementry.set("asstactitem", bd_asstacttypes[0]);
isExist = true;
break;
}
}
if (!isExist) {
DynamicObject dynamicObject = checkitementrys.addNew();
dynamicObject.set("asstactitem", bd_asstacttypes[0]);
dynamicObject.set("shkd_lchswdid", billno);
dynamicObject.set("isrequire", true);
dynamicObject.set("isdetail", true);
}
SaveServiceHelper.save(new DynamicObject[]{bdAccountview});
}
}
}
logger.info("API最终推送数据 → 会计科目_核算维度 → " + reqData);
return reqData;
}
}

View File

@ -0,0 +1,115 @@
package shkd.sys.sys.plugin.api;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 客商银行信息API保存插件
*/
public class KsBankinformationSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = -4773431652795425615L;
private static final Log logger = LogFactory.getLog(KsBankinformationSavePlugin.class);
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 客商银行信息 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
String shkdLcid = oneLevel.get("shkd_lcid").toString();//浪潮ID 客商浪潮id
String billno = oneLevel.get("billno").toString();// 编码 浪潮内码
String shkdYhzh = oneLevel.get("shkd_yhzh").toString();// 银行账号
String shkdZhmc = oneLevel.get("shkd_zhmc").toString();// 账户名称
boolean shkdMr = (boolean) oneLevel.get("shkd_mr");// 是否默认
Map<String, Object> shkd_khyh = (Map<String, Object>) oneLevel.get("shkd_khyh");
String shkd_khyh_number = shkd_khyh.get("number").toString();// 行名行号
Map<String, Object> shkd_bz = (Map<String, Object>) oneLevel.get("shkd_bz");
String shkd_bz_number = shkd_bz.get("number").toString();// 币别编码
DynamicObject[] bd_bebanks = BusinessDataServiceHelper.load("bd_bebank", "id,number", new QFilter("number", QCP.equals, shkd_khyh_number).toArray());
DynamicObject[] bd_currencys = BusinessDataServiceHelper.load("bd_currency", "id,number", new QFilter("number", QCP.equals, shkd_bz_number).toArray());
DynamicObject shkdKhyh = bd_bebanks[0];//行名行号
DynamicObject shkdBz = bd_currencys[0];//币别
DynamicObject[] bd_customers = BusinessDataServiceHelper.load("bd_customer",
"id,shkd_lcid,entry_bank,entry_bank.shkd_entrylcid,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank,entry_bank.currency,entry_bank.isdefault_bank", new QFilter("shkd_lcid", QCP.equals, shkdLcid).toArray());
boolean customerIsExist = false;
if (bd_customers != null && bd_customers.length > 0) {
DynamicObjectCollection bd_customer_entryBank = bd_customers[0].getDynamicObjectCollection("entry_bank");
for (DynamicObject entryBank : bd_customer_entryBank) {
String shkdEntrylcid = entryBank.getString("shkd_entrylcid");//浪潮银行信息id
if (billno.equals(shkdEntrylcid)) {
customerIsExist = true;
entryBank.set("bankaccount", shkdYhzh);
entryBank.set("accountname", shkdZhmc);
entryBank.set("isdefault_bank", shkdMr);
entryBank.set("bank", shkdKhyh);
entryBank.set("currency", shkdBz);
SaveServiceHelper.save(new DynamicObject[]{bd_customers[0]});
break;
}
}
if (!customerIsExist) {
DynamicObject dynamicObject = bd_customer_entryBank.addNew();
dynamicObject.set("bankaccount", shkdYhzh);
dynamicObject.set("accountname", shkdZhmc);
dynamicObject.set("bank", shkdKhyh);
dynamicObject.set("currency", shkdBz);
dynamicObject.set("isdefault_bank", shkdMr);
dynamicObject.set("shkd_entrylcid", billno);
SaveServiceHelper.save(new DynamicObject[]{bd_customers[0]});
}
}
DynamicObject[] bd_suppliers = BusinessDataServiceHelper.load("bd_supplier",
"id,shkd_lcid,entry_bank,entry_bank.shkd_entrylcid,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank,entry_bank.currency,entry_bank.isdefault_bank", new QFilter("shkd_lcid", QCP.equals, shkdLcid).toArray());
boolean supplierIsExist = false;
if (bd_suppliers != null && bd_suppliers.length > 0) {
DynamicObjectCollection bd_supplier_entryBank = bd_suppliers[0].getDynamicObjectCollection("entry_bank");
for (DynamicObject entryBank : bd_supplier_entryBank) {
String shkdEntrylcid = entryBank.getString("shkd_entrylcid");//浪潮银行信息id
if (billno.equals(shkdEntrylcid)) {
supplierIsExist = true;
entryBank.set("bankaccount", shkdYhzh);
entryBank.set("accountname", shkdZhmc);
entryBank.set("isdefault_bank", shkdMr);
entryBank.set("bank", shkdKhyh);
entryBank.set("currency", shkdBz);
SaveServiceHelper.save(new DynamicObject[]{bd_suppliers[0]});
break;
}
}
if (!supplierIsExist) {
DynamicObject dynamicObject = bd_supplier_entryBank.addNew();
dynamicObject.set("bankaccount", shkdYhzh);
dynamicObject.set("accountname", shkdZhmc);
dynamicObject.set("bank", shkdKhyh);
dynamicObject.set("currency", shkdBz);
dynamicObject.set("isdefault_bank", shkdMr);
dynamicObject.set("shkd_entrylcid", billno);
SaveServiceHelper.save(new DynamicObject[]{bd_suppliers[0]});
}
}
}
logger.info("API最后推送数据 → 客商银行信息 → " + reqData);
return reqData;
}
}

View File

@ -0,0 +1,45 @@
package shkd.sys.sys.plugin.api;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 人员任职API保存插件
*/
public class RyrzApiSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = 1909027431568925659L;
private static final Log logger = LogFactory.getLog(RyrzApiSavePlugin.class);
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 人员任职 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
Map<String, Object> org = (Map<String, Object>) oneLevel.get("org");
String shkdLcid = org.get("shkd_lcid").toString();
// 行政组织id
DynamicObject[] bos_adminorg = BusinessDataServiceHelper.load("bos_adminorg", "id,name,number,shkd_lcid", new QFilter("shkd_lcid", QCP.equals, shkdLcid).toArray());
if (bos_adminorg != null && bos_adminorg.length > 0) {
DynamicObject bos_adminorg_one = bos_adminorg[0];
DynamicObject[] bos_adminorg_structure = BusinessDataServiceHelper.load("bos_adminorg_structure", "id,number,name,fullname,org", new QFilter("org", QCP.equals, bos_adminorg_one.getPkValue()).toArray());
if (bos_adminorg_structure != null && bos_adminorg_structure.length > 0) {
Map<String, Object> orgstructure = new HashMap<>();
orgstructure.put("id", bos_adminorg_structure[0].getPkValue());
oneLevel.put("orgstructure", orgstructure);
}
}
}
logger.info("API最后推送数据 → 人员任职 → " + reqData);
return reqData;
}
}

View File

@ -0,0 +1,47 @@
package shkd.sys.sys.plugin.api;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 供应商分录API保存插件
*/
public class SupplierSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = -423600019773886832L;
private static final Log logger = LogFactory.getLog(SupplierSavePlugin.class);
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 供应商分录信息 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
String groupNumber = group.get("number").toString();
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
Map<String, Object> twoLevel = new HashMap<>();
Map<String, Object> standardid = new HashMap<>();
standardid.put("number", "JBFLBZ");
Map<String, Object> groupid = new HashMap<>();
groupid.put("number", groupNumber);
twoLevel.put("standardid", standardid);
twoLevel.put("groupid", groupid);
twoLevel.put("seq", 1);
entryGroupstandard.add(twoLevel);
oneLevel.put("entry_groupstandard", entryGroupstandard);
}
logger.info("API最后推送数据 → 供应商分录信息 → " + reqData);
return reqData;
}
}

View File

@ -0,0 +1,47 @@
package shkd.sys.sys.plugin.api;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 物料API保存插件
*/
public class WlSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = -8376449027109550091L;
private static final Log logger = LogFactory.getLog(XzzzApiSavePlugin.class);
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 物料 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
String groupNumber = group.get("number").toString();
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
Map<String, Object> twoLevel = new HashMap<>();
Map<String, Object> standardid = new HashMap<>();
standardid.put("number", "JBFLBZ");
Map<String, Object> groupid = new HashMap<>();
groupid.put("number", groupNumber);
twoLevel.put("standardid", standardid);
twoLevel.put("groupid", groupid);
twoLevel.put("seq", 1);
entryGroupstandard.add(twoLevel);
oneLevel.put("entry_groupstandard", entryGroupstandard);
}
logger.info("API起始推送数据 → 物料 → " + reqData);
return ApiSavePlugin.super.preHandleRequestData(reqData);
}
}

View File

@ -0,0 +1,46 @@
package shkd.sys.sys.plugin.api;
import kd.bos.logging.LogFactory;
import kd.bos.logging.Log;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
public class XzzzApiSavePlugin implements Serializable, ApiSavePlugin {
private static final long serialVersionUID = 5490855512855350249L;
private static final Log logger = LogFactory.getLog(XzzzApiSavePlugin.class);
/**
* 行政组织API保存插件
*/
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
logger.info("API起始推送数据 → 行政组织 → " + reqData);
for (Map<String, Object> oneLevel : reqData) {
Map<String, Object> parent = (Map<String, Object>) oneLevel.get("parent");
List<Map<String, Object>> structure = new ArrayList<>();
Map<String, Object> twoLevel = new HashMap<>();
if (parent != null) {
Map<String, Object> viewparent = new HashMap<>();
viewparent.put("shkd_lcid", parent.get("shkd_lcid"));
twoLevel.put("viewparent", viewparent);
}
twoLevel.put("seq", 1);
Map<String, Object> view = new HashMap<>();
view.put("name", "行政组织视图默认方案");
twoLevel.put("view", view);
structure.add(twoLevel);
oneLevel.put("structure", structure);
}
logger.info("API最终推送数据 → 行政组织 → " + reqData);
return reqData;
}
}