接口优化调整

This commit is contained in:
yuxueliang0813 2025-02-07 18:29:17 +08:00
parent 94438626f6
commit e4fc50883e
5 changed files with 247 additions and 61 deletions

View File

@ -15,7 +15,7 @@ import java.net.URLEncoder;
import java.util.Date;
public class JHSSOAuthHandler implements ThirdSSOAuthHandler {
private static final String ssologinUrl = "https://ip/login.html";
private static final String ssologinUrl = "https://www.baidu.com";
private static final String client_id = "id";//应用注册ID 由认证系统提供
private static final String client_secret = "secret";//应用注册密码 由认证系统提供
@ -67,6 +67,9 @@ public class JHSSOAuthHandler implements ThirdSSOAuthHandler {
private String getWorkerNumber(HttpServletRequest hsrequest){
//第二步SSO认证系统会携带临时code浏览器重定向至应用方回调地址直接从请求中获取code
String tempCode = hsrequest.getParameter("code");
if(StringUtils.isEmpty(tempCode)){
return null;
}
//第三步根据SSO颁发的code获取accessToken post请求 参数拼接在url上
StringBuffer ssoURL = new StringBuffer();
ssoURL.append(ssologinUrl);

View File

@ -1,13 +1,18 @@
package shjh.jhzj7.fi.fi.utils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.isc.util.script.encoding.Hash;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.*;
public class EsbUtils {
//esb-人员行政组织成本中心客商会计科目利润中心客户组5接口工具类
@ -21,6 +26,7 @@ public class EsbUtils {
public static final Long CUSTOMERSTATUS = 1122390034075371520l;//客户状态 默认合格
public static final Long ACCTABLE = 1318154893474663424L;//科目表
private static final String orgName = "bos_org";//系统库 表名 t_org_org
public static boolean isEmpty(String value) {
return value == null || value.trim().length() <= 0;
@ -31,6 +37,102 @@ public class EsbUtils {
return null;
}
//处理分配
public static void handleAssign(JSONArray companysJson, Map<String, Long> cusids, String entityName) {
JSONObject json_body;
String compnum;
String cusnumber = "";
DynamicObject compinfo;
List<Long> dataList = new ArrayList<>();
List<Long> orgList = new ArrayList<>();
for (int i = 0; i < companysJson.size(); i++) {
json_body = companysJson.getJSONObject(i);
if(i == 0){
//初始化
cusnumber = json_body.getString("code");//客户-供应商编号
}
compnum = json_body.getString("companynum");//公司编号
if(EsbUtils.isEmpty(compnum) || "0".equals(json_body.getString("companystatus"))){
//公司编号为空 或者 公司层面使用状态-禁用的 不处理
continue;
}
//还原公司id
compinfo = BusinessDataServiceHelper.loadSingleFromCache(orgName,"id,number",new QFilter[]{new QFilter("number","=",compnum)});
if(compinfo == null){
continue;
}
if(cusnumber.equals(json_body.getString("code"))){
//还是同一个客户
orgList.add(compinfo.getLong("id"));
}else{
//另一个客户先处理上一个客户的分配
if(!orgList.isEmpty()){
dataList.clear();
dataList.add(cusids.get(cusnumber));
BaseDataServiceHelper.batchAssignWithDetail(entityName,JhzjUtils.GROUPID,dataList,orgList);
//处理完成后清空组织列表
orgList.clear();
orgList.add(compinfo.getLong("id"));
}
cusnumber = json_body.getString("code");
}
}
//考虑最后一个客户的分配情况
if(!orgList.isEmpty()){
dataList.clear();
dataList.add(cusids.get(cusnumber));
BaseDataServiceHelper.batchAssignWithDetail(entityName,JhzjUtils.GROUPID,dataList,orgList);
}
}
//处理取消分配
public static void handleUnAssign(JSONArray companysJson, Map<String, Long> cusids, String entityName) {
JSONObject json_body;
String compnum;
String cusnumber = "";
DynamicObject compinfo;
Set<Long> dataList = new HashSet<>();
Set<Long> orgList = new HashSet<>();
for (int i = 0; i < companysJson.size(); i++) {
json_body = companysJson.getJSONObject(i);
if(i == 0){
//初始化
cusnumber = json_body.getString("code");//客户-供应商编号
}
compnum = json_body.getString("companynum");//公司编号
if(EsbUtils.isEmpty(compnum) || "1".equals(json_body.getString("companystatus"))){
//公司编号为空 或者 公司层面使用状态-启用的 不处理
continue;
}
//还原公司id
compinfo = BusinessDataServiceHelper.loadSingleFromCache(orgName,"id,number",new QFilter[]{new QFilter("number","=",compnum)});
if(compinfo == null){
continue;
}
if(cusnumber.equals(json_body.getString("code"))){
//还是同一个客户
orgList.add(compinfo.getLong("id"));
}else{
//另一个客户先处理上一个客户的取消分配
if(!orgList.isEmpty()){
dataList.clear();
dataList.add(cusids.get(cusnumber));
BaseDataServiceHelper.cancelAssign(entityName,dataList,orgList);
//处理完成后清空组织列表
orgList.clear();
orgList.add(compinfo.getLong("id"));
}
cusnumber = json_body.getString("code");
}
}
//考虑最后一个客户的取消分配情况
if(!orgList.isEmpty()){
dataList.clear();
dataList.add(cusids.get(cusnumber));
BaseDataServiceHelper.cancelAssign(entityName,dataList,orgList);
}
}
public static String getDateString(Date billDate){
//将传入的日期类型格式化为字符串如果传入日期为空则返回当前时间
//创建一个SimpleDateFormat对象定义目标日期格式

View File

@ -8,6 +8,7 @@ import com.drew.lang.annotations.NotNull;
import kd.bos.api.client.ApiResult;
import kd.bos.context.RequestContext;
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.common.custom.annotation.ApiController;
@ -16,7 +17,6 @@ import kd.bos.openapi.common.custom.annotation.ApiRequestBody;
import kd.bos.openapi.common.result.CustomApiResult;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.DeleteServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import shjh.jhzj7.fi.fi.utils.EsbUtils;
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
@ -24,6 +24,8 @@ import shjh.jhzj7.fi.fi.webapi.model.CustomerModel;
import javax.validation.Valid;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@ApiController(value = "CustomerControler",desc = "客户接口,自定义插件")
public class CustomerControler {
@ -31,6 +33,7 @@ public class CustomerControler {
private static final String cusTypeName = "bd_customergroup";//系统库 表名 t_bd_customergroup
private static final String gdName = "bd_customergroupdetail";//系统库 客户分组 表名 t_bd_customergroupdetail
private static final String bebankName = "bd_bebank";//系统库 行名行号 表名 t_bd_bebank
private static final Log log = LogFactory.getLog(CustomerControler.class);
private static final String apimenthod = "/customer_sync";
@ -41,7 +44,7 @@ public class CustomerControler {
@ApiPostMapping(value = apimenthod, desc = "客户接口")
public CustomApiResult<ApiResult> customer_sync (@NotNull @Valid @ApiRequestBody(value="入参json格式") CustomerModel bizParam) {
JSONObject json_obj = null;
JSONObject json_obj;
try{
//解析入参如果格式不正确日志记录并反馈esb
json_obj = (JSONObject) JSON.toJSON(bizParam);
@ -53,7 +56,10 @@ public class CustomerControler {
}
JSONArray itemsJson = new JSONArray();//返回值明细集合
JSONObject itemInfo;//返回值明细对象
JSONArray detailsJson = json_obj.getJSONArray("items");
JSONArray detailsJson = json_obj.getJSONArray("items");//客户基本信息
JSONArray banksJson = json_obj.getJSONArray("banks");//客户银行
JSONArray companysJson = json_obj.getJSONArray("companys");//客户所属公司
JSONArray customerfivesJson = json_obj.getJSONArray("customerfives");//客户组5
String cusnumber;
String cusname;
String taxno;
@ -64,6 +70,7 @@ public class CustomerControler {
JSONObject json_body;
Long currentSupId;
DynamicObject suppliergroupdetail;
Map<String, Long> cusids = new HashMap<>();//客户编号和ID对应关系
for (int i = 0; i < detailsJson.size(); i++) {
json_body = detailsJson.getJSONObject(i);
@ -72,7 +79,7 @@ public class CustomerControler {
taxno = json_body.getString("taxno");
type = json_body.getString("type");
if(EsbUtils.isEmpty(cusnumber) || EsbUtils.isEmpty(cusname) || EsbUtils.isEmpty(taxno) || EsbUtils.isEmpty(type)){
if(EsbUtils.isEmpty(cusnumber) || EsbUtils.isEmpty(cusname) || EsbUtils.isEmpty(type)){
log.error(String.format("客户接口入参为空异常:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",cusnumber);
@ -80,17 +87,18 @@ public class CustomerControler {
itemsJson.add(itemInfo);
continue;
}
custype = BusinessDataServiceHelper.loadSingleFromCache(cusTypeName,"id,number",new QFilter[]{new QFilter("number","=",type)});
if(custype == null){
log.error(String.format("客户分类未匹配:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",cusnumber);
itemInfo.put("error","客户分类未匹配");
itemsJson.add(itemInfo);
continue;
}
currentCus = BusinessDataServiceHelper.loadSingle(entityName,new QFilter[]{new QFilter("number","=",cusnumber)});
if(currentCus == null){
//判断客户分类
custype = BusinessDataServiceHelper.loadSingleFromCache(cusTypeName,"id,number",new QFilter[]{new QFilter("number","=",type)});
if(custype == null){
log.error(String.format("客户分类未匹配:%s", json_body.toJSONString()));
itemInfo = new JSONObject();
itemInfo.put("code",cusnumber);
itemInfo.put("error","客户分类未匹配");
itemsJson.add(itemInfo);
continue;
}
//根据编号找不到客户则新增
currentCus = BusinessDataServiceHelper.newDynamicObject(entityName);
currentCus.set("number",cusnumber);
@ -103,27 +111,44 @@ public class CustomerControler {
currentCus.set("bizfunction",",1,2,3,4,");//业务职能 默认全选
currentCus.set("createorg", JhzjUtils.GROUPID);//创建组织 默认为集团
currentCus.set("org", JhzjUtils.GROUPID);//管理组织 默认为集团
currentCus.set("ctrlstrategy","1");//控制策略 默认逐级分配
currentCus.set("ctrlstrategy","1");//控制策略 默认逐级分配1 自由分配2
currentCus.set("group",custype.getLong("id"));//客户分组
currentCus.set("bitindex",1);//位图
currentCus.set("customerstatus",EsbUtils.CUSTOMERSTATUS);//客户状态
currentCus.set("name",cusname);//客户名称
currentCus.set("tx_register_no",taxno);//税务登记号
currentCus.set("societycreditcode",taxno);//统一社会信用代码
currentCus.set("linkman",json_body.getString("contacts"));//联系人
currentCus.set("bizpartner_phone",json_body.getString("telnum"));//联系电话
//处理银行-新增-员工类客户不需要处理
if(!"06".equals(type)){
handleBank(banksJson,currentCus.getDynamicObjectCollection("entry_bank"),cusnumber);
}
currentSupId = ((DynamicObject) SaveServiceHelper.save(new DynamicObject[]{currentCus})[0]).getLong("id");
//处理分类
suppliergroupdetail = BusinessDataServiceHelper.newDynamicObject(gdName);
suppliergroupdetail.set("createorg",JhzjUtils.GROUPID);//创建组织
suppliergroupdetail.set("standard",EsbUtils.CUSTOMERSTAND);//客户分类标准
suppliergroupdetail.set("group",custype.getLong("id"));//具体分类
suppliergroupdetail.set("customer",currentSupId);//客户
SaveServiceHelper.save(new DynamicObject[]{suppliergroupdetail});
//保存成功后处理masterid字段不然不能进行分配动作
}else{
currentSupId = currentCus.getLong("id");
currentCus.set("masterid",currentSupId);
currentCus.set("name",cusname);//客户名称
currentCus.set("tx_register_no",taxno);//税务登记号
currentCus.set("societycreditcode",taxno);//统一社会信用代码
currentCus.set("linkman",json_body.getString("contacts"));//联系人
currentCus.set("bizpartner_phone",json_body.getString("telnum"));//联系电话
SaveServiceHelper.save(new DynamicObject[]{currentCus});
}
currentCus.set("name",cusname);//客户名称
currentCus.set("tx_register_no",taxno);//税务登记号
currentCus.set("societycreditcode",taxno);//统一社会信用代码
currentCus.set("linkman",json_body.getString("contacts"));//联系人
currentCus.set("bizpartner_phone",json_body.getString("telnum"));//联系电话
currentSupId = ((DynamicObject) SaveServiceHelper.save(new DynamicObject[]{currentCus})[0]).getLong("id");
//处理分类
DeleteServiceHelper.delete(gdName,new QFilter[]{new QFilter("customer","=",currentSupId)});
suppliergroupdetail = BusinessDataServiceHelper.newDynamicObject(gdName);
suppliergroupdetail.set("createorg",JhzjUtils.GROUPID);//创建组织
suppliergroupdetail.set("standard",EsbUtils.CUSTOMERSTAND);//客户分类标准
suppliergroupdetail.set("group",custype.getLong("id"));//具体分类
suppliergroupdetail.set("customer",currentSupId);//客户
SaveServiceHelper.save(new DynamicObject[]{suppliergroupdetail});
cusids.put(cusnumber,currentSupId);
}
//处理客户分配
EsbUtils.handleAssign(companysJson, cusids, entityName);
//处理客户取消分配
EsbUtils.handleUnAssign(companysJson, cusids, entityName);
if(itemsJson.isEmpty()){
EsbUtils.saveLog(apimenthod,"ESB",json_obj.toString(),null,true,"API");
@ -133,4 +158,28 @@ public class CustomerControler {
return CustomApiResult.fail("400","接口处理异常"+itemsJson.toJSONString());
}
}
private void handleBank(JSONArray banksJson,DynamicObjectCollection doc_bank,String cusnumber){
JSONObject json_body;
DynamicObject bankinfo;
DynamicObject bebankinfo;
for (int i = 0; i < banksJson.size(); i++) {
json_body = banksJson.getJSONObject(i);
if(cusnumber.equals(json_body.getString("code"))){
bankinfo = doc_bank.addNew();
bankinfo.set("bankaccount",json_body.getString("banknumber"));//银行账号
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("currency", JhzjUtils.CNY);//币别 默认人民币
// bankinfo.set("isdefault_bank",1);
}
}
if(!doc_bank.isEmpty()){
doc_bank.get(0).set("isdefault_bank",1);
}
}
}

View File

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.drew.lang.annotations.NotNull;
import kd.bos.api.client.ApiResult;
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.common.custom.annotation.ApiController;
@ -15,9 +16,12 @@ import kd.bos.openapi.common.custom.annotation.ApiRequestBody;
import kd.bos.openapi.common.result.CustomApiResult;
import kd.bos.orm.query.QFilter;
import kd.bos.permission.model.UserParam;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import shjh.jhzj7.fi.fi.utils.EsbUtils;
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
import shjh.jhzj7.fi.fi.webapi.model.PersonModel;
import javax.validation.Valid;
@ -32,6 +36,9 @@ public class PersonControler implements Serializable {
private static final String entityName = "bos_user";//系统库 表名 t_sec_user
private static final String orgName = "bos_org";//系统库 表名 t_org_org
private static final String ccName = "bos_costcenter";//系统库 表名 t_bas_costcenter
private static final String cusEntityName = "bd_customer";//系统库 表名 T_BD_Customer
private static final String bebankName = "bd_bebank";//系统库 行名行号 表名 t_bd_bebank
private static final Log log = LogFactory.getLog(PersonControler.class);
private static final String apimenthod = "/person_sync";
@ -90,7 +97,7 @@ public class PersonControler implements Serializable {
for (int i = 0; i < detailsJson.size(); i++) {
json_body = detailsJson.getJSONObject(i);
number = json_body.getString("code");//工号作为唯一值
name = json_body.getString("hrisname");
name = json_body.getString("hrisName");
email = json_body.getString("email");
phone = json_body.getString("phone1");
deptid = json_body.getString("keyDeptDoc");//部门编号
@ -192,18 +199,18 @@ public class PersonControler implements Serializable {
UserServiceHelper.add(addList);
//判断执行结果
for (UserParam result : addList) {
itemInfo = new JSONObject();
itemInfo.put("code",result.getDataMap().get("number"));
itemsJson.add(itemInfo);
if (!result.isSuccess()) {
handleResult = String.format("人员新增异常:%s", result.getMsg());
log.error(handleResult);
itemInfo = new JSONObject();
itemInfo.put("code",result.getDataMap().get("number"));
itemInfo.put("error",handleResult);
itemsJson.add(itemInfo);
}else{
// itemInfo.put("status","1");
// itemInfo.put("message","");
//更新人员对应客户的银行信息
handlePersonForCustomer(result);
}
}
}
@ -212,18 +219,18 @@ public class PersonControler implements Serializable {
UserServiceHelper.update(updateList);
//判断执行结果
for (UserParam result : updateList) {
itemInfo = new JSONObject();
itemInfo.put("code",result.getDataMap().get("number"));
itemsJson.add(itemInfo);
if (!result.isSuccess()) {
handleResult = String.format("人员修改异常:%s", result.getMsg());
log.error(handleResult);
itemInfo = new JSONObject();
itemInfo.put("code",result.getDataMap().get("number"));
itemInfo.put("error",handleResult);
itemsJson.add(itemInfo);
}else{
// itemInfo.put("status","1");
// itemInfo.put("message","");
//更新人员对应客户的银行信息
handlePersonForCustomer(result);
}
}
}
@ -240,4 +247,33 @@ public class PersonControler implements Serializable {
}
}
private void handlePersonForCustomer(UserParam ups){
String cusnumber = (String) ups.getDataMap().get("number");//客户编号-即是 人员的编号
DynamicObject currentCus = BusinessDataServiceHelper.loadSingle(cusEntityName,new QFilter[]{new QFilter("number","=",cusnumber)});
if(currentCus != null){
String cusname = (String) ups.getDataMap().get("name");//姓名
String skyh = (String) ups.getDataMap().get("shjh_skyh");//收款银行
String xxyh = (String) ups.getDataMap().get("shjh_xxyh");//详细分机银行
String acctnum = (String) ups.getDataMap().get("shjh_acctnum");//收款账号
DynamicObjectCollection doc_bank = currentCus.getDynamicObjectCollection("entry_bank");
DynamicObject bankinfo;
if(doc_bank.isEmpty()){
bankinfo = doc_bank.addNew();
}else{
bankinfo = doc_bank.get(0);
}
bankinfo.set("bankaccount",acctnum);//银行账号
bankinfo.set("accountname",cusname);//账户名称
//根据详细分机银行 查找对应的行名行号
DynamicObject bebankinfo = BusinessDataServiceHelper.loadSingleFromCache(bebankName,"id,name",new QFilter[]{new QFilter("name","=",xxyh)});
if(bebankinfo != null){
bankinfo.set("bank",bebankinfo.getLong("id"));//开户银行-行名行号 根据入参查找
}
bankinfo.set("currency", JhzjUtils.CNY);//币别 默认人民币
bankinfo.set("isdefault_bank",1);
SaveServiceHelper.save(new DynamicObject[]{currentCus});
}
//客户还未生成需要在客户生成时从人员处获取银行账号
}
}

View File

@ -17,7 +17,6 @@ import kd.bos.openapi.common.custom.annotation.ApiRequestBody;
import kd.bos.openapi.common.result.CustomApiResult;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
import kd.bos.servicehelper.operation.DeleteServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import shjh.jhzj7.fi.fi.utils.EsbUtils;
@ -25,9 +24,7 @@ import shjh.jhzj7.fi.fi.utils.JhzjUtils;
import shjh.jhzj7.fi.fi.webapi.model.SupplierModel;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
@ApiController(value = "SupplierControler",desc = "供应商接口,自定义插件")
public class SupplierControler {
@ -60,6 +57,8 @@ public class SupplierControler {
JSONArray itemsJson = new JSONArray();//返回值明细集合
JSONObject itemInfo;//返回值明细对象
JSONArray detailsJson = json_obj.getJSONArray("items");
JSONArray banksJson = json_obj.getJSONArray("banks");//供应商银行
JSONArray companysJson = json_obj.getJSONArray("companys");//供应商所属公司
String supnumber;
String supname;
String taxno;
@ -67,18 +66,16 @@ public class SupplierControler {
String bankcode;
DynamicObject currentSup;
DynamicObject suptype;
List<Long> dataList = new ArrayList<>();
List<Long> orgList = new ArrayList<>();
JSONObject json_body;
// DynamicObjectCollection doc_type;
DynamicObjectCollection doc_bank;
DynamicObject bankinfo;
DynamicObject bebankinfo;
JSONArray detailsBankJson;
JSONObject json_bank;
Long currentSupId;
DynamicObject suppliergroupdetail;
DynamicObject parterInfo;
// DynamicObject parterInfo;
Map<String, Long> cusids = new HashMap<>();//供应商编号和ID对应关系
for (int i = 0; i < detailsJson.size(); i++) {
json_body = detailsJson.getJSONObject(i);
supnumber = json_body.getString("code");
@ -137,9 +134,11 @@ public class SupplierControler {
//处理银行信息-分表
doc_bank = currentSup.getDynamicObjectCollection("entry_bank");
doc_bank.clear();
detailsBankJson = json_body.getJSONArray("banks");
for (int j = 0; j < detailsBankJson.size(); j++) {
json_bank = detailsBankJson.getJSONObject(j);
for (int j = 0; j < banksJson.size(); j++) {
json_bank = banksJson.getJSONObject(j);
if(!supnumber.equals(json_bank.getString("code"))){
continue;
}
bankcode = json_bank.getString("bankcode");
if(EsbUtils.isEmpty(bankcode)){
log.error(String.format("供应商行名行号为空异常:%s", json_bank.toJSONString()));
@ -169,11 +168,8 @@ public class SupplierControler {
bankinfo.set("isdefault_bank",1);
}
}
//处理所属公司-分表
dataList.clear();
//保存供应商
currentSupId = ((DynamicObject)SaveServiceHelper.save(new DynamicObject[]{currentSup})[0]).getLong("id");
// OperationServiceHelper.executeOperate("save",entityName,new DynamicObject[]{currentSup}, OperateOption.create());
//处理分类
DeleteServiceHelper.delete(gdName,new QFilter[]{new QFilter("supplier","=",currentSupId)});
suppliergroupdetail = BusinessDataServiceHelper.newDynamicObject(gdName);
@ -182,10 +178,7 @@ public class SupplierControler {
suppliergroupdetail.set("group",suptype.getLong("id"));//具体分类
suppliergroupdetail.set("supplier",currentSupId);//供应商
SaveServiceHelper.save(new DynamicObject[]{suppliergroupdetail});
// dataList.add(currentSupId);
// orgList.clear();
// orgList.add(2116792428491973632l);//C005
// orgList.add(2116753963226241024l);//C001
cusids.put(supnumber,currentSupId);
//处理商务伙伴先判断是否已经生成了伙伴没有则新增一个伙伴
// parterInfo = BusinessDataServiceHelper.loadSingle(parterName,new QFilter[]{new QFilter("number","=",supnumber)});
// if(parterInfo == null){
@ -203,11 +196,13 @@ public class SupplierControler {
// SaveServiceHelper.save(new DynamicObject[]{parterInfo});
// //将伙伴的id更新到供应商上面
// }
//保存成功后处理供应商分配至具体公司需要注意如果供应商取消了某个公司是否会以最新分配为准
// BaseDataServiceHelper.batchAssignWithDetail(entityName,JhzjUtils.GROUPID,dataList,orgList);
//取消分配接口 cancelAssign
}
//处理供应商分配
EsbUtils.handleAssign(companysJson, cusids, entityName);
//处理供应商取消分配
EsbUtils.handleUnAssign(companysJson, cusids, entityName);
if(itemsJson.isEmpty()){
EsbUtils.saveLog(apimenthod,"ESB",json_obj.toString(),null,true,"API");
return CustomApiResult.success(null);
@ -216,4 +211,5 @@ public class SupplierControler {
return CustomApiResult.fail("400","接口处理异常"+itemsJson.toJSONString());
}
}
}