fix lỗi đồng bộ dữ liệu không xóa các dữ liệu cũ
This commit is contained in:
@@ -91,7 +91,13 @@ class AssignController extends Controller {
|
||||
public function actionSetSchedule() {
|
||||
if (Yii::$app->request->post()) {
|
||||
$post = Yii::$app->request->post();
|
||||
Staff::updateAll(["schedule_id" => $post["schedule"], "door_access" => json_encode($post["doors"])], ["IN", "id", $post["staffs"]]);
|
||||
$lists = Staff::find()->andWhere(["IN", "id", $post["staffs"]])->all();
|
||||
foreach ($lists as $key => $value) {
|
||||
$value->schedule_id = $post["schedule"];
|
||||
$value->door_access_old = $value->door_access;
|
||||
$value->door_access = json_encode($post["doors"]);
|
||||
$value->save();
|
||||
}
|
||||
$doors = [];
|
||||
foreach ($post["doors"] as $key => $value) {
|
||||
$doors[] = Door::findOne($value)->name;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user