35, 'enterpriseId' => 64, 'id' => 9, 'type' => 5, ]; $objMReceivable->createReceivable($params); } public function testk3() { //K/3 Cloud 业务站点地址 $cloudUrl = "http://123.206.51.139/k3cloud/"; //登陆参数 $data = array( '597be128163613',//帐套Id '秦统业',//用户名 'Cwb20141222',//密码 2052//语言标识 ); //定义记录Cloud服务端返回的Session $cookie_jar = tempnam('./tmp','CloudSession'); $post_content = self::create_postdata($data); //$result = invoke_login($cloudUrl,$post_content,$cookie_jar); $loginurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc'; $result = self::invoke_post($loginurl,$post_content,$cookie_jar,TRUE); header("Content-type: text/html; charset=gb2312"); //echo '
';print_r('登陆请求数据:'); //echo '';print_r($post_content); //echo '';print_r('登陆返回结果:'); //echo '';print_r($result); unset($post_content); unset($result); unset($data); /*$data = array( 'FormId'=>'STK_Inventory',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>10, 'StartRow'=>0, 'OrderString'=>'FID ASC', 'FieldKeys'=>'FMaterialId,FMaterialId.FNumber,FStockName,FMaterialName,FBaseQty,FStockStatusId,FStockOrgId.FNumber',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId=147946",//过滤(非必录) );*/ /*$k3GoodsInfo = '{"FormId":"STK_Inventory","FieldKeys":"FMaterialId.FNumber,FMaterialName,FStockUnitId.FName,FBaseQty", "FilterString":"FMaterialId=147946 and ( FStockName = \'菏泽G1库\' or FStockName = \'绿源冷库\' or FStockName = \'绿源冷库3号库\' )", "OrderString":"","TopRowCount":"0","StartRow":"0","Limit":"100"}';*/ $data = array( 'FormId'=>'STK_Inventory',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>100, 'StartRow'=>0, 'OrderString'=>'', 'FieldKeys'=>'FMaterialId,FMaterialId.FNumber,FStockName,FMaterialName,FBaseQty,FStockStatusId,FStockOrgId.FNumber',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId.FNumber ='0602070004' and (FStockName = '菏泽G1库' or FStockName = '绿源冷库' or FStockName = '绿源冷库3号库') and FStockOrgId.FNumber='101' ",//过滤(非必录) ); //定义记录Cloud服务端返回的Session $post_content = self::create_postdata([$data]); $url = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc'; $result = self::invoke_post($url,$post_content,$cookie_jar,false); header("Content-type: text/html; charset=gb2312"); //echo '';print_r('及时库存请求数据:'); //echo '';print_r($post_content); //echo '';print_r('及时库存返回结果:'); echo '';var_dump(json_decode($result, true)); $k3Weight = 0.00; $resultArray = json_decode($result, true); if(!empty($resultArray)){ foreach ($resultArray as $key => $value){ $k3Weight += $value[4]; } } var_dump($k3Weight); return $k3Weight; } public function testk4() { //K/3 Cloud 业务站点地址 $cloudUrl = "http://123.206.51.139/k3cloud/"; //登陆参数 $data = array( '597be128163613',//帐套Id '秦统业',//用户名 'Cwb20141222',//密码 2052//语言标识 ); //定义记录Cloud服务端返回的Session $cookie_jar = tempnam('./tmp','CloudSession'); $post_content = self::create_postdata($data); //$result = invoke_login($cloudUrl,$post_content,$cookie_jar); $loginurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc'; $result = self::invoke_post($loginurl,$post_content,$cookie_jar,true); header("Content-type: text/html; charset=gb2312"); echo '';print_r('登陆请求数据:'); echo '';print_r($post_content); echo '';print_r('登陆返回结果:'); echo '';print_r($result); unset($post_content); unset($result); unset($data); /*$data = array( 'FormId'=>'STK_Inventory',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>10, 'StartRow'=>0, 'OrderString'=>'FID ASC', 'FieldKeys'=>'FMaterialId,FMaterialId.FNumber,FStockName,FMaterialName,FBaseQty,FStockStatusId,FStockOrgId.FNumber',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId=147946",//过滤(非必录) );*/ /*$k3GoodsInfo = '{"FormId":"STK_Inventory","FieldKeys":"FMaterialId.FNumber,FMaterialName,FStockUnitId.FName,FBaseQty", "FilterString":"FMaterialId=147946 and ( FStockName = \'菏泽G1库\' or FStockName = \'绿源冷库\' or FStockName = \'绿源冷库3号库\' )", "OrderString":"","TopRowCount":"0","StartRow":"0","Limit":"100"}';*/ $data = '{"Model":{"FNumber":"xyc2218","FCreateOrgId":{"FNumber":"101"},"FUseOrgId":{"FNumber":"101"},"FName":"u5218u5e05uff08u4ebfu6210u98dfu54c1u5185u90e8u5458u5de5uff09","FTEL":"18114640037","FADDRESS":"u5c71u4e1cu7701u6d4eu5357u5e02u5386u4e0bu533au6d4bu8bd5u5730u5740","FSALDEPTID":{"FNumber":"0020"},"FSALGROUPID":{"FNumber":"16"},"FSELLER":{"FNumber":"0020"},"FCustTypeId":{"FNumber":"KHLB001_SYS"},"FTRADINGCURRID":{"FNumber":"PRE001"},"F_PAEZ_Assistant3":{"FNumber":"0101"},"F_PAEZ_Assistant5":{"FNumber":"01"}},"Creator":"u4ebfu6210u5546u57ce"}'; //定义记录Cloud服务端返回的Session $post_content = self::create_postdata(["BD_Customer",$data]); $url = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc'; $result = self::invoke_post($url,$post_content,$cookie_jar,false); //header("Content-type: text/html; charset=gb2312"); //echo '';print_r('及时库存请求数据:'); echo '';print_r($post_content); //echo '';print_r('及时库存返回结果:'); //file_put_contents('/tmp/11.log',var_export($result,true),FILE_APPEND); V($result); } // 采购入库单 public function testk5() { //K/3 Cloud 业务站点地址 $cloudUrl = "http://123.206.51.139/k3cloud/"; //登陆参数 $data = array( '597be128163613',//帐套Id '秦统业',//用户名 'Cwb20141222',//密码 2052//语言标识 ); //定义记录Cloud服务端返回的Session $cookie_jar = tempnam('./tmp','CloudSession'); $post_content = self::create_postdata($data); //$result = invoke_login($cloudUrl,$post_content,$cookie_jar); $loginurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc'; $result = self::invoke_post($loginurl,$post_content,$cookie_jar,TRUE); header("Content-type: text/html; charset=gb2312"); //echo '';print_r('登陆请求数据:'); //echo '';print_r($post_content); //echo '';print_r('登陆返回结果:'); //echo '';print_r($result); unset($post_content); unset($result); unset($data); /*$data = array( 'FormId'=>'STK_Inventory',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>10, 'StartRow'=>0, 'OrderString'=>'FID ASC', 'FieldKeys'=>'FMaterialId,FMaterialId.FNumber,FStockName,FMaterialName,FBaseQty,FStockStatusId,FStockOrgId.FNumber',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId=147946",//过滤(非必录) );*/ /*$k3GoodsInfo = '{"FormId":"STK_Inventory","FieldKeys":"FMaterialId.FNumber,FMaterialName,FStockUnitId.FName,FBaseQty", "FilterString":"FMaterialId=147946 and ( FStockName = \'菏泽G1库\' or FStockName = \'绿源冷库\' or FStockName = \'绿源冷库3号库\' )", "OrderString":"","TopRowCount":"0","StartRow":"0","Limit":"100"}';*/ $data = array( 'FormId'=>'STK_InStock',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>1, 'StartRow'=>0, 'OrderString'=>'FBillNo desc', 'FieldKeys'=>'FMaterialId.FNumber,FID,FDate,FBillNo,FDocumentStatus,FMaterialId,FStockStatusid,FMaterialName',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId.FNumber ='01110101010001',FDocumentStatus = 'c'",//过滤(非必录) ); //定义记录Cloud服务端返回的Session $post_content = self::create_postdata([$data]); $url = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc'; $result = self::invoke_post($url,$post_content,$cookie_jar,false); header("Content-type: text/html; charset=gb2312"); //echo '';print_r('及时库存请求数据:'); //echo '';print_r($post_content); //echo '';print_r('及时库存返回结果:'); V(json_decode($result, true)); } // 销售退货单 public function testk6() { //K/3 Cloud 业务站点地址 $cloudUrl = "http://123.206.51.139/k3cloud/"; //登陆参数 $data = array( '597be128163613',//帐套Id '秦统业',//用户名 'Cwb20141222',//密码 2052//语言标识 ); //定义记录Cloud服务端返回的Session $cookie_jar = tempnam('./tmp','CloudSession'); $post_content = self::create_postdata($data); //$result = invoke_login($cloudUrl,$post_content,$cookie_jar); $loginurl = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc'; $result = self::invoke_post($loginurl,$post_content,$cookie_jar,TRUE); header("Content-type: text/html; charset=gb2312"); //echo '';print_r('登陆请求数据:'); //echo '';print_r($post_content); //echo '';print_r('登陆返回结果:'); //echo '';print_r($result); unset($post_content); unset($result); unset($data); /*$data = array( 'FormId'=>'STK_Inventory',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>10, 'StartRow'=>0, 'OrderString'=>'FID ASC', 'FieldKeys'=>'FMaterialId,FMaterialId.FNumber,FStockName,FMaterialName,FBaseQty,FStockStatusId,FStockOrgId.FNumber',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId=147946",//过滤(非必录) );*/ /*$k3GoodsInfo = '{"FormId":"STK_Inventory","FieldKeys":"FMaterialId.FNumber,FMaterialName,FStockUnitId.FName,FBaseQty", "FilterString":"FMaterialId=147946 and ( FStockName = \'菏泽G1库\' or FStockName = \'绿源冷库\' or FStockName = \'绿源冷库3号库\' )", "OrderString":"","TopRowCount":"0","StartRow":"0","Limit":"100"}';*/ $data = array( 'FormId'=>'STK_InStock',//业务对象表单Id(必录) 'TopRowCount'=>0, // 最多允许查询的数量,0或者不要此属性表示不限制 'Limit'=>1, 'StartRow'=>0, 'OrderString'=>'FBillNo desc', 'FieldKeys'=>'FMaterialId.FNumber,FID,FDate,FBillNo,FDocumentStatus,FMaterialId,FStockStatusid,FMaterialName',//字段keys,字符串类型用逗号分隔,比如"key1,key2..."(必录) 'FilterString'=>"FMaterialId.FNumber ='01110101010001',FDocumentStatus = 'c'",//过滤(非必录) ); //定义记录Cloud服务端返回的Session $post_content = self::create_postdata([$data]); $url = $cloudUrl.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc'; $result = self::invoke_post($url,$post_content,$cookie_jar,false); header("Content-type: text/html; charset=gb2312"); //echo '';print_r('及时库存请求数据:'); //echo '';print_r($post_content); //echo '';print_r('及时库存返回结果:'); V(json_decode($result, true)); } //构造Web API请求格式 public 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); } public 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; } public 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, 30); $result = curl_exec($ch); curl_close($ch); return $result; } public static function s_put_txt() { $objDOrder = new DOrder('pifabbc'); $orderData = $objDOrder->query('SELECT order_id,buyer_id,order_no,order_status,created_at,pay_money,payment_type from ns_order'); foreach ($orderData as $key => $value){ $buyerids[] = $value['buyer_id']; $orderData[$value['order_id']] = $value; } $objDusersCategory = new DUsersCategory('pifabbc'); $infos = $objDusersCategory ->query('SELECT t.id, t.user_id as user_id, t.contact_phone, t.legal_person, r.referee_name, g.group_name, c.id as category_id, c.category_name, c.pid, t.check_status, t.company_address, t.detail_address, t.erp_no FROM cloud_users_testify AS t, cloud_referee AS r, cloud_referee_group AS g, cloud_users_category AS c WHERE t.referrer_no = r.referee_no AND t.referrer_group_no = g.group_no AND t.category_id = c.id and t.user_id in ('.implode(',', $buyerids).')'); if (!empty($infos)){ foreach ($infos as $key => $value) { if ($value['pid'] != 0) { $data = self::s_handle($value); } $info = array_merge($value, $data); $data_file = implode(',', $info); $userData[$value['user_id']] = $data_file; } } foreach ($orderData as $key => $value){ $content = $userData[$value['user_id']].','.implode(',', $value); file_put_contents('order.txt',$content . PHP_EOL,FILE_APPEND) ; unset($content); } // $data_file = implode(',', $file); // // file_put_contents('cat.txt', $data_file); } public static function s_handle(&$info_value) { $objDusersCategory = new DUsersCategory(); $id = $info_value['pid']; $detail = $objDusersCategory->get($id); if (!empty($detail)) { $info_value[] = $detail['category_name']; $info_value['pid'] = $detail['pid']; self::s_handle($info_value); } return $info_value; } //php ./Jobs/Public/www/index.php --c=Test --a=userErpReset public static function userErpReset(){ $objectDCloudUsers = new DCloudUsers(); $objectDUsersTestify = new DUsersTestify(); $fileName = 'k3id.txt'; /* * 逐行读取TXT文件 */ $file = fopen($fileName,'r'); $content = array(); if(!$file){ return 'file open fail'; }else{ $i = 0; while (!feof($file)){ $content = mb_convert_encoding(fgets($file),"UTF-8","GBK,ASCII,ANSI,UTF-8"); //print_r($content); $data = explode(',',$content); $info = $objectDUsersTestify -> get(['erp_no' => $data[1]]); if (empty($info)){ echo 0; continue; }else{ $res = $objectDUsersTestify ->update(['k3_id'=>$data[0]],['erp_no' => $data[1]]); echo $res; } } // fclose($file); // $content = array_filter($content); //数组去空 } // return $content; } //php ./Jobs/Public/www/index.php --c=Test --a=resetErpNo public static function resetErpNo(){ $log =''; $objectDCloudUsers = new DCloudUsers(); $objectDUsersTestify = new DUsersTestify(); $sql = "select *from cloud_users_testify WHERE SUBSTR(erp_no,1,3) !='xyc'"; $data = $objectDUsersTestify ->query($sql); $log .= 'ID,客户新编号,客户旧编号,客户推荐人编码,客户推荐人组织编码,客户推荐人电话'.PHP_EOL; $K3Handle = new K3Handle(); foreach($data as $value){ $id = $value['id']; //V($value); if(!$value['erp_no']){ continue; } $erp_no = 'xyc'.$value['user_id']; $res = $objectDUsersTestify -> update(['erp_no'=>$erp_no],['id'=>$id]); $res = $K3Handle ->store($value,$erp_no); if ($res['code'] !=200){ continue; } $log .= $id.','.$erp_no.','.$value['erp_no']?:'空'.','.$value['referrer_no'].','.$value['referrer_group_no'].','.$value['referrer_phone'].PHP_EOL; } file_put_contents('update_erp_no.txt',$log,FILE_APPEND); } //php ./Jobs/Public/www/index.php --c=Test --a=export public static function export(){ $objDOrder = new DOrder('pifabbc'); $orderData = $objDOrder->query('SELECT sum(pay_money) as order_money ,count(order_id) as total_count,buyer_id from ns_order where order_status <>5 group by buyer_id'); $a =[]; foreach ($orderData as $key => $value){ //$buyerids[] = $value['buyer_id']; $a[$value['buyer_id']] = $value; } $objDusersCategory = new DUsersCategory('pifabbc'); $infos = $objDusersCategory ->query('SELECT t.id, t.user_id as user_id, t.contact_phone, t.legal_person, r.referee_name, g.group_name, c.id as category_id, c.category_name, c.pid, t.check_status, t.company_address, t.detail_address, t.erp_no FROM cloud_users_testify AS t, cloud_referee AS r, cloud_referee_group AS g, cloud_users_category AS c WHERE t.referrer_no = r.referee_no AND t.referrer_group_no = g.group_no AND t.category_id = c.id and t.user_id '); $user =[]; if (!empty($infos)){ foreach ($infos as $key => $value) { if ($value['pid'] != 0) { $data = self::s_handle($value); } $user[$value['user_id']] = $data; } } foreach ($user as $key => $value){ echo 1 .'//'; echo ($key); // $orderMoney = $objDOrder->query("SELECT sum('pay_money') as order_money ,count('order_id') as total_count from ns_order where order_status <>5 and buyer_id = $key"); $lastTime = $objDOrder->query("SELECT created_at from ns_order where order_status <>5 and buyer_id = $key ORDER by order_id DESC limit 0,1"); if (isset($a[$key])){ $content = implode(',', $value).','.'总金额:'.$a[$key]['order_money']?:0; $content .= ',订单数:'.$a[$key]['total_count']?:0 ; $content .= ',最后下单时间:'.$lastTime[0]['created_at']?:0 ; }else{ $content = implode(',', $value); } file_put_contents('export.txt',$content . PHP_EOL,FILE_APPEND) ; unset($content); } } public function ce(){ $objDOrder = new DOrder('pifabbc'); $lastTime = $objDOrder->query("SELECT created_at from ns_order where order_status <>5 and buyer_id = 4739 ORDER by order_id DESC limit 0,1"); V($lastTime); } public function jpush() { $swResult = Middleware::getInstance('ThirdPartyService')->sendSwoole('Jpush', 'broadcastPush', ['alias'=>['7581'],'content'=>'优鲜供应链新版即将发布']); if( !$swResult['state'] ){ V( $swResult['data']); }else{ V($swResult['data']); } } }