SPPC Contrib und Connector

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Wenn jemand Interesse an einer Modifikation des Connectors für die Contrib Special Prices per Customers hat bitte melden.

Die Änderungen sehen wie folgt aus.

Da Staffelpreise von OScommerce standardmässig nicht unterstützt werden, wir aber für bestimmte Kundengruppen Sonderangebote definieren möchten und gleichzeitig auch Sonderpreise bei bestimmmten Artikeln, haben wir die Felder der Staffelpreise "VK Privat Staffelpreise" und "VK Händler Staffelpreise" sowie "VK Händler Brutto" genutzt. Die Modifikation ist begrenzt auf derzeit 6 Kundengruppen.

Wie funktioniert es ?!

In VK Händler Brutto kann für den Artikel ein Sonderangebotspreis hinterlegt werden. Dieser gilt für alle Kundengruppen. Möchte man darüberhinaus für bestimmte Kundengruppen einen abweichenden
Sonderangebotspreis hinterlegen - oder eben nur für eine bestimmte
Kundengruppe ein Sonderangebot definieren, so öffnet man die Tabelle
für VK Händler Staffelpreise und gibt statt Menge die Nummer der Kundengruppe ein und dahinter den zugehörigen Preis.

Wenn für bestimmte Artikel Nettopreise für Kundengruppen hinterlegt sein sollen, dann kann man dies in der VK Privat Staffelpreise nach dem gleichen Muster machen. Statt Menge die Nummer der Kundengruppe rein und ab dafür. (Die Kundengruppe 0 - Besucher oder neu registrierte Kunden wird hierbei nicht unterstützt da dies eigentlich ein Sonderangebot wäre und kein Sonderpreis)

