ExcelServer.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace App\Servers\Wps;
  3. use App\Imports\ExcelImport;
  4. use App\Servers\Financing\PropertyServer;
  5. use App\Servers\Firm\FirmServer;
  6. use App\Servers\System\CommonServer;
  7. class ExcelServer
  8. {
  9. static private $server = null;
  10. function __construct()
  11. {
  12. }
  13. /**
  14. * 创建对象
  15. * @return ExcelServer
  16. */
  17. static function creatServer()
  18. {
  19. if (empty(self::$server)) self::$server = new ExcelServer();
  20. return self::$server;
  21. }
  22. /**
  23. * 企业信息导入
  24. * @param $excel
  25. * @throws \Throwable
  26. */
  27. function importCooperationData($excel){
  28. $clientImport=new ExcelImport();
  29. $data=$clientImport->toArray($excel);
  30. if(!empty($data[0])){
  31. foreach ($data[0] as $key=>$item){
  32. if(empty($item[0])){
  33. break;
  34. }
  35. if($key>1){
  36. FirmServer::creatServer()->saveCooperation($item[0],'',$item[1],$item[2],$item[3]);
  37. }
  38. }
  39. }
  40. }
  41. /**
  42. * 资产信息导入
  43. * @param $excel
  44. * @param $factoringId
  45. */
  46. function importPropertyData($excel,$factoringId){
  47. if(strstr($excel,'http')!==false){
  48. $fileName=CommonServer::creatServer()->getFileName($excel);
  49. $path=public_path('storage/excel/'.date('Ymd').'/');
  50. if(!is_dir($path))mkdir($path,0777,true);
  51. file_put_contents($path.$fileName,file_get_contents($excel));
  52. $excel=$path.$fileName;
  53. }
  54. $clientImport=new ExcelImport();
  55. $data=$clientImport->toArray($excel);
  56. $row=['total'=>0,'succeed'=>0,'error'=>0,'list'=>[]];
  57. if(!empty($data[0])){
  58. foreach ($data[0] as $key=>$item){
  59. if(empty($item[0])){
  60. break;
  61. }
  62. if($key>1){
  63. if(count($item)<16){
  64. continue;
  65. }
  66. ++$row['total'];
  67. $ret=PropertyServer::creatServer()->importPropertyItem($item,$factoringId);
  68. $row['list'][]=$ret;
  69. if($ret['status']==1){
  70. ++$row['succeed'];
  71. }else{
  72. ++$row['error'];
  73. }
  74. }
  75. }
  76. }
  77. return $row;
  78. }
  79. }