K3Handle.Class.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: ASUS
  5. * Date: 2018/7/18
  6. * Time: 11:00
  7. */
  8. namespace Jobs\Model\Test;
  9. use Jobs\Dao\DCloudUsers;
  10. use Jobs\Dao\DUsersCategory;
  11. use Jobs\Dao\DUsersTestify;
  12. class K3Handle
  13. {
  14. public function store($data,$erp_no)
  15. {
  16. $param = [];
  17. $DGusersCategory = new DUsersCategory();
  18. $param['user_id'] = $data['user_id'];
  19. $param['company_name'] = $data['company_name']?:'';
  20. $param['referrer_phone'] = $data['referrer_phone']?:'';
  21. $param['legal_person'] = $data['legal_person']?:'';
  22. $param['contact_phone'] = $data['contact_phone']?:'';
  23. $param['detail_address'] = $data['company_address']?:''.$data['detail_address']?:'';
  24. $param['category_id'] = $data['category_id']?:0;
  25. if ($param['category_id']){
  26. $res_data =$DGusersCategory ->get($param['category_id']);
  27. }
  28. $param['erp_no'] = $erp_no;
  29. //$param['referrer_name'] = $data['referrer_name'];
  30. $param['referrer_no'] = $data['referrer_no'];
  31. $param['referrer_group_no'] = $data['referrer_group_no'];
  32. $DGusers = new DCloudUsers();
  33. if (isset($res_data)&&!empty($res_data)) {
  34. $param['category_no'] = $res_data['category_no'];
  35. //$UserCat = new UsersCategoryModel[);
  36. //取出分类
  37. if ($param['category_no']) {
  38. $cateInfo = $DGusersCategory->get(['category_no' => $param['category_no']]);
  39. $id = $cateInfo['pid'];
  40. $cateInfo2 = $DGusersCategory->get($id);
  41. if ($cateInfo2) {
  42. $id = $cateInfo2['pid'];
  43. $cateInfo1 = $DGusersCategory -> get($id);
  44. if ($cateInfo1) {
  45. $category_no2 = $cateInfo2['category_no'];
  46. $category_no1 = $cateInfo1['category_no'];
  47. $category_no3 = $param['category_no'];
  48. } else {
  49. $category_no1 = $cateInfo2['category_no'];
  50. $category_no2 = $param['category_no'];
  51. $category_no3 = '';
  52. }
  53. } else {
  54. $category_no1 = $param['category_no'];
  55. $category_no2 = '';
  56. $category_no3 = '';
  57. }
  58. }
  59. }else{
  60. $res_uesr =$DGusers ->get($param['user_id']);
  61. if (!empty($res_uesr)){
  62. return $response = [
  63. 'code' =>500,
  64. ];
  65. file_put_contents('K3_sync_empty_erp_no.log','法人;客户手机号;联系电话,详细地址'.PHP_EOL.$param['legal_person'] .';'.$res_uesr['phone'].';'.$param['contact_phone'].';'.$param['detail_address'].PHP_EOL,FILE_APPEND);
  66. }else{
  67. return $response = [
  68. 'code' =>500,
  69. ];
  70. }
  71. }
  72. if ($param['referrer_group_no']){
  73. $k3Result = $this ->syncCustomer(isset($category_no1)?$category_no1:'', $param, isset($category_no2)?$category_no2:'', isset($category_no3)?$category_no3:'',$data['id']);
  74. if ($k3Result['code']!=200){
  75. return ['code' =>500,'msg'=>$k3Result['msg']];
  76. }
  77. }else{
  78. $res_uesr =$DGusers ->get($param['user_id']);
  79. file_put_contents('K3_sync_empty_referrer_no.log','法人;客户手机号;联系电话,详细地址'.PHP_EOL.$param['legal_person'] .';'.$res_uesr['phone'].';'.$param['contact_phone'].';'.$param['detail_address'].PHP_EOL,FILE_APPEND);
  80. return ['code' =>500];
  81. }
  82. }
  83. public function syncCustomer($category_no1,$param,$category_no2,$category_no3, $id=0)
  84. {
  85. $objectDusersTestify = new DUsersTestify();
  86. $cookie_jar = './k3.ini';
  87. $data = array(
  88. //业务对象表单Id(必录)
  89. 'Model'=>[
  90. 'FNumber' => $param['erp_no'],
  91. 'FCreateOrgId'=>['FNumber' => '101'], //
  92. 'FUseOrgId'=>['FNumber' => '101'],
  93. 'FName'=>$param['legal_person'],
  94. 'FADDRESS'=>$param['detail_address'],
  95. 'FTEL'=>$param['contact_phone'],
  96. 'FSALDEPTID'=>['FNumber' =>$param['referrer_no']],
  97. 'FSALGROUPID'=>['FNumber' =>$param['referrer_group_no']],
  98. 'FSELLER'=>['FNumber' =>$param['referrer_no']],
  99. 'FCustTypeId'=>['FNumber' =>'KHLB001_SYS'],
  100. 'FTRADINGCURRID'=>['FNumber' =>'PRE001'],
  101. 'F_PAEZ_Assistant5'=>['FNumber' =>$category_no1],
  102. 'F_PAEZ_Assistant6'=>['FNumber' =>$category_no2],
  103. 'F_PAEZ_Assistant3'=>['FNumber' =>$category_no3],
  104. ],
  105. 'Creator' => '亿成商城'
  106. );
  107. //V($data);
  108. //定义记录Cloud服务端返回的Session
  109. $K3login = new K3Login();
  110. $K3Curl = new K3Curl();
  111. $post_content = $K3login->create_postdata(['BD_Customer',$data]);
  112. // $url = 'http://192.168.0.135/k3cloud/'.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc';
  113. $url = 'http://123.206.51.139/k3cloud/'.'Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc';
  114. $res = $K3login->loginIfNeed();
  115. //V($post_content);
  116. //V($res);
  117. $resultJsonSave =$K3Curl->MyCurlPost($url, $post_content, $cookie_jar, false);
  118. //V($resultJsonSave);
  119. file_put_contents('K3_sync_users_testify.log',date('Y-m-d H:i:s').'发送数据'.$post_content.PHP_EOL.'返回的数据:'.var_export($resultJsonSave ,true).PHP_EOL,FILE_APPEND);
  120. $resultArray = json_decode($resultJsonSave, true);
  121. //V($resultArray);
  122. //判断是否已经有该客户
  123. if ($resultArray['Result']['ResponseStatus']['IsSuccess']) {
  124. $K3_id = $resultArray['Result']['Id'];
  125. if ($K3_id){
  126. $res = $objectDusersTestify->update(['k3_id' =>$K3_id],['id'=>$id]);
  127. }
  128. $response = array(
  129. 'code' => 200,
  130. 'msg' => 'K3保存成功',
  131. 'info' => 'K3保存成功',
  132. );
  133. return $response;
  134. }else{
  135. return array(
  136. 'code' => 500,
  137. 'msg' => $resultArray['Result']['ResponseStatus']['Errors'][0]['Message'],
  138. 'info' => 'K3保存成功',
  139. );
  140. }
  141. // if (!strpos($resultArray['Result']['ResponseStatus']['Errors'][0]['Message'], '客户,组织内编码唯一')) {
  142. // $response = array(
  143. // 'code' => 500,
  144. // 'msg' => $resultArray['Result']['ResponseStatus']['Errors'][0]['Message'],
  145. // 'info' => 'K3:' . $resultArray['Result']['ResponseStatus']['Errors'][0]['Message'],
  146. // );
  147. // return $response;
  148. // }
  149. }
  150. }