组织关系接口反写内部供应商银行账户
This commit is contained in:
		
							parent
							
								
									57e0dbd22c
								
							
						
					
					
						commit
						1940445dbd
					
				| 
						 | 
				
			
			@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
 | 
			
		|||
import com.alibaba.fastjson.JSONObject;
 | 
			
		||||
import kd.bos.context.RequestContext;
 | 
			
		||||
import kd.bos.dataentity.entity.DynamicObject;
 | 
			
		||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
			
		||||
import kd.bos.exception.KDException;
 | 
			
		||||
import kd.bos.logging.Log;
 | 
			
		||||
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 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 supplierName = "resm_official_supplier";//正式供应商 表名 t_resm_supplier
 | 
			
		||||
    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";
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
| 
						 | 
				
			
			@ -95,6 +98,7 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
 | 
			
		|||
        String taxno = null;
 | 
			
		||||
        DynamicObject yworginfo = null;
 | 
			
		||||
        DynamicObject devepinfo = null;
 | 
			
		||||
        DynamicObject suppinfo;
 | 
			
		||||
 | 
			
		||||
        for (int i = 0; i < detailsJson.size(); i++) {
 | 
			
		||||
            json_body = detailsJson.getJSONObject(i);
 | 
			
		||||
| 
						 | 
				
			
			@ -155,6 +159,7 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
 | 
			
		|||
                yworginfo.set("uniformsocialcreditcode", taxno);//业务单元-统一社会信用代码
 | 
			
		||||
                SaveServiceHelper.update(yworginfo);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //根据财务组织编号和名称判断甲方是否需要新增和修改
 | 
			
		||||
            devepinfo = BusinessDataServiceHelper.loadSingle(developerName,new QFilter[]{new QFilter("number","=",companyNumber)});
 | 
			
		||||
            if(devepinfo == null){
 | 
			
		||||
| 
						 | 
				
			
			@ -170,9 +175,41 @@ public class DobeDWorgRelationTask extends AbstractTask implements Plugin {
 | 
			
		|||
                devepinfo.set("name", companyName);
 | 
			
		||||
                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,
 | 
			
		||||
                                 String companyName,String deptName,String paybank){
 | 
			
		||||
        if(!companyNumber.equals(orginfo.getString("qeug_companynumber"))){
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue