fix lỗi đồng bộ dữ liệu không xóa các dữ liệu cũ

This commit is contained in:
2020-10-21 17:11:45 +07:00
parent 88ff9d32bd
commit 3c8300c74b
11 changed files with 2147 additions and 2038 deletions

View File

@@ -358,6 +358,7 @@ class DeviceController extends Controller {
$filter = ["OR"];
foreach ($doors as $key => $value) {
$filter[] = ["LIKE", "door_access", '"' . $value->id . '"'];
$filter[] = ["LIKE", "door_access_old", '"' . $value->id . '"'];
}
$staffs = Staff::find()->andWhere($filter)->all();
@@ -405,11 +406,13 @@ class DeviceController extends Controller {
$filter = ["OR"];
foreach ($doors as $key => $value) {
$filter[] = ["LIKE", "door_access", '"' . $value->id . '"'];
$filter[] = ["LIKE", "door_access_old", '"' . $value->id . '"'];
}
$offset = ($page - 1) * 200;
$staff_lists = Staff::find()->andWhere($filter)->limit(200)->offset($offset)->all();
$offset = ($page - 1) * Yii::$app->params["pageSize"];
$staff_lists = Staff::find()->andWhere($filter)->limit(Yii::$app->params["pageSize"])->offset($offset)->all();
$UserInfos = [];
$UserAuthorizeInfos = [];
$UserAuthorizeInfosDelete = [];
$doorOfDevice = Door::find()->andWhere(['device_id' => $device_id])->all();
@@ -423,6 +426,7 @@ class DeviceController extends Controller {
"EndTime" => ""
];
$doors = json_decode($value["door_access"], true);
$doorsOld = json_decode($value["door_access_old"], true);
foreach ($doorOfDevice as $k => $v) {
if (in_array($v->id, $doors)) {
$UserAuthorizeInfos[] = [
@@ -431,12 +435,25 @@ class DeviceController extends Controller {
"AuthorizeDoorId" => $v->code
];
}
if ($value["door_access_old"] != null) {
if (in_array($v->id, $doorsOld) && !in_array($v->id, $doors)) {
$UserAuthorizeInfosDelete[] = [
"Pin" => $value["id"],
"AuthorizeTimezoneId" => $value["schedule_id"],
"AuthorizeDoorId" => $v->code
];
}
}
}
}
json_decode(common::requestToCardService("/SetDeviceData/User", [
"DeviceIP" => $deviceInfo->ip_address,
"UserInfos" => $UserInfos
]), true);
common::requestToCardService("/DeleteDeviceData/UserAuthorize", [
"DeviceIP" => $deviceInfo->ip_address,
"UserAuthorizeInfos" => $UserAuthorizeInfosDelete
]);
common::requestToCardService("/SetDeviceData/User", [
"DeviceIP" => $deviceInfo->ip_address,
"UserInfos" => $UserInfos
]);
common::requestToCardService("/SetDeviceData/UserAuthorize", [
"DeviceIP" => $deviceInfo->ip_address,
"UserAuthorizeInfos" => $UserAuthorizeInfos