mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 04:27:14 +01:00
Compare commits
36 Commits
d40a607236
...
17d2a3d2da
Author | SHA1 | Date | |
---|---|---|---|
|
17d2a3d2da | ||
|
968a8fb6ab | ||
|
1985a69cfa | ||
|
99c74b6380 | ||
|
b86fed30a0 | ||
|
c3c12ed3af | ||
|
a51136e3ac | ||
|
cfb0cf4e4e | ||
|
5ef8439d91 | ||
|
95f203b12c | ||
|
e3488040ec | ||
|
06add0d685 | ||
|
e01ef58cd1 | ||
|
f1776beb36 | ||
|
1a01c2de20 | ||
|
046bfee9f9 | ||
|
7776973a08 | ||
|
ca1db638b4 | ||
|
a3285d6c61 | ||
|
42f5d3cc01 | ||
|
5daa541f4f | ||
|
5f590c586c | ||
|
934bd151ea | ||
|
8f3d2a6ade | ||
|
ca6249584f | ||
|
c486b241bd | ||
|
a907a9fa3f | ||
|
00d10dd7cc | ||
|
39c78c52c1 | ||
|
ad37693818 | ||
|
2ebf0a91c6 | ||
|
5dbfe742b1 | ||
|
ee12d9097a | ||
|
a59e4a41e3 | ||
|
a653e52784 | ||
|
ea1d578ffa |
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022 Andreas Palm
|
* SPDX-FileCopyrightText: 2022-2024 Andreas Palm
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only
|
* SPDX-License-Identifier: AGPL-3.0-only
|
||||||
*/
|
*/
|
||||||
@ -14,6 +14,7 @@ use Xentral\Carrier\SendCloud\Data\ParcelCreation;
|
|||||||
use Xentral\Carrier\SendCloud\Data\ParcelResponse;
|
use Xentral\Carrier\SendCloud\Data\ParcelResponse;
|
||||||
use Xentral\Carrier\SendCloud\Data\SenderAddress;
|
use Xentral\Carrier\SendCloud\Data\SenderAddress;
|
||||||
use Xentral\Carrier\SendCloud\Data\ShippingProduct;
|
use Xentral\Carrier\SendCloud\Data\ShippingProduct;
|
||||||
|
use Xentral\Modules\ShippingMethod\Model\ShipmentStatus;
|
||||||
|
|
||||||
class SendCloudApi
|
class SendCloudApi
|
||||||
{
|
{
|
||||||
@ -118,6 +119,32 @@ class SendCloudApi
|
|||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws SendcloudApiException
|
||||||
|
*/
|
||||||
|
public function GetTrackingStatus(string $trackingNumber): ShipmentStatus|null
|
||||||
|
{
|
||||||
|
$uri = self::PROD_BASE_URI . '/tracking/' . $trackingNumber;
|
||||||
|
$response = $this->sendRequest($uri);
|
||||||
|
$highest = null;
|
||||||
|
foreach ($response['body']->statuses as $status) {
|
||||||
|
switch ($status->parent_status) {
|
||||||
|
case 'announcing':
|
||||||
|
case 'ready-to-send':
|
||||||
|
if ($highest === null) $highest = ShipmentStatus::Announced;
|
||||||
|
break;
|
||||||
|
case 'to-sorting':
|
||||||
|
case 'at-sorting-centre':
|
||||||
|
case 'shipment-on-route':
|
||||||
|
case 'driver-on-route':
|
||||||
|
$highest = ShipmentStatus::EnRoute;
|
||||||
|
break;
|
||||||
|
case 'delivered': return ShipmentStatus::Delivered;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $highest;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws SendcloudApiException
|
* @throws SendcloudApiException
|
||||||
*/
|
*/
|
||||||
|
14
classes/Modules/ShippingMethod/Model/ShipmentStatus.php
Normal file
14
classes/Modules/ShippingMethod/Model/ShipmentStatus.php
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// SPDX-FileCopyrightText: 2024 Andreas Palm
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
|
namespace Xentral\Modules\ShippingMethod\Model;
|
||||||
|
|
||||||
|
enum ShipmentStatus
|
||||||
|
{
|
||||||
|
case Announced;
|
||||||
|
case EnRoute;
|
||||||
|
case Delivered;
|
||||||
|
}
|
43
cronjobs/shipment_tracking.php
Normal file
43
cronjobs/shipment_tracking.php
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// SPDX-FileCopyrightText: 2024 Andreas Palm
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
||||||
|
|
||||||
|
use Xentral\Components\Database\Database;
|
||||||
|
use Xentral\Modules\ShippingMethod\Model\ShipmentStatus;
|
||||||
|
|
||||||
|
error_reporting(E_ERROR);
|
||||||
|
|
||||||
|
include_once dirname(__DIR__) . '/xentral_autoloader.php';
|
||||||
|
|
||||||
|
if(empty($app) || !($app instanceof ApplicationCore)){
|
||||||
|
$app = new ApplicationCore();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @var Database $db */
|
||||||
|
$db = $app->Container->get('Database');
|
||||||
|
|
||||||
|
$shipments_sql = "SELECT CONCAT(va.id, ';', va.modul) module, vp.id, vp.tracking, vp.status
|
||||||
|
FROM versandpakete vp
|
||||||
|
JOIN versandarten va ON vp.versandart = va.type
|
||||||
|
WHERE status IN ('neu', 'versendet')";
|
||||||
|
$shipments = $db->fetchGroup($shipments_sql);
|
||||||
|
|
||||||
|
foreach ($shipments as $module => $vps) {
|
||||||
|
list($moduleId, $moduleName) = explode(';', $module,2);
|
||||||
|
$module = $app->erp->LoadVersandModul($moduleName, intval($moduleId));
|
||||||
|
|
||||||
|
foreach ($vps as $vp) {
|
||||||
|
$status = match ($module->GetShipmentStatus($vp['tracking'])) {
|
||||||
|
ShipmentStatus::Announced => 'neu',
|
||||||
|
ShipmentStatus::EnRoute => 'versendet',
|
||||||
|
ShipmentStatus::Delivered => 'abgeschlossen',
|
||||||
|
default => null,
|
||||||
|
};
|
||||||
|
if ($status === null || $status === $vp['status']) continue;
|
||||||
|
$db->perform('UPDATE versandpakete SET status = :status WHERE id = :id',
|
||||||
|
['status' => $status, 'id' => $vp['id']]);
|
||||||
|
}
|
||||||
|
}
|
@ -12945,12 +12945,8 @@ DROP TABLE IF EXISTS `seriennummern`;
|
|||||||
CREATE TABLE `seriennummern` (
|
CREATE TABLE `seriennummern` (
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`seriennummer` varchar(255) NOT NULL,
|
`seriennummer` varchar(255) NOT NULL,
|
||||||
`adresse` int(11) NOT NULL,
|
|
||||||
`artikel` int(11) NOT NULL,
|
`artikel` int(11) NOT NULL,
|
||||||
`beschreibung` varchar(255) NOT NULL,
|
`beschreibung` varchar(255) NOT NULL,
|
||||||
`lieferung` date NOT NULL,
|
|
||||||
`lieferschein` int(11) NOT NULL,
|
|
||||||
`lieferscheinpos` int(11) NOT NULL,
|
|
||||||
`bearbeiter` varchar(255) NOT NULL,
|
`bearbeiter` varchar(255) NOT NULL,
|
||||||
`logdatei` datetime NOT NULL,
|
`logdatei` datetime NOT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
|
@ -365,9 +365,13 @@ class TemplateParser {
|
|||||||
echo '<br><br>';
|
echo '<br><br>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function SetText($_var, $_value)
|
function SetText($_var, $_value, $html = false)
|
||||||
{
|
{
|
||||||
$this->VARARRAY[$_var]= $this->htmlspecialchars($_value);
|
if(!$html)
|
||||||
|
{
|
||||||
|
$_value = $this->htmlspecialchars($_value);
|
||||||
|
}
|
||||||
|
$this->VARARRAY[$_var]= $_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
function AddText($_var,$_value, $variable = false){
|
function AddText($_var,$_value, $variable = false){
|
||||||
|
@ -91440,12 +91440,12 @@
|
|||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Field": "adresse",
|
"Field": "datum",
|
||||||
"Type": "int(11)",
|
"Type": "datetime",
|
||||||
"Collation": null,
|
"Collation": null,
|
||||||
"Null": "NO",
|
"Null": "NO",
|
||||||
"Key": "",
|
"Key": "",
|
||||||
"Default": null,
|
"Default": "current_timestamp()",
|
||||||
"Extra": "",
|
"Extra": "",
|
||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
@ -91473,34 +91473,12 @@
|
|||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Field": "lieferung",
|
"Field": "eingelagert",
|
||||||
"Type": "date",
|
"Type": "int(1)",
|
||||||
"Collation": null,
|
"Collation": null,
|
||||||
"Null": "NO",
|
"Null": "NO",
|
||||||
"Key": "",
|
"Key": "",
|
||||||
"Default": null,
|
"Default": 0,
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "lieferschein",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
|
||||||
"Privileges": "select,insert,update,references",
|
|
||||||
"Comment": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Field": "lieferscheinpos",
|
|
||||||
"Type": "int(11)",
|
|
||||||
"Collation": null,
|
|
||||||
"Null": "NO",
|
|
||||||
"Key": "",
|
|
||||||
"Default": null,
|
|
||||||
"Extra": "",
|
"Extra": "",
|
||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
@ -91528,6 +91506,76 @@
|
|||||||
"Comment": ""
|
"Comment": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"keys": [
|
||||||
|
{
|
||||||
|
"Key_name": "PRIMARY",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Key_name": "seriennummer_artikel",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"seriennummer",
|
||||||
|
"artikel"
|
||||||
|
],
|
||||||
|
"Non_unique": "UNIQUE"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "seriennummern_beleg_position",
|
||||||
|
"collation": "utf8mb3_general_ci",
|
||||||
|
"type": "BASE TABLE",
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"Field": "id",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "PRI",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "auto_increment",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "seriennummer",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "beleg_typ",
|
||||||
|
"Type": "varchar(30)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "beleg_position",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
"keys": [
|
"keys": [
|
||||||
{
|
{
|
||||||
"Key_name": "PRIMARY",
|
"Key_name": "PRIMARY",
|
||||||
|
@ -1127,8 +1127,10 @@ public function NavigationHooks(&$menu)
|
|||||||
function FormatMenge($spalte, $decimals = 0)
|
function FormatMenge($spalte, $decimals = 0)
|
||||||
{
|
{
|
||||||
return ('FORMAT('.$spalte.','.$decimals.',\'de_DE\')');
|
return ('FORMAT('.$spalte.','.$decimals.',\'de_DE\')');
|
||||||
|
}
|
||||||
|
|
||||||
// return "replace(trim($spalte)+0,'.',',')";
|
function FormatMengeFuerFormular($spalte) {
|
||||||
|
return "trim($spalte)+0";
|
||||||
}
|
}
|
||||||
|
|
||||||
function FormatUCfirst($spalte)
|
function FormatUCfirst($spalte)
|
||||||
@ -2423,14 +2425,45 @@ public function NavigationHooks(&$menu)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function LieferscheinSeriennummernberechnen($id)
|
function LieferscheinSeriennummernberechnen($id)
|
||||||
{
|
{
|
||||||
/** @var Seriennummern $obj */
|
/** @var Seriennummern $obj */
|
||||||
$obj = $this->LoadModul('seriennummern');
|
$obj = $this->LoadModul('seriennummern');
|
||||||
if(!empty($obj) && method_exists($obj, 'LieferscheinSeriennummernberechnen')) {
|
if(!empty($obj) && method_exists($obj, 'LieferscheinSeriennummernberechnen')) {
|
||||||
$obj->LieferscheinSeriennummernberechnen($id);
|
$obj->LieferscheinSeriennummernberechnen($id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function SeriennummernCheckBenachrichtigung(int $artikel_id) {
|
||||||
|
$obj = $this->LoadModul('seriennummern');
|
||||||
|
return($obj->seriennummern_check_and_notification_stock_added($artikel_id));
|
||||||
|
}
|
||||||
|
|
||||||
|
function SeriennummernCheckLieferscheinBenachrichtigung(int $lieferschein_id) {
|
||||||
|
$obj = $this->LoadModul('seriennummern');
|
||||||
|
return($obj->seriennummern_check_and_notification_delivery_note($lieferschein_id));
|
||||||
|
}
|
||||||
|
|
||||||
|
function SeriennummernCheckLieferscheinWarnung(int $lieferschein_id) {
|
||||||
|
$obj = $this->LoadModul('seriennummern');
|
||||||
|
return($obj->seriennummern_check_and_message_delivery_notes($lieferschein_id));
|
||||||
|
}
|
||||||
|
|
||||||
|
function SeriennummernCheckLieferschein($lieferschein_id = null, $ignore_date = false, $only_missing = true, $group_lieferschein = false) {
|
||||||
|
$obj = $this->LoadModul('seriennummern');
|
||||||
|
return ($obj->seriennummern_check_delivery_notes($lieferschein_id, $ignore_date, $only_missing, $group_lieferschein));
|
||||||
|
}
|
||||||
|
|
||||||
|
function SeriennummernCheckWareneingangWarnung(int $wareneingang_id) {
|
||||||
|
$obj = $this->LoadModul('seriennummern');
|
||||||
|
return($obj->seriennummern_check_and_message_incoming_goods($wareneingang_id));
|
||||||
|
}
|
||||||
|
|
||||||
|
function SeriennummernCheckWareneingang($wareneingang_id = null, $ignore_date = false, $only_missing = true, $group_wareneingang = false) {
|
||||||
|
$obj = $this->LoadModul('seriennummern');
|
||||||
|
return ($obj->seriennummern_check_incoming_goods($wareneingang_id, $ignore_date, $only_missing, $group_wareneingang));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// @refactor in Lager Modul
|
// @refactor in Lager Modul
|
||||||
function ArtikelAnzahlLagerPlatzMitSperre($artikel,$lager_platz)
|
function ArtikelAnzahlLagerPlatzMitSperre($artikel,$lager_platz)
|
||||||
@ -2517,7 +2550,7 @@ function LieferscheinEinlagern($id,$grund="Lieferschein Einlagern", $lpiids = nu
|
|||||||
}
|
}
|
||||||
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
@ -2544,7 +2577,7 @@ function LieferscheinEinlagern($id,$grund="Lieferschein Einlagern", $lpiids = nu
|
|||||||
}
|
}
|
||||||
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
@ -2570,7 +2603,7 @@ function LieferscheinEinlagern($id,$grund="Lieferschein Einlagern", $lpiids = nu
|
|||||||
}
|
}
|
||||||
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
@ -2579,7 +2612,7 @@ function LieferscheinEinlagern($id,$grund="Lieferschein Einlagern", $lpiids = nu
|
|||||||
}else{
|
}else{
|
||||||
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] == 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
}elseif(isset($v['table']) && $v['table'] == 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
@ -3158,6 +3191,7 @@ function LieferscheinEinlagern($id,$grund="Lieferschein Einlagern", $lpiids = nu
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->RunHook('erpapi_lieferschein_auslagern', 1, $lieferschein);
|
$this->RunHook('erpapi_lieferschein_auslagern', 1, $lieferschein);
|
||||||
|
$this->SeriennummernCheckLieferscheinWarnung($lieferschein, true);
|
||||||
$this->LieferscheinProtokoll($lieferschein,"Lieferschein ausgelagert");
|
$this->LieferscheinProtokoll($lieferschein,"Lieferschein ausgelagert");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -20047,6 +20081,8 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->RunHook('LagerEinlagern_after',7, $artikel, $menge, $regal, $projekt, $grund, $doctype,$doctypeid);
|
$this->RunHook('LagerEinlagern_after',7, $artikel, $menge, $regal, $projekt, $grund, $doctype,$doctypeid);
|
||||||
|
|
||||||
|
$this->SeriennummernCheckBenachrichtigung($artikel);
|
||||||
}
|
}
|
||||||
|
|
||||||
function CreateLagerPlatzInhaltVPE($artikel, $menge, $gewicht, $laenge, $breite, $hoehe, $menge2 = 0, $gewicht2 = 0, $laenge2 = 0, $breite2 = 0, $hoehe2 = 0)
|
function CreateLagerPlatzInhaltVPE($artikel, $menge, $gewicht, $laenge, $breite, $hoehe, $menge2 = 0, $gewicht2 = 0, $laenge2 = 0, $breite2 = 0, $hoehe2 = 0)
|
||||||
@ -33999,10 +34035,10 @@ function Firmendaten($field,$projekt="")
|
|||||||
* Recalculate payment status and skonto
|
* Recalculate payment status and skonto
|
||||||
* using module rechnung
|
* using module rechnung
|
||||||
*/
|
*/
|
||||||
public function rechnung_zahlstatus_berechnen() {
|
public function rechnung_zahlstatus_berechnen($id = null) {
|
||||||
$rechnung = $this->app->loadModule('rechnung', false);
|
$rechnung = $this->app->loadModule('rechnung', false);
|
||||||
if($rechnung !== null && method_exists($rechnung, 'rechnung_zahlstatus_berechnen')) {
|
if($rechnung !== null && method_exists($rechnung, 'rechnung_zahlstatus_berechnen')) {
|
||||||
return $rechnung->rechnung_zahlstatus_berechnen();
|
return $rechnung->rechnung_zahlstatus_berechnen($id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39170,7 +39206,7 @@ function Firmendaten($field,$projekt="")
|
|||||||
}
|
}
|
||||||
return $sipuid;
|
return $sipuid;
|
||||||
}
|
}
|
||||||
}
|
} // END erpAPI
|
||||||
|
|
||||||
|
|
||||||
function parse_csv($str,$parse_split_parameter="")
|
function parse_csv($str,$parse_split_parameter="")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022 Andreas Palm
|
* SPDX-FileCopyrightText: 2022-2024 Andreas Palm
|
||||||
* SPDX-FileCopyrightText: 2019 Xentral (c) Xentral ERP Software GmbH, Fuggerstrasse 11, D-86150 Augsburg, Germany
|
* SPDX-FileCopyrightText: 2019 Xentral (c) Xentral ERP Software GmbH, Fuggerstrasse 11, D-86150 Augsburg, Germany
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
* SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
||||||
@ -9,6 +9,7 @@
|
|||||||
use Xentral\Modules\ShippingMethod\Model\CreateShipmentResult;
|
use Xentral\Modules\ShippingMethod\Model\CreateShipmentResult;
|
||||||
use Xentral\Modules\ShippingMethod\Model\CustomsInfo;
|
use Xentral\Modules\ShippingMethod\Model\CustomsInfo;
|
||||||
use Xentral\Modules\ShippingMethod\Model\Product;
|
use Xentral\Modules\ShippingMethod\Model\Product;
|
||||||
|
use Xentral\Modules\ShippingMethod\Model\ShipmentStatus;
|
||||||
|
|
||||||
abstract class Versanddienstleister
|
abstract class Versanddienstleister
|
||||||
{
|
{
|
||||||
@ -504,4 +505,6 @@ abstract class Versanddienstleister
|
|||||||
* @return Product[]
|
* @return Product[]
|
||||||
*/
|
*/
|
||||||
public abstract function GetShippingProducts(): array;
|
public abstract function GetShippingProducts(): array;
|
||||||
|
|
||||||
|
public abstract function GetShipmentStatus(string $tracking): ShipmentStatus|null;
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ class BestellungPDF extends BriefpapierCustom {
|
|||||||
$this->doctype="bestellung";
|
$this->doctype="bestellung";
|
||||||
$this->doctypeOrig="Bestellung";
|
$this->doctypeOrig="Bestellung";
|
||||||
$this->bestellungohnepreis=0;
|
$this->bestellungohnepreis=0;
|
||||||
parent::__construct($this->app,$projekt);
|
parent::__construct($this->app,$projekt,Array('kleinunternehmer' => 'ignore')); // Fix for ignoring kleinunternehmer 0 or false does not work because of function getStyleElement($key) (class.briefpapier.php)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -304,6 +304,36 @@ class Briefpapier extends SuperFPDF {
|
|||||||
|
|
||||||
public function GetChargeMHDSNString($type,$doctype,$doctypeid,$posid, $returnSimpleString = false)
|
public function GetChargeMHDSNString($type,$doctype,$doctypeid,$posid, $returnSimpleString = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
switch ($type) {
|
||||||
|
case 'sn':
|
||||||
|
$sql = "SELECT
|
||||||
|
s.seriennummer
|
||||||
|
FROM
|
||||||
|
seriennummern s
|
||||||
|
INNER JOIN
|
||||||
|
seriennummern_beleg_position slp ON slp.beleg_typ = 'lieferschein' AND slp.seriennummer = s.id
|
||||||
|
WHERE
|
||||||
|
slp.beleg_position = $posid
|
||||||
|
";
|
||||||
|
$values = (array) $this->app->DB->SelectArr($sql);
|
||||||
|
return(implode(', ',array_column($values,'seriennummer')));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($values)){
|
||||||
|
if($returnSimpleString) {
|
||||||
|
return implode(', ', $values);
|
||||||
|
}
|
||||||
|
return implode("\r\n",$values);
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
|
||||||
|
|
||||||
|
// XENTRAL Legacy
|
||||||
|
/*
|
||||||
|
|
||||||
$lieferschein_posid = 0;
|
$lieferschein_posid = 0;
|
||||||
$auftrag_position_id = 0;
|
$auftrag_position_id = 0;
|
||||||
$lieferschein = 0;
|
$lieferschein = 0;
|
||||||
@ -557,6 +587,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
return implode("\r\n",$tmp_string);
|
return implode("\r\n",$tmp_string);
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
function CheckPosition($value,$doctype,$doctypeid,$posid)
|
function CheckPosition($value,$doctype,$doctypeid,$posid)
|
||||||
@ -2336,7 +2367,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
if(isset($this->textDetails['footer'])) {
|
if(isset($this->textDetails['footer'])) {
|
||||||
$freitext = $this->getStyleElement('freitext');
|
$freitext = $this->getStyleElement('freitext');
|
||||||
|
|
||||||
if($this->getStyleElement("kleinunternehmer"))
|
if($this->getStyleElement("kleinunternehmer") == '1')
|
||||||
{
|
{
|
||||||
if($this->textDetails['footer']=="") $this->textDetails['footer'] ="Als Kleinunternehmer im Sinne von §19 Abs.1 UStG wird Umsatzsteuer nicht berechnet!";
|
if($this->textDetails['footer']=="") $this->textDetails['footer'] ="Als Kleinunternehmer im Sinne von §19 Abs.1 UStG wird Umsatzsteuer nicht berechnet!";
|
||||||
else $this->textDetails['footer'] .="\r\nAls Kleinunternehmer im Sinne von § 19 Abs. 1 UStG wird Umsatzsteuer nicht berechnet!";
|
else $this->textDetails['footer'] .="\r\nAls Kleinunternehmer im Sinne von § 19 Abs. 1 UStG wird Umsatzsteuer nicht berechnet!";
|
||||||
@ -3303,6 +3334,10 @@ class Briefpapier extends SuperFPDF {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OpenXE Seriennummern
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(!empty($this->doctype) && !empty($this->id) && strpos($item['desc'], '{') !== false) {
|
if(!empty($this->doctype) && !empty($this->id) && strpos($item['desc'], '{') !== false) {
|
||||||
$item['desc'] = $this->app->erp->ParseUserVars($this->doctype, $this->id ,$item['desc']);
|
$item['desc'] = $this->app->erp->ParseUserVars($this->doctype, $this->id ,$item['desc']);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022 Andreas Palm
|
* SPDX-FileCopyrightText: 2022-2024 Andreas Palm
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
* SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,7 @@ use Xentral\Carrier\Dhl\Data\ShipmentItem;
|
|||||||
use Xentral\Carrier\Dhl\DhlApi;
|
use Xentral\Carrier\Dhl\DhlApi;
|
||||||
use Xentral\Modules\ShippingMethod\Model\CreateShipmentResult;
|
use Xentral\Modules\ShippingMethod\Model\CreateShipmentResult;
|
||||||
use Xentral\Modules\ShippingMethod\Model\Product;
|
use Xentral\Modules\ShippingMethod\Model\Product;
|
||||||
|
use Xentral\Modules\ShippingMethod\Model\ShipmentStatus;
|
||||||
|
|
||||||
require_once(dirname(__DIR__).'/class.versanddienstleister.php');
|
require_once(dirname(__DIR__).'/class.versanddienstleister.php');
|
||||||
class Versandart_dhl extends Versanddienstleister{
|
class Versandart_dhl extends Versanddienstleister{
|
||||||
@ -245,4 +246,11 @@ class Versandart_dhl extends Versanddienstleister{
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function GetShipmentStatus(string $tracking): ShipmentStatus|null
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022 Andreas Palm
|
* SPDX-FileCopyrightText: 2022-2024 Andreas Palm
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
* SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,7 @@ use Xentral\Carrier\SendCloud\Data\ShippingMethod;
|
|||||||
use Xentral\Carrier\SendCloud\SendcloudApiException;
|
use Xentral\Carrier\SendCloud\SendcloudApiException;
|
||||||
use Xentral\Modules\ShippingMethod\Model\CreateShipmentResult;
|
use Xentral\Modules\ShippingMethod\Model\CreateShipmentResult;
|
||||||
use Xentral\Modules\ShippingMethod\Model\Product;
|
use Xentral\Modules\ShippingMethod\Model\Product;
|
||||||
|
use Xentral\Modules\ShippingMethod\Model\ShipmentStatus;
|
||||||
|
|
||||||
require_once dirname(__DIR__) . '/class.versanddienstleister.php';
|
require_once dirname(__DIR__) . '/class.versanddienstleister.php';
|
||||||
|
|
||||||
@ -190,5 +191,14 @@ class Versandart_sendcloud extends Versanddienstleister
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function GetShipmentStatus(string $tracking): ShipmentStatus|null
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return $this->api->GetTrackingStatus($tracking);
|
||||||
|
} catch (SendcloudApiException) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2608,6 +2608,35 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
|||||||
$newarr[] = $arr[$i]['name'];
|
$newarr[] = $arr[$i]['name'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "seriennummerverfuegbar":
|
||||||
|
$artikel = (int)$this->app->Secure->GetGET('artikel');
|
||||||
|
$lieferschein = (int)$this->app->Secure->GetGET('lieferschein');
|
||||||
|
|
||||||
|
$sql = "
|
||||||
|
SELECT DISTINCT
|
||||||
|
s.seriennummer
|
||||||
|
FROM
|
||||||
|
seriennummern s
|
||||||
|
INNER JOIN
|
||||||
|
lieferschein_position lp ON lp.artikel = s.artikel
|
||||||
|
WHERE
|
||||||
|
s.eingelagert = 1
|
||||||
|
AND s.seriennummer LIKE '%$term%'
|
||||||
|
AND (s.artikel = '$artikel' OR '$artikel' = '0')
|
||||||
|
LIMIT 20
|
||||||
|
";
|
||||||
|
|
||||||
|
//echo($sql);
|
||||||
|
|
||||||
|
$arr = $this->app->DB->SelectArr($sql);
|
||||||
|
|
||||||
|
$carr = !empty($arr)?count($arr):0;
|
||||||
|
for($i = 0; $i < $carr; $i++) {
|
||||||
|
$newarr[] = $arr[$i]['seriennummer'];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
break;
|
||||||
case "artikelmengeinbeleg":
|
case "artikelmengeinbeleg":
|
||||||
$beleg = $this->app->Secure->GetGet('beleg');
|
$beleg = $this->app->Secure->GetGet('beleg');
|
||||||
$belegid = $this->app->Secure->GetGet('id');
|
$belegid = $this->app->Secure->GetGet('id');
|
||||||
|
@ -7204,6 +7204,9 @@ class Artikel extends GenArtikel {
|
|||||||
$this->app->erp->MenuEintrag("index.php?module=artikel&action=lager&id=$id",'Lager');
|
$this->app->erp->MenuEintrag("index.php?module=artikel&action=lager&id=$id",'Lager');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($tmp[0]['seriennummern'] <> 'keine') {
|
||||||
|
$this->app->erp->MenuEintrag("index.php?module=seriennummern&action=nummern_list&artikel=$id&from=artikel",'Seriennummern');
|
||||||
|
}
|
||||||
|
|
||||||
if($tmp[0]['mindesthaltbarkeitsdatum']=='1' && $tmp[0]['chargenverwaltung']<=0)
|
if($tmp[0]['mindesthaltbarkeitsdatum']=='1' && $tmp[0]['chargenverwaltung']<=0)
|
||||||
{
|
{
|
||||||
|
@ -5716,6 +5716,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
|||||||
);
|
);
|
||||||
|
|
||||||
$this->app->erp->ANABREGSNeuberechnen($rechnung,"rechnung");
|
$this->app->erp->ANABREGSNeuberechnen($rechnung,"rechnung");
|
||||||
|
$this->app->erp->rechnung_zahlstatus_berechnen($id);
|
||||||
$this->app->erp->PDFArchivieren("rechnung",$rechnung);
|
$this->app->erp->PDFArchivieren("rechnung",$rechnung);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5794,6 +5795,8 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
|||||||
$nurRestmenge
|
$nurRestmenge
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$this->app->erp->SeriennummernCheckLieferscheinBenachrichtigung($lieferschein);
|
||||||
|
|
||||||
$sql = "SELECT id FROM kommissionierung k WHERE k.auftrag = '".$id."'";
|
$sql = "SELECT id FROM kommissionierung k WHERE k.auftrag = '".$id."'";
|
||||||
$vorkommissionierung = $this->app->DB->Select($sql);
|
$vorkommissionierung = $this->app->DB->Select($sql);
|
||||||
|
|
||||||
|
@ -24,8 +24,6 @@
|
|||||||
[SHOWCHRSTART]<tr valign="top"><td><b style="color:red"><label for="charge">{|Charge|}:</label></b></td><td><input type="text" name="charge" value="[CHARGEVALUE]" id="charge" style="width:200px"> <br><i>({|Chargennummer von Hersteller|})</i></td></tr>
|
[SHOWCHRSTART]<tr valign="top"><td><b style="color:red"><label for="charge">{|Charge|}:</label></b></td><td><input type="text" name="charge" value="[CHARGEVALUE]" id="charge" style="width:200px"> <br><i>({|Chargennummer von Hersteller|})</i></td></tr>
|
||||||
<tr valign="top"><td><label for="chargesnmhdbemerkung">{|Bemerkung|}:</label></td><td><input type="text" name="chargesnmhdbemerkung" value="[CHARGESNMHDBEMERKUNG]" id="chargesnmhdbemerkung" style="width:200px"> <br><i>({|Infos zur Charge|})</i></td></tr>
|
<tr valign="top"><td><label for="chargesnmhdbemerkung">{|Bemerkung|}:</label></td><td><input type="text" name="chargesnmhdbemerkung" value="[CHARGESNMHDBEMERKUNG]" id="chargesnmhdbemerkung" style="width:200px"> <br><i>({|Infos zur Charge|})</i></td></tr>
|
||||||
<tr valign="top"><td><br></td><td align="center"></td></tr>[SHOWCHREND]
|
<tr valign="top"><td><br></td><td align="center"></td></tr>[SHOWCHREND]
|
||||||
[SHOWSRNSTART]<tr valign="top"><td><b style="color:red">{|Seriennummern|}:</b></td><td><input type="button" onclick="seriennummern_assistent([MENGE])" value="Assistent verwenden"><br>[SERIENNUMMERN]<i>({|Pro Artikel eine Nummer|})</i></td></tr>
|
|
||||||
<tr valign="top"><td><br></td><td align="center"></td></tr> [SHOWSRNEND]
|
|
||||||
<tr><td><br></td><td></td></tr>
|
<tr><td><br></td><td></td></tr>
|
||||||
<tr><td><label for="projekt">{|Projekt|}:</label></td><td>[PROJEKTAUTOEND]<input type="text" id="projekt" name="projekt" value="[PROJEKT]" size="22" style="width:200px">[PROJEKTAUTOEND]</td></tr>
|
<tr><td><label for="projekt">{|Projekt|}:</label></td><td>[PROJEKTAUTOEND]<input type="text" id="projekt" name="projekt" value="[PROJEKT]" size="22" style="width:200px">[PROJEKTAUTOEND]</td></tr>
|
||||||
<tr><td><label for="grundreferenz">{|Grund|}:</label></td><td><input type="text" id="grundreferenz" name="grundreferenz" value="[GRUNDREFERENZ]" size="22" style="width:200px"></td></tr>
|
<tr><td><label for="grundreferenz">{|Grund|}:</label></td><td><input type="text" id="grundreferenz" name="grundreferenz" value="[GRUNDREFERENZ]" size="22" style="width:200px"></td></tr>
|
||||||
|
215
www/pages/content/seriennummern_edit.tpl
Normal file
215
www/pages/content/seriennummern_edit.tpl
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1"></a></li>
|
||||||
|
</ul>
|
||||||
|
<!-- Example for multiple tabs
|
||||||
|
<ul hidden">
|
||||||
|
<li><a href="#tabs-1">First Tab</a></li>
|
||||||
|
<li><a href="#tabs-2">Second Tab</a></li>
|
||||||
|
</ul>
|
||||||
|
-->
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-12 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|<!--Legend for this form area goes here>-->seriennummern|}</legend><i>Info like this.</i>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummer|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="seriennummer" id="seriennummer" value="[SERIENNUMMER]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Adresse|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Artikel|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="artikel" id="artikel" value="[ARTIKEL]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Beschreibung|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="beschreibung" id="beschreibung" value="[BESCHREIBUNG]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferung|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="lieferung" id="lieferung" value="[LIEFERUNG]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferschein|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="lieferschein" id="lieferschein" value="[LIEFERSCHEIN]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferscheinpos|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="lieferscheinpos" id="lieferscheinpos" value="[LIEFERSCHEINPOS]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Bearbeiter|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="bearbeiter" id="bearbeiter" value="[BEARBEITER]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Logdatei|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="logdatei" id="logdatei" value="[LOGDATEI]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Example for 2nd row
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-12 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Another legend|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummer|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="seriennummer" id="seriennummer" value="[SERIENNUMMER]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Adresse|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Artikel|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="artikel" id="artikel" value="[ARTIKEL]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Beschreibung|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="beschreibung" id="beschreibung" value="[BESCHREIBUNG]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferung|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="lieferung" id="lieferung" value="[LIEFERUNG]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferschein|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="lieferschein" id="lieferschein" value="[LIEFERSCHEIN]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferscheinpos|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="lieferscheinpos" id="lieferscheinpos" value="[LIEFERSCHEINPOS]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Bearbeiter|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="bearbeiter" id="bearbeiter" value="[BEARBEITER]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Logdatei|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="logdatei" id="logdatei" value="[LOGDATEI]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<input type="submit" name="submit" value="Speichern" style="float:right"/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- Example for 2nd tab
|
||||||
|
<div id="tabs-2">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-12 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|...|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
...
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input type="submit" name="submit" value="Speichern" style="float:right"/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
|
216
www/pages/content/seriennummern_enter.tpl
Normal file
216
www/pages/content/seriennummern_enter.tpl
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1"></a></li>
|
||||||
|
</ul>
|
||||||
|
<!-- Example for multiple tabs
|
||||||
|
<ul hidden">
|
||||||
|
<li><a href="#tabs-1">First Tab</a></li>
|
||||||
|
<li><a href="#tabs-2">Second Tab</a></li>
|
||||||
|
</ul>
|
||||||
|
-->
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-6 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend >{|[LEGEND]|}</legend>
|
||||||
|
[POSITIONEN]
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-6 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Seriennummern erfassen|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr [ARTIKEL_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Lagermenge|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZLAGER]" size="40" disabled />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [ARTIKEL_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern verfügbar|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZVORHANDEN]" size="40" disabled />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [BELEG_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Menge auf Beleg|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZBELEG]" size="40" disabled />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [BELEG_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern zugeordnet|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZVORHANDEN]" size="40" disabled />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern fehlen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZFEHLT]" size="40" disabled />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [ARTIKEL_HIDDEN] [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Seriennummer scannen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="eingabescan" id="eingabescan" value="[EINGABESCAN]" size="40" autofocus />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [WARENEINGANG_HIDDEN] [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Seriennummer scannen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="eingabescan" id="eingabescan" value="[EINGABESCAN]" size="40" autofocus />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [LIEFERSCHEIN_HIDDEN] [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Seriennummer wählen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="eingabe" id="eingabe" value="[EINGABE]" size="40" autofocus/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Seriennummernassistent|}</legend>
|
||||||
|
</fieldset>
|
||||||
|
</tr>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td [ARTIKEL_HIDDEN]>
|
||||||
|
{|Letzte Seriennummer|}:
|
||||||
|
</td>
|
||||||
|
<td [WARENEINGANG_HIDDEN]>
|
||||||
|
{|Letzte Seriennummer|}:
|
||||||
|
</td>
|
||||||
|
<td [LIEFERSCHEIN_HIDDEN]>
|
||||||
|
{|Nächste Seriennummer|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="muster" id="muster" value="[LETZTE]" size="40" disabled />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Präfix|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="praefix" id="praefix" value="[PRAEFIX]" size="40" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Start|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="start" id="start" value="[START]" size="40" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Postfix|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="postfix" id="postfix" value="[POSTFIX]" size="40" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Anzahl|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="anzahl" id="anzahl" value="[ANZAHL]" size="40" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Liste der gewählten Seriennummern|}</legend>
|
||||||
|
</fieldset>
|
||||||
|
</tr>
|
||||||
|
</tr>
|
||||||
|
<tr [EINGABE_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<textarea name="seriennummern" id="seriennummern" rows="20" style="width:100%;">[SERIENNUMMERN]</textarea>
|
||||||
|
<i>Liste der Seriennummern, 1 pro Zeile</i>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|<!--Legend for this form area goes here>-->Aktionen|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular" [EINGABE_HIDDEN]>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="hinzufuegen" class="ui-button-icon" style="width:100%;">Zur Liste hinzufügen</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="assistent" class="ui-button-icon" style="width:100%;">Assistent ausführen</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [ARTIKEL_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="allowold" id="allowold" value="1" [PRIO] size="20">{|Ausgelieferte erlauben|}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [ARTIKEL_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="einlagern" class="ui-button-icon" style="width:100%;">Speichern</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [LIEFERSCHEIN_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="lieferscheinzuordnen" class="ui-button-icon" style="width:100%;">Speichern</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [WARENEINGANG_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="allowold" id="allowold" value="1" [PRIO] size="20">{|Ausgelieferte erlauben|}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr [WARENEINGANG_HIDDEN]>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="wareneingangzuordnen" class="ui-button-icon" style="width:100%;">Speichern</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
33
www/pages/content/seriennummern_lieferscheine_list.tpl
Normal file
33
www/pages/content/seriennummern_lieferscheine_list.tpl
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="filter-box filter-usersave">
|
||||||
|
<div class="filter-block filter-inline">
|
||||||
|
<div class="filter-title">{|Filter|}
|
||||||
|
</div>
|
||||||
|
<ul class="filter-list">
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="altelieferscheine" class="switch">
|
||||||
|
<input type="checkbox" id="altelieferscheine" />
|
||||||
|
<span class="slider round">
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<label for="altelieferscheine">
|
||||||
|
{|Zzgl. alte Lieferscheine|}
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="row" [ARTIKEL_HIDDEN]>
|
||||||
|
[TAB1]
|
||||||
|
[TAB1NEXT]
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
10
www/pages/content/seriennummern_list.tpl
Normal file
10
www/pages/content/seriennummern_list.tpl
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
[TAB1]
|
||||||
|
[TAB1NEXT]
|
||||||
|
</div>
|
||||||
|
</div>
|
109
www/pages/content/seriennummern_nummern_list.tpl
Normal file
109
www/pages/content/seriennummern_nummern_list.tpl
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="row" [ARTIKEL_HIDDEN]>
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lagermenge|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZLAGER]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern eingelagert|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZVORHANDEN]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern fehlen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZFEHLT]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|<!--Legend for this form area goes here>-->Aktionen|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<button onclick="window.location.href='index.php?module=seriennummern&action=enter&artikel=[ARTIKEL_ID]';" form="" class="ui-button-icon" style="width:100%;">Hinzufügen</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="filter-box filter-usersave">
|
||||||
|
<div class="filter-block filter-inline">
|
||||||
|
<div class="filter-title">{|Filter|}
|
||||||
|
</div>
|
||||||
|
<ul class="filter-list">
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="verfuegbar" class="switch">
|
||||||
|
<input type="checkbox" id="verfuegbar" />
|
||||||
|
<span class="slider round">
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<label for="verfuegbar">
|
||||||
|
{|Nur eingelagerte|}
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="ausgelagert" class="switch">
|
||||||
|
<input type="checkbox" id="ausgelagert" />
|
||||||
|
<span class="slider round">
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<label for="ausgelagert">
|
||||||
|
{|Nur ausgelagerte|}
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="versendet" class="switch">
|
||||||
|
<input type="checkbox" id="versendet" />
|
||||||
|
<span class="slider round">
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<label for="versendet">
|
||||||
|
{|Nur versendete|}
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-14 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
[TAB1]
|
||||||
|
[TAB1NEXT]
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
167
www/pages/content/seriennummern_select.tpl
Normal file
167
www/pages/content/seriennummern_select.tpl
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1"></a></li>
|
||||||
|
</ul>
|
||||||
|
<!-- Example for multiple tabs
|
||||||
|
<ul hidden">
|
||||||
|
<li><a href="#tabs-1">First Tab</a></li>
|
||||||
|
<li><a href="#tabs-2">Second Tab</a></li>
|
||||||
|
</ul>
|
||||||
|
-->
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-6 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Seriennummern wählen Artikel [ARTIKELNUMMER] [ARTIKEL]|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lagermenge|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZLAGER]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern verfügbar|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZVORHANDEN]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern fehlen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[ANZFEHLT]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummer scannen|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="eingabeneu" id="eingabeneu" value="[EINGABENEU]" size="40" autofocus>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-6 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Seriennummernassistent|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Letzte Seriennummer|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="muster" id="muster" value="[LETZTE]" size="40" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Präfix|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="praefix" id="praefix" value="[PRAEFIX]" size="40">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Start|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="start" id="start" value="[START]" size="40">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Postfix|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="postfix" id="postfix" value="[POSTFIX]" size="40">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Anzahl|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="anzahl" id="anzahl" value="[ANZAHL]" size="40">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|<!--Legend for this form area goes here>-->Aktionen|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzufügen</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="assistent" class="ui-button-icon" style="width:100%;">Assistent ausführen</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Gewählte Seriennummern|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Seriennummern|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<textarea name="seriennummern" id="seriennummern" rows="20" style="width:100%;">[SERIENNUMMERN]</textarea>
|
||||||
|
<i>Liste der Seriennummern, 1 pro Zeile</i>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|<!--Legend for this form area goes here>-->Aktionen|}</legend>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<button name="submit" value="speichern" class="ui-button-icon" style="width:100%;">Speichern</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
33
www/pages/content/seriennummern_wareneingaenge_list.tpl
Normal file
33
www/pages/content/seriennummern_wareneingaenge_list.tpl
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="filter-box filter-usersave">
|
||||||
|
<div class="filter-block filter-inline">
|
||||||
|
<div class="filter-title">{|Filter|}
|
||||||
|
</div>
|
||||||
|
<ul class="filter-list">
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="geschlossenewareneingaenge" class="switch">
|
||||||
|
<input type="checkbox" id="geschlossenewareneingaenge" />
|
||||||
|
<span class="slider round">
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<label for="geschlossenewareneingaenge">
|
||||||
|
{|Zzgl. geschlossene Wareneingänge|}
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="row" [ARTIKEL_HIDDEN]>
|
||||||
|
[TAB1]
|
||||||
|
[TAB1NEXT]
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1882,13 +1882,14 @@ class Lager extends GenLager {
|
|||||||
{
|
{
|
||||||
$this->app->Tpl->Add('SRNINFO',"<tr><td></td><td>Charge: ".$charge[$i-1]['charge']."</td></tr>");
|
$this->app->Tpl->Add('SRNINFO',"<tr><td></td><td>Charge: ".$charge[$i-1]['charge']."</td></tr>");
|
||||||
}
|
}
|
||||||
|
/* XENTRAL Legacy
|
||||||
$srn = $this->app->DB->SelectArr("SELECT * FROM lager_seriennummern WHERE zwischenlagerid='$id'");
|
$srn = $this->app->DB->SelectArr("SELECT * FROM lager_seriennummern WHERE zwischenlagerid='$id'");
|
||||||
$csrn = !empty($srn)?count($srn):0;
|
$csrn = !empty($srn)?count($srn):0;
|
||||||
for($i=1;$i<=$csrn;$i++)
|
for($i=1;$i<=$csrn;$i++)
|
||||||
{
|
{
|
||||||
$this->app->Tpl->Add('SRNINFO',"<tr><td></td><td>Seriennummer: ".$srn[$i-1]['seriennummer']."</td></tr>");
|
$this->app->Tpl->Add('SRNINFO',"<tr><td></td><td>Seriennummer: ".$srn[$i-1]['seriennummer']."</td></tr>");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
$this->app->Tpl->Set('SHOWCHRSTART','<!--');
|
$this->app->Tpl->Set('SHOWCHRSTART','<!--');
|
||||||
$this->app->Tpl->Set('SHOWCHREND','-->');
|
$this->app->Tpl->Set('SHOWCHREND','-->');
|
||||||
if((!empty($mhd)?count($mhd):0) <=0)
|
if((!empty($mhd)?count($mhd):0) <=0)
|
||||||
@ -1896,8 +1897,10 @@ class Lager extends GenLager {
|
|||||||
$this->app->Tpl->Set('SHOWMHDSTART','<!--');
|
$this->app->Tpl->Set('SHOWMHDSTART','<!--');
|
||||||
$this->app->Tpl->Set('SHOWMHDEND','-->');
|
$this->app->Tpl->Set('SHOWMHDEND','-->');
|
||||||
}
|
}
|
||||||
|
/* XENTRAL Legacy
|
||||||
$this->app->Tpl->Set('SHOWSRNSTART','<!--');
|
$this->app->Tpl->Set('SHOWSRNSTART','<!--');
|
||||||
$this->app->Tpl->Set('SHOWSRNEND','-->');
|
$this->app->Tpl->Set('SHOWSRNEND','-->');
|
||||||
|
*/
|
||||||
} else {
|
} else {
|
||||||
$this->app->Tpl->Set('WOHERREADONLYSTART2','<!--');
|
$this->app->Tpl->Set('WOHERREADONLYSTART2','<!--');
|
||||||
$this->app->Tpl->Set('WOHERREADONLYENDE2','-->');
|
$this->app->Tpl->Set('WOHERREADONLYENDE2','-->');
|
||||||
@ -2042,13 +2045,13 @@ class Lager extends GenLager {
|
|||||||
$suggestedbatch = $suggestedbestbeforebatch;
|
$suggestedbatch = $suggestedbestbeforebatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* XENTRAL Legacy
|
||||||
$seriennummern = $artArr['seriennummern'];
|
$seriennummern = $artArr['seriennummern'];
|
||||||
if($seriennummern != '' && $seriennummern !== 'keine') {
|
if($seriennummern != '' && $seriennummern !== 'keine') {
|
||||||
$menge = (int)$menge;
|
$menge = (int)$menge;
|
||||||
}
|
}
|
||||||
// pruefen einlagern
|
// pruefen einlagern
|
||||||
|
*/
|
||||||
$error = 0;
|
$error = 0;
|
||||||
// Pflichtfelder pruefen
|
// Pflichtfelder pruefen
|
||||||
$checkmhd = $this->app->String->Convert($this->app->Secure->GetPOST('mhd'),'%1.%2.%3','%3-%2-%1');
|
$checkmhd = $this->app->String->Convert($this->app->Secure->GetPOST('mhd'),'%1.%2.%3','%3-%2-%1');
|
||||||
@ -2059,6 +2062,8 @@ class Lager extends GenLager {
|
|||||||
if(($chargenverwaltung=='2' || $chargenverwaltung=="1") && $this->app->Secure->GetPOST('charge')=='' && $zwischenlagerid <=0) {
|
if(($chargenverwaltung=='2' || $chargenverwaltung=="1") && $this->app->Secure->GetPOST('charge')=='' && $zwischenlagerid <=0) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* XENTRAL Legacy
|
||||||
if( ($seriennummern !=='keine' && $seriennummern !=='vomprodukt' && $seriennummern !=='eigene' && $seriennummern!='') && $cmd!=='zwischenlager') {
|
if( ($seriennummern !=='keine' && $seriennummern !=='vomprodukt' && $seriennummern !=='eigene' && $seriennummern!='') && $cmd!=='zwischenlager') {
|
||||||
$tmpcheck = $this->app->Secure->GetPOST("seriennummern");
|
$tmpcheck = $this->app->Secure->GetPOST("seriennummern");
|
||||||
for($checkser=0;$checkser < $menge; $checkser++) {
|
for($checkser=0;$checkser < $menge; $checkser++) {
|
||||||
@ -2067,6 +2072,7 @@ class Lager extends GenLager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if($submit!='' && $error > 0) {
|
if($submit!='' && $error > 0) {
|
||||||
$alles_komplett++;
|
$alles_komplett++;
|
||||||
@ -2130,9 +2136,10 @@ class Lager extends GenLager {
|
|||||||
$this->app->erp->AddChargeLagerOhneBewegung($artikel,$menge,$regal,$datum,$chargemindest,$chargesnmhdbemerkung,0,'',0,$isInterim);
|
$this->app->erp->AddChargeLagerOhneBewegung($artikel,$menge,$regal,$datum,$chargemindest,$chargesnmhdbemerkung,0,'',0,$isInterim);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* XENTRAL Legacy
|
||||||
//Seriennummern buchen
|
//Seriennummern buchen
|
||||||
$tmpcheck = $this->app->Secure->GetPOST('seriennummern');
|
$tmpcheck = $this->app->Secure->GetPOST('seriennummern');
|
||||||
|
*/
|
||||||
|
|
||||||
if($artikelid!=''){
|
if($artikelid!=''){
|
||||||
$this->app->Location->execute('index.php?module=artikel&action=lager&id='.$artikelid.($msg!=""?"&msg=".$msg:""));
|
$this->app->Location->execute('index.php?module=artikel&action=lager&id='.$artikelid.($msg!=""?"&msg=".$msg:""));
|
||||||
@ -2272,7 +2279,7 @@ class Lager extends GenLager {
|
|||||||
$this->app->Tpl->Set('MHDVALUE', $frmmhd);
|
$this->app->Tpl->Set('MHDVALUE', $frmmhd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* XENTRAL Legacy
|
||||||
if($seriennummern === 'keine' || $seriennummern ==='vomprodukt' || $seriennummern ==='eigene' || $menge <= 0 || $seriennummern=='')
|
if($seriennummern === 'keine' || $seriennummern ==='vomprodukt' || $seriennummern ==='eigene' || $menge <= 0 || $seriennummern=='')
|
||||||
{
|
{
|
||||||
$this->app->Tpl->Set('SHOWSRNSTART','<!--');
|
$this->app->Tpl->Set('SHOWSRNSTART','<!--');
|
||||||
@ -2288,7 +2295,7 @@ class Lager extends GenLager {
|
|||||||
$this->app->Tpl->Add('SERIENNUMMERNENTERJUMP', "document.getElementById('seriennummern_$ij').addEventListener('keypress', function(event) {if (event.keyCode == 13) {event.preventDefault();document.getElementById(".($ij < $menge?"'seriennummern_".($ij+1)."'":"'projekt'").").focus()}});");
|
$this->app->Tpl->Add('SERIENNUMMERNENTERJUMP', "document.getElementById('seriennummern_$ij').addEventListener('keypress', function(event) {if (event.keyCode == 13) {event.preventDefault();document.getElementById(".($ij < $menge?"'seriennummern_".($ij+1)."'":"'projekt'").").focus()}});");
|
||||||
}
|
}
|
||||||
$this->app->Tpl->Add('SERIENNUMMERN','</table>');
|
$this->app->Tpl->Add('SERIENNUMMERN','</table>');
|
||||||
}
|
}*/
|
||||||
|
|
||||||
$standardbild = $this->app->erp->GetArtikelStandardbild($artikel,true);
|
$standardbild = $this->app->erp->GetArtikelStandardbild($artikel,true);
|
||||||
|
|
||||||
@ -2375,7 +2382,6 @@ class Lager extends GenLager {
|
|||||||
$menge = $menge_get;
|
$menge = $menge_get;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$this->app->Tpl->Set('MENGE', $this->app->erp->ReplaceMenge(0,(String)$menge,0));
|
$this->app->Tpl->Set('MENGE', $this->app->erp->ReplaceMenge(0,(String)$menge,0));
|
||||||
$this->app->Tpl->Set('GRUNDREFERENZ', $grundreferenz);
|
$this->app->Tpl->Set('GRUNDREFERENZ', $grundreferenz);
|
||||||
$this->app->Tpl->Set('NUMMER', $nummer);
|
$this->app->Tpl->Set('NUMMER', $nummer);
|
||||||
@ -2547,10 +2553,12 @@ class Lager extends GenLager {
|
|||||||
|
|
||||||
$name_de = $this->app->DB->Select("SELECT name_de FROM artikel WHERE nummer='{$nummer}' AND geloescht!=1 AND lagerartikel=1 LIMIT 1");
|
$name_de = $this->app->DB->Select("SELECT name_de FROM artikel WHERE nummer='{$nummer}' AND geloescht!=1 AND lagerartikel=1 LIMIT 1");
|
||||||
$einheit = $this->app->DB->Select("SELECT einheit FROM artikel WHERE nummer='{$nummer}' AND geloescht!=1 AND lagerartikel=1 LIMIT 1");
|
$einheit = $this->app->DB->Select("SELECT einheit FROM artikel WHERE nummer='{$nummer}' AND geloescht!=1 AND lagerartikel=1 LIMIT 1");
|
||||||
|
/* XENTRAL Legacy
|
||||||
$seriennummer = $this->app->DB->Select("SELECT seriennummern FROM artikel WHERE nummer='{$nummer}' AND geloescht!=1 AND lagerartikel=1 LIMIT 1");
|
$seriennummer = $this->app->DB->Select("SELECT seriennummern FROM artikel WHERE nummer='{$nummer}' AND geloescht!=1 AND lagerartikel=1 LIMIT 1");
|
||||||
if($seriennummer === 'keine') {
|
if($seriennummer === 'keine') {
|
||||||
$seriennummer = '';
|
$seriennummer = '';
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if ($nummer != $checkartikel && ($nummer!=''||$nummer!=0)) {
|
if ($nummer != $checkartikel && ($nummer!=''||$nummer!=0)) {
|
||||||
$error++;
|
$error++;
|
||||||
@ -2570,10 +2578,14 @@ class Lager extends GenLager {
|
|||||||
$this->app->Tpl->Set('MESSAGELAGER', "<div class=\"error\">{|Zu wenig Artikel im Regal! Bitte kleinere Menge wählen!|} ({|Summe|}: $summe)</div>");
|
$this->app->Tpl->Set('MESSAGELAGER', "<div class=\"error\">{|Zu wenig Artikel im Regal! Bitte kleinere Menge wählen!|} ({|Summe|}: $summe)</div>");
|
||||||
} else {
|
} else {
|
||||||
// zeige alle in dem Lager an sortiert nach MHD
|
// zeige alle in dem Lager an sortiert nach MHD
|
||||||
|
/* XENTRAL Legacy
|
||||||
$tmpsrn = false;
|
$tmpsrn = false;
|
||||||
|
*/
|
||||||
$anzmhd = 0;
|
$anzmhd = 0;
|
||||||
$anzchargen = 0;
|
$anzchargen = 0;
|
||||||
|
/* XENTRAL Legacy
|
||||||
$anzsrn = 0;
|
$anzsrn = 0;
|
||||||
|
*/
|
||||||
$tmpmhd = $this->app->DB->SelectArr("SELECT *, replace(trim(menge)+0,'.',',') as mhdmenge FROM lager_mindesthaltbarkeitsdatum WHERE
|
$tmpmhd = $this->app->DB->SelectArr("SELECT *, replace(trim(menge)+0,'.',',') as mhdmenge FROM lager_mindesthaltbarkeitsdatum WHERE
|
||||||
lager_platz='$regal' AND artikel='$artikel' ORDER by mhddatum, id");
|
lager_platz='$regal' AND artikel='$artikel' ORDER by mhddatum, id");
|
||||||
$tmpcharge = $this->app->DB->SelectArr("SELECT *, replace(trim(menge)+0,'.',',') as cmenge FROM lager_charge WHERE
|
$tmpcharge = $this->app->DB->SelectArr("SELECT *, replace(trim(menge)+0,'.',',') as cmenge FROM lager_charge WHERE
|
||||||
@ -2588,7 +2600,7 @@ class Lager extends GenLager {
|
|||||||
$anzchargen += $v['menge'];
|
$anzchargen += $v['menge'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* XENTRAL Legacy
|
||||||
$this->app->Tpl->Set('ANZSRN', $anzsrn);
|
$this->app->Tpl->Set('ANZSRN', $anzsrn);
|
||||||
$this->app->Tpl->Set('ANZMHD', $anzmhd);
|
$this->app->Tpl->Set('ANZMHD', $anzmhd);
|
||||||
$this->app->Tpl->Set('ANZCHARGEN', $anzchargen);
|
$this->app->Tpl->Set('ANZCHARGEN', $anzchargen);
|
||||||
@ -2600,20 +2612,24 @@ class Lager extends GenLager {
|
|||||||
} else if ((!empty($tmpcharge)?count($tmpcharge):0) > 0) {
|
} else if ((!empty($tmpcharge)?count($tmpcharge):0) > 0) {
|
||||||
$this->app->Tpl->Add('SRNINFO',"<tr><td></td><td>{|Charge|}</td></tr>");
|
$this->app->Tpl->Add('SRNINFO',"<tr><td></td><td>{|Charge|}</td></tr>");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
$artikelArr = $this->app->DB->SelectRow(
|
$artikelArr = $this->app->DB->SelectRow(
|
||||||
sprintf(
|
sprintf(
|
||||||
'SELECT seriennummern,chargenverwaltung,mindesthaltbarkeitsdatum FROM artikel WHERE id = %d LIMIT 1',
|
'SELECT seriennummern,chargenverwaltung,mindesthaltbarkeitsdatum FROM artikel WHERE id = %d LIMIT 1',
|
||||||
(int)$artikel
|
(int)$artikel
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
/* XENTRAL Legacy
|
||||||
$check_seriennummer = $artikelArr['seriennummern'];
|
$check_seriennummer = $artikelArr['seriennummern'];
|
||||||
if($check_seriennummer !== 'keine' && $check_seriennummer != '') {
|
if($check_seriennummer !== 'keine' && $check_seriennummer != '') {
|
||||||
$menge = (int)$menge;
|
$menge = (int)$menge;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
$check_charge = $artikelArr['chargenverwaltung'];
|
$check_charge = $artikelArr['chargenverwaltung'];
|
||||||
$check_mhd = $artikelArr['mindesthaltbarkeitsdatum'];
|
$check_mhd = $artikelArr['mindesthaltbarkeitsdatum'];
|
||||||
$regaltreffer='1';
|
$regaltreffer='1';
|
||||||
|
|
||||||
|
/* XENTRAL Legacy
|
||||||
if($check_seriennummer==='vomprodukteinlagern')
|
if($check_seriennummer==='vomprodukteinlagern')
|
||||||
{
|
{
|
||||||
$ctmpsrn= !empty($tmpsrn)?count($tmpsrn):0;
|
$ctmpsrn= !empty($tmpsrn)?count($tmpsrn):0;
|
||||||
@ -2644,7 +2660,9 @@ class Lager extends GenLager {
|
|||||||
<td>".$tmpsrn[$y]['seriennummer']."</td>
|
<td>".$tmpsrn[$y]['seriennummer']."</td>
|
||||||
<td>".$tmpsrn[$y]['charge']."</td></tr>");
|
<td>".$tmpsrn[$y]['charge']."</td></tr>");
|
||||||
}
|
}
|
||||||
} else if ($check_mhd=="1")
|
} else
|
||||||
|
*/
|
||||||
|
if ($check_mhd=="1")
|
||||||
{
|
{
|
||||||
|
|
||||||
$this->app->Tpl->Add("JQUERYREADY","checklagermengen();");
|
$this->app->Tpl->Add("JQUERYREADY","checklagermengen();");
|
||||||
@ -2764,7 +2782,9 @@ class Lager extends GenLager {
|
|||||||
|
|
||||||
$allow = 0;
|
$allow = 0;
|
||||||
|
|
||||||
if($check_seriennummer!=="keine" || $check_charge=="2" || $check_charge=="1" || $check_mhd=="1")
|
if(
|
||||||
|
/* XENTRAL Legacy $check_seriennummer!=="keine" || */
|
||||||
|
$check_charge=="2" || $check_charge=="1" || $check_mhd=="1")
|
||||||
{
|
{
|
||||||
if($this->app->Secure->GetPOST("abschluss_auslagern")=="1")
|
if($this->app->Secure->GetPOST("abschluss_auslagern")=="1")
|
||||||
$allow=1;
|
$allow=1;
|
||||||
@ -2963,12 +2983,13 @@ class Lager extends GenLager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* XENTRAL Legacy
|
||||||
if($seriennummer!='') {
|
if($seriennummer!='') {
|
||||||
$tmp_sn = ' SN:'.$seriennummer;
|
$tmp_sn = ' SN:'.$seriennummer;
|
||||||
} else {
|
} else {
|
||||||
$tmp_sn = '';
|
$tmp_sn = '';
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
$bestand = $this->app->erp->ArtikelImLager($artikel);
|
$bestand = $this->app->erp->ArtikelImLager($artikel);
|
||||||
|
|
||||||
|
@ -645,12 +645,15 @@ class Lieferschein extends GenLieferschein
|
|||||||
$adresse = $this->app->DB->Select("SELECT adresse FROM lieferschein WHERE id='$id' LIMIT 1");
|
$adresse = $this->app->DB->Select("SELECT adresse FROM lieferschein WHERE id='$id' LIMIT 1");
|
||||||
$lieferantenretoure = $this->app->DB->Select("SELECT lieferantenretoure FROM lieferschein WHERE id='$id' LIMIT 1");
|
$lieferantenretoure = $this->app->DB->Select("SELECT lieferantenretoure FROM lieferschein WHERE id='$id' LIMIT 1");
|
||||||
|
|
||||||
if($adresse > 0 && ($status=="angelegt" || $status==""))
|
if($adresse > 0 && ($status=="angelegt" || $status=="")) {
|
||||||
$freigabe = "<option value=\"freigabe\">Lieferschein freigeben</option>";
|
$freigabe = "<option value=\"freigabe\">Lieferschein freigeben</option>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriennummern_check_result = $this->app->erp->SeriennummernCheckLieferschein(lieferschein_id: $id, ignore_date: true, only_missing: true, group_lieferschein: true);
|
||||||
|
|
||||||
if(($status=="versendet" || $status=="freigegeben") && $lieferantenretoure=="1")
|
if(($status=="versendet" || $status=="freigegeben") && $lieferantenretoure=="1" && empty($seriennummern_check_result)) {
|
||||||
$abschliessen = "<option value=\"abschliessen\">Lieferschein abschliessen</option>";
|
$abschliessen = "<option value=\"abschliessen\">Lieferschein abschliessen</option>";
|
||||||
|
}
|
||||||
|
|
||||||
$checkifrgexists = $this->app->DB->Select("SELECT id FROM rechnung WHERE lieferschein='$id' LIMIT 1");
|
$checkifrgexists = $this->app->DB->Select("SELECT id FROM rechnung WHERE lieferschein='$id' LIMIT 1");
|
||||||
|
|
||||||
@ -669,7 +672,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->erp->RunHook('Lieferschein_Aktion_option',3, $id, $status, $hookoption);
|
$this->app->erp->RunHook('Lieferschein_Aktion_option',3, $id, $status, $hookoption);
|
||||||
$this->app->erp->RunHook('Lieferschein_Aktion_case',3, $id, $status, $hookcase);
|
$this->app->erp->RunHook('Lieferschein_Aktion_case',3, $id, $status, $hookcase);
|
||||||
|
|
||||||
|
|
||||||
$bestellmengelagerartikel = $this->app->DB->Select("SELECT sum(lp.menge) as bestellmenge from lieferschein_position lp INNER JOIN artikel a on a.id=lp.artikel where a.lagerartikel=1 AND lp.lieferschein = '$id'");
|
$bestellmengelagerartikel = $this->app->DB->Select("SELECT sum(lp.menge) as bestellmenge from lieferschein_position lp INNER JOIN artikel a on a.id=lp.artikel where a.lagerartikel=1 AND lp.lieferschein = '$id'");
|
||||||
$liefermengelagerartikel = $this->app->DB->Select("SELECT sum(lp.geliefert) as liefermenge from lieferschein_position lp INNER JOIN artikel a on a.id=lp.artikel where a.lagerartikel=1 AND lp.lieferschein = '$id'");
|
$liefermengelagerartikel = $this->app->DB->Select("SELECT sum(lp.geliefert) as liefermenge from lieferschein_position lp INNER JOIN artikel a on a.id=lp.artikel where a.lagerartikel=1 AND lp.lieferschein = '$id'");
|
||||||
$liefermengelagerartikel2 = $this->app->DB->Select("SELECT sum(olp.menge) as liefermenge from lieferschein_position lp INNER JOIN objekt_lager_platz olp ON olp.objekt='lieferschein' AND olp.parameter=lp.id INNER JOIN artikel a on a.id=lp.artikel where a.lagerartikel=1 AND lp.lieferschein = '$id'");
|
$liefermengelagerartikel2 = $this->app->DB->Select("SELECT sum(olp.menge) as liefermenge from lieferschein_position lp INNER JOIN objekt_lager_platz olp ON olp.objekt='lieferschein' AND olp.parameter=lp.id INNER JOIN artikel a on a.id=lp.artikel where a.lagerartikel=1 AND lp.lieferschein = '$id'");
|
||||||
@ -695,19 +697,20 @@ class Lieferschein extends GenLieferschein
|
|||||||
}
|
}
|
||||||
|
|
||||||
$optionumlagern = "<option value=\"umlagern\">Lieferschein umlagern</option>";
|
$optionumlagern = "<option value=\"umlagern\">Lieferschein umlagern</option>";
|
||||||
$abschicken = "<option value=\"abschicken\">Lieferschein abschicken</option>";
|
|
||||||
|
|
||||||
if($status!="angelegt" && $lieferantenretoure!="1")
|
if (empty($seriennummern_check_result)) {
|
||||||
{
|
$abschicken = "<option value=\"abschicken\">Lieferschein abschicken</option>";
|
||||||
$alsrechnung = "<option value=\"rechnung\">als Rechnung weiterführen</option>";
|
if($status!="angelegt" && $lieferantenretoure!="1")
|
||||||
if($this->app->erp->RechteVorhanden('lieferschein', 'proformarechnung') && $this->app->erp->ModulVorhanden('proformarechnung'))
|
{
|
||||||
{
|
$alsrechnung = "<option value=\"rechnung\">als Rechnung weiterführen</option>";
|
||||||
$alsrechnung .= "<option value=\"proformarechnung\">als Proformarechnung weiterführen</option>";
|
if($this->app->erp->RechteVorhanden('lieferschein', 'proformarechnung') && $this->app->erp->ModulVorhanden('proformarechnung'))
|
||||||
}
|
{
|
||||||
|
$alsrechnung .= "<option value=\"proformarechnung\">als Proformarechnung weiterführen</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($this->app->erp->RechteVorhanden('belegeimport', 'belegcsvexport'))
|
if($this->app->erp->RechteVorhanden('belegeimport', 'belegcsvexport'))
|
||||||
{
|
{
|
||||||
$casebelegeimport = "case 'belegeimport': window.location.href='index.php?module=belegeimport&action=belegcsvexport&cmd=lieferschein&id=%value%'; break;";
|
$casebelegeimport = "case 'belegeimport': window.location.href='index.php?module=belegeimport&action=belegcsvexport&cmd=lieferschein&id=%value%'; break;";
|
||||||
@ -829,7 +832,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
$lieferantenretoureinfo = $auftragArr[0]['lieferantenretoureinfo'];
|
$lieferantenretoureinfo = $auftragArr[0]['lieferantenretoureinfo'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$this->app->Tpl->Set('LIEFERANTENRETOUREINFO',$lieferantenretoureinfo);
|
$this->app->Tpl->Set('LIEFERANTENRETOUREINFO',$lieferantenretoureinfo);
|
||||||
|
|
||||||
if($lieferantenretoure!='1') {
|
if($lieferantenretoure!='1') {
|
||||||
@ -849,7 +851,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->Tpl->Set('ZAHLWEISE',$auftragArr[0]['zahlungsweise']);
|
$this->app->Tpl->Set('ZAHLWEISE',$auftragArr[0]['zahlungsweise']);
|
||||||
$this->app->Tpl->Set('STATUS',$auftragArr[0]['status']);
|
$this->app->Tpl->Set('STATUS',$auftragArr[0]['status']);
|
||||||
|
|
||||||
|
|
||||||
if($auftragArr[0]['auftragid'] > 0){
|
if($auftragArr[0]['auftragid'] > 0){
|
||||||
$orderRow = $this->app->DB->SelectRow(
|
$orderRow = $this->app->DB->SelectRow(
|
||||||
"SELECT belegnr, projekt FROM auftrag WHERE id='".$auftragArr[0]['auftragid']."' LIMIT 1"
|
"SELECT belegnr, projekt FROM auftrag WHERE id='".$auftragArr[0]['auftragid']."' LIMIT 1"
|
||||||
@ -875,7 +876,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->Tpl->Set('AUFTRAG','-');
|
$this->app->Tpl->Set('AUFTRAG','-');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($auftragArr[0]['auftragid'] > 0){
|
if($auftragArr[0]['auftragid'] > 0){
|
||||||
$rechnung = $this->app->DB->SelectArr(
|
$rechnung = $this->app->DB->SelectArr(
|
||||||
($auftragArr[0]['auftragid']?
|
($auftragArr[0]['auftragid']?
|
||||||
@ -915,9 +915,7 @@ class Lieferschein extends GenLieferschein
|
|||||||
INNER JOIN lieferschein_position lp ON lp.id = s.lieferschein_position_id
|
INNER JOIN lieferschein_position lp ON lp.id = s.lieferschein_position_id
|
||||||
WHERE lp.lieferschein='$id'
|
WHERE lp.lieferschein='$id'
|
||||||
");
|
");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$crechnung = !empty($rechnung)?count($rechnung):0;
|
$crechnung = !empty($rechnung)?count($rechnung):0;
|
||||||
@ -939,14 +937,13 @@ class Lieferschein extends GenLieferschein
|
|||||||
else
|
else
|
||||||
$this->app->Tpl->Set('STEUER',"Export");
|
$this->app->Tpl->Set('STEUER',"Export");
|
||||||
|
|
||||||
|
|
||||||
if($menu)
|
if($menu)
|
||||||
{
|
{
|
||||||
$menu = $this->LieferscheinIconMenu($id);
|
$menu = $this->LieferscheinIconMenu($id);
|
||||||
$this->app->Tpl->Set('MENU',$menu);
|
$this->app->Tpl->Set('MENU',$menu);
|
||||||
}
|
}
|
||||||
// ARTIKEL
|
|
||||||
|
|
||||||
|
// ARTIKEL
|
||||||
$lieferscheinarr = $this->app->DB->SelectRow("SELECT * FROM lieferschein WHERE id='$id' LIMIT 1");
|
$lieferscheinarr = $this->app->DB->SelectRow("SELECT * FROM lieferschein WHERE id='$id' LIMIT 1");
|
||||||
|
|
||||||
$status = $lieferscheinarr['status'];//$this->app->DB->Select("SELECT status FROM lieferschein WHERE id='$id' LIMIT 1");
|
$status = $lieferscheinarr['status'];//$this->app->DB->Select("SELECT status FROM lieferschein WHERE id='$id' LIMIT 1");
|
||||||
@ -1313,8 +1310,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->erp->DokumentAbschicken();
|
$this->app->erp->DokumentAbschicken();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function LieferscheinDelete($id = null)
|
function LieferscheinDelete($id = null)
|
||||||
{
|
{
|
||||||
if(is_null($id))
|
if(is_null($id))
|
||||||
@ -1388,7 +1383,7 @@ class Lieferschein extends GenLieferschein
|
|||||||
}
|
}
|
||||||
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
@ -1422,7 +1417,7 @@ class Lieferschein extends GenLieferschein
|
|||||||
}
|
}
|
||||||
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
@ -1452,7 +1447,7 @@ class Lieferschein extends GenLieferschein
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id'])) {
|
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id'])) {
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
@ -1467,7 +1462,7 @@ class Lieferschein extends GenLieferschein
|
|||||||
else{
|
else{
|
||||||
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id']))
|
if(isset($v['table']) && $v['table'] === 'seriennummern' && !empty($v['id']))
|
||||||
{
|
{
|
||||||
$this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
// Xentral Legacy $this->app->DB->Delete("DELETE FROM seriennummern WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
}
|
}
|
||||||
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
elseif(isset($v['table']) && $v['table'] === 'beleg_chargesnmhd' && !empty($v['id'])){
|
||||||
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
$this->app->DB->Delete("DELETE FROM beleg_chargesnmhd WHERE id = '".$v['id']."' LIMIT 1");
|
||||||
@ -1716,7 +1711,7 @@ class Lieferschein extends GenLieferschein
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function LieferscheinMenu()
|
function LieferscheinMenu($seriennummern_zeigen = false, $paketmarke_zeigen = false)
|
||||||
{
|
{
|
||||||
$id = $this->app->Secure->GetGET("id");
|
$id = $this->app->Secure->GetGET("id");
|
||||||
|
|
||||||
@ -1727,24 +1722,26 @@ class Lieferschein extends GenLieferschein
|
|||||||
// $this->app->Tpl->Set(KURZUEBERSCHRIFT,"Lieferschein $belegnr");
|
// $this->app->Tpl->Set(KURZUEBERSCHRIFT,"Lieferschein $belegnr");
|
||||||
$this->app->Tpl->Set('KURZUEBERSCHRIFT2',"$name Lieferschein $belegnr");
|
$this->app->Tpl->Set('KURZUEBERSCHRIFT2',"$name Lieferschein $belegnr");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=$id","Lieferscheindaten");
|
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=$id","Lieferscheindaten");
|
||||||
//$this->app->Tpl->Add(TABS,"<li><a href=\"index.php?module=lieferschein&action=positionen&id=$id\">Positionen</a></li>");
|
//$this->app->Tpl->Add(TABS,"<li><a href=\"index.php?module=lieferschein&action=positionen&id=$id\">Positionen</a></li>");
|
||||||
|
|
||||||
// status bestell
|
// status bestell
|
||||||
$status = $this->app->DB->Select("SELECT status FROM lieferschein WHERE id='$id' LIMIT 1");
|
$status = $this->app->DB->Select("SELECT status FROM lieferschein WHERE id='$id' LIMIT 1");
|
||||||
|
|
||||||
|
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=$id","Details");
|
||||||
|
|
||||||
if ($status=="angelegt")
|
if ($status=="angelegt")
|
||||||
{
|
{
|
||||||
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=freigabe&id=$id","Freigabe");
|
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=freigabe&id=$id","Freigabe");
|
||||||
|
} else {
|
||||||
|
if ($seriennummern_zeigen) {
|
||||||
|
$this->app->erp->MenuEintrag("index.php?module=seriennummern&action=enter&lieferschein=".$id."&from=lieferschein", "Seriennummern");
|
||||||
|
}
|
||||||
|
if ($paketmarke_zeigen) {
|
||||||
|
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=paketmarke&id=$id","Paketmarke");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=$id","Details");
|
|
||||||
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=paketmarke&id=$id","Paketmarke");
|
|
||||||
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=abschicken&id=$id","Abschicken / Protokoll");
|
|
||||||
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=protokoll&id=$id","Protokoll");
|
|
||||||
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=list","Zurück zur Übersicht");
|
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=list","Zurück zur Übersicht");
|
||||||
|
|
||||||
$this->app->erp->RunMenuHook('lieferschein');
|
$this->app->erp->RunMenuHook('lieferschein');
|
||||||
@ -1863,15 +1860,25 @@ class Lieferschein extends GenLieferschein
|
|||||||
if($this->app->erp->InnendienstAendern("lieferschein",$id,$cmd,$sid))
|
if($this->app->erp->InnendienstAendern("lieferschein",$id,$cmd,$sid))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
$seriennummern = $this->app->erp->SeriennummernCheckLieferschein(
|
||||||
|
lieferschein_id: $id,
|
||||||
|
ignore_date: true,
|
||||||
|
only_missing: false,
|
||||||
|
group_lieferschein: true);
|
||||||
|
|
||||||
|
$seriennummern_aktiv = !empty($seriennummern);
|
||||||
|
|
||||||
|
$seriennummern_check_result = $this->app->erp->SeriennummernCheckLieferscheinWarnung($id);
|
||||||
|
|
||||||
|
$seriennummern_ok = empty($seriennummern_check_result);
|
||||||
|
|
||||||
if($this->app->erp->DisableModul("lieferschein",$id))
|
if($this->app->erp->DisableModul("lieferschein",$id))
|
||||||
{
|
{
|
||||||
//$this->app->erp->MenuEintrag("index.php?module=auftrag&action=list","Zurück zur Übersicht");
|
$this->LieferscheinMenu(seriennummern_zeigen: !empty($seriennummern), paketmarke_zeigen: false);
|
||||||
$this->LieferscheinMenu();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$this->app->YUI->AARLGPositionen();
|
$this->app->YUI->AARLGPositionen();
|
||||||
|
|
||||||
$this->app->erp->CheckVertrieb($id,"lieferschein");
|
$this->app->erp->CheckVertrieb($id,"lieferschein");
|
||||||
@ -1948,20 +1955,19 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->erp->PDFArchivieren('lieferschein', $id, true);
|
$this->app->erp->PDFArchivieren('lieferschein', $id, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($status != "angelegt" && $status != "angelegta" && $status != "a")
|
if($status != "angelegt" && $status != "angelegta" && $status != "a" && $seriennummern_ok)
|
||||||
{
|
{
|
||||||
$Brief = new Briefpapier($this->app);
|
$Brief = new Briefpapier($this->app);
|
||||||
if($Brief->zuArchivieren($id, "lieferschein"))
|
if ($Brief->zuArchivieren($id, "lieferschein"))
|
||||||
{
|
{
|
||||||
$this->app->Tpl->Add('MESSAGE',"<div class=\"warning\">Der Lieferschein ist noch nicht archiviert! Bitte versenden oder manuell archivieren.
|
$this->app->Tpl->Add('MESSAGE',"<div class=\"warning\">Der Lieferschein ist noch nicht archiviert! Bitte versenden oder manuell archivieren.<input type=\"button\" onclick=\"if(!confirm('Soll das Dokument archiviert werden?')) return false;else window.location.href='index.php?module=lieferschein&action=archivierepdf&id=$id';\" value=\"Manuell archivieren\" /> <input type=\"button\" value=\"Dokument versenden\" onclick=\"DokumentAbschicken('lieferschein',$id)\"></div>");
|
||||||
<input type=\"button\" onclick=\"if(!confirm('Soll das Dokument archiviert werden?')) return false;else window.location.href='index.php?module=lieferschein&action=archivierepdf&id=$id';\" value=\"Manuell archivieren\" /> <input type=\"button\" value=\"Dokument versenden\" onclick=\"DokumentAbschicken('lieferschein',$id)\"></div>");
|
} elseif(!$this->app->DB->Select("SELECT versendet FROM lieferschein WHERE id = '$id' LIMIT 1"))
|
||||||
}elseif(!$this->app->DB->Select("SELECT versendet FROM lieferschein WHERE id = '$id' LIMIT 1"))
|
|
||||||
{
|
{
|
||||||
$this->app->Tpl->Add('MESSAGE',"<div class=\"warning\">Der Lieferschein wurde noch nicht versendet! <input type=\"button\" value=\"Dokument versenden\" onclick=\"DokumentAbschicken('lieferschein',$id)\"></div>");
|
$this->app->Tpl->Add('MESSAGE',"<div class=\"warning\">Der Lieferschein wurde noch nicht versendet! <input type=\"button\" value=\"Dokument versenden\" onclick=\"DokumentAbschicken('lieferschein',$id)\"></div>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($schreibschutz!="1")// && $this->app->erp->RechteVorhanden("lieferschein","schreibschutz"))
|
if($schreibschutz!="1")
|
||||||
{
|
{
|
||||||
$this->app->erp->AnsprechpartnerButton($adresse);
|
$this->app->erp->AnsprechpartnerButton($adresse);
|
||||||
$this->app->erp->LieferadresseButton($adresse);
|
$this->app->erp->LieferadresseButton($adresse);
|
||||||
@ -1970,11 +1976,8 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->erp->LieferscheinNeuberechnen($id);
|
$this->app->erp->LieferscheinNeuberechnen($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//$this->LieferscheinMiniDetail(MINIDETAIL,false);
|
|
||||||
$this->app->Tpl->Set('ICONMENU',$this->LieferscheinIconMenu($id));
|
$this->app->Tpl->Set('ICONMENU',$this->LieferscheinIconMenu($id));
|
||||||
$this->app->Tpl->Set('ICONMENU2',$this->LieferscheinIconMenu($id,2));
|
//$this->app->Tpl->Set('ICONMENU2',$this->LieferscheinIconMenu($id,2));
|
||||||
|
|
||||||
|
|
||||||
if($nummer!="")
|
if($nummer!="")
|
||||||
{
|
{
|
||||||
@ -1988,7 +1991,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
if($schreibschutz=="1" && $this->app->erp->RechteVorhanden("lieferschein","schreibschutz"))
|
if($schreibschutz=="1" && $this->app->erp->RechteVorhanden("lieferschein","schreibschutz"))
|
||||||
{
|
{
|
||||||
$this->app->Tpl->Add('MESSAGE',"<div class=\"warning\">Dieser Lieferschein ist schreibgeschützt und darf daher nicht mehr bearbeitet werden! <input type=\"button\" value=\"Schreibschutz entfernen\" onclick=\"if(!confirm('Soll der Schreibschutz für diesen Lieferschein wirklich entfernt werden?')) return false;else window.location.href='index.php?module=lieferschein&action=schreibschutz&id=$id';\"></div>");
|
$this->app->Tpl->Add('MESSAGE',"<div class=\"warning\">Dieser Lieferschein ist schreibgeschützt und darf daher nicht mehr bearbeitet werden! <input type=\"button\" value=\"Schreibschutz entfernen\" onclick=\"if(!confirm('Soll der Schreibschutz für diesen Lieferschein wirklich entfernt werden?')) return false;else window.location.href='index.php?module=lieferschein&action=schreibschutz&id=$id';\"></div>");
|
||||||
// $this->app->erp->CommonReadonly();
|
|
||||||
}
|
}
|
||||||
if($schreibschutz=="1")
|
if($schreibschutz=="1")
|
||||||
$this->app->erp->CommonReadonly();
|
$this->app->erp->CommonReadonly();
|
||||||
@ -2002,13 +2004,11 @@ class Lieferschein extends GenLieferschein
|
|||||||
<input type="button" value="übernehmen" onclick="if(!confirm(\'Soll der neue Kunde wirklich übernommen werden? Es werden alle Felder überladen.\')) return false;else document.getElementById(\'uebernehmen\').value=1; document.getElementById(\'eprooform\').submit();"/><input type="hidden" id="uebernehmen" name="uebernehmen" value="0">
|
<input type="button" value="übernehmen" onclick="if(!confirm(\'Soll der neue Kunde wirklich übernommen werden? Es werden alle Felder überladen.\')) return false;else document.getElementById(\'uebernehmen\').value=1; document.getElementById(\'eprooform\').submit();"/><input type="hidden" id="uebernehmen" name="uebernehmen" value="0">
|
||||||
');
|
');
|
||||||
|
|
||||||
|
|
||||||
$this->app->Tpl->Set('BUTTON_UEBERNEHMEN2', '
|
$this->app->Tpl->Set('BUTTON_UEBERNEHMEN2', '
|
||||||
<input type="button" value="übernehmen" onclick="if(!confirm(\'Soll der neue Lieferant wirklich übernommen werden? Es werden alle Felder überladen.\')) return false;else document.getElementById(\'uebernehmen2\').value=1; document.getElementById(\'eprooform\').submit();"/><input type="hidden" id="uebernehmen2" name="uebernehmen2" value="0">
|
<input type="button" value="übernehmen" onclick="if(!confirm(\'Soll der neue Lieferant wirklich übernommen werden? Es werden alle Felder überladen.\')) return false;else document.getElementById(\'uebernehmen2\').value=1; document.getElementById(\'eprooform\').submit();"/><input type="hidden" id="uebernehmen2" name="uebernehmen2" value="0">
|
||||||
');
|
');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// immer wenn sich der lieferant genändert hat standartwerte setzen
|
// immer wenn sich der lieferant genändert hat standartwerte setzen
|
||||||
if($this->app->Secure->GetPOST("adresse")!="")
|
if($this->app->Secure->GetPOST("adresse")!="")
|
||||||
{
|
{
|
||||||
@ -2043,10 +2043,8 @@ class Lieferschein extends GenLieferschein
|
|||||||
header("Location: index.php?module=lieferschein&action=edit&id=$id");
|
header("Location: index.php?module=lieferschein&action=edit&id=$id");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// easy table mit arbeitspaketen YUI als template
|
// easy table mit arbeitspaketen YUI als template
|
||||||
$table = new EasyTable($this->app);
|
$table = new EasyTable($this->app);
|
||||||
$table->Query("SELECT nummer as Nummer, bezeichnung, menge,vpe as VPE
|
$table->Query("SELECT nummer as Nummer, bezeichnung, menge,vpe as VPE
|
||||||
@ -2076,7 +2074,8 @@ class Lieferschein extends GenLieferschein
|
|||||||
header("Location: index.php?module=lieferschein&action=positionen&id=$id");
|
header("Location: index.php?module=lieferschein&action=positionen&id=$id");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$this->LieferscheinMenu();
|
|
||||||
|
$this->LieferscheinMenu(seriennummern_zeigen: $seriennummern_aktiv, paketmarke_zeigen: $seriennummern_ok);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2220,8 +2219,6 @@ class Lieferschein extends GenLieferschein
|
|||||||
$this->app->YUI->DateiUpload('PAGE',"Lieferschein",$id);
|
$this->app->YUI->DateiUpload('PAGE',"Lieferschein",$id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function LieferscheinList()
|
function LieferscheinList()
|
||||||
{
|
{
|
||||||
if($this->app->Secure->GetPOST('ausfuehren') && $this->app->erp->RechteVorhanden('lieferschein', 'edit'))
|
if($this->app->Secure->GetPOST('ausfuehren') && $this->app->erp->RechteVorhanden('lieferschein', 'edit'))
|
||||||
|
1624
www/pages/seriennummern.php
Normal file
1624
www/pages/seriennummern.php
Normal file
File diff suppressed because it is too large
Load Diff
@ -814,6 +814,7 @@ class Versandpakete {
|
|||||||
$this->app->erp->MenuEintrag("index.php?module=versandpakete&action=edit&id=".$id, "Details");
|
$this->app->erp->MenuEintrag("index.php?module=versandpakete&action=edit&id=".$id, "Details");
|
||||||
$this->app->Tpl->SetText('KURZUEBERSCHRIFT2', 'Artikel hinzufügen');
|
$this->app->Tpl->SetText('KURZUEBERSCHRIFT2', 'Artikel hinzufügen');
|
||||||
if (empty($id)) {
|
if (empty($id)) {
|
||||||
|
|
||||||
$lieferschein = $this->app->Secure->GetGET('lieferschein');
|
$lieferschein = $this->app->Secure->GetGET('lieferschein');
|
||||||
if (empty($lieferschein)) {
|
if (empty($lieferschein)) {
|
||||||
$msg = $this->app->erp->base64_url_encode("<div class=\"error\">Kein Lieferschein angegeben.</div>");
|
$msg = $this->app->erp->base64_url_encode("<div class=\"error\">Kein Lieferschein angegeben.</div>");
|
||||||
@ -874,9 +875,13 @@ class Versandpakete {
|
|||||||
}
|
}
|
||||||
$lieferschein_belegnr = $this->app->erp->ReplaceLieferschein(false, $lieferschein, false); // Parameters: Target db?, value, from form?
|
$lieferschein_belegnr = $this->app->erp->ReplaceLieferschein(false, $lieferschein, false); // Parameters: Target db?, value, from form?
|
||||||
$input['lieferschein'] = $lieferschein;
|
$input['lieferschein'] = $lieferschein;
|
||||||
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->app->erp->SeriennummernCheckLieferscheinWarnung(lieferschein_id: $lieferschein);
|
||||||
|
|
||||||
// Check if other users are editing this id
|
// Check if other users are editing this id
|
||||||
if($this->app->erp->DisableModul('versandpakete',$id))
|
if($this->app->erp->DisableModul('versandpakete',$id))
|
||||||
{
|
{
|
||||||
|
@ -2014,14 +2014,29 @@ class Wareneingang {
|
|||||||
|
|
||||||
$id = $this->app->Secure->GetGET('id');
|
$id = $this->app->Secure->GetGET('id');
|
||||||
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=distriinhalt&id='.$id, 'Details');
|
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=distriinhalt&id='.$id, 'Details');
|
||||||
|
|
||||||
|
|
||||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Paketannahme / Leistungserfassung');
|
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Paketannahme / Leistungserfassung');
|
||||||
$cmd = $this->app->Secure->GetGET('cmd');
|
$cmd = $this->app->Secure->GetGET('cmd');
|
||||||
$lsnr = $this->app->Secure->GetPOST('lsnr');
|
$lsnr = $this->app->Secure->GetPOST('lsnr');
|
||||||
$renr = $this->app->Secure->GetPOST('renr');
|
$renr = $this->app->Secure->GetPOST('renr');
|
||||||
$bemerkung = $this->app->Secure->GetPOST('bemerkung');
|
$bemerkung = $this->app->Secure->GetPOST('bemerkung');
|
||||||
|
|
||||||
$bemerkung = str_replace(array('\r\n', '\r', '\n'), "\n", $bemerkung);
|
$bemerkung = str_replace(array('\r\n', '\r', '\n'), "\n", $bemerkung);
|
||||||
|
|
||||||
|
$seriennummern = $this->app->erp->SeriennummernCheckWareneingang(
|
||||||
|
wareneingang_id: $id,
|
||||||
|
ignore_date: true,
|
||||||
|
only_missing: false,
|
||||||
|
group_wareneingang: true);
|
||||||
|
|
||||||
|
$seriennummern_aktiv = !empty($seriennummern);
|
||||||
|
|
||||||
|
if ($seriennummern_aktiv) {
|
||||||
|
$this->app->erp->MenuEintrag('index.php?module=seriennummern&action=enter&wareneingang='.$id, 'Seriennummern');
|
||||||
|
$seriennummern_check_result = $this->app->erp->SeriennummernCheckWareneingangWarnung($id, false);
|
||||||
|
$seriennummern_ok = empty($seriennummern_check_result);
|
||||||
|
}
|
||||||
|
|
||||||
$this->app->User->SetParameter('table_wareneingang_lieferant_ausfuellen', '');
|
$this->app->User->SetParameter('table_wareneingang_lieferant_ausfuellen', '');
|
||||||
|
|
||||||
// Load from DB
|
// Load from DB
|
||||||
@ -2633,6 +2648,11 @@ class Wareneingang {
|
|||||||
$this->app->YUI->Message('info','Wareneingang noch nicht abgeschlossen');
|
$this->app->YUI->Message('info','Wareneingang noch nicht abgeschlossen');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($seriennummern_aktiv && !$seriennummern_ok) {
|
||||||
|
$this->app->Tpl->Set('ABSCHLIESSENHIDDEN','hidden');
|
||||||
|
}
|
||||||
|
|
||||||
$this->app->Tpl->Parse('PAGE', 'wareneingang_paketinhalt.tpl');
|
$this->app->Tpl->Parse('PAGE', 'wareneingang_paketinhalt.tpl');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user