CopySupplier.php 7.2 KB

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