Wie gesagt, bei Interesse bitte melden.
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Ich packe hier mal den Quellcode der modifizierten Artikel.php rein (er lässt sich sicherlich durch Nutzung von Funktionen optimieren, aber dafür hatte ich noch keine Zeit.

Die wesentlichen Änderungen für die SPPC Contrib befinden sich in der Sektion insert Preise

Wer mehr als 5 zusätzliche Kundengruppen hat muss diese zusätzlich nach dem gleichen Schema ergänzen

Code:
<?php
/**
 * jtlwawi_Connector/dbeS/Artikel.php
 * Synchronisationsscript
 *
 * Es gelten die Nutzungs- und Lizenzhinweise unter [url]http://www.jtl-software.de/jtlwawi.php[/url]
 *
 * @author JTL-Software <thomas@jtl-software.de>
 * @copyright 2006, JTL-Software
 * @link [url]http://jtl-software.de/jtlwawi.php[/url]
 * @version v1.03 / 16.09.06
*/

require_once("syncinclude.php");

$return=3;
if (auth())
{
	if (intval($_POST["action"]) == 1 && intval($_POST['KeyArtikel']))
	{
		$return = 0;
		//hole einstellungen
		$cur_query = eS_execute_query("select * from eazysales_einstellungen");
		$einstellungen = mysql_fetch_object($cur_query);

		$artikel->kArtikel = realEscape($_POST["KeyArtikel"]);
		$artikel->cArtNr = realEscape($_POST["ArtikelNo"]);
		$artikel->cName = realEscape($_POST["ArtikelName"]);
		$artikel->cBeschreibung = realEscape($_POST["ArtikelBeschreibung"]);
		$artikel->fVKBrutto = realEscape($_POST["ArtikelVKBrutto"]);
		$artikel->fVKNetto = realEscape($_POST["ArtikelVKNetto"]);
		$artikel->fMwSt = realEscape($_POST["ArtikelMwSt"]);
		$artikel->cAnmerkung = realEscape($_POST["ArtikelAnmerkung"]);
		$artikel->nLagerbestand = max(realEscape($_POST["ArtikelLagerbestand"]),0);
		$artikel->cEinheit = realEscape($_POST["ArtikelEinheit"]);
		$artikel->nMindestbestellmaenge = realEscape($_POST["ArtikelMindBestell"]);
		$artikel->cBarcode = realEscape($_POST["ArtikelBarcode"]);
		$artikel->fVKHaendlerBrutto = realEscape($_POST["ArtikelVKHaendlerBrutto"]);
		$artikel->fVKHaendlerNetto = realEscape($_POST["ArtikelVKHaendlerNetto"]);
		$artikel->cTopArtikel = realEscape($_POST["TopAngebot"]);
		$artikel->fGewicht = realEscape($_POST["Gewicht"]);
		$artikel->cNeu = realEscape($_POST["Neu"]);
		$artikel->cKurzBeschreibung = realEscape($_POST["ArtikelKurzBeschreibung"]);
		$artikel->fUVP = realEscape($_POST["ArtikelUVP"]);
		$artikel->cHersteller = realEscape(htmlentities($_POST["Hersteller"]));
		$startseite=0;
		switch (strtoupper($_POST["ArtikelEinheit"])){
 			case 'ST':
 				$artikel->cEinheit = 'St';
 				$grundwert = '1';
 				break;
 			case 'KG':
 				$artikel->cEinheit = 'kg';
 				$grundwert = '1';
 				break; 			
  			case 'L':
 				$artikel->cEinheit = 'l';
 				$grundwert = '1';
 				break;
 			case 'G':
 				$artikel->cEinheit = 'g';
 				$grundwert = '100';
 				break; 	
  			case 'ML':
 				$artikel->cEinheit = 'ml';
 				$grundwert = '100';
 				break; 	
 			};		
		if ((floatval($artikel->fUVP) == '0') && ($artikel->cEinheit == ''))
			$artikel->fUVP = '1';

		if ($artikel->cTopArtikel=="Y")
			$startseite=1;

		//update oder insert?
		$products_id = getFremdArtikel($artikel->kArtikel);
		if ($products_id>0)
		{
			//update

			//attribute löschen
			eS_execute_query("delete from products_attributes where products_id=".$products_id);
			//KategorieArtikel löschen
			eS_execute_query("delete from products_to_categories where products_id=".$products_id);

			//evtl. andere MwSt?
			$products_tax_class_id = holeSteuerId($artikel->fMwSt);
			//evtl. neuer Hersteller?
			$manufacturers_id = holeHerstellerId($artikel->cHersteller);
			//update products						
			
			eS_execute_query("update products set products_model=\"$artikel->cArtNr\", products_price=\"$artikel->fVKNetto\",products_base_price=\"$artikel->fUVP\",products_base_value=\"$grundwert\",products_base_unit=\"".$artikel->cEinheit."\", products_tax_class_id=\"$products_tax_class_id\", products_quantity=\"$artikel->nLagerbestand\", products_weight=\"$artikel->fGewicht\", manufacturers_id=\"$manufacturers_id\", products_status=1, products_last_modified=now() where products_id=".$products_id);
			//update products_description
			eS_execute_query("update products_description set products_name=\"$artikel->cName\", products_description=\"$artikel->cBeschreibung\" where products_id=".$products_id." and language_id=".$einstellungen->languages_id);
			//kundengrp preise
			$updater='true';
			insertPreise($products_id,$updater);
		}
		else
		{
			//insert
			//hole Mwst classId
			$products_tax_class_id = holeSteuerId($artikel->fMwSt);
			//setze Hersteller, falls es ihn noch nicht gibt
			$manufacturers_id = holeHerstellerId($artikel->cHersteller);
			eS_execute_query("insert into products (products_model, products_price, products_base_price, products_base_value, products_base_unit, products_tax_class_id, products_quantity, products_weight, manufacturers_id, products_status, products_date_added) values (\"".$artikel->cArtNr."\",$artikel->fVKNetto,$artikel->fUVP,$grundwert,\"".$artikel->cEinheit."\",$products_tax_class_id,$artikel->nLagerbestand,$artikel->fGewicht,$manufacturers_id,1,now())");
			//hole id
			$query = eS_execute_query("select LAST_INSERT_ID()");
			$products_id_arr = mysql_fetch_row($query);
			if ($products_id_arr[0]>0)
			{
				//müssen Preise in spezielle tabellen?
				$updater='false';
				insertPreise($products_id_arr[0],$updater);
				eS_execute_query("insert into products_description (products_id, products_name, products_description, language_id) values (".$products_id_arr[0].",\"".$artikel->cName."\", \"".$artikel->cBeschreibung."\", $einstellungen->languages_id)");
				setMappingArtikel($artikel->kArtikel,$products_id_arr[0]);

				//erstelle leere description für alle anderen Sprachen
				$sonstigeSprachen = getSonstigeSprachen($einstellungen->languages_id);
				if (is_array($sonstigeSprachen))
				{
					foreach ($sonstigeSprachen as $sonstigeSprache)
					{
						//eS_execute_query("insert into products_description (products_id, products_name, language_id) values (".$products_id_arr[0].",\"".$artikel->cName."\", $sonstigeSprache)");
						eS_execute_query("insert into products_description (products_id, products_name, products_description, language_id) values (".$products_id_arr[0].",\"".$artikel->cName."\", \"".$artikel->cBeschreibung."\", $sonstigeSprache)");
					}
				}
			}
			else
			{
				//Fehler aufgetreten
				$return=1;
			}
		}
 	}
	else
		$return=5;

	if (intval($_POST["action"]) == 3 && intval($_POST['KeyArtikel']))
	{
		$products_id = getFremdArtikel(intval($_POST['KeyArtikel']));
		if ($products_id>0)
			eS_execute_query("update products set products_status=0 where products_id=".$products_id);
		$return = 0;
	}
}

mysql_close();
echo($return);
logge($return);

function insertPreise($products_id,$updater)
{
	if (!$updater){
//Neuer Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval($_POST["PAnz1"]),intval($_POST["PAnz2"]),intval($_POST["PAnz3"]),intval($_POST["PAnz4"]),intval($_POST["PAnz5"]));
	$SSPinArr = count ($endKunden_arr);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num-1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)")
		;} // end if
	} // end for
