git 1 year ago
parent
commit
ed4d0d5719

+ 136 - 2
Home/Lib/Action/NingboFangdaoSyncDataAction.class.php

@@ -124,11 +124,128 @@ class NingboFangdaoSyncDataAction extends Action {
 		if($type_arr[0]=='vehicle'){
 			 switch ($type_arr['1']) {
 		      case 'save':
+				 	if(!isset($data['NAME'])){
+						$data['NAME']='绑定信息';
+					}
+				 	if(!isset($data['ID_CARD_NUMBER'])){
+						$data['ID_CARD_NUMBER']='123456';
+					}
+				 	if(!isset($data['MOBILE_NUMBER'])){
+						$data['MOBILE_NUMBER']='18888888888';
+					}
 				   $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);
+		        oci_free_statement($stid);
+		        break;        
+		      case 'update':
+				 	if(!isset($data['NAME'])){
+						$data['NAME']='绑定信息';
+					}
+				 	if(!isset($data['ID_CARD_NUMBER'])){
+						$data['ID_CARD_NUMBER']='123456';
+					}
+				 	if(!isset($data['MOBILE_NUMBER'])){
+						$data['MOBILE_NUMBER']='18888888888';
+					}
+					$vehicle_sql='SELECT o.RFID_ID FROM DSSC3.W_DW_NON_MOTOR o WHERE o.PLATE_NO =\''.$data['OLD_NO'].'\' ';
+				   $rfid_id='';
+				   $stid = oci_parse($conn, $vehicle_sql);
+				   oci_define_by_name($stid, 'RFID_ID', $rfid_id);
+				   oci_execute($stid);
+				   oci_fetch($stid);
+					//更新
+				        // $sql='UPDATE DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s SET s.RFID_SN = \''.$data['RFID_SN'].'\' WHERE o.PLATE_NO =\''.$data['OLD_NO'].'\'  AND o.rfid_id = s.id  ';
+				   $sql='UPDATE DSSC3.W_DW_RFID_TAGS  SET RFID_SN = \''.$data['RFID_SN'].'\' WHERE   ID = '.$rfid_id;
+				   $stid = oci_parse($conn, $sql);
+				   $r = oci_execute($stid);
+				   $sql='UPDATE DSSC3.W_DW_NON_MOTOR  SET PLATE_NO = \''.$data['PLATE_NO'].'\',CAR_BRAND=\''.$data['CAR_BRAND'].'\',CAR_TYPE=\''.$data['CAR_TYPE'].'\' WHERE PLATE_NO = \''.$data['OLD_NO'].'\' ';
+				   $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.PLATE_NO =\''.$data['OLD_NO'].'\' ';
+				   $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=\''.$data['MOBILE_NUMBER'].'\',NAME=\''.$data['NAME'].'\',ID_CARD_NUMBER=\''.$data['ID_CARD_NUMBER'].'\' WHERE ID = \''.$owner_id.'\' ';
+				   $stid3 = oci_parse($conn, $sql);
+				   $r3 = oci_execute($stid3);
+		      	 break;
+				case 'delete':
+				 	$rfid_ids=[];
+				   $owner_ids=[];
+				   $str=implode('\',\'',$data['PLATE_NO']);
+		 		   $sql='SELECT RFID_ID,OWNER_ID FROM DSSC3.W_DW_NON_MOTOR  WHERE PLATE_NO in (\''.$str.'\')';
+		     	  $stid = oci_parse($conn, $sql);
+		     	  $r = oci_execute($stid);
+		  		 	while($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
+		            $rfid_ids[]=$row['RFID_ID'];
+						 $owner_ids[]=$row['OWNER_ID'];
+		  			}
+				 	$owner_str=implode('\',\'',$owner_ids);
+					$sql='DELETE FROM DSSC3.W_DW_NON_MOTOR_OWNER WHERE ID in ('.$owner_str.')';
+		         $stid = oci_parse($conn, $sql);
+		         $r = oci_execute($stid);
+				 
+				 	$rfid_str=implode('\',\'',$rfid_ids);
+				 	$sql='DELETE FROM DSSC3.W_DW_RFID_TAGS WHERE ID in (\''.$rfid_str.'\')';
+				 	$stid = oci_parse($conn, $sql);
+				 	$r = oci_execute($stid);
+				 	$sql='DELETE FROM DSSC3.W_DW_NON_MOTOR WHERE PLATE_NO in (\''.$str.'\')';
+				 	$stid = oci_parse($conn, $sql);
+				 	$r = oci_execute($stid);
+				 	break;
+		      default:
+		     	  break;
+		   }
+		}elseif($type_arr[0]=='station'){
+			 switch ($type_arr['1']) {
+		      case 'save':
+				 	$data['created_at']=time();
+				   M('stations')->createAdd($data);
+		        break;        
+		      case 'update':
+					$where=array(
+						'shortcode'=>$data['update_code'],
+					);
+				 	M('stations')->createSave($where,$data);
+		      	  break;
+				case 'delete':
+				 	M('stations')->where(['shortcode'=>['in',$data['delete_code']]])->delete();
+				 	break;
+		      default:
+		     	  break;
+		   }
+		}
+		return;
+	}
+	
+ 
+	public  function test(  ){
+		$str='{"PLATE_NO":"6583421","RFID_SN":"45332","CAR TYPE":4,"CAR_BRAND":7,"NAME":"\u5f20\u4e09","ID_CARD_NUMBER":"4123334199508267321","MOBILE_NUMBER":"17834234","INSTA_DATE":"2023-06-22 10:30:59","INSTALLER":1,"DATA_TYPE":"vehicle_save"}
+		';
+		$data=json_decode($str,true);
+		var_dump($data);exit;
+		$type_arr=explode('_',$data['DATA_TYPE']);
+		if($type_arr[0]=='vehicle'){
+			 switch ($type_arr['1']) {
+		      case 'save':
+				   $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_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);
@@ -142,16 +259,33 @@ class NingboFangdaoSyncDataAction extends Action {
 		        $sql='UPDATE DSSC3.W_DW_NON_MOTOR  SET PLATE_NO = \''.$data['PLATE_NO'].'\',CAR_BRAND=\''.$data['CAR_BRAND'].'\',CAR_TYPE=\''.$data['CAR_TYPE'].'\' WHERE PLATE_NO = \''.$data['OLD_NO'].'\' ';
 		        $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.PLATE_NO =\''.$data['OLD_NO'].'\' ';
+		        $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=\''.$data['MOBILE_NUMBER'].'\',NAME=\''.$data['NAME'].'\',ID_CARD_NUMBER=\''.$data['ID_CARD_NUMBER'].'\' WHERE ID = \''.$owner_id.'\' ';
+		        $stid3 = oci_parse($conn, $sql);
+		        $r3 = oci_execute($stid3);
 		      	 break;
 				case 'delete':
 				 	$rfid_ids=[];
+				   $owner_ids=[];
 				   $str=implode('\',\'',$data['PLATE_NO']);
-		 		   $sql='SELECT RFID_ID FROM DSSC3.W_DW_NON_MOTOR  WHERE PLATE_NO in (\''.$str.'\')';
+		 		   $sql='SELECT RFID_ID,OWNER_ID FROM DSSC3.W_DW_NON_MOTOR  WHERE PLATE_NO in (\''.$str.'\')';
 		     	  $stid = oci_parse($conn, $sql);
 		     	  $r = oci_execute($stid);
 		  		 	while($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
 		            $rfid_ids[]=$row['RFID_ID'];
+						 $owner_ids[]=$row['OWNER_ID'];
 		  			}
+				 	$owner_str=implode('\',\'',$owner_ids);
+					$sql='DELETE FROM DSSC3.W_DW_NON_MOTOR_OWNER WHERE ID in ('.$owner_str.')';
+		         $stid = oci_parse($conn, $sql);
+		         $r = oci_execute($stid);
+				 
 				 	$rfid_str=implode('\',\'',$rfid_ids);
 				 	$sql='DELETE FROM DSSC3.W_DW_RFID_TAGS WHERE ID in (\''.$rfid_str.'\')';
 				 	$stid = oci_parse($conn, $sql);

+ 41 - 16
Home/Lib/Action/QuzhouFangdaoSyncDataAction.class.php

@@ -124,6 +124,15 @@ class QuzhouFangdaoSyncDataAction extends Action {
 		if($type_arr[0]=='vehicle'){
 			 switch ($type_arr['1']) {
 		      case 'save':
+				 	if(!isset($data['NAME'])){
+						$data['NAME']='绑定信息';
+					}
+				 	if(!isset($data['ID_CARD_NUMBER'])){
+						$data['ID_CARD_NUMBER']='123456';
+					}
+				 	if(!isset($data['MOBILE_NUMBER'])){
+						$data['MOBILE_NUMBER']='18888888888';
+					}
 				   $sql='declare
 		            tagId number;
 						 ownId number;
@@ -137,23 +146,39 @@ class QuzhouFangdaoSyncDataAction extends Action {
 		        oci_free_statement($stid);
 		        break;        
 		      case 'update':
+				 	if(!isset($data['NAME'])){
+						$data['NAME']='绑定信息';
+					}
+				 	if(!isset($data['ID_CARD_NUMBER'])){
+						$data['ID_CARD_NUMBER']='123456';
+					}
+				 	if(!isset($data['MOBILE_NUMBER'])){
+						$data['MOBILE_NUMBER']='18888888888';
+					}
+					$vehicle_sql='SELECT o.RFID_ID FROM DSSC3.W_DW_NON_MOTOR o WHERE o.PLATE_NO =\''.$data['OLD_NO'].'\' ';
+				   $rfid_id='';
+				   $stid = oci_parse($conn, $vehicle_sql);
+				   oci_define_by_name($stid, 'RFID_ID', $rfid_id);
+				   oci_execute($stid);
+				   oci_fetch($stid);
 					//更新
-		        $sql='UPDATE DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s SET s.RFID_SN = \''.$data['RFID_SN'].'\' WHERE o.PLATE_NO =\''.$data['OLD_NO'].'\'  AND o.rfid_id = s.id  ';
-		        $stid = oci_parse($conn, $sql);
-		        $r = oci_execute($stid);
-		        $sql='UPDATE DSSC3.W_DW_NON_MOTOR  SET PLATE_NO = \''.$data['PLATE_NO'].'\',CAR_BRAND=\''.$data['CAR_BRAND'].'\',CAR_TYPE=\''.$data['CAR_TYPE'].'\' WHERE PLATE_NO = \''.$data['OLD_NO'].'\' ';
-		        $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.PLATE_NO =\''.$data['OLD_NO'].'\' ';
-		        $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=\''.$data['MOBILE_NUMBER'].'\',NAME=\''.$data['NAME'].'\',ID_CARD_NUMBER=\''.$data['ID_CARD_NUMBER'].'\' WHERE ID = \''.$owner_id.'\' ';
-		        $stid3 = oci_parse($conn, $sql);
-		        $r3 = oci_execute($stid3);
+				        // $sql='UPDATE DSSC3.W_DW_NON_MOTOR o,DSSC3.W_DW_RFID_TAGS s SET s.RFID_SN = \''.$data['RFID_SN'].'\' WHERE o.PLATE_NO =\''.$data['OLD_NO'].'\'  AND o.rfid_id = s.id  ';
+				   $sql='UPDATE DSSC3.W_DW_RFID_TAGS  SET RFID_SN = \''.$data['RFID_SN'].'\' WHERE   ID = '.$rfid_id;
+				   $stid = oci_parse($conn, $sql);
+				   $r = oci_execute($stid);
+				   $sql='UPDATE DSSC3.W_DW_NON_MOTOR  SET PLATE_NO = \''.$data['PLATE_NO'].'\',CAR_BRAND=\''.$data['CAR_BRAND'].'\',CAR_TYPE=\''.$data['CAR_TYPE'].'\' WHERE PLATE_NO = \''.$data['OLD_NO'].'\' ';
+				   $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.PLATE_NO =\''.$data['OLD_NO'].'\' ';
+				   $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=\''.$data['MOBILE_NUMBER'].'\',NAME=\''.$data['NAME'].'\',ID_CARD_NUMBER=\''.$data['ID_CARD_NUMBER'].'\' WHERE ID = \''.$owner_id.'\' ';
+				   $stid3 = oci_parse($conn, $sql);
+				   $r3 = oci_execute($stid3);
 		      	 break;
 				case 'delete':
 				 	$rfid_ids=[];