wugg 3 years ago
parent
commit
27ad46c5c5
1 changed files with 58 additions and 42 deletions
  1. 58 42
      app/admin/controller/Suppler.php

+ 58 - 42
app/admin/controller/Suppler.php

@@ -2,6 +2,7 @@
 
 namespace app\admin\controller;
 
+use app\admin\common\Ocr;
 use app\BaseController;
 use think\App;
 use think\facade\Db;
@@ -89,7 +90,7 @@ class Suppler extends BaseController
         $warehouse= isset($this->post['warehouse']) && $this->post['warehouse']!==""?trim($this->post['warehouse']) :"";
         $pay_day= isset($this->post['pay_day']) && $this->post['pay_day']!==""?trim($this->post['pay_day']) :"";
         $scope= isset($this->post['scope']) && $this->post['scope']!==""?trim($this->post['scope']) :"";
-        $status= isset($this->post['status']) && $this->post['status']!==""?intval($this->post['status']) :"1";
+        $status= isset($this->post['status']) && $this->post['status']!==""?intval($this->post['status']) :"0";
         $registertime= isset($this->post['registertime']) && $this->post['registertime']!==""? $this->post['registertime'] :"";
         $supplier_img = isset($this->post['supplier_img']) && $this->post['supplier_img'] !=="" ? trim($this->post['supplier_img']):"";
         $contactor = isset($this->post['contactor']) && $this->post['contactor'] !=="" ? trim($this->post['contactor']):"";
@@ -144,24 +145,31 @@ class Suppler extends BaseController
                 "createrid"=>$createrid,
                 "registertime"=>date('Y-m-d H:i:s')
             ];
