v.2.21
Обновлен перенос клиента из группы в группу Обновлен метод восстановления смены Добавлен метод загрузки меню 1с из облака
This commit is contained in:
@@ -15,6 +15,7 @@ use App\Component\Models\Shifts;
|
||||
use App\Component\Models\TerminalUpdate;
|
||||
use App\Console\Commands\HRCCommand;
|
||||
use App\Console\Commands\HRCCommandInterface;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
protected $signature = 'postrestoreshift';
|
||||
@@ -37,45 +38,65 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
}
|
||||
$shift_id = $input['shift_id'];
|
||||
$cache_dir = __DIR__ . "\\..\\..\\..\\Cache\\";
|
||||
dirDel($cache_dir);
|
||||
|
||||
|
||||
$nowTime = time();
|
||||
$update = true;
|
||||
$alph = [
|
||||
"А",
|
||||
"Б",
|
||||
"В",
|
||||
"Г",
|
||||
"Д",
|
||||
"Е",
|
||||
"Ё",
|
||||
"Ж",
|
||||
"З",
|
||||
"И",
|
||||
"Й",
|
||||
"К",
|
||||
"Л",
|
||||
"М",
|
||||
"Н",
|
||||
"О",
|
||||
"П",
|
||||
"Р",
|
||||
"С",
|
||||
"Т",
|
||||
"У",
|
||||
"Ф",
|
||||
"Х",
|
||||
"Ц",
|
||||
"Ч",
|
||||
"Ш",
|
||||
"Щ",
|
||||
"Ъ",
|
||||
"Ы",
|
||||
"Ь",
|
||||
"Э",
|
||||
"Ю",
|
||||
"Я",
|
||||
];
|
||||
|
||||
function decode_text($data) {
|
||||
$alph = [
|
||||
"А", "Б", "В", "Г", "Д",
|
||||
"Е", "Ё", "Ж", "З", "И",
|
||||
"Й", "К", "Л", "М", "Н",
|
||||
"О", "П", "Р", "С", "Т",
|
||||
"У", "Ф", "Х", "Ц", "Ч",
|
||||
"Ш", "Щ", "Ъ", "Ы", "Ь",
|
||||
"Э", "Ю", "Я",
|
||||
"а", "б", "в", "г", "д",
|
||||
"е", "ё", "ж", "з", "и",
|
||||
"й", "к", "л", "м", "н",
|
||||
"о", "п", "р", "с", "т",
|
||||
"у", "ф", "х", "ц", "ч",
|
||||
"ш", "щ", "ъ", "ы", "ь",
|
||||
"э", "ю", "я",
|
||||
];
|
||||
|
||||
foreach ($alph as $key => $letter) {
|
||||
$haystack = mb_convert_encoding($data, "CP1251", "UTF-8");
|
||||
$needle = $letter;
|
||||
$pos = strripos($haystack, $needle);
|
||||
if ($pos === false) {
|
||||
$after_conv = false;
|
||||
} else {
|
||||
$after_conv = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$after_conv) {
|
||||
foreach ($alph as $key => $letter) {
|
||||
$haystack = $data;
|
||||
$needle = $letter;
|
||||
$pos = strripos($haystack, $needle);
|
||||
if ($pos === false) {
|
||||
$before_conv = false;
|
||||
} else {
|
||||
$before_conv = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($after_conv) {
|
||||
$retval = mb_convert_encoding($data, "CP1251", "UTF-8");
|
||||
} elseif ($before_conv) {
|
||||
$retval = $data;
|
||||
} else {
|
||||
$retval = $data;
|
||||
}
|
||||
return $retval;
|
||||
}
|
||||
|
||||
$exchange_shifts = ExchangeShifts::where('id', '=', $shift_id)->first();
|
||||
$exchange_orders = ExchangeOrders::where('shift_id', '=', $shift_id)->get();
|
||||
$exchange_items = ExchangeItems::where('shift_id', '=', $shift_id)->get();
|
||||
@@ -109,6 +130,7 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
|
||||
//clear shift_online_orders
|
||||
ShiftOnlineOrders::truncate();
|
||||
Log::debug('ShiftOnlineOrders cleaned');
|
||||
foreach ($exchange_orders as $key => $exchange_order) {
|
||||
$shift_online_order = new ShiftOnlineOrders;
|
||||
$shift_online_order->cash = $exchange_order["cash"];
|
||||
@@ -141,45 +163,8 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
$shift_online_order->opened = $exchange_order["opened"];
|
||||
$shift_online_order->order_sum = $exchange_order["order_sum"];
|
||||
$shift_online_order->params_code = $exchange_order["params_id"];
|
||||
|
||||
$place_name_bd = $exchange_order["place_name"];
|
||||
$place_name_d = mb_convert_encoding($place_name_bd, "CP1251", "UTF-8");
|
||||
|
||||
foreach ($alph as $key => $letter) {
|
||||
$haystack = $place_name_d;
|
||||
$needle = $letter;
|
||||
$pos = strripos($haystack, $needle);
|
||||
if ($pos === false) {
|
||||
$after_conv = false;
|
||||
} else {
|
||||
$after_conv = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$after_conv) {
|
||||
foreach ($alph as $key => $letter) {
|
||||
$haystack = $place_name_bd;
|
||||
$needle = $letter;
|
||||
$pos = strripos($haystack, $needle);
|
||||
if ($pos === false) {
|
||||
$before_conv = false;
|
||||
} else {
|
||||
$before_conv = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($after_conv) {
|
||||
$place_name_decoded = $place_name_d;
|
||||
} elseif ($before_conv) {
|
||||
$place_name_decoded = $place_name_bd;
|
||||
} else {
|
||||
$place_name_decoded = $place_name_bd;
|
||||
}
|
||||
|
||||
$shift_online_order->place_name = $place_name_decoded;
|
||||
$shift_online_order->place_name = mb_convert_encoding(decode_text($exchange_order["place_name"]), 'UTF-8', 'UTF-8');
|
||||
log::debug(decode_text($exchange_order["place_name"]));
|
||||
$shift_online_order->presale = $exchange_order["presale"];
|
||||
$shift_online_order->sale_sum = $exchange_order["sale_sum"];
|
||||
$shift_online_order->self = $exchange_order["self"];
|
||||
@@ -193,6 +178,7 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
}
|
||||
|
||||
ShiftOnlineItems::truncate();
|
||||
Log::debug('ShiftOnlineItems cleaned');
|
||||
foreach ($exchange_items as $key => $exchange_item) {
|
||||
$shift_online_item = new ShiftOnlineItems;
|
||||
$shift_online_item->code = $exchange_item["code"];
|
||||
@@ -218,6 +204,7 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
}
|
||||
|
||||
ShiftOnlineActions::truncate();
|
||||
Log::debug('ShiftOnlineActions cleaned');
|
||||
foreach ($exchange_actions as $key => $exchange_action) {
|
||||
$shift_online_action = new ShiftOnlineActions;
|
||||
$shift_online_action->type_action = $exchange_action["action_type"];
|
||||
@@ -235,6 +222,7 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
}
|
||||
|
||||
ShiftOnlineDeleted::truncate();
|
||||
Log::debug('ShiftOnlineDeleted cleaned');
|
||||
foreach ($exchange_deleted as $key => $exchange_deleted_item) {
|
||||
$shift_online_deleted_item = new ShiftOnlineDeleted;
|
||||
$shift_online_deleted_item->code = $exchange_deleted_item["code"];
|
||||
@@ -253,6 +241,7 @@ class POSTRestoreShift extends HRCCommand implements HRCCommandInterface {
|
||||
$exc_time = time();
|
||||
$diff_time = $exc_time - $nowTime;
|
||||
$terminal_online = TerminalUpdate::where('method', 'online')->where('terminal_id', $exchange_shifts['terminal_id'])->first();
|
||||
dirDel($cache_dir);
|
||||
return [
|
||||
'status' => 'success',
|
||||
'message' => 'Данные автоматически синхронизируются с POS-системой ' . $terminal_online['next_at'],
|
||||
|
||||
Reference in New Issue
Block a user