tongshanglei 2 years ago
parent
commit
9cad64d792
1 changed files with 39 additions and 47 deletions
  1. 39 47
      catch/yunying/controller/Vehicle.php

+ 39 - 47
catch/yunying/controller/Vehicle.php

@@ -51,15 +51,14 @@ class Vehicle extends CatchController
 
         $count=queryOracleCount('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_NON_MOTOR_OWNER r,DSSC3.W_DW_RFID_TAGS s',$cond);
         // $count=queryOracleCount('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s',$cond);
-        // $count=100000;
         $cond['page']=isset($param['page'])?$param['page']:1;
         $cond['limit']=isset($param['limit'])?$param['limit']:10;
-        $rows=queryOracleSelect('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_NON_MOTOR_OWNER r,DSSC3.W_DW_RFID_TAGS s',$cond,'o.PLATE_NO,o.CAR_TYPE,o.CAR_BRAND,s.RFID_SN,s.INSTALLER,to_char(s.INSTA_DATE,\'yyyy-mm-dd hh24:mi:ss\') INSTA_DATE,r.NAME,r.ID_CARD_NUMBER,r.MOBILE_NUMBER,r.HOME_ADDRESS');
+        $rows=queryOracleSelect('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_NON_MOTOR_OWNER r,DSSC3.W_DW_RFID_TAGS s',$cond,'o.PLATE_NO,o.CAR_TYPE,o.CAR_BRAND,s.ID,s.RFID_SN,s.INSTALLER,to_char(s.INSTA_DATE,\'yyyy-mm-dd hh24:mi:ss\') INSTA_DATE,r.NAME,r.ID_CARD_NUMBER,r.MOBILE_NUMBER');
         // $rows=queryOracleSelect('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s',$cond,'o.PLATE_NO,o.CAR_TYPE,o.CAR_BRAND,s.ID,s.RFID_SN,s.INSTALLER,to_char(s.INSTA_DATE,\'yyyy-mm-dd hh24:mi:ss\') INSTA_DATE');
         foreach($rows as &$val){
             $val['CAR_BRAND_TEXT']=(new SysDictData())->getValueByCode('CAR_BRAND_OPTION',$val['CAR_BRAND']);
             $val['CAR_TYPE_TEXT']=(new SysDictData())->getValueByCode('CAR_TYPE_OPTION',$val['CAR_TYPE']);
-            $val['ID_CARD_NUMBER']=formatDataCardNumber($val['ID_CARD_NUMBER']);
+            $val['CARD_NUMBER_STR']=formatDataCardNumber($val['ID_CARD_NUMBER']);
         }
         $response=[
             'code'=>10000,
@@ -156,44 +155,6 @@ class Vehicle extends CatchController
         ];
         return $response;
     }
