CopyCompany.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\listener;
  4. use app\cxinv\model\CompanyInfo;
  5. use app\cxinv\model\SupplierInfo;
  6. use app\user\model\Business;
  7. use app\user\model\CustomerInfo;
  8. use app\user\model\Supplier;
  9. class CopyCompany
  10. {
  11. private $_delaway=['供应商发货','公司自提'];
  12. private $_applyway=['正式供应商','临时供应商'];
  13. private $_source=['客户提供','供应商','公司开发'];
  14. private $_cat=['生产厂家','代理商','经销商','分销商','电商平台'];
  15. private $_level=['生产厂家','一级代理','二级代理'];
  16. private $_payway=['现结','月清','双月请'];
  17. private $_catpay=['个人独私企业','合伙企业','有限责任公司','供应商','股份有限责任公司','有限责任公司(自然人独资)','有限责任公司(自然人独资或控股)','村级集体经济组织','股份有限公司'];
  18. /**
  19. * 事件监听处理
  20. *
  21. * @return mixed
  22. */
  23. public function handle($event)
  24. {
  25. if($event['type']==1){
  26. $company = Business::where(['companyNo'=>$event['code']])->findOrEmpty();
  27. if(!$company->isEmpty())$this->checkcompany($company);
  28. }else if($event['type']==2){
  29. $result=CustomerInfo::where(['companyNo'=>$event['code']])->findOrEmpty();
  30. if(!$result->isEmpty())$this->checkcustomer($result);
  31. }else if($event['type']==3){
  32. $result=Supplier::where(['code'=>$event['code']])->findOrEmpty();
  33. if(!$result->isEmpty())$this->checkSupplier($result);
  34. }
  35. }
  36. private function checkcompany($supplier){
  37. $comp= CompanyInfo::where(['companyNo'=>$supplier['companyNo'],'is_del'=>0])->findOrEmpty();
  38. if($comp->isEmpty()){
  39. $data = [
  40. 'companyNo'=>$supplier['companyNo'],
  41. 'company_name'=>$supplier['company'],
  42. 'company_address'=>$supplier['inv_addr'],
  43. 'company_license'=>$supplier['inv_code'],
  44. 'bank_name'=>$supplier['inv_bank'],
  45. 'bankNo'=>$supplier['inv_bankNo'],
  46. 'contector'=>$supplier['contactor'],
  47. 'mobile'=>$supplier['mobile']??$supplier['invoice_mobile'],
  48. 'company_img'=>$supplier['license_img'],
  49. 'input_ticket'=>0,
  50. 'out_ticket'=>0,
  51. 'voider'=>'',
  52. 'payee'=>'',
  53. 'drawer'=>'',
  54. 'reviewer'=>'',
  55. 'ownerPlace'=>'',
  56. 'denomination'=>'',
  57. 'invoiceType'=>'',
  58. 'invoice_title'=>$supplier['invoice_title'],
  59. 'status'=>0,
  60. ];
  61. }else{
  62. $data = [
  63. 'company_name'=>$supplier['company']??$comp['company_name'],
  64. 'company_address'=>$supplier['inv_addr'],
  65. 'company_license'=>$supplier['inv_code']??$comp['company_license'],
  66. 'bank_name'=>$supplier['inv_bank'],
  67. 'bankNo'=>$supplier['inv_bankNo'],
  68. 'contector'=>$supplier['contactor']??$comp['contector'],
  69. 'mobile'=>$supplier['invoice_mobile'],
  70. 'company_img'=>$supplier['license_img']??$comp['company_img'],
  71. 'invoice_title'=>$supplier['invoice_title'],
  72. "is_del"=>$supplier['is_del']
  73. ];
  74. }
  75. $comp->save($data);
  76. }
  77. private function checkcustomer($supplier){
  78. $comp= \app\cxinv\model\CustomerInfo::where(['companyNo'=>$supplier['companyNo'],'is_del'=>0])->findOrEmpty();
  79. if($comp->isEmpty()){
  80. $data = [
  81. 'companyNo'=>$supplier['companyNo'],
  82. 'companyName'=>$supplier['companyName'],
  83. 'creater'=>$supplier['creater'],
  84. 'area'=>$supplier['area'],
  85. 'status'=>1,
  86. 'addtime'=>date('Y-m-d H:i:s'),
  87. 'updatetime'=>date('Y-m-d H:i:s')
  88. ];
  89. }else{
  90. $data = [
  91. 'companyNo'=>$supplier['companyNo'],
  92. 'companyName'=>$supplier['companyName'],
  93. 'is_del'=>$supplier['is_del']
  94. ];
  95. }
  96. $comp->save($data);
  97. }
  98. private function checkSupplier($supplier){
  99. $comp= SupplierInfo::where(['code'=>$supplier['code']])->findOrEmpty();
  100. if($comp->isEmpty()){
  101. $data= [
  102. 'name' => $supplier['name'],
  103. 'code' => $supplier['code'],
  104. 'source' =>Supplier::$source[$supplier['source']]??$supplier['source'],
  105. 'contector' => $supplier['contactor']??'',
  106. 'post' => $supplier['position']??'',
  107. 'type' => 1,
  108. 'nature' => $this->_catpay[$supplier['nature']]??$this->_catpay[0],
  109. 'corporation' => $supplier['legaler']??'',
  110. 'registertime' => $supplier['registertime']??'',
  111. 'capital' => $supplier['capital']??'',
  112. 'supplier_type' => Supplier::$supplier_type[$supplier['supplier_type']]??$supplier['supplier_type'],
  113. 'pay_method' => Supplier::$pay_type[$supplier['pay_type']]??$supplier['pay_type'],
  114. 'paydays' => $supplier['pay_day']??"",
  115. 'mobile' => $supplier['mobile']??'',
  116. 'address' => $supplier['addr']??'',
  117. 'return_ticket' => $supplier['ticket_type']??"",
  118. 'delivery' =>Supplier::$delivery_way[$supplier['delivery_way']]??$supplier['delivery_way'],
  119. 'status' => $supplier['status']??1,
  120. 'addtime' => $supplier['addtime']??date('Y-m-d H:i:s'),
  121. 'updatetime' => $supplier['updatetime']??date('Y-m-d H:i:s'),
  122. 'registercode' => $supplier['registercode']??'',
  123. 'level' => Supplier::$level[$supplier['level']]??$supplier['level'],
  124. 'product_category' => $supplier['product_category']??'',
  125. 'license_img' => $supplier['license_img']
  126. ];
  127. }else{
  128. if($supplier['is_del']==1)return $comp->delete();
  129. $data = [
  130. 'name' => $supplier['name'],
  131. 'source' =>Supplier::$source[$supplier['source']]??$supplier['source'],
  132. 'contector' => $supplier['contactor']??'',
  133. 'post' => $supplier['position']??'',
  134. 'type' => 1,
  135. 'nature' => $this->_catpay[$supplier['nature']]??$this->_catpay[0],
  136. 'corporation' => $supplier['legaler'],
  137. 'registertime' => $supplier['registertime'],
  138. 'capital' => $supplier['capital']??'',
  139. 'supplier_type' =>Supplier::$supplier_type[$supplier['supplier_type']]??$supplier['supplier_type'],
  140. 'pay_method' =>Supplier::$pay_type[$supplier['pay_type']]??$supplier['pay_type'],
  141. 'paydays' => $supplier['pay_day']??'0',
  142. 'mobile' => $supplier['mobile']??'',
  143. 'address' => $supplier['addr'],
  144. 'return_ticket' => $supplier['ticket_type']??'',
  145. 'delivery' => Supplier::$delivery_way[$supplier['delivery_way']]??$supplier['delivery_way'],
  146. 'status' =>$supplier['status']??1,
  147. 'addtime' => $supplier['addtime'],
  148. 'updatetime' => $supplier['updatetime'],
  149. 'registercode' => $supplier['registercode'],
  150. 'level' => Supplier::$level[$supplier['level']]??$supplier['level'],
  151. 'product_category' => $supplier['product_category']??'',
  152. ];
  153. }
  154. $comp->save($data);
  155. }
  156. }