-            if($supplier_img==""){
-
-                if($nature===""){
-                    return error_show(1002,"参数nature不能为空");
-                }
-                if($legaler==""){
-                    return error_show(1002,"参数legaler不能为空");
-                }
-                if($registertime==""){
-                    return error_show(1002,"参数registertime不能为空");
-                }
-                if($addr==""){
-                    return error_show(1002,"参数addr不能为空");
-                }
-                if($scope==""){
-                    return error_show(1002,"参数scope不能为空");
+            if($supplier_img!==""){
+                $ocr=new Ocr();
+                $data =  $ocr->query("",$supplier_img);
+                // var_dump($data);
+                if($data['code']==0 && isset($data['data']['result'])){
+                        $license = $data['data']['result'];
+                        $data['legaler']= isset($license['legal_representative'])?$license['legal_representative']:"";
+                        $data['addr']= isset($license['address'])?$license['address']:"";
+                        $data['registertime']= isset($license['found_date'])? date("Y-m-d",strtotime(str_replace(["年","月","日"],[""],$license['found_date']))):"";
+                        $data['scope']= isset($license['business_scope'])?$license['business_scope']:"";
+                        $data['capital']= isset($license['registered_capital'])?str_replace("万元","",$license['registered_capital'])*10000:"";
+                        $data['nature']= isset($license['type'])?$license['type']:"";
+                        $data['status']=1;
+                        if($data['name']!=$license['name']){
+                            $data['remark']="企业名称与营业执照不匹配";
+                            $data['status']=0;
+                        }
+                        if($data['code']!=$license['registration_number']){
+                            $data['remark'].="企业名称与营业执照不匹配";
+                            $data['status']=0;
+                        }
+                }else{
+                    $data['remark']="营业执照识别失败";
+                    $data['status']=0;
                 }
-                $data['registertime']=$registertime;
             }
             $join = Db::name('supplier')->insert($data,true);
             if($join>0){
@@ -286,22 +294,22 @@ class Suppler extends BaseController
         if (!empty($rename)&&$rename['id']!=$id) {
             return error_show(1002, "公司名称已存在");
         }
-        $nature = isset($this->post['nature']) && $this->post['nature']!==""? trim($this->post['nature']) :"";
+//        $nature = isset($this->post['nature']) && $this->post['nature']!==""? trim($this->post['nature']) :"";
         $is_platform = isset($this->post['is_platform']) && $this->post['is_platform']!==""? intval($this->post['is_platform']) :"0";
         $ticket_type = isset($this->post['ticket_type']) && $this->post['ticket_type']!==""? trim($this->post['ticket_type']) :"";
-        $legaler = isset($this->post['legaler']) && $this->post['legaler']!==""? trim($this->post['legaler']) :"";
-        $addr = isset($this->post['addr']) && $this->post['addr']!==""? trim($this->post['addr']) :"";
+//        $legaler = isset($this->post['legaler']) && $this->post['legaler']!==""? trim($this->post['legaler']) :"";
+//        $addr = isset($this->post['addr']) && $this->post['addr']!==""? trim($this->post['addr']) :"";
         $registercode= isset($this->post['registercode']) && $this->post['registercode']!==""? trim($this->post['registercode']) :"";
-        $capital= isset($this->post['capital']) && $this->post['capital']!==""? intval($this->post['capital']) :"";
+//        $capital= isset($this->post['capital']) && $this->post['capital']!==""? intval($this->post['capital']) :"";
         $product_category= isset($this->post['product_category']) && $this->post['product_category']!==""? trim($this->post['product_category']) :"";
         $is_payment= isset($this->post['is_payment']) && $this->post['is_payment']!==""?trim($this->post['is_payment']) :"";
         $notice_mark= isset($this->post['notice_mark']) && $this->post['notice_mark']!==""?trim($this->post['notice_mark']) :"";
         $agreement= isset($this->post['agreement']) && $this->post['agreement']!==""?trim($this->post['agreement']) :"";
         $warehouse= isset($this->post['warehouse']) && $this->post['warehouse']!==""?trim($this->post['warehouse']) :"";
         $pay_day= isset($this->post['pay_day']) && $this->post['pay_day']!==""?trim($this->post['pay_day']) :"";
-        $scope= isset($this->post['scope']) && $this->post['scope']!==""?trim($this->post['scope']) :"";
-//        $status= isset($this->post['status']) && $this->post['status']!==""?trim($this->post['status']) :"";
-        $registertime= isset($this->post['registertime']) && $this->post['registertime']!==""? $this->post['registertime'] :"";
+//        $scope= isset($this->post['scope']) && $this->post['scope']!==""?trim($this->post['scope']) :"";
+////        $status= isset($this->post['status']) && $this->post['status']!==""?trim($this->post['status']) :"";
+//        $registertime= isset($this->post['registertime']) && $this->post['registertime']!==""? $this->post['registertime'] :"";
         $supplier_img = isset($this->post['supplier_img']) && $this->post['supplier_img'] !=="" ? trim($this->post['supplier_img']):"";
         $contactor = isset($this->post['contactor']) && $this->post['contactor'] !=="" ? trim($this->post['contactor']):"";
         if($contactor==""){
@@ -330,38 +338,46 @@ class Suppler extends BaseController
                 "supplier_type"=>$supplier_type,
                 "pay_type"=>$pay_type,
                 "registercode"=>$registercode,
-                "capital"=>$capital,
                 "product_category"=>$product_category,
                 "is_payment"=>$is_payment,
                 "notice_mark"=>$notice_mark,
                 "agreement"=>$agreement,
                 "warehouse"=>$warehouse,
                 "pay_day"=>$pay_day,
-                "scope"=>$scope,
                 "type"=>$type,
-                "nature"=>$nature,
-                "legaler"=>$legaler,
-                "addr"=>$addr,
                 "license_img"=>$supplier_img,
                 "is_del"=>0,
                 "status"=>$info['license_img']==$supplier_img ? $info['status']:0,
                 "ticket_type"=>$ticket_type,
                 "updatetime"=>date("Y-m-d H:i:s"),
                 "is_platform"=>$is_platform,
-                "prove_img"=>$prove_img,
-                "registertime"=>date("Y-m-d H:i:s"),
+                "prove_img"=>$prove_img
             ];
-            if($supplier_img==""){
-                if($nature==""){
-                    return error_show(1002,"参数nature不能为空");
-                }
-                if($legaler==""){
-                    return error_show(1002,"参数legaler不能为空");
-                }
-                if($registertime==""){
-                    return error_show(1002,"参数registertime不能为空");
+            if($supplier_img!=="" &&$info['license_img']!=$supplier_img){
+                $ocr=new Ocr();
+                $data =  $ocr->query("",$supplier_img);
+                // var_dump($data);
+                if($data['code']==0 && isset($data['data']['result'])){
+                    $license = $data['data']['result'];
+                    $data['legaler']= isset($license['legal_representative'])?$license['legal_representative']:"";
+                    $data['addr']= isset($license['address'])?$license['address']:"";
+                    $data['registertime']= isset($license['found_date'])? date("Y-m-d",strtotime(str_replace(["年","月","日"],[""],$license['found_date']))):"";
+                    $data['scope']= isset($license['business_scope'])?$license['business_scope']:"";
+                    $data['capital']= isset($license['registered_capital'])?str_replace("万元","",$license['registered_capital'])*10000:"";
+                    $data['nature']= isset($license['type'])?$license['type']:"";
+                    $data['status']=1;
+                    if($data['name']!=$license['name']){
+                        $data['remark']="企业名称与营业执照不匹配";
+                        $data['status']=0;
+                    }
+                    if($data['code']!=$license['registration_number']){
+                        $data['remark'].="企业名称与营业执照不匹配";
+                        $data['status']=0;
+                    }
+                }else{
+                    $data['remark']="营业执照识别失败";
+                    $data['status']=0;
                 }
-                $data['registertime']=$registertime;
             }
             $join = Db::name('supplier')->where(['id'=>$id,'is_del'=>0])->save($data);
             if($join){