|
@@ -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);
|