-    // public function indexAdd(Request $request) 
-    // {
-    //     ini_set('memory_limit','3072M');
-    //     set_time_limit(0);
-    //     $cond=[
-    //         '_string'=>'o.rfid_id = s.id',
-    //     ];
-    //     // $count=queryOracleCount('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_NON_MOTOR_OWNER r,DSSC3.W_DW_RFID_TAGS s',$cond);
-    //     $count=queryOracleCount('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s',$cond);
-    //     $to=ceil($count/10000);
-    //     var_dump($to);
-    //     for($i=1;$i<=$to;$i++){
-    //         var_dump($i);
-    //         $cond['page']=$i;
-    //         $cond['limit']=10000;
-    //         // $rows=queryOracleSelect('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_NON_MOTOR_OWNER r,DSSC3.W_DW_RFID_TAGS s',$cond,'o.PLATE_NO,s.RFID_SN,r. NAME,r.ID_CARD_NUMBER,r.MOBILE_NUMBER,r.HOME_ADDRESS');
-    //         $rows=queryOracleSelect('DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s',$cond,'o.PLATE_NO,o.CAR_TYPE,o.CAR_BRAND,s.ID,s.RFID_SN,s.INSTALLER,to_char(s.INSTA_DATE,\'yyyy-mm-dd hh24:mi:ss\') INSTA_DATE');
-    //         // var_dump(count($rows));
-    //         $data=[];
-    //         foreach($rows as &$val){
-    //             $item=array(
-    //                 'license_plate'=>$val['PLATE_NO'],
-    //                 'car_type'=>$val['CAR_TYPE'],
-    //                 'brand_id'=>(int)$val['CAR_BRAND'],
-    //                 'rfid_sn'=>$val['RFID_SN'],
-    //                 'installer'=>$val['INSTALLER'],
-    //                 'license_time'=>$val['INSTA_DATE'],
-    //             );
-    //             array_push($data,$item);
-    //         }
-
-            
-    //         $success = Db::table('vehicles')->limit(1000)->insertAll($data);
-    //         var_dump($success);
-    //     }
- 
-       
-    // }
 
     /**
      * 保存信息
@@ -218,9 +179,11 @@ class Vehicle extends CatchController
         
         $sql='declare
             tagId number;
+            ownId number;
         begin
             INSERT INTO DSSC3.W_DW_RFID_TAGS("ID", "RFID_SN","INSTALLER","INSTA_DATE") VALUES (DSSC3.SEQ_W_DW_RFID_TAGS.nextval, \''.$data['RFID_SN'].'\',\''.$data['INSTALLER'].'\', TO_DATE(\''.$data['INSTA_DATE'].'\', \'SYYYY-MM-DD HH24:MI:SS\'))  returning ID into tagId;
-            INSERT INTO DSSC3.W_DW_NON_MOTOR("ID", "RFID_ID","PLATE_NO","CAR_BRAND","CAR_TYPE") VALUES (DSSC3.SEQ_W_DW_RFID_TAGS.nextval, tagId,\''.$data['PLATE_NO'].'\',\''.$data['CAR_BRAND'].'\',\''.$data['CAR_TYPE'].'\');
+            INSERT INTO DSSC3.W_DW_NON_MOTOR_OWNER("ID", "NAME","ID_CARD_NUMBER","MOBILE_NUMBER") VALUES (DSSC3.SEQ_W_DW_NON_MOTOR_OWNER.nextval,\''.$data['NAME'].'\',\''.$data['ID_CARD_NUMBER'].'\',\''.$data['MOBILE_NUMBER'].'\') returning ID into ownId;
+            INSERT INTO DSSC3.W_DW_NON_MOTOR("ID", "RFID_ID","PLATE_NO","CAR_BRAND","CAR_TYPE","OWNER_ID") VALUES (DSSC3.SEQ_W_DW_RFID_TAGS.nextval, tagId,\''.$data['PLATE_NO'].'\',\''.$data['CAR_BRAND'].'\',\''.$data['CAR_TYPE'].'\',ownId);
         end;';
         $stid = oci_parse($conn, $sql);
         $r = oci_execute($stid);
@@ -248,10 +211,23 @@ class Vehicle extends CatchController
         $r = oci_execute($stid);
         
         $sql='UPDATE DSSC3.W_DW_NON_MOTOR  SET PLATE_NO = \''.$params['PLATE_NO'].'\',CAR_BRAND=\''.$params['CAR_BRAND'].'\',CAR_TYPE=\''.$params['CAR_TYPE'].'\' WHERE RFID_ID = \''.$id.'\' ';
-        // var_dump($sql);
         $stid2 = oci_parse($conn, $sql);
         $r2 = oci_execute($stid2);
+
+        //查车主ID
+        $vehicle_sql='SELECT o.OWNER_ID FROM DSSC3.W_DW_NON_MOTOR o WHERE o.RFID_ID =\''.$id.'\' ';
+        $owner_id='';
+        $stid = oci_parse($conn, $vehicle_sql);
+        oci_define_by_name($stid, 'OWNER_ID', $owner_id);
+        oci_execute($stid);
+        oci_fetch($stid);
+
+        $sql='UPDATE DSSC3.W_DW_NON_MOTOR_OWNER SET MOBILE_NUMBER=\''.$params['MOBILE_NUMBER'].'\',NAME=\''.$params['NAME'].'\',ID_CARD_NUMBER=\''.$params['ID_CARD_NUMBER'].'\' WHERE ID = \''.$owner_id.'\' ';
+
+        $stid3 = oci_parse($conn, $sql);
+        $r3 = oci_execute($stid3);
         
+   
         return CatchResponse::success('修改成功');
 
     }
@@ -264,15 +240,28 @@ class Vehicle extends CatchController
     public function delete($id) : \think\Response
     {
         $conn=getOracleConnect();
+         //查车主ID
+         $sql='SELECT OWNER_ID FROM DSSC3.W_DW_NON_MOTOR  WHERE RFID_ID in ('.$id.')';
+         $stid = oci_parse($conn, $sql);
+         $r = oci_execute($stid);
+         $rows=[];
+         while($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
+             $rows[]=$row['OWNER_ID'];
+         }
+         $owner_ids=implode(',',$rows);
+         $sql='DELETE FROM DSSC3.W_DW_NON_MOTOR_OWNER WHERE ID in ('.$owner_ids.')';
+        $stid = oci_parse($conn, $sql);
+        $r = oci_execute($stid);
+
+        
         $sql='DELETE FROM DSSC3.W_DW_RFID_TAGS WHERE ID in ('.$id.')';
-      
         $stid = oci_parse($conn, $sql);
         $r = oci_execute($stid);
 
         $sql='DELETE FROM DSSC3.W_DW_NON_MOTOR WHERE RFID_ID in ('.$id.')';
         $stid = oci_parse($conn, $sql);
         $r = oci_execute($stid);
-        return CatchResponse::success($r);
+        return CatchResponse::success(true);
     }
     /**
      * 导出
@@ -349,8 +338,11 @@ class Vehicle extends CatchController
                 $arr['RFID_SN'] = trim($sheet->getCell("D" . $j)->getFormattedValue());  
                 $arr['INSTA_DATE'] = trim($sheet->getCell("E" . $j)->getFormattedValue());  
                 $arr['INSTALLER'] = trim($sheet->getCell("F" . $j)->getFormattedValue()); 
-                var_dump($arr);
-                $r=$this->execSaveStation($arr);
+                $arr['NAME'] = trim($sheet->getCell("G" . $j)->getFormattedValue()); 
+                $arr['ID_CARD_NUMBER'] = trim($sheet->getCell("H" . $j)->getFormattedValue()); 
+                $arr['MOBILE_NUMBER'] = trim($sheet->getCell("I" . $j)->getFormattedValue()); 
+                // var_dump($arr);
+                $r=$this->execSaveVehicle($arr);
                 if($r){
                     $success++;
                 }else{