供应商、客户接口优化3

This commit is contained in:
yuxueliang0813 2025-05-21 18:00:12 +08:00
parent 81a066a120
commit ecca256aed
4 changed files with 58 additions and 19 deletions

View File

@ -31,7 +31,7 @@ import java.util.*;
*/
public class FeeControlApiPlugin extends AbstractFormPlugin implements Plugin {
private final static Log logger = LogFactory.getLog(FeeControlApiPlugin.class);
private static final DynamicObjectCollection PARAM_LIST = new DynamicObjectCollection();
private DynamicObjectCollection PARAM_LIST = new DynamicObjectCollection();
private static final String QUERY_BUTTON_KEY = "shjh_btnquery";
private static final String SELECTED_BUTTON_KEY = "shjh_btnok";
private static final String ENTRY_KEY = "shjh_entryentity";

View File

@ -9,6 +9,7 @@ import kd.bos.dataentity.OperateOption;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.operate.result.OperateErrorInfo;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.id.ID;
@ -54,6 +55,8 @@ public class CustomerInitOperation extends AbstractOperationServicePlugIn implem
Long currentSupId;
DynamicObject custgroupdetail;
OperateOption oop = OperateOption.create();
DynamicObject grouporginfo = EsbUtils.getGroupOrg();
OperationResult operResult;
for (DynamicObject pzinfo : dos) {
pzinfo = BusinessDataServiceHelper.loadSingle(pzinfo.getPkValue(), pzinfo.getDataEntityType().getName());
try{
@ -113,12 +116,12 @@ public class CustomerInitOperation extends AbstractOperationServicePlugIn implem
currentCus.set("enable",1);//默认可用
currentCus.set("type","1");//伙伴类型 默认法人企业
currentCus.set("bizfunction",",1,2,3,4,");//业务职能 默认全选
currentCus.set("createorg", JhzjUtils.GROUPID);//创建组织 默认为集团
currentCus.set("org", JhzjUtils.GROUPID);//管理组织 默认为集团
currentCus.set("createorg", grouporginfo);//创建组织 默认为集团
currentCus.set("org", grouporginfo);//管理组织 默认为集团
currentCus.set("ctrlstrategy","1");//控制策略 默认逐级分配1 自由分配2
currentCus.set("group",custype.getLong("id"));//客户分组
// currentCus.set("bitindex",1);//位图
currentCus.set("customerstatus",EsbUtils.CUSTOMERSTATUS);//客户状态
// currentCus.set("customerstatus",EsbUtils.CUSTOMERSTATUS);//客户状态
currentCus.set("name",cusname);//客户名称
currentCus.set("tx_register_no",taxno);//税务登记号
currentCus.set("societycreditcode",taxno);//统一社会信用代码
@ -141,7 +144,14 @@ public class CustomerInitOperation extends AbstractOperationServicePlugIn implem
// SaveServiceHelper.save(new DynamicObject[]{currentCus});
//保存客户-必须调用保存操作否则不符合受控基础资料开发规范
// SaveServiceHelper.save(new DynamicObject[]{currentCus});
OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentCus}, oop);
operResult = OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentCus}, oop);
if(!operResult.isSuccess()){
log.error(String.format("客户保存失败:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",cusnumber);
itemInfo.put("error","客户保存失败"+operResult.getMessage());
itemsJson.add(itemInfo);
}
//处理分类
custgroupdetail = BusinessDataServiceHelper.newDynamicObject(gdName);
custgroupdetail.set("createorg",JhzjUtils.GROUPID);//创建组织
@ -163,7 +173,14 @@ public class CustomerInitOperation extends AbstractOperationServicePlugIn implem
if(!"M400".equals(type)){
handleBank(banksJson,currentCus.getDynamicObjectCollection("entry_bank"),cusnumber,cusname);
}
OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentCus}, oop);
operResult = OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentCus}, oop);
if(!operResult.isSuccess()){
log.error(String.format("客户保存失败:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",cusnumber);
itemInfo.put("error","客户保存失败"+operResult.getMessage());
itemsJson.add(itemInfo);
}
}
cusids.put(cusnumber,currentSupId);
}
@ -224,6 +241,11 @@ public class CustomerInitOperation extends AbstractOperationServicePlugIn implem
for (int i = 0; i < banksJson.size(); i++) {
json_body = banksJson.getJSONObject(i);
if(cusnumber.equals(json_body.getString("code"))){
//根据详细分机银行 查找对应的行名行号
bebankinfo = BusinessDataServiceHelper.loadSingleFromCache(bebankName,"id,name",new QFilter[]{new QFilter("name","=",json_body.getString("bankname"))});
if(bebankinfo == null){
continue;
}
bankinfo = doc_bank.addNew();
bankinfo.set("bankaccount",json_body.getString("banknumber"));//银行账号
if(EsbUtils.isEmpty(json_body.getString("acctname"))){
@ -232,11 +254,8 @@ public class CustomerInitOperation extends AbstractOperationServicePlugIn implem
}else{
bankinfo.set("accountname",json_body.getString("acctname"));//账户名称
}
//根据详细分机银行 查找对应的行名行号
bebankinfo = BusinessDataServiceHelper.loadSingleFromCache(bebankName,"id,name",new QFilter[]{new QFilter("name","=",json_body.getString("bankname"))});
if(bebankinfo != null){
bankinfo.set("bank",bebankinfo.getLong("id"));//开户银行-行名行号 根据入参查找
}
bankinfo.set("bank",bebankinfo.getLong("id"));//开户银行-行名行号 根据入参查找
bankinfo.set("currency", JhzjUtils.CNY);//币别 默认人民币
}
}

