|
|
@ -1,13 +1,17 @@ |
|
|
|
package com.yxt.anrui.fin.biz.kingdee.bdcustomer; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeCode; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
@ -41,38 +45,76 @@ public class BdCustomerService extends FinKingDeeService { |
|
|
|
//bdCustomer=BdCustomer.createBdCustomer();
|
|
|
|
ResultBean rb=ResultBean.fireFail(); |
|
|
|
try { |
|
|
|
//业务表的主表数据集合
|
|
|
|
Map<String,String> map_fEntityModel_= object2Map(bdCustomer); |
|
|
|
//准备 物料列表的数据 ForEntryBill
|
|
|
|
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); |
|
|
|
ResultBean<String> resultBean = accessKingDeeInterface( |
|
|
|
KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
|
|
|
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_CUSTOMER.getID(), bdCustomer.getFNumber()); |
|
|
|
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), getKDForNumbers, |
|
|
|
KingDeeBillUrl.VIEW_URL.getURL()); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); |
|
|
|
JSONObject result = (JSONObject)jsonObject.get("Result"); |
|
|
|
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus"); |
|
|
|
String custId=""; |
|
|
|
if(responseStatus==null){//不存在客户 //新增客户
|
|
|
|
String vie_result =kingDataInfoByNumber.getData(); |
|
|
|
jsonObject = JSONObject.parseObject(vie_result); |
|
|
|
JSONObject result1 = (JSONObject)jsonObject.get("Result"); |
|
|
|
JSONObject Result2 = (JSONObject)result1.get("Result"); |
|
|
|
Integer Id = (Integer)Result2.get("Id"); |
|
|
|
custId= Id+""; // return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
|
|
|
|
}else{ |
|
|
|
//业务表的主表数据集合
|
|
|
|
Map<String,String> map_fEntityModel_= object2Map(bdCustomer); |
|
|
|
//准备 物料列表的数据 ForEntryBill
|
|
|
|
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); |
|
|
|
ResultBean<String> resultBean = accessKingDeeInterface( |
|
|
|
KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
|
|
|
String vie_result =resultBean.getData(); |
|
|
|
jsonObject = JSONObject.parseObject(vie_result); |
|
|
|
JSONObject result1 = (JSONObject)jsonObject.get("Result"); |
|
|
|
Integer Id = (Integer)result1.get("Id"); |
|
|
|
custId= Id+""; |
|
|
|
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID()); |
|
|
|
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); |
|
|
|
if(!resultBean1.getSuccess()){ |
|
|
|
log.info("客户提交失败!"); |
|
|
|
return rb.setMsg("客户提交失败!"); |
|
|
|
} |
|
|
|
log.info("客户提交成功!"); |
|
|
|
|
|
|
|
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID()); |
|
|
|
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); |
|
|
|
if(!resultBean1.getSuccess()){ |
|
|
|
log.info("客户提交失败!"); |
|
|
|
return rb.setMsg("客户提交失败!"); |
|
|
|
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID()); |
|
|
|
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); |
|
|
|
if(!resultBean2.getSuccess()){ |
|
|
|
log.info("客户审核失败!"); |
|
|
|
return rb.setMsg("客户审核失败!"); |
|
|
|
} |
|
|
|
log.info("客户审核成功!"); |
|
|
|
} |
|
|
|
log.info("客户提交成功!"); |
|
|
|
|
|
|
|
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID()); |
|
|
|
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); |
|
|
|
if(!resultBean2.getSuccess()){ |
|
|
|
log.info("客户审核失败!"); |
|
|
|
return rb.setMsg("客户审核失败!"); |
|
|
|
getKDForNumbers = getGetKDForNumbers(KingDeeBillId.ORG_ORGANIZATIONS.getID(), bdCustomer.getTOrgIds()); |
|
|
|
kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), getKDForNumbers, KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, |
|
|
|
KingDeeBillUrl.VIEW_URL.getURL()); |
|
|
|
jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); |
|
|
|
result = (JSONObject)jsonObject.get("Result"); |
|
|
|
responseStatus = (JSONObject)result.get("ResponseStatus"); |
|
|
|
if(responseStatus!=null){//不存在分公司 //新增分公司
|
|
|
|
return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg()); |
|
|
|
} |
|
|
|
log.info("客户审核成功!"); |
|
|
|
|
|
|
|
String allocate = getAllocate(resultBean.getData(),bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID()); |
|
|
|
String vie_result =kingDataInfoByNumber.getData(); |
|
|
|
jsonObject = JSONObject.parseObject(vie_result); |
|
|
|
JSONObject result1 = (JSONObject)jsonObject.get("Result"); |
|
|
|
JSONObject Result2 = (JSONObject)result1.get("Result"); |
|
|
|
Integer Id = (Integer)Result2.get("Id"); |
|
|
|
String id= Id+""; |
|
|
|
String allocate =getAllocateTempJson(KingDeeBillId.BD_CUSTOMER.getID(),custId,id); |
|
|
|
/* getAllocate(getSubmitKDTempJson(KingDeeBillId.BD_CUSTOMER.getID(),id), |
|
|
|
bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());*/ |
|
|
|
ResultBean<String> resultBean3 = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),allocate,KingDeeBillUrl.ALLOCATE_URL.getURL()); |
|
|
|
|
|
|
|
if(!resultBean3.getSuccess()){ |
|
|
|
log.info("客户分配失败!"); |
|
|
|
return rb.setMsg("客户分配失败!"); |
|
|
|
} |
|
|
|
log.info("客户分配成功!"); |
|
|
|
|
|
|
|
return resultBean; |
|
|
|
return resultBean3; |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|