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
Neu PPWR und Versandetikett Business Jungle 3
Neu DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 4
Neu Der wahrscheinlich östlichste JTL Servicepartner: Standortvorteil, faire Preise und vieles mehr Dienstleistung, Jobs und Ähnliches 16
Neu Rechte-Fehler im J10n Modul und Auswirkung auf base.mo.php in div. Plugins (Shop 5.7.1) JTL-Shop - Fehler und Bugs 0
Neu Kundengruppeneinstellungen für Mindestabnahme und Abnahmeintervall löschen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Shop 5.7.1 und Downloadmodul Allgemeine Fragen zu JTL-Shop 1
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufbutton und Handy JTL-Shop - Fehler und Bugs 1
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu Neues Tool - eBay Penner finden, beenden und neu listen Schnittstellen Import / Export 0
Neu Arbeiten mit Lieferanten EKs - Workflows und SQL User helfen Usern - Fragen zu JTL-Wawi 6
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Fehlermeldungen bei Einrichtung DHL 4.0 "Objektverweis" und "Konfiguration Versandart" JTL-Wawi 1.11 2
Fehler nach Update auf Version 1.11.11 und 2.0.4 JTL-Wawi 2.0 7
Neu Es werden keine Marken ausgedruckt und die Portokasse lässt keine Anmeldung zu. Smalltalk 5
Neu Newsletter Problem und Fragen Allgemeine Fragen zu JTL-Shop 2
Neu MS Server und MS SQL Installation von JTL-Wawi 5
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Keine Datenübertragung trotz bestehender Verbindung und funktionierendem Server JTL-Wawi 2.0 35
Neu buersten.de stellt sich vor (und lädt euch ein!) Shops stellen sich vor 3
Neu Bestellabgleich Shopify - JTL | Point of Sales und Online Stores Shopify-Connector 2
Dashboard lädt nicht und Umsatzanzeige rechnet falsch seit Update auf 1.11.8 JTL-Wawi 1.11 8
Neu Falsch erzeugte Ausgangszahlung bei Teilzahlungen und Retoure (Kauf auf Rechnung) Arbeitsabläufe in JTL-Wawi 0
Neu Kritisches Problem bei DHL 4.0: Handelsstücklisten brechen EU- und Exportversand JTL-ShippingLabels - Fehler und Bugs 23
Neu Besucher und Kampagnen Statistik Konfiguration Betrieb / Pflege von JTL-Shop 0
Bestellabgleich mit JTL Wawi und WooCommerce 1h verzögert JTL-Wawi 2.0 0
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Summenanzeige in Zahlungen (F7) und Beschaffung (F3) JTL-Wawi - Ideen, Lob und Kritik 0
Neu jtl POS und wawi 1.11.9 Bestände User helfen Usern - Fragen zu JTL-Wawi 3
Neu Custom Checkout - Conversion optimiert mit Speicherung von Standard-Versandart und Zahlungsart am Kunden JTL-Shop - Ideen, Lob und Kritik 1
In Diskussion Workflow mit UND / ODER - Bedingung erstellen JTL-Workflows - Ideen, Lob und Kritik 7
Ameise-Export: Umsatzsteuer stimmt nicht mit Differenz aus Netto und Brutto überein (insbesondere bei mehreren Steuersätzen) JTL-Wawi 1.11 0
Neu Amazon DIVID- und Lucid-Nummer User helfen Usern 0
Neu Bestände in-house und beim Lieferanten + Proforma-Rechnungen, wie? Arbeitsabläufe in JTL-Wawi 3
Neu Vater und Kinderartikel User helfen Usern - Fragen zu JTL-Wawi 11
Neu product_visibility bei JTL-Wawi und Shopware 6 Shopware-Connector 1
Probleme mit Worker und JTL-App JTL-Wawi 2.0 5
Neu Shopware 5 connector und WawI 1.11.06 bis 1.11.8 Shopware-Connector 1
Bilder unter Versand- und Zahlungsart unterschiedlich groß Einrichtung JTL-Shop5 0
Neu Widerrufsbutton: Jeder, der den Button betätigt, kann das Widerrufsformular ausfüllen und absenden - auch ohne Bestellung? Allgemeine Fragen zu JTL-Shop 94
Neu Problem mit Dantezeile und fehlerhafte Angebotsgültigkeit. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu JTL Pro Edition – Lizenzumstellungen und Abrechnungsfragen Smalltalk 42
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0
Inaktive Verkaufskanäle lassen sich nicht löschen – erscheinen nach Löschen und Speichern erneut JTL-Wawi 1.11 2
Neu DP Internetmarke 2.0 vs. 1.0 – Vorteile, Stabilität und Umstieg? JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Neuentwicklung - Helpdesk für JTL Wawi - Eure Ideen und Wünsche? User helfen Usern - Fragen zu JTL-Wawi 4
Neu POS im Kundencenter buchen, aber wie und wo? Allgemeine Fragen zu JTL-POS 2
Neu Probleme mit Ninepoint und TikTok Shop Schnittstellen Import / Export 6
Neu 5.6.1 Bug bei Versandarten mit Kalkulation durch Artikelmenge und Staffelpreisen JTL-Shop - Fehler und Bugs 2
Neu Ältere Young Fashion Kollektion: Mit Kaufland, TikTok & Influencer schnell hochziehen und abverkaufen? Dienstleistung, Jobs und Ähnliches 1

Ähnliche Themen