//Neuer Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval($_POST["HAnz1"]),intval($_POST["HAnz2"]),intval($_POST["HAnz3"]),intval($_POST["HAnz4"]),intval($_POST["HAnz5"]));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }else{
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	  }; //endifelse
	}else{
//Update Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval($_POST["PAnz1"]),intval($_POST["PAnz2"]),intval($_POST["PAnz3"]),intval($_POST["PAnz4"]),intval($_POST["PAnz5"]));
	$SSPinArr = count ($endKunden_arr);
	eS_execute_query("delete from $table where products_id=".$products_id);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num -1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)");
		}; //end if
	}; //end for
//Update  Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval($_POST["HAnz1"]),intval($_POST["HAnz2"]),intval($_POST["HAnz3"]),intval($_POST["HAnz4"]),intval($_POST["HAnz5"]));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }else{
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	}; //end ifelse
	
  }; //end if
}

function holeHerstellerId($cHersteller)
{
	if (strlen($cHersteller)>0)
	{
		//ex. dieser Hersteller?
		$cur_query = eS_execute_query("select manufacturers_id from manufacturers where manufacturers_name=\"".$cHersteller."\"");
		$manu = mysql_fetch_object($cur_query);
		if ($manu->manufacturers_id>0)
			return $manu->manufacturers_id;
		else
		{
			//erstelle diesen Hersteller
			eS_execute_query("insert into manufacturers (manufacturers_name, date_added) values (\"".$cHersteller."\", now())");
			$query = eS_execute_query("select LAST_INSERT_ID()");
			$manu_id_arr = mysql_fetch_row($query);
			eS_execute_query("insert into manufacturers_info (manufacturers_id, languages_id) values (".$manu_id_arr[0].", ".$GLOBALS['einstellungen']->languages_id.")");
			return $manu_id_arr[0];
		}
	}
	return 0;
}


