mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 04:27:14 +01:00
wareneingang from bestellung with kommentar
This commit is contained in:
parent
c0de40ac86
commit
5abde88596
@ -252,7 +252,7 @@ class Verbindlichkeit {
|
|||||||
|
|
||||||
$preise = array (
|
$preise = array (
|
||||||
'<input type="number" name="preise[]" step="0.00001" value="',
|
'<input type="number" name="preise[]" step="0.00001" value="',
|
||||||
['sql' => $this->app->erp->FormatMenge("COALESCE(bp.preis,0)",2)],
|
['sql' => $this->app->erp->FormatMenge("COALESCE(bp.preis,0)",5)],
|
||||||
'" min="0"',
|
'" min="0"',
|
||||||
'"/>'
|
'"/>'
|
||||||
);
|
);
|
||||||
|
@ -126,19 +126,30 @@ class Wareneingang {
|
|||||||
)
|
)
|
||||||
";
|
";
|
||||||
|
|
||||||
$input_for_menge = "CONCAT(
|
$auswahl = array (
|
||||||
|
'<input type=\"text\" name=\"bestellposition_ids[]\" value=\"',
|
||||||
|
['sql' => 'bp.id'],
|
||||||
|
'" hidden/>',
|
||||||
|
['sql' => 'bp.bestellnummer']
|
||||||
|
);
|
||||||
|
|
||||||
|
$input_for_menge = array(
|
||||||
'<input type = \"number\" min=\"0\"',
|
'<input type = \"number\" min=\"0\"',
|
||||||
' value=\"',
|
' value=\"',
|
||||||
$vorschlag,
|
|
||||||
'\"',
|
'\"',
|
||||||
' name=\"menge_',
|
' name=\"mengen[]\"',
|
||||||
bp.id,
|
' style=\"text-align:right; width:100%\">',
|
||||||
'\" value=\"',
|
|
||||||
'\" style=\"text-align:right; width:100%\">',
|
|
||||||
'</input>'
|
'</input>'
|
||||||
)";
|
);
|
||||||
|
|
||||||
if ($wareneingangauftragzubestellung) {
|
$input_for_bemerkung = array(
|
||||||
|
'<input type = \"text\"',
|
||||||
|
' name=\"bemerkungen[]\"',
|
||||||
|
' style=\"text-align:right; width:100%\">',
|
||||||
|
'</input>'
|
||||||
|
);
|
||||||
|
|
||||||
|
/* if ($wareneingangauftragzubestellung) {
|
||||||
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Lieferdatum', 'Projekt', 'Menge', 'Geliefert', 'Offen', 'Auftrag', 'Menge', 'Eingabe', '');
|
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Lieferdatum', 'Projekt', 'Menge', 'Geliefert', 'Offen', 'Auftrag', 'Menge', 'Eingabe', '');
|
||||||
$width = array('5%', '5%', '5%', '30%', '5%', '5%', '5%', '5%', '5%', '5%', '5%', '5%', '5%');
|
$width = array('5%', '5%', '5%', '30%', '5%', '5%', '5%', '5%', '5%', '5%', '5%', '5%', '5%');
|
||||||
$findcols = array('bp.bestellnummer', 'art.nummer', 'b.belegnr',
|
$findcols = array('bp.bestellnummer', 'art.nummer', 'b.belegnr',
|
||||||
@ -155,23 +166,147 @@ class Wareneingang {
|
|||||||
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
||||||
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
||||||
)", "if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', "if((SELECT COUNT(auf2.id) FROM auftrag auf2 INNER JOIN auftrag_position ap2 ON auf2.id = ap2.auftrag WHERE bp.auftrag_position_id = ap2.id ) > 0,(SELECT auf2.belegnr FROM auftrag auf2 INNER JOIN auftrag_position ap2 ON auf2.id = ap2.auftrag WHERE bp.auftrag_position_id = ap2.id ORDER BY belegnr LIMIT 1),'-' )");
|
)", "if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', "if((SELECT COUNT(auf2.id) FROM auftrag auf2 INNER JOIN auftrag_position ap2 ON auf2.id = ap2.auftrag WHERE bp.auftrag_position_id = ap2.id ) > 0,(SELECT auf2.belegnr FROM auftrag auf2 INNER JOIN auftrag_position ap2 ON auf2.id = ap2.auftrag WHERE bp.auftrag_position_id = ap2.id ORDER BY belegnr LIMIT 1),'-' )");
|
||||||
} else {
|
} else */ {
|
||||||
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Lieferdatum', 'Projekt', 'Menge', 'Geliefert', 'Offen', 'Eingabe', 'Aktion');
|
$heading = array('Lieferant-Art.-Nr.',
|
||||||
$width = array('5%', '5%', '5%', '30%', '5%', '5%', '5%', '5%', '5%', '5%', '5%');
|
'Art.-Nummer',
|
||||||
$findcols = array('bp.bestellnummer', 'art.nummer', 'b.belegnr',
|
'Bestellung',
|
||||||
"CONCAT(art.name_de,'<br>Bei Lieferant: ',bp.bezeichnunglieferant,
|
'Beschreibung',
|
||||||
IF(b.internebemerkung != '' AND b.internebemerkung IS NOT NULL, CONCAT('<br>Interne Bemerkung: ',b.internebemerkung),''),
|
'Lieferdatum',
|
||||||
IF(b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL, CONCAT('<br>Interne Bezeichnung: ',b.internebezeichnung), ''),
|
'Projekt',
|
||||||
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
'Menge',
|
||||||
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
'Geliefert',
|
||||||
|
'Offen',
|
||||||
|
'Eingabe',
|
||||||
|
'Bemerkung',
|
||||||
|
''
|
||||||
|
);
|
||||||
|
$width = array(
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'25%',
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'1%',
|
||||||
|
'10%',
|
||||||
|
'1%'
|
||||||
|
);
|
||||||
|
$findcols = array(
|
||||||
|
'bp.bestellnummer',
|
||||||
|
'art.nummer',
|
||||||
|
'b.belegnr',
|
||||||
|
"CONCAT(
|
||||||
|
art.name_de,
|
||||||
|
'<br>Bei Lieferant: ',
|
||||||
|
bp.bezeichnunglieferant,
|
||||||
|
IF(
|
||||||
|
b.internebemerkung != '' AND b.internebemerkung IS NOT NULL,
|
||||||
|
CONCAT(
|
||||||
|
'<br>Interne Bemerkung: ',
|
||||||
|
b.internebemerkung
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
IF(
|
||||||
|
b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL,
|
||||||
|
CONCAT(
|
||||||
|
'<br>Interne Bezeichnung: ',
|
||||||
|
b.internebezeichnung
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
IF(
|
||||||
|
b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL,
|
||||||
|
CONCAT(
|
||||||
|
'<br>AB Nummer Lieferant: ',
|
||||||
|
b.bestellungbestaetigtabnummer
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
IF(
|
||||||
|
b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00',
|
||||||
|
CONCAT(
|
||||||
|
'<br>Best. Lieferdatum: ',
|
||||||
|
DATE_FORMAT(
|
||||||
|
b.bestaetigteslieferdatum,
|
||||||
|
'%d.%m.%Y'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
''
|
||||||
|
)
|
||||||
)",
|
)",
|
||||||
"if(bp.lieferdatum,bp.lieferdatum,'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', $this->app->erp->FormatMenge("bp.menge - bp.geliefert"), 'bp.id','bp.id');
|
"if(
|
||||||
$searchsql = array('bp.bestellnummer', 'art.nummer', 'b.belegnr', "CONCAT(art.name_de,'<br>Bei Lieferant: ',bp.bezeichnunglieferant, '<i style=color:#999>',
|
bp.lieferdatum,
|
||||||
IF(b.internebemerkung != '' AND b.internebemerkung IS NOT NULL, CONCAT('<br>Interne Bemerkung: ',b.internebemerkung),''),
|
bp.lieferdatum,
|
||||||
IF(b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL, CONCAT('<br>Interne Bezeichnung: ',b.internebezeichnung), ''),
|
'sofort'
|
||||||
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
)", 'p.abkuerzung',
|
||||||
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
'bp.menge',
|
||||||
,'</i>')", "if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', $this->app->erp->FormatMenge("bp.menge - bp.geliefert"), 'art.ean', 'art.herstellernummer');
|
'bp.geliefert',
|
||||||
|
$this->app->erp->FormatMenge("bp.menge - bp.geliefert"),
|
||||||
|
'bp.id',
|
||||||
|
'bp.id',
|
||||||
|
'bp.id'
|
||||||
|
);
|
||||||
|
$searchsql = array('bp.bestellnummer',
|
||||||
|
'art.nummer',
|
||||||
|
'b.belegnr',
|
||||||
|
"CONCAT(
|
||||||
|
art.name_de,
|
||||||
|
'<br>Bei Lieferant: ',
|
||||||
|
bp.bezeichnunglieferant,
|
||||||
|
'<i style=color:#999>',
|
||||||
|
IF(
|
||||||
|
b.internebemerkung != '' AND b.internebemerkung IS NOT NULL,
|
||||||
|
CONCAT(
|
||||||
|
'<br>Interne Bemerkung: ',
|
||||||
|
b.internebemerkung
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
IF(
|
||||||
|
b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL,
|
||||||
|
CONCAT(
|
||||||
|
'<br>Interne Bezeichnung: ',
|
||||||
|
b.internebezeichnung
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
IF(
|
||||||
|
b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL,
|
||||||
|
CONCAT(
|
||||||
|
'<br>AB Nummer Lieferant: ',
|
||||||
|
b.bestellungbestaetigtabnummer
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
IF(
|
||||||
|
b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00',
|
||||||
|
CONCAT(
|
||||||
|
'<br>Best. Lieferdatum: ',
|
||||||
|
DATE_FORMAT(
|
||||||
|
b.bestaetigteslieferdatum,
|
||||||
|
'%d.%m.%Y'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
''
|
||||||
|
),
|
||||||
|
'</i>'
|
||||||
|
)",
|
||||||
|
"IF(
|
||||||
|
bp.lieferdatum,
|
||||||
|
DATE_FORMAT(bp.lieferdatum, '%d.%m.%Y'),
|
||||||
|
'sofort'
|
||||||
|
)",
|
||||||
|
'p.abkuerzung',
|
||||||
|
'bp.menge',
|
||||||
|
'bp.geliefert',
|
||||||
|
$this->app->erp->FormatMenge("bp.menge - bp.geliefert"),
|
||||||
|
'art.ean',
|
||||||
|
'art.herstellernummer'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$alignright = array(7, 8, 9);
|
$alignright = array(7, 8, 9);
|
||||||
@ -216,19 +351,29 @@ class Wareneingang {
|
|||||||
)";
|
)";
|
||||||
}
|
}
|
||||||
// SQL statement
|
// SQL statement
|
||||||
$sql = "SELECT SQL_CALC_FOUND_ROWS bp.id, bp.bestellnummer, CONCAT('<a href=\"index.php?module=artikel&action=edit&id=',art.id,'\" tabindex=\"-1\">',art.nummer,'</a>'), b.belegnr as `Bestellung`,
|
$sql = "
|
||||||
|
SELECT SQL_CALC_FOUND_ROWS
|
||||||
|
bp.id,
|
||||||
|
".$this->app->erp->ConcatSQL($auswahl).",
|
||||||
|
CONCAT('<a href=\"index.php?module=artikel&action=edit&id=',art.id,'\" tabindex=\"-1\">',art.nummer,'</a>'),
|
||||||
|
b.belegnr as `Bestellung`,
|
||||||
$colBeschreibung as beschreibung,
|
$colBeschreibung as beschreibung,
|
||||||
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum, p.abkuerzung as projekt,
|
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum,
|
||||||
" . $this->app->erp->FormatMenge('bp.menge') . ", " . $this->app->erp->FormatMenge('bp.geliefert') . ",
|
p.abkuerzung as projekt,
|
||||||
|
".$this->app->erp->FormatMenge('bp.menge').",
|
||||||
|
".$this->app->erp->FormatMenge('bp.geliefert').",
|
||||||
".$this->app->erp->FormatMenge('bp.menge-bp.geliefert')." as offen,
|
".$this->app->erp->FormatMenge('bp.menge-bp.geliefert')." as offen,
|
||||||
".$input_for_menge.",
|
".$this->app->erp->ConcatSQL($input_for_menge).",
|
||||||
|
".$this->app->erp->ConcatSQL($input_for_bemerkung).",
|
||||||
bp.id
|
bp.id
|
||||||
FROM bestellung_position bp
|
FROM bestellung_position bp
|
||||||
INNER JOIN bestellung b ON bp.bestellung=b.id
|
INNER JOIN bestellung b ON bp.bestellung=b.id
|
||||||
$rdJoin
|
$rdJoin
|
||||||
INNER JOIN artikel art ON art.id=bp.artikel $lagerartikel
|
INNER JOIN artikel art ON art.id=bp.artikel $lagerartikel
|
||||||
LEFT JOIN projekt p ON b.projekt=p.id";
|
LEFT JOIN projekt p ON b.projekt=p.id
|
||||||
if ($wareneingangauftragzubestellung) {
|
";
|
||||||
|
|
||||||
|
/* if ($wareneingangauftragzubestellung) {
|
||||||
$sql = "SELECT SQL_CALC_FOUND_ROWS bp.id, bp.bestellnummer, art.nummer, b.belegnr as `Bestellung`,
|
$sql = "SELECT SQL_CALC_FOUND_ROWS bp.id, bp.bestellnummer, art.nummer, b.belegnr as `Bestellung`,
|
||||||
$colBeschreibung as beschreibung,
|
$colBeschreibung as beschreibung,
|
||||||
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum, p.abkuerzung as projekt,
|
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum, p.abkuerzung as projekt,
|
||||||
@ -241,7 +386,7 @@ class Wareneingang {
|
|||||||
$rdJoin
|
$rdJoin
|
||||||
INNER JOIN artikel art ON art.id=bp.artikel $lagerartikel
|
INNER JOIN artikel art ON art.id=bp.artikel $lagerartikel
|
||||||
LEFT JOIN projekt p ON b.projekt=p.id ";
|
LEFT JOIN projekt p ON b.projekt=p.id ";
|
||||||
}
|
}*/
|
||||||
|
|
||||||
$where = "
|
$where = "
|
||||||
b.adresse='$adresse' AND
|
b.adresse='$adresse' AND
|
||||||
@ -2007,16 +2152,21 @@ class Wareneingang {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case 'hinzufuegen':
|
case 'hinzufuegen':
|
||||||
$menge_input = $this->app->Secure->GetPOSTArray();
|
|
||||||
$mengen = array();
|
$bestellposition_ids = $this->app->Secure->GetPOST('bestellposition_ids');
|
||||||
|
$mengen = $this->app->Secure->GetPOST('mengen');
|
||||||
|
$bemerkungen = $this->app->Secure->GetPOST('bemerkungen');
|
||||||
|
|
||||||
$msg = "";
|
$msg = "";
|
||||||
|
|
||||||
foreach ($menge_input as $key => $menge) {
|
foreach ($bestellposition_ids as $key => $bestellposition) {
|
||||||
if ((strpos($key,'menge_') === 0) && ($menge !== '')) {
|
$menge = $mengen[$key];
|
||||||
$bestellposition = substr($key,'6');
|
$bemerkung = $bemerkungen[$key];
|
||||||
|
|
||||||
|
if ($menge <= 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ($menge > 0) {
|
|
||||||
// Gather info bestellung
|
// Gather info bestellung
|
||||||
$bparr = $this->app->DB->SelectRow("SELECT bp.artikel, a.nummer, b.projekt, b.belegnr, bp.vpe, bp.menge FROM bestellung b INNER JOIN bestellung_position bp ON bp.bestellung = b.id INNER JOIN artikel a ON bp.artikel = a.id WHERE bp.id='$bestellposition' LIMIT 1");
|
$bparr = $this->app->DB->SelectRow("SELECT bp.artikel, a.nummer, b.projekt, b.belegnr, bp.vpe, bp.menge FROM bestellung b INNER JOIN bestellung_position bp ON bp.bestellung = b.id INNER JOIN artikel a ON bp.artikel = a.id WHERE bp.id='$bestellposition' LIMIT 1");
|
||||||
$artikel = $bparr['artikel'];
|
$artikel = $bparr['artikel'];
|
||||||
@ -2055,7 +2205,7 @@ class Wareneingang {
|
|||||||
'$menge',
|
'$menge',
|
||||||
'$vpe',
|
'$vpe',
|
||||||
'',
|
'',
|
||||||
'',
|
'".$this->app->DB->real_escape_string($bemerkung)."',
|
||||||
'$bestellposition',
|
'$bestellposition',
|
||||||
1
|
1
|
||||||
)";
|
)";
|
||||||
@ -2065,12 +2215,11 @@ class Wareneingang {
|
|||||||
if ($menge > $bparr['menge']-$bparr['geliefert']) {
|
if ($menge > $bparr['menge']-$bparr['geliefert']) {
|
||||||
$menge = $bparr['menge']-$bparr['geliefert'];
|
$menge = $bparr['menge']-$bparr['geliefert'];
|
||||||
}
|
}
|
||||||
$sql = "UPDATE paketdistribution SET menge = ".$menge." WHERE id = ".$preliminary['id'];
|
|
||||||
|
$sql = "UPDATE paketdistribution SET menge = ".$menge.", bemerkung = '".$this->app->DB->real_escape_string($bemerkung)."' WHERE id = ".$preliminary['id'];
|
||||||
$this->app->DB->Insert($sql);
|
$this->app->DB->Insert($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'manuell_hinzufuegen':
|
case 'manuell_hinzufuegen':
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user