CopySupplier.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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. $output->writeln($supplier);
  31. $supplier =json_decode($supplier,true);
  32. if($supplier['type']==1){
  33. $this->checkcompany($supplier);
  34. }
  35. if($supplier['type']==2){
  36. $this->checkcustomer($supplier);
  37. }
  38. if($supplier['type']==3){
  39. $this->checkSupplier($supplier);
  40. }
  41. }
  42. private function checkcompany($supplier){
  43. $comp= Db::name("company_info")->where(["companyNo"=>$supplier["companyNo"],"is_del"=>0])->findOrEmpty();
  44. if(empty($comp)){
  45. $data = [
  46. "companyNo"=>$supplier['companyNo'],
  47. "company_name"=>$supplier['company'],
  48. "company_address"=>$supplier['inv_addr'],
  49. "company_license"=>$supplier['inv_code'],
  50. "bank_name"=>$supplier['inv_bank'],
  51. "bankNo"=>$supplier['inv_bankNo'],
  52. "contector"=>$supplier['contactor'],
  53. "mobile"=>$supplier['invoice_mobile'],
  54. "company_img"=>$supplier['license_img'],
  55. "input_ticket"=>0,
  56. "out_ticket"=>0,
  57. "voider"=>'',
  58. "payee"=>'',
  59. "drawer"=>'',
  60. "reviewer"=>'',
  61. "ownerPlace"=>'',
  62. "denomination"=>'',
  63. "invoiceType"=>"",
  64. "status"=>0,
  65. "addtime"=>date("Y-m-d H:i:s"),
  66. "updatetime"=>date("Y-m-d H:i:s")
  67. ];
  68. }else{
  69. $datas = [
  70. // "companyNo"=>$supplier['companyNo'],
  71. 'company_name'=>$supplier['company']??$comp['company_name'],
  72. 'company_address'=>$supplier['inv_addr'],
  73. 'company_license'=>$supplier['inv_code']??$comp['company_license'],
  74. 'bank_name'=>$supplier['inv_bank'],
  75. 'bankNo'=>$supplier['inv_bankNo'],
  76. 'contector'=>$supplier['contactor']??$comp['contector'],
  77. 'mobile'=>$supplier['invoice_mobile'],
  78. 'company_img'=>$supplier['license_img']??$comp['company_img'],
  79. 'invoice_title'=>$supplier['invoice_title'],
  80. 'updatetime'=>date('Y-m-d H:i:s')
  81. ];
  82. $data=array_merge($comp,$datas);
  83. }
  84. Db::name("company_info")->save($data);
  85. }
  86. private function checkcustomer($supplier){
  87. $comp= Db::name("customer_info")->where(["companyNo"=>$supplier["companyNo"],"is_del"=>0])->findOrEmpty();
  88. if(empty($comp)){
  89. $data = [
  90. "companyNo"=>$supplier['companyNo'],
  91. "companyName"=>$supplier['companyName'],
  92. "creater"=>$supplier['creater'],
  93. "area"=>$supplier['area'],
  94. "status"=>1,
  95. "addtime"=>date("Y-m-d H:i:s"),
  96. "updatetime"=>date("Y-m-d H:i:s")
  97. ];
  98. }else{
  99. $datas = [
  100. "companyNo"=>$supplier['companyNo'],
  101. "companyName"=>$supplier['companyName'],
  102. "is_del"=>$supplier['is_del'],
  103. "updatetime"=>date("Y-m-d H:i:s")
  104. ];
  105. $data=array_merge($comp,$datas);
  106. }
  107. Db::name("customer_info")->save($data);
  108. }
  109. private function checkSupplier($supplier){
  110. $comp= Db::name("supplier_info")->where(["code"=>$supplier["code"]])->findOrEmpty();
  111. if(empty($comp)){
  112. $data= [
  113. 'name' => $supplier['name'],
  114. 'code' => $supplier['code'],
  115. 'source' => $this->_source[$supplier['source']]??$this->_source[0],
  116. 'contector' => $supplier['contactor']??"",
  117. 'post' => $supplier['position']??"",
  118. 'type' => 1,
  119. 'nature' => $supplier['nature']??"",
  120. 'corporation' => $supplier['legaler']??"",
  121. 'registertime' => $supplier['registertime']??"",
  122. 'capital' => $supplier['capital']??"",
  123. 'supplier_type' => $this->_cat[$supplier['supplier_type']]??"",
  124. 'pay_method' => $this->_payway[$supplier['pay_type']],
  125. 'paydays' => $supplier['pay_day'],
  126. 'mobile' => $supplier['mobile']??"",
  127. 'address' => $supplier['addr']??"",
  128. 'return_ticket' => $supplier['ticket_type'],
  129. 'delivery' => $this->_delaway[$supplier['delivery_way']]??"",
  130. 'status' => 1,
  131. 'addtime' => $supplier['addtime']??date("Y-m-d H:i:s"),
  132. 'updatetime' => $supplier['updatetime']??date("Y-m-d H:i:s"),
  133. 'registercode' => $supplier['registercode']??"",
  134. 'level' => $this->_level[$supplier['level']]??"",
  135. 'product_category' => $supplier['product_category'],
  136. 'license_img' => $supplier['license_img']
  137. ];
  138. }else{
  139. $datas = [
  140. 'name' => $supplier['name'],
  141. 'source' => $supplier['source'],
  142. 'contector' => $supplier['contactor']??"",
  143. 'post' => $supplier['position']??"",
  144. 'type' => 1,
  145. 'nature' => $supplier['nature'],
  146. 'corporation' => $supplier['legaler'],
  147. 'registertime' => $supplier['registertime'],
  148. 'capital' => $supplier['capital']??"",
  149. 'supplier_type' => $this->_cat[$supplier['supplier_type']]??"",
  150. 'pay_method' => $supplier['pay_type'],
  151. 'paydays' => $supplier['pay_day']??"0",
  152. 'mobile' => $supplier['mobile']??"",
  153. 'address' => $supplier['addr'],
  154. 'return_ticket' => $supplier['ticket_type'],
  155. 'delivery' => $this->_delaway[$supplier['delivery_way']]??"",
  156. 'status' => 1,
  157. 'addtime' => $supplier['addtime'],
  158. 'updatetime' => $supplier['updatetime'],
  159. 'registercode' => $supplier['registercode'],
  160. 'level' => $this->_level[$supplier['level']]??"",
  161. 'product_category' => $supplier['product_category'],
  162. ];
  163. $data=array_merge($comp,$datas);
  164. }
  165. Db::name("supplier_info")->save($data);
  166. }
  167. }