function holeSteuerId($MwSt)
{
	//existiert so ein Steuersatz ?
	$cur_query = eS_execute_query("select tax_class_id from tax_rates where tax_zone_id=".$GLOBALS['einstellungen']->tax_zone_id." and tax_rate=".$MwSt);
	$tax = mysql_fetch_object($cur_query);
	if ($tax->tax_class_id>0)
		return $tax->tax_class_id;
	else
	{
		//erstelle klasse
		eS_execute_query("insert into tax_class (tax_class_title, date_added) values (\"JTL-Wawi Steuerklasse ".$MwSt."%\", now())");
		$query = eS_execute_query("select LAST_INSERT_ID()");
		$tax_class_id_arr = mysql_fetch_row($query);
		//füge diesen Steuersatz ein
		eS_execute_query("insert into tax_rates (tax_zone_id, tax_class_id, tax_priority, tax_rate, date_added) values (".$GLOBALS['einstellungen']->tax_zone_id.",".$tax_class_id_arr[0].", ".$GLOBALS['einstellungen']->tax_priority.", ".$MwSt.", now())");
		return $tax_class_id_arr[0];
	}
}
?>
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Kann ich Dir nicht sagen da ich die aktuelle Version noch nicht installiert habe. In der Regel warte ich erst ein paar Wochen ab bevor ich ein Update aufspiele ;)

Werde es Ende nächste Woche wohl aufspielen und dann kann ich es Dir sagen.

Greets Frank

Update 16.02.

Habs immer noch nicht aufgespielt - bitte warte noch ein paar Tage
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
AW: SPPC Contrib und Connector

Für die Artikel.php des Connectors nochmal eine kleine Anpassung, speziell für die Contrib SPPC -> hier nur der Bereich aus der Artikel.php mit den Änderungen (funktion insertPreise)

Da oscommerce keine Staffelpreise unterstützt nutze ich die Funktion des Staffelpreise alternativ für Kundengruppen Endkunde und Händlerkunde (die benfalls Standardmässig nicht unterstützt werden)

Wird die Kundengruppe Endkunde im Bereich "Kundengruppen Sichtbarkeit und Preise" markiert und dann Staffelpreise gewählt, kann man seinen Kundengruppen, für die andere Preise gelten sollen, diese dort hinterlegen.
Beispiel Staffelpreise
ab 9991 VK netto x Euro
ab 9993 VK netto x Euro

Die Funktion zieht sich nachher die letzte Ziffer aus der Mengenangabe heraus - in den Besipielen wird aus
ab 9991 -> Kundengruppe 1
ab 9993 -> Kundengruppe 3

und die Preise werden in die products_groups eingetragen. Die Werte sind bewusst so hoch angesetzt um evtl. Konflikten mit Bestellmengen und Wawi vorzubeugen.

Für die Sonderpreise ist es ähnlich.
Wird die Kundengruppe Händlerkunde im Bereich "Kundengruppen Sichtbarkeit und Preise" markiert und dann Staffelpreise gewählt, kann man seinen Kundengruppen, für die unterschiedliche Sonderpreise gelten sollen, diese dort hinterlegen. Schema wie oben.
Zusätzlich kann man einen generellen Sonderpreis hinterlegen indem man in der gleichen Spalte den VK Netto auf den Sonderpreisbetrag setzt. Der gilt dann für alle Kundengruppen.

Mit einer kleinen zusätzlichen Änderung der Attribute.php lassen sich dann auch die Funktionsattribute nutzen

Ergänzungen im Switch Bereich der Attribute.php
Code:
			case 'sonder_enddatum':
				if ($Attribut->content)
				{
					list ($tag,$monat,$jahr)= split('\.',$Attribut->content);
					$date = $jahr."-".$monat."-".$tag." 00:00:00";
					eS_execute_query("update specials set expires_date=\"".realEscape($date)."\" where products_id=".$Attribut->products_id);
				}
				break;
			case 'sonder_aktiv':
				if ($Attribut->content==0 || $Attribut->content==1)
				{
					eS_execute_query("update specials set status=".$Attribut->content.", date_status_change=now(), specials_last_modified=now()  where products_id=".$Attribut->products_id);
				}
				break;



Änderungen der Artikel.php Funktion insertPreise

