提交 76e0124f authored 作者: fengzy's avatar fengzy

OA数据同步生产环境测试

上级 3f6d6fb8
......@@ -70,112 +70,111 @@ protected function flowcheckafter($zt, $sm){
$applicationdpt=$this->rs['applicationdpt'];//申请部门
$applydt=$this->rs['applydt'];//申请日期
var_dump($applydt);
// $data_model ='{
// "Creator": "",
// "NeedUpDateFields": [],
// "NeedReturnFields": [],
// "IsDeleteEntry": "true",
// "SubSystemId": "",
// "IsVerifyBaseDataField": "false",
// "IsEntryBatchFill": "true",
// "ValidateFlag": "true",
// "NumberSearch": "true",
// "InterationFlags": "",
// "IsAutoSubmitAndAudit": "false",
// "Model": {
// "FID": 0,
// "FBillTypeID": {
// "FNUMBER": "FKDLX11_SYS"
// },
// "FDATE": "2020-08-03 00:00:00",
// "FCONTACTUNITTYPE": "BD_Supplier",
// "FCONTACTUNIT": {
// "FNumber": "GDGYS-0003"
// },
// "FRECTUNITTYPE": "BD_Supplier",
// "FRECTUNIT": {
// "FNumber": "GDGYS-0003"
// },
// "FISINIT": false,
// "FCURRENCYID": {
// "FNumber": "PRE001"
// },
// "FEXCHANGERATE": 1.0,
// "FSETTLERATE": 1.0,
// "FSETTLEORGID": {
// "FNumber": "1000"
// },
// "FPURCHASEORGID": {
// "FNumber": "1000"
// },
// "FPURCHASEDEPTID": {
// "FNumber": "GS.BM.08"
// },
// "FDOCUMENTSTATUS": "Z",
// "FCancelStatus": "A",
// "FPAYORGID": {
// "FNumber": "1000"
// },
// "FISSAMEORG": true,
// "FIsCredit": false,
// "FSETTLECUR": {
// "FNUMBER": "PRE001"
// },
// "FIsWriteOff": false,
// "FREALPAY": false,
// "FISCARRYRATE": false,
// "FSETTLEMAINBOOKID": {
// "FNUMBER": "PRE001"
// },
// "F_PAEZ_OADJBH": "213123213"
// }
// }';
// $model=json_decode($data_model,true);
// $model['Model']['FDATE']=$applydt;
// $model['Model']['F_PAEZ_OADJBH']=$this->rs['docnum'];
// $model['Model']['FCONTACTUNIT']['FNumber']=$supplier['number'];
// $model['Model']['FRECTUNIT']['FNumber']=$supplier['number'];
// $model['Model']['FPURCHASEDEPTID']['FNumber']=self::dept($this->rs['applicationdpt']);
// $model['Model']['FPAYBILLENTRY']=$arr['FPAYBILLENTRY'];
// $data_model=json_encode($model);
// var_dump($data_model);
// $data = array(
// 'AP_PAYBILL',//业务对象标识FormId
// $data_model//具体Json字串
// );
// $post_content = self::create_postdata($data);
// $result = self::invoke_add($cloudUrl,$post_content,$cookie_jar);
// $array = json_decode($result,true);
// if($array['Result']['ResponseStatus']['IsSuccess']){
// $num=$array['Result']['Number'];
// $this->update("`fbillno`='$num'", $this->rs['id']);
// $this->erplog($this->rs['docnum'],'c_fininfom_oayfk','保存成功',json_encode($array),date("Y-m-d H:i:s"),2,$num,$array['Result']['Id'],1);
// if($this->oafk_submit($cloudUrl,$cookie_jar,$array['Result']['Id'],$array['Result']['Number'])){
// $this->erplog($this->rs['docnum'],'c_fininfom_oayfk','提交成功',json_encode($array),date("Y-m-d H:i:s"),2,$num,$array['Result']['Id'],2);
// }else{
// $this->erplog($this->rs['docnum'],'c_fininfom_oayfk','提交失败',json_encode($array),date("Y-m-d H:i:s"),1,$num,$array['Result']['Id'],2);
// }
// }else{
// $this->erplog($this->rs['docnum'],'c_fininfom_oayfk','保存失败',json_encode($array),date("Y-m-d H:i:s"),1,$num,$array['Result']['Id'],1);
// m('erplog')->insert($erp_log);
// }
$data_model ='{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "true",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "true",
"ValidateFlag": "true",
"NumberSearch": "true",
"InterationFlags": "",
"IsAutoSubmitAndAudit": "false",
"Model": {
"FID": 0,
"FBillTypeID": {
"FNUMBER": "FKDLX11_SYS"
},
"FDATE": "2020-08-03 00:00:00",
"FCONTACTUNITTYPE": "BD_Supplier",
"FCONTACTUNIT": {
"FNumber": "GDGYS-0003"
},
"FRECTUNITTYPE": "BD_Supplier",
"FRECTUNIT": {
"FNumber": "GDGYS-0003"
},
"FISINIT": false,
"FCURRENCYID": {
"FNumber": "PRE001"
},
"FEXCHANGERATE": 1.0,
"FSETTLERATE": 1.0,
"FSETTLEORGID": {
"FNumber": "1000"
},
"FPURCHASEORGID": {
"FNumber": "1000"
},
"FPURCHASEDEPTID": {
"FNumber": "GS.BM.08"
},
"FDOCUMENTSTATUS": "Z",
"FCancelStatus": "A",
"FPAYORGID": {
"FNumber": "1000"
},
"FISSAMEORG": true,
"FIsCredit": false,
"FSETTLECUR": {
"FNUMBER": "PRE001"
},
"FIsWriteOff": false,
"FREALPAY": false,
"FISCARRYRATE": false,
"FSETTLEMAINBOOKID": {
"FNUMBER": "PRE001"
},
"F_PAEZ_OADJBH": "213123213"
}
}';
$model=json_decode($data_model,true);
$model['Model']['FDATE']=$applydt;
$model['Model']['F_PAEZ_OADJBH']=$this->rs['docnum'];
$model['Model']['FCONTACTUNIT']['FNumber']=$supplier['number'];
$model['Model']['FRECTUNIT']['FNumber']=$supplier['number'];
$model['Model']['FPURCHASEDEPTID']['FNumber']=self::dept($this->rs['applicationdpt']);
$model['Model']['FPAYBILLENTRY']=$arr['FPAYBILLENTRY'];
$data_model=json_encode($model);
var_dump($data_model);
$data = array(
'AP_PAYBILL',//业务对象标识FormId
$data_model//具体Json字串
);
$post_content = self::create_postdata($data);
$result = self::invoke_add($cloudUrl,$post_content,$cookie_jar);
$array = json_decode($result,true);
if($array['Result']['ResponseStatus']['IsSuccess']){
$num=$array['Result']['Number'];
$this->update("`fbillno`='$num'", $this->rs['id']);
$this->erplog($this->rs['docnum'],'c_fininfom_oayfk','保存成功',json_encode($array),date("Y-m-d H:i:s"),2,$num,$array['Result']['Id'],1);
if($this->oayfk_submit($cloudUrl,$cookie_jar,$array['Result']['Id'],$array['Result']['Number'])){
$this->erplog($this->rs['docnum'],'c_fininfom_oayfk','提交成功',json_encode($array),date("Y-m-d H:i:s"),2,$num,$array['Result']['Id'],2);
}else{
$this->erplog($this->rs['docnum'],'c_fininfom_oayfk','提交失败',json_encode($array),date("Y-m-d H:i:s"),1,$num,$array['Result']['Id'],2);
}
}else{
$this->erplog($this->rs['docnum'],'c_fininfom_oayfk','保存失败',json_encode($array),date("Y-m-d H:i:s"),1,$num,$array['Result']['Id'],1);
m('erplog')->insert($erp_log);
}
}
......@@ -411,4 +410,127 @@ var_dump($applydt);
}
public function oayfk_submit($cloudUrl,$cookie_jar,$id,$number){
$start_time = microtime(true);
$data_model ="{
'CreateOrgId': 0,
'Numbers': [],
'Ids': $id,
'SelectedPostId': 0
}";
$data = array(
'AP_PAYBILL',//业务对象标识FormId
$data_model//具体Json字串
);
$post_content = self::create_postdata($data);
$result = self::invoke_submit($cloudUrl,$post_content,$cookie_jar);
$array = json_decode($result,true);
return $array;
}
//登陆
static function invoke_login($cloudUrl,$post_content,$cookie_jar)
{
$loginurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc';
return self::invoke_post($loginurl,$post_content,$cookie_jar,TRUE);
}
//查询
static function invoke_save($cloudUrl,$post_content,$cookie_jar)
{
$invokeurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc';
return self::invoke_post($invokeurl,$post_content,$cookie_jar,FALSE);
}
//添加
static function invoke_add($cloudUrl,$post_content,$cookie_jar)
{
$invokeurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc';
return self::invoke_post($invokeurl,$post_content,$cookie_jar,FALSE);
}
//提交
static function invoke_submit($cloudUrl,$post_content,$cookie_jar)
{
$invokeurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc';
return self::invoke_post($invokeurl,$post_content,$cookie_jar,FALSE);
}
//审核
static function invoke_audit($cloudUrl,$post_content,$cookie_jar)
{
$invokeurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc';
return self::invoke_post($invokeurl,$post_content,$cookie_jar,FALSE);
}
static function invoke_post($url,$post_content,$cookie_jar,$isLogin)
{
$ch = curl_init($url);
$this_header = array(
'Content-Type: application/json',
'Content-Length: '.strlen($post_content)
);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, $this_header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_content);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if($isLogin){
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
}
else{
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
}
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
static function getbxlx($name)
{
$data = m('c_bxlx')->getone("name='".$name."'", 'name,number');
return $data['number'];
}
//构造Web API请求格式
static function create_postdata($args) {
$postdata = array(
'format'=>1,
'useragent'=>'ApiClient',
'rid'=>self::create_guid(),
'parameters'=>$args,
'timestamp'=>date('Y-m-d'),
'v'=>'1.0'
);
return json_encode($postdata);
}
//生成guid
static function create_guid() {
$charid = strtoupper(md5(uniqid(mt_rand(), true)));
$hyphen = chr(45);// "-"
$uuid = chr(123)// "{"
.substr($charid, 0, 8).$hyphen
.substr($charid, 8, 4).$hyphen
.substr($charid,12, 4).$hyphen
.substr($charid,16, 4).$hyphen
.substr($charid,20,12)
.chr(125);// "}"
return $uuid;
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论