组织关系接口反写内部供应商银行账户

This commit is contained in:
yuxueliang0813 2025-05-07 18:16:44 +08:00
parent 57e0dbd22c
commit 1940445dbd
1 changed files with 37 additions and 0 deletions

View File

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import kd.bos.context.RequestContext; import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.exception.KDException; import kd.bos.exception.KDException;
import kd.bos.logging.Log; import kd.bos.logging.Log;
import kd.bos.logging.LogFactory; import kd.bos.logging.LogFactory;
@ -29,7 +30,9 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
private static Log log = LogFactory.getLog(DobeDWorgRelationTask.class); private static Log log = LogFactory.getLog(DobeDWorgRelationTask.class);
private static final String entityName = "qeug_recon_orgrelation";//供应链库 表名 tk_qeug_recon_orgrelation private static final String entityName = "qeug_recon_orgrelation";//供应链库 表名 tk_qeug_recon_orgrelation
private static final String developerName = "qeug_recon_developer";//供应链库 表名 tk_qeug_recon_developer private static final String developerName = "qeug_recon_developer";//供应链库 表名 tk_qeug_recon_developer
private static final String supplierName = "resm_official_supplier";//正式供应商 表名 t_resm_supplier
private static final String orgEntityName = "bos_org";//系统库 表名 t_ORG_ORG private static final String orgEntityName = "bos_org";//系统库 表名 t_ORG_ORG
private static final String bebankName = "bd_bebank";//系统库 表名 t_bd_bebank
private static final String dw_menthod = "mdm_orgcorp"; private static final String dw_menthod = "mdm_orgcorp";
@Override @Override
@ -95,6 +98,7 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
String taxno = null; String taxno = null;
DynamicObject yworginfo = null; DynamicObject yworginfo = null;
DynamicObject devepinfo = null; DynamicObject devepinfo = null;
DynamicObject suppinfo;
for (int i = 0; i < detailsJson.size(); i++) { for (int i = 0; i < detailsJson.size(); i++) {
json_body = detailsJson.getJSONObject(i); json_body = detailsJson.getJSONObject(i);
@ -155,6 +159,7 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
yworginfo.set("uniformsocialcreditcode", taxno);//业务单元-统一社会信用代码 yworginfo.set("uniformsocialcreditcode", taxno);//业务单元-统一社会信用代码
SaveServiceHelper.update(yworginfo); SaveServiceHelper.update(yworginfo);
} }
//根据财务组织编号和名称判断甲方是否需要新增和修改 //根据财务组织编号和名称判断甲方是否需要新增和修改
devepinfo = BusinessDataServiceHelper.loadSingle(developerName,new QFilter[]{new QFilter("number","=",companyNumber)}); devepinfo = BusinessDataServiceHelper.loadSingle(developerName,new QFilter[]{new QFilter("number","=",companyNumber)});
if(devepinfo == null){ if(devepinfo == null){
@ -170,9 +175,41 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
devepinfo.set("name", companyName); devepinfo.set("name", companyName);
SaveServiceHelper.update(devepinfo); SaveServiceHelper.update(devepinfo);
} }
//根据财务组织编号找到对应的正式供应商只处理查到的供应商下银行账号数据
suppinfo = BusinessDataServiceHelper.loadSingle(supplierName,new QFilter[]{new QFilter("number","=",companyNumber)});
if(suppinfo != null){
//银行信息分录
DynamicObjectCollection bankdoc = suppinfo.getDynamicObjectCollection("entry_bank");
boolean isneedupdate = true;
for (DynamicObject bankinfo : bankdoc) {
if(paynumber.equals(bankinfo.getString("bankaccount"))){
//此账号已存在了不需要同步
isneedupdate = false;
break;
}
}
if(isneedupdate){
DynamicObject bankinfo = bankdoc.addNew();
bankinfo.set("bank",getBankInfo(paybank));//开户银行
bankinfo.set("bankaccount",paynumber);//银行账号
bankinfo.set("accountname",companyName);//账户名称
bankinfo.set("currency",1L);//币别--默认人民币
if(bankdoc.size() == 1){
bankinfo.set("isdefault_bank",true);//默认银行
}
suppinfo.set("taxregnumber",taxno);//税务登记号
SaveServiceHelper.save(new DynamicObject[]{suppinfo});
log.info("内部供应商银行账户处理成功"+companyNumber+companyName);
}
}
} }
} }
private DynamicObject getBankInfo(String bankname){
//根据开户行名称获得对应的行名行号
return BusinessDataServiceHelper.loadSingle(bebankName,new QFilter[]{new QFilter("name","=",bankname)});
}
private boolean isNeedUpdate(DynamicObject orginfo,String companyNumber,String deptNumber,String paynumber,String taxno, private boolean isNeedUpdate(DynamicObject orginfo,String companyNumber,String deptNumber,String paynumber,String taxno,
String companyName,String deptName,String paybank){ String companyName,String deptName,String paybank){
if(!companyNumber.equals(orginfo.getString("qeug_companynumber"))){ if(!companyNumber.equals(orginfo.getString("qeug_companynumber"))){