Code:
function insertPreise($products_id,$updater)
{
	if (!$updater){
//Neuer Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval(substr ( $_POST["PAnz1"], -1)), intval(substr ( $_POST["PAnz2"], -1)), intval(substr ( $_POST["PAnz3"], -1)), intval(substr ( $_POST["PAnz4"], -1)), intval(substr ( $_POST["PAnz5"], -1)));
	$SSPinArr = count ($endKunden_arr);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num-1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)")
		;} // end if
	} // end for
//Neuer Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval(substr ( $_POST["HAnz1"], -1)), intval(substr ( $_POST["HAnz2"], -1)), intval(substr ( $_POST["HAnz3"], -1)), intval(substr ( $_POST["HAnz4"], -1)), intval(substr ( $_POST["HAnz5"], -1)));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }elseif ($_POST["ArtikelVKHaendlerNetto"] < $_POST["ArtikelVKNetto"]){
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	  }; //endifelse
	}else{
//Update Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval(substr ( $_POST["PAnz1"], -1)), intval(substr ( $_POST["PAnz2"], -1)), intval(substr ( $_POST["PAnz3"], -1)), intval(substr ( $_POST["PAnz4"], -1)), intval(substr ( $_POST["PAnz5"], -1)));
	$SSPinArr = count ($endKunden_arr);
	eS_execute_query("delete from $table where products_id=".$products_id);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num -1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)");
		}; //end if
	}; //end for
//Update  Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval(substr ( $_POST["HAnz1"], -1)), intval(substr ( $_POST["HAnz2"], -1)), intval(substr ( $_POST["HAnz3"], -1)), intval(substr ( $_POST["HAnz4"], -1)), intval(substr ( $_POST["HAnz5"], -1)));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }elseif ($_POST["ArtikelVKHaendlerNetto"] < $_POST["ArtikelVKNetto"]){
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	}; //end ifelse
	
  }; //end if
}
 
