4use
function dbx\myLKW\dbx_get_datum;
8 private function isWorkday(
string $date):
bool {
10 $d = new \DateTime($date);
11 $w = (int)$d->format(
'N');
13 $maxWorkday = (int)
dbx()->get_config(
'myLKW',
'workdays');
19 if ($w > $maxWorkday) {
27 private function shiftDay():
int {
30 $oDB =
dbx()->get_system_obj(
'dbxDB');
35 $today = date(
'Y-m-d');
41 if (!$this->isWorkday($today)) {
42 dbx()->debug(
"kein Workday → kein Shift");
47 $now = date(
'Y-m-d H:i:s');
51 if (!$oDB->begin(
$dd))
return 0;
53 $sql =
"UPDATE $table SET
55 /* ===== d0 ← d1 ===== */
56 d0_origen_region = d1_origen_region,
57 d0_origen_lugar = d1_origen_lugar,
58 d0_carga_region = d1_carga_region,
59 d0_carga_lugar = d1_carga_lugar,
60 d0_observaciones = d1_observaciones,
62 /* ===== d1 ← d2 ===== */
63 d1_origen_region = d2_origen_region,
64 d1_origen_lugar = d2_origen_lugar,
65 d1_carga_region = d2_carga_region,
66 d1_carga_lugar = d2_carga_lugar,
67 d1_observaciones = d2_observaciones,
69 /* ===== d2 ← d3 ===== */
70 d2_origen_region = d3_origen_region,
71 d2_origen_lugar = d3_origen_lugar,
72 d2_carga_region = d3_carga_region,
73 d2_carga_lugar = d3_carga_lugar,
74 d2_observaciones = d3_observaciones,
76 /* ===== d3 ← d4 ===== */
77 d3_origen_region = d4_origen_region,
78 d3_origen_lugar = d4_origen_lugar,
79 d3_carga_region = d4_carga_region,
80 d3_carga_lugar = d4_carga_lugar,
81 d3_observaciones = d4_observaciones,
83 /* ===== d4 ← d5 ===== */
84 d4_origen_region = d5_origen_region,
85 d4_origen_lugar = d5_origen_lugar,
86 d4_carga_region = d5_carga_region,
87 d4_carga_lugar = d5_carga_lugar,
88 d4_observaciones = d5_observaciones,
90 /* ===== d5 leer ===== */
91 d5_origen_region = '',
95 d5_observaciones = '',
100 if (!$oDB->rawQuery($oDB->get_dd_server(
$dd),$sql)) {
102 dbx()->debug(
"rawQuery rollback");
107 if (!$oDB->commit(
$dd)) {
109 dbx()->debug(
"commit rollback");
117 catch (\Throwable $e) {
119 dbx()->debug(
"rollback");
129 dbx()->debug(
"start myLKW_dayshift");
131 $cfgDate =
dbx()->get_config(
'myLKW',
'shiftdate');
132 $today = date(
'Y-m-d');
134 if ($cfgDate && $cfgDate !==
'undef' && $cfgDate !==
'0000-00-00') {
136 if ($cfgDate >= $today) {
139 <div class="alert alert-warning">
140 <strong>Aviso:</strong> No se ha realizado el cambio de día.
141 La fecha configurada ('.$cfgDate.
') ya es hoy o posterior.
144 $content.=
"[modul=myLKW]dbx_run1=list_lkw[/modul]";
149 $ok = $this->shiftDay();
151 dbx()->debug(
"myLKW_dayshift=($ok)");
155 $cfgDate =
dbx()->get_config(
'myLKW',
'shiftdate');
159 $cfgDate ===
'undef' ||
160 $cfgDate ===
'0000-00-00'
162 $date = new \DateTime(
'today');
166 $date = new \DateTime($cfgDate);
170 $date = new \DateTime($next);
174 $config[
'shiftdate'] = $date->format(
'Y-m-d');
180 <div class="alert alert-info">
181 <strong>Información:</strong> El cambio de día se ha realizado correctamente.
184 $content.=
"[modul=myLKW]dbx_run1=list_lkw[/modul]";
if($resolved !==$expectedBase . 'files/test/') $config
dbx_get_datum(string $format='day, dd.mm.yyyy', int $offset=0, ?DateTime $base=null)
DBX schema administration.