View File

@ -9,6 +9,7 @@ import kd.bos.dataentity.OperateOption;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.operate.result.OperateErrorInfo;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.id.ID;
@ -76,6 +77,8 @@ public class SupplierInitOperation extends AbstractOperationServicePlugIn implem
Long currentSupId;
DynamicObject suppliergroupdetail;
OperateOption oop = OperateOption.create();
DynamicObject grouporginfo = EsbUtils.getGroupOrg();
OperationResult operResult;
Map<String, Long> cusids = new HashMap<>();//供应商编号和ID对应关系
for (int i = 0; i < detailsJson.size(); i++) {
json_body = detailsJson.getJSONObject(i);
@ -113,13 +116,13 @@ public class SupplierInitOperation extends AbstractOperationServicePlugIn implem
currentSup.set("enable",1);//默认可用
currentSup.set("type","1");//伙伴类型 默认法人企业
currentSup.set("bizfunction",",1,2,3,4,");//业务职能 默认全选
currentSup.set("createorg", JhzjUtils.GROUPID);//创建组织 默认为集团
currentSup.set("org", JhzjUtils.GROUPID);//管理组织 默认为集团
currentSup.set("createorg", grouporginfo);//创建组织 默认为集团
currentSup.set("org", grouporginfo);//管理组织 默认为集团
currentSup.set("source","SELF");//来源 默认自建
currentSup.set("ctrlstrategy","1");//控制策略 默认逐级分配
currentSup.set("group",suptype.getLong("id"));//供应商分组
// currentSup.set("bitindex",6);//位图
currentSup.set("supplier_status",EsbUtils.SUPPLIERSTATUS);//供应商状态 默认合格
// currentSup.set("supplier_status",EsbUtils.SUPPLIERSTATUS);//供应商状态 默认合格
//设置id和masterid 不然不能进行分配动作
currentSupId = ID.genLongId();
currentSup.set("id", currentSupId);
@ -184,7 +187,14 @@ public class SupplierInitOperation extends AbstractOperationServicePlugIn implem
handleSAPCompany(companysJson,currentSup.getDynamicObjectCollection("shjh_entry_sap"),supnumber);
//保存供应商-必须调用保存操作否则不符合受控基础资料开发规范
// SaveServiceHelper.save(new DynamicObject[]{currentSup});
OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentSup}, oop);
operResult = OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentSup}, oop);
if(!operResult.isSuccess()){
log.error(String.format("供应商保存失败:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",supnumber);
itemInfo.put("error","供应商保存失败"+operResult.getMessage());
itemsJson.add(itemInfo);
}
cusids.put(supnumber,currentSup.getLong("id"));
}

View File

@ -10,6 +10,7 @@ import kd.bos.context.RequestContext;
import kd.bos.dataentity.OperateOption;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.id.ID;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
@ -84,6 +85,8 @@ public class SupplierControler {
// DynamicObject parterInfo;
Map<String, Long> cusids = new HashMap<>();//供应商编号和ID对应关系
OperateOption oop = OperateOption.create();
DynamicObject grouporginfo = EsbUtils.getGroupOrg();
OperationResult operResult;
for (int i = 0; i < detailsJson.size(); i++) {
json_body = detailsJson.getJSONObject(i);
supnumber = json_body.getString("code");
@ -120,13 +123,13 @@ public class SupplierControler {
currentSup.set("enable",1);//默认可用
currentSup.set("type","1");//伙伴类型 默认法人企业
currentSup.set("bizfunction",",1,2,3,4,");//业务职能 默认全选
currentSup.set("createorg", JhzjUtils.GROUPID);//创建组织 默认为集团
currentSup.set("org", JhzjUtils.GROUPID);//管理组织 默认为集团
currentSup.set("createorg", grouporginfo);//创建组织 默认为集团
currentSup.set("org", grouporginfo);//管理组织 默认为集团
currentSup.set("source","SELF");//来源 默认自建
currentSup.set("ctrlstrategy","1");//控制策略 默认逐级分配
currentSup.set("group",suptype.getLong("id"));//供应商分组
// currentSup.set("bitindex",6);//位图
currentSup.set("supplier_status",EsbUtils.SUPPLIERSTATUS);//供应商状态 默认合格
// currentSup.set("supplier_status",EsbUtils.SUPPLIERSTATUS);//供应商状态 默认合格
//设置id和masterid 不然不能进行分配动作
currentSupId = ID.genLongId();
currentSup.set("id", currentSupId);
@ -210,7 +213,14 @@ public class SupplierControler {
handleSAPCompany(companysJson,currentSup.getDynamicObjectCollection("shjh_entry_sap"),supnumber);
//保存供应商-必须调用保存操作否则不符合受控基础资料开发规范
// SaveServiceHelper.save(new DynamicObject[]{currentSup});
OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentSup}, oop);
operResult = OperationServiceHelper.executeOperate("save", entityName, new DynamicObject[]{currentSup}, oop);
if(!operResult.isSuccess()){
log.error(String.format("供应商保存失败:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",supnumber);
itemInfo.put("error","供应商保存失败"+operResult.getMessage());
itemsJson.add(itemInfo);
}
cusids.put(supnumber,currentSup.getLong("id"));
//处理商务伙伴先判断是否已经生成了伙伴没有则新增一个伙伴
// parterInfo = BusinessDataServiceHelper.loadSingle(parterName,new QFilter[]{new QFilter("number","=",supnumber)});