Ähnliche Themen
Titel Forum Antworten Datum
Preiskalkulation auf Grundlage von Lieferantenpreise und Lieferantenbestand JTL-Wawi 1.8 0
Neu Wasserzeichen auf Lieferschein und Rechnung auf ganze A4 Seite User helfen Usern - Fragen zu JTL-Wawi 5
Neu Connector Verhalten mit Tracking Nummern und Versandbestätigungen Shopify-Connector 0
otto.de Anbindung und Einrichtung in JTL Wawi JTL-Wawi 1.9 0
dbo.tFile und tZahlungsabgleichLogeintrag - kann man hier gefahrlos Datensätze löschen? JTL-Wawi 1.9 3
Anlage neuer Artikelstamm und Erstinventur Lager JTL-Wawi 1.9 1
Neu Breadcrumb Navigation bei Kategorie-, Hersteller- und Merkmallisten verschieden JTL-Shop - Fehler und Bugs 0
Artikelstatistik richtig einstellen und verstehen JTL-Wawi 1.9 2
Aktuelle Störung der SCX-Schnittstelle und weiterer JTL-Systeme Störungsmeldungen 1
Neu Fehlermeldungen und kaputte Designvorlage eBay-Anbindung - Fehler und Bugs 0
Seite Artikel->Sonderpreise und Sonderpreiskationen definieren JTL-Wawi 1.9 0
Neu SQL Server kein Mandant auswählbar und Dienst lässt sich nicht starten Installation von JTL-Wawi 2
Schnittstelle für Zalando, Kaufland und Otto JTL-Wawi 1.9 5
Neu Ameise-Vorlage per SQL abrufen und Daten als Ergebnis erhalten JTL Ameise - Eigene Exporte 1
Neu Übersicht Verkauf mit Artikelmenge und durchschnittlichem VK netto Eigene Übersichten in der JTL-Wawi 6
Neu Gehosteter Shop nicht mehr aufrufbar und auch kein admin-Login mehr möglich JTL-Shop - Fehler und Bugs 3
JTL-Vouchers und Shopify Allgemeine Fragen zu JTL-Vouchers 3
Neu Spam Newsletteranmeldungen und Shop Anmeldungen Allgemeine Fragen zu JTL-Shop 3
Neu Shopify Versandkosten und Mindestbestellwert Shopify-Connector 0
Neu 1.2.3.8 startet nicht und stürtzt sofort ab User helfen Usern - Fragen zu JTL-Wawi 11
Neu SQL DB läuft mit Fehler voll und crasht Server JTL-Shop - Fehler und Bugs 1
Neu Workflow und Version für Vorhaben Starten mit JTL: Projektabwicklung & Migration 3
Neu Bestellungen und Kunden werden nicht importiert JTL-Shop - Fehler und Bugs 10
Filter und Workflows nicht auf Vaterartikel anwendbar JTL-Workflows - Fehler und Bugs 0
Neu In Filiale umbuchen mit Packungsgröße und dort mit JTL-POS einzeln "verkaufen" User helfen Usern - Fragen zu JTL-Wawi 3
Neu POS GTIN Suche und Wawi ausbuchen JTL-POS - Fehler und Bugs 0
Neu TSE (RKSV) und USB-Reader - Android 14 JTL-POS - Fehler und Bugs 0
Neu Neueste Version Paypal Checkout: Rechnungskauf mit Ratepay und Paypal-Kreditkarte sind nicht verfügbar. Plugins für JTL-Shop 21
Neu 🎉 Neues Plugin: "Versandkosten und Lieferzeit automatisch beziehen - ShipMonk Extension" 🎉 Plugins für JTL-Shop 1
Neu Artikel per Dropshipping versenden und selbst versenden Arbeitsabläufe in JTL-Wawi 1
Neu Anfägerfragen und Installtion auf ngix server Installation / Updates von JTL-Shop 13
Neu 🎉 Neues Plugin: "Versandkosten und Lieferzeit automatisch beziehen - DHL-Express Extension" 🎉 Plugins für JTL-Shop 3
Neu Wichtige Infos zu GPSR-Attributen für JTL-eazyAuction und kommende JTL-Wawi Version 1.9.6.0 Einrichtung und Installation von JTL-eazyAuction 76
Überschriften und Titel in Angeboten JTL-Wawi 1.9 3
Rechnungen an Ebay und Amazon Kunden immer digital zusenden JTL-Wawi 1.9 0
Neu Gibt es keinen Gambio Connector mehr mehr mit PHP8 und höher? Gambio-Connector 4
Neu WooCommerce und JTL Wawi lassen sich nicht verbinden WooCommerce-Connector 3
Neu Übersetzung Shop und einiger Produkte Betrieb / Pflege von JTL-Shop 2
Neu Biete: Bastel- und Schreibwarenartikel aus Ladenauflösung Dienstleistung, Jobs und Ähnliches 0
Neu Exchange Online, OAuth und Send As JTL-Wawi - Ideen, Lob und Kritik 2
Mollie und die Wawi JTL-Wawi 1.8 5
Neu Wawi OpenTrans und MyFactory User helfen Usern 0
Neu Doppelte Artikel und SEO User helfen Usern - Fragen zu JTL-Wawi 0
Neu 2 Warenwirtschaften in 1 Haupt und 1 Mandant Umwandeln User helfen Usern - Fragen zu JTL-Wawi 5
Neu Toplevel-Banner hinzufügen und/oder über Wawi Steuern Allgemeine Fragen zu JTL-Shop 0
Neu Artikel- und Versandgewicht bei Stücklisten wird nicht nachberechnet JTL-Version 1.8.12.2 JTL-Wawi - Fehler und Bugs 4
Variationsertikel erstellen und in Woocommerce einbinden JTL-Wawi 1.9 4
Neu GPSR und Unterlagen in Landessprache Betrieb / Pflege von JTL-Shop 28
Neu Amazon Lister 2.0 - Kategorien Deutsch und Englisch gemischt und ohne Hirarchie? Amazon-Lister - Fehler und Bugs 0
Neu Amazon Gutschriften kommen in den Status "Amazon Artikel nicht in Bestellung" und werden nicht übernommen User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen