Files
crm.twinpol.com/modules/Users/MatInstallImport.php
2025-05-12 15:44:39 +00:00

1256 lines
42 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
class Encoding {
protected static $UTFList = array(
185 => "ą",
165 => "Ą",
234 => "ę",
140 => "Ś",
179 => "ł",
163 => "Ł",
209 => "Ń",
241 => "ń",
243 => "ó",
191 => "ż",
159 => "ź",
175 => "Ż",
156 => "ś",
211 => "Ó",
202 => "Ę"
);
static function toUTF8($text) {
if (is_array($text)) {
foreach ($text as $k => $v) {
$text[$k] = self::toUTF8($v);
}
return $text;
}
if (!is_string($text)) {
return $text;
}
$max = strlen($text);
$buf = "";
$tmp = str_split($text);
foreach ($tmp as $key => $value) {
$char = '';
foreach (self::$UTFList as $klucz => $wartosc) {
if (ord($value) == $klucz) {
$char = $wartosc;
}
}
if ($char != '') {
$buf .= $char;
} else {
$buf .= $value;
}
}
return trim($buf);
}
}
//Tworze polaczenie z baza
ini_set('mssql.charset', 'Windows-1251');
$serverName = "192.168.1.26"; //serverName\instanceName
$connectionInfo = array("Database" => "CDN_MATINSTAL", "UID" => "b2b", "PWD" => "b2b2015");
$msconn = mssql_connect("192.168.1.26\OPTIMA", "b2b", "b2b2015");
if ($msconn) {
echo "Ustanowiono polaczenie z MSSQL." . PHP_EOL;
} else {
echo "Nie można było ustawić połączenia." . PHP_EOL;
die(print_r(mssql_errors(), true));
}
$myconn = mysql_connect('localhost', 'root', 'sgpmk777');
if (!$myconn) {
echo "Nie można było ustawić połączenia z MySQL." . PHP_EOL;
mssql_close($msconn);
die(mysql_error());
} else {
echo 'Ustanowiono polaczenie z MySQL.' . PHP_EOL;
}
if (mysql_select_db('crm')) {
echo 'MySQL: Pomyślnie wybrano bazę danych CRM' . PHP_EOL;
} else {
echo 'MySQL: Błąd przy wybieraniu bazy danych CRM' . PHP_EOL;
mysql_close($myconn);
mssql_close($msconn);
die();
}
mysql_query('SET NAMES utf8');
if (mysql_set_charset('utf8')) {
echo 'MySQL: Ustawiono kodowanie ' . mysql_client_encoding() . PHP_EOL;
} else {
echo 'MySQL: Błąd w ustawianiu kodowania UTF-8' . PHP_EOL;
die(mysql_error());
}
echo 'Dodawanie form platnosci' . PHP_EOL;
$query = 'SELECT * FROM [CDN_MATINSTAL].[CDN].[FormyPlatnosci]';
$stmt = mssql_query($query);
if ($stmt === false) {
echo "Blad w przetwarzaniu zapytania";
mysql_close($myconn);
mssql_close($msconn);
die(print_r(mssql_errors(), true));
}
$query = 'SELECT id FROM ecmpaymentconditions';
$return = mysql_query($query);
$exist = array();
while ($rr = mysql_fetch_assoc($return)) {
$exist[] = $rr['id'];
}
$insert = 0;
$update = 0;
while ($row = mssql_fetch_assoc($stmt)) {
if (in_array($row['FPl_FPlId'], $exist)) {
$update++;
$typplatnosci = '';
if ($value['FPl_Typ'] == '1') {
$typplatnosci = '1';
} else {
$typplatnosci = '0';
}
$query = 'UPDATE ecmpaymentconditions SET ';
$query .= " name = '" . Encoding::toUTF8($row['FPl_Nazwa'], "UTF-8", "Windows-1251") . "',";
$query .= " date_modified = NOW(),";
$query .= " deleted = '" . $row['FPl_NieAktywny'] . "',";
$query .= " days = '" . $row['FPl_Termin'] . "',";
$query .= " discount = '" . $row['FPl_Rabat'] . "',";
$query .= " payment_method = '" . $typplatnosci . "'";
$query .= " WHERE id = '" . $row['FPl_FPlId'] . "'";
} else {
$insert++;
$typplatnosci = '';
if ($value['FPl_Typ'] == '1') {
$typplatnosci = '1';
} else {
$typplatnosci = '0';
}
$query = "INSERT ecmpaymentconditions (
id,
name,
date_entered,
date_modified,
modified_user_id,
assigned_user_id,
created_by,
deleted,
days,
discount,
discount_days,
payment_method)
VALUES (" .
$row['FPl_FPlId'] . "," . //id
"'" . Encoding::toUTF8($row['FPl_Nazwa'], "UTF-8", "Windows-1251") . "'" . "," . //name
"NOW()" . "," . //date_entered
"NOW()" . "," . //date_modified
"'243170e7-70c9-99c8-6ef3-542a4ff7e733'" . "," . //modified_user_id
"'243170e7-70c9-99c8-6ef3-542a4ff7e733'" . "," . //assigned_user_id
"'243170e7-70c9-99c8-6ef3-542a4ff7e733'" . "," . //created_by
$row['FPl_NieAktywny'] . "," . //deleted
$row['FPl_Termin'] . "," . //days
$row['FPl_Rabat'] . "," . //discount
"'0'" . "," . //discount_days
$typplatnosci . ");"; //payment_method
mysql_query($query);
}
}
echo '*** Zaktualizowano ' . $update . PHP_EOL;
echo '*** Dodano ' . $insert . PHP_EOL;
echo 'Zakonczono import form platnosci' . PHP_EOL;
echo 'Wczytywanie kontrahentów' . PHP_EOL;
$query = "SELECT * FROM [CDN_MATINSTAL].[CDN].[Kontrahenci]";
$stmt = mssql_query($query);
if ($stmt === false) {
echo "Error in query preparation/execution.\n";
die(print_r(mssql_errors(), true));
}
$query = 'DELETE FROM accounts_websites';
$return = mysql_query($query);
$query = 'DELETE FROM account_banks';
$return = mysql_query($query);
$query = 'SELECT id FROM accounts';
$return = mysql_query($query);
$existAccounts = array();
while ($rr = mysql_fetch_assoc($return)) {
$existAccounts[] = $rr['id'];
}
$insert = 0;
$update = 0;
$urlID = 0;
$bankAccountID = 0;
while ($row = mssql_fetch_array($stmt)) {
if (in_array($row['Knt_KntId'], $existAccounts)) {
$update++;
if ($row['Knt_FplID'] != '') {
$q = "Select name from ecmpaymentconditions where id = " . $row['Knt_FplID'] . ";";
$ecmpaymentconditions_name = mysql_fetch_assoc(mysql_query($q));
$ecmpaymentconditions_name = $ecmpaymentconditions_name['name'];
}
$accountName = '';
$accountName .= trim(Encoding::toUTF8($row['Knt_Nazwa1'])) . ' ';
$accountName .= trim(Encoding::toUTF8($row['Knt_Nazwa2'])) . ' ';
$accountName .= trim(Encoding::toUTF8($row['Knt_Nazwa3']));
$accountName = trim($accountName);
$accountStreet = '';
$accountStreet .= trim(Encoding::toUTF8($row['Knt_Ulica'])) . ' ';
$accountStreet .= trim(Encoding::toUTF8($row['Knt_NrDomu'])) . ' ';
$accountStreet .= trim(Encoding::toUTF8($row['Knt_NrLokalu']));
$accountStreet = trim($accountStreet);
$accountKorStreet = '';
$accountKorStreet .= trim(Encoding::toUTF8($row['Knt_KorUlica'])) . ' ';
$accountKorStreet .= trim(Encoding::toUTF8($row['Knt_KorNrDomu'])) . ' ';
$accountKorStreet .= trim(Encoding::toUTF8($row['Knt_KorNrLokalu']));
$accountKorStreet = trim($accountKorStreet);
if (strlen($row['Knt_URL']) > 1) {
$q = "INSERT INTO accounts_websites VALUES (";
$q .= "'" . $urlID . "',";
$q .= "'" . $row['Knt_KntId'] . "',";
$q .= "'0',";
$q .= "NOW(),";
$q .= "'1',";
$q .= "'" . $row['Knt_URL'] . "',";
$q .= "'0',";
$q .= "NOW(),'243170e7-70c9-99c8-6ef3-542a4ff7e733');";
mysql_query($q);
}
if (strlen($row['Knt_RachunekNr']) > 1) {
$q = "INSERT INTO account_banks VALUES (";
$q .= "'" . $bankAccountID++ . "',";
$q .= "NOW(),";
$q .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',";
$q .= "'" . $row['Knt_RachunekNr'] . "',";
$q .= "'0',";
$q .= "'" . $row['Knt_RachunekNr'] . "',";
$q .= "'0',";
$q .= "'" . $row['Knt_KntId'] . "');";
mysql_query($q);
}
$query = "UPDATE accounts SET ";
$query .= "date_modified=NOW(),";
$query .= "modified_user_id = '243170e7-70c9-99c8-6ef3-542a4ff7e733',";
$query .="index_dbf='" . Encoding::toUTF8($row['Knt_Kod']) . "',";
$query .="name='" . $accountName . "',";
$query .="register_address_country='" . Encoding::toUTF8($row['Knt_Kraj']) . "',";
$query .="register_address_state='" . Encoding::toUTF8($row['Knt_Wojewodztwo']) . "',";
$query .="register_address_street='" . $accountStreet . "',";
$query .="register_address_city='" . Encoding::toUTF8($row['Knt_Miasto']) . "',";
$query .="register_address_postalcode='" . Encoding::toUTF8($row['Knt_KodPocztowy']) . "',";
$query .="to_vatid_unformated='" . Encoding::toUTF8($row['Knt_NipE']) . "',";
$query .="to_vatid='" . Encoding::toUTF8($row['Knt_Nip']) . "',";
$query .="regon='" . Encoding::toUTF8($row['Knt_Regon']) . "',";
$query .="phone_office='" . Encoding::toUTF8($row['Knt_Telefon1']) . "',";
$query .="phone_fax='" . Encoding::toUTF8($row['Knt_Fax']) . "',";
$query .="krs='" . Encoding::toUTF8($row['Knt_Zezwolenie']) . "',";
$query .="ecmpaymentcondition_id='" . Encoding::toUTF8($row['Knt_FplID']) . "',";
$query .="ecmpaymentcondition_name='" . $ecmpaymentconditions_name . "',";
$query .="billing_address_street='" . $accountKorStreet . "',";
$query .="billing_address_city='" . Encoding::toUTF8($row['Knt_KorMiasto']) . "',";
$query .="billing_address_postalcode='" . Encoding::toUTF8($row['Knt_KorKodPocztowy']) . "',";
$query .="billing_address_country='" . Encoding::toUTF8($row['Knt_KorKraj']) . "'";
$query .= " WHERE id='" . $row['Knt_KntId'] . "'";
mysql_query($query);
} else {
$insert++;
if ($row['Knt_FplID'] != '') {
$q = "Select name from ecmpaymentconditions where id = " . $row['Knt_FplID'] . ";";
$ecmpaymentconditions_name = mysql_fetch_assoc(mysql_query($q));
$ecmpaymentconditions_name = $ecmpaymentconditions_name['name'];
}
$accountName = '';
$accountName .= trim(Encoding::toUTF8($row['Knt_Nazwa1'])) . ' ';
$accountName .= trim(Encoding::toUTF8($row['Knt_Nazwa2'])) . ' ';
$accountName .= trim(Encoding::toUTF8($row['Knt_Nazwa3']));
$accountName = trim($accountName);
$accountStreet = '';
$accountStreet .= trim(Encoding::toUTF8($row['Knt_Ulica'])) . ' ';
$accountStreet .= trim(Encoding::toUTF8($row['Knt_NrDomu'])) . ' ';
$accountStreet .= trim(Encoding::toUTF8($row['Knt_NrLokalu']));
$accountStreet = trim($accountStreet);
$accountKorStreet = '';
$accountKorStreet .= trim(Encoding::toUTF8($row['Knt_KorUlica'])) . ' ';
$accountKorStreet .= trim(Encoding::toUTF8($row['Knt_KorNrDomu'])) . ' ';
$accountKorStreet .= trim(Encoding::toUTF8($row['Knt_KorNrLokalu']));
$accountKorStreet = trim($accountKorStreet);
if (strlen($row['Knt_URL']) > 1) {
$q = "INSERT INTO accounts_websites VALUES (";
$q .= "'" . $urlID . "',";
$q .= "'" . $row['Knt_KntId'] . "',";
$q .= "'0',";
$q .= "NOW(),";
$q .= "'1',";
$q .= "'" . $row['Knt_URL'] . "',";
$q .= "'0',";
$q .= "NOW(),'243170e7-70c9-99c8-6ef3-542a4ff7e733');";
mysql_query($q);
}
if (strlen($row['Knt_RachunekNr']) > 1) {
$q = "INSERT INTO account_banks VALUES (";
$q .= "'" . $bankAccountID++ . "',";
$q .= "NOW(),";
$q .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',";
$q .= "'" . $row['Knt_RachunekNr'] . "',";
$q .= "'0',";
$q .= "'" . $row['Knt_RachunekNr'] . "',";
$q .= "'0',";
$q .= "'" . $row['Knt_KntId'] . "');";
mysql_query($q);
}
$query = "INSERT accounts (
id,
date_entered,
date_modified,
modified_user_id,
created_by,
assigned_user_id,
index_dbf,
name,
register_address_country,
register_address_state,
register_address_street,
register_address_city,
register_address_postalcode,
to_vatid_unformated,
to_vatid,
regon,
phone_office,
phone_fax,
krs,
ecmpaymentcondition_id,
ecmpaymentcondition_name,
billing_address_street,
billing_address_city,
billing_address_postalcode,
billing_address_country) VALUES (";
$query .= $row['Knt_KntId'] . ","; // id
$query .= "NOW(),"; // date_entered
$query .= "NOW(),"; // date_modified
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "'" . Encoding::toUTF8($row['Knt_Kod']) . "',"; // index_dbf
$query .= "'" . $accountName . "',"; // name
$query .= "'" . Encoding::toUTF8($row['Knt_Kraj']) . "',"; // register_address_country
$query .= "'" . Encoding::toUTF8($row['Knt_Wojewodztwo']) . "',"; // register_address_state
$query .= "'" . $accountStreet . "',"; // register_address_street
$query .= "'" . Encoding::toUTF8($row['Knt_Miasto']) . "',"; // register_address_city
$query .= "'" . Encoding::toUTF8($row['Knt_KodPocztowy']) . "',"; // register_address_postalcode
$query .= "'" . Encoding::toUTF8($row['Knt_NipE']) . "',"; // to_vatid_unformated
$query .= "'" . Encoding::toUTF8($row['Knt_Nip']) . "',"; //to_vatid
$query .= "'" . Encoding::toUTF8($row['Knt_Regon']) . "',"; //regon
$query .= "'" . Encoding::toUTF8($row['Knt_Telefon1']) . "',"; // phone office
$query .= "'" . Encoding::toUTF8($row['Knt_Fax']) . "',"; //phone fax
$query .= "'" . Encoding::toUTF8($row['Knt_Zezwolenie']) . "',"; //krs
$query .= "'" . Encoding::toUTF8($row['Knt_FplID']) . "',"; // ecmpaymentcondition_id
$query .= "'" . $ecmpaymentconditions_name . "',"; //ecmpaymentcondition_name
$query .= "'" . $accountKorStreet . "',"; // billing_address_street
$query .= "'" . Encoding::toUTF8($row['Knt_KorMiasto']) . "',"; // billing_address_city
$query .= "'" . Encoding::toUTF8($row['Knt_KorKodPocztowy']) . "',"; // billing_address_postalcode
$query .= "'" . Encoding::toUTF8($row['Knt_KorKraj']) . "'"; // billing_address_country
$query .= ");";
mysql_query($query);
}
}
echo '*** Zaktualizowano ' . $update . PHP_EOL;
echo '*** Dodano ' . $insert . PHP_EOL;
echo 'Zakonczono import kontrahentow' . PHP_EOL;
echo 'Dodaje magazyny' . PHP_EOL;
$query = "SELECT * FROM [CDN_MATINSTAL].[CDN].[Magazyny]";
$stmt = mssql_query($query);
if ($stmt === false) {
echo "Error in query preparation/execution.\n";
die(print_r(mssql_errors(), true));
}
$query = 'SELECT id FROM ecmstocks';
$return = mysql_query($query);
$existEcmStocks = array();
while ($rr = mysql_fetch_assoc($return)) {
$existEcmStocks[] = $rr['id'];
}
$insert = 0;
$update = 0;
$no = 0;
while ($row = mssql_fetch_array($stmt)) {
if (in_array($row['Mag_MagId'], $existEcmStocks)) {
$update++;
$query = "UPDATE ecmstocks SET ";
$query .="name='" . Encoding::toUTF8($row['Mag_Nazwa']) . "',";
$query .="deleted='" . $row['Mag_NieAktywny'] . "',";
$query .="date_modified=NOW(),";
$query .="modified_user_id='243170e7-70c9-99c8-6ef3-542a4ff7e733',";
$query .="description='" . Encoding::toUTF8($row['Mag_Opis']) . "',";
$query .="no='" . $no++ . "'";
$query .= " WHERE id='" . $row['Mag_MagId'] . "'";
mysql_query($query);
} else {
$insert++;
try {
$tz = new DateTimeZone("Europe/Warsaw");
$dateZal = new DateTime($row['Mag_TS_Zal'], $tz);
$dateMod = new DateTime($row['Mag_TS_Mod'], $tz);
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
$query = "INSERT ecmstocks (
id,
name,
deleted,
date_entered,
date_modified,
modified_user_id,
assigned_user_id,
created_by,
description,
main,
no
) VALUES (";
$query .= "'" . $row['Mag_MagId'] . "',"; // id
$query .= "'" . Encoding::toUTF8($row['Mag_Nazwa']) . "',"; // name
$query .= "'" . $row['Mag_NieAktywny'] . "',"; // deleted
$query .= "'" . $dateZal->format('Y-m-d') . "'" . ","; //date_entered
$query .= "'" . $dateMod->format('Y-m-d') . "'" . ","; //date_entered
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //assigned_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "'" . Encoding::toUTF8($row['Mag_Opis']) . "',"; // description
$query .= "'0',"; //main
$query .= "'" . $no++ . "'"; // no
$query .= ");";
mysql_query($query);
}
}
echo '*** Zaktualizowano ' . $update . PHP_EOL;
echo '*** Dodano ' . $insert . PHP_EOL;
echo 'Zakonczono dodawanie magazynow' . PHP_EOL;
echo 'Dodawanie towarow' . PHP_EOL;
$query = "SELECT Twr_TwrId, Twr_JM, Twr_Stawka, Twr_Nazwa, Twr_Kod, Twr_NieAktywny FROM [CDN_MATINSTAL].[CDN].[Towary]";
$stmt = mssql_query($query);
if ($stmt === false) {
echo "Error in query preparation/execution.\n";
die(print_r(mssql_errors(), true));
}
$query = 'SELECT id FROM ecmproducts';
$return = mysql_query($query);
$existEcmProducts = array();
while ($rr = mysql_fetch_assoc($return)) {
$existEcmProducts[] = $rr['id'];
}
$insert = 0;
$update = 0;
$re = mysql_query("SELECT id, name, value FROM ecmvats WHERE deleted='0' ORDER BY value asc");
$vatList = array();
while ($row = mysql_fetch_assoc($re)) {
$tmp = array();
$tmp['id'] = $row['id'];
$tmp['name'] = $row['name'];
$tmp['value'] = $row['value'];
$vatList[$row['value']] = $tmp;
}
while ($row = mssql_fetch_array($stmt)) {
if (in_array($row['Twr_TwrId'], $existEcmProducts)) {
$update++;
$vacikID = $vatList[$row['Twr_Stawka'] . '.00']['id'];
$vacikNAME = $vatList[$row['Twr_Stawka'] . '.00']['name'];
$vacikVALUE = $vatList[$row['Twr_Stawka'] . '.00']['value'];
$jm = null;
$jmtmp = Encoding::toUTF8($row['Twr_JM']);
switch ($jmtmp) {
case 'usі.':
$jm = 1;
break;
case 't':
$jm = 2;
break;
case 'szt':
$jm = 3;
break;
case 'kpl.':
$jm = 4;
break;
case 'kg':
$jm = 5;
break;
case 'litr':
$jm = 6;
break;
case 'm':
$jm = 7;
break;
case 'godz':
$jm = 8;
break;
case 'km.':
$jm = 9;
break;
}
$query = "UPDATE ecmproducts SET ";
$query .= "name='" . Encoding::toUTF8($row['Twr_Nazwa']) . "',"; // name
$query .= "code='" . Encoding::toUTF8($row['Twr_Kod']) . "',"; // code
$query .= "deleted=0,";
$query .= "product_active='" . Encoding::toUTF8($row['Twr_NieAktywny']) . "',";
$query .= "vat_value='" . $vacikVALUE . "',"; // vat_value
$query .= "vat_id='" . $vacikID . "',"; // vat_value
$query .= "vat_name='" . $vacikNAME . "',"; // vat_value
$query .= "date_modified=NOW(),";
$query .= "modified_user_id='243170e7-70c9-99c8-6ef3-542a4ff7e733',";
$query .= "unit_id='" . $jm . "'";
$query .= " WHERE id= '" . $row['Twr_TwrId'] . "'";
mysql_query($query);
} else {
$insert++;
$vacikID = $vatList[$row['Twr_Stawka'] . '.00']['id'];
$vacikNAME = $vatList[$row['Twr_Stawka'] . '.00']['name'];
$vacikVALUE = $vatList[$row['Twr_Stawka'] . '.00']['value'];
$jm = null;
$jmtmp = Encoding::toUTF8($row['Twr_JM']);
switch ($jmtmp) {
case 'usі.':
$jm = 1;
break;
case 't':
$jm = 2;
break;
case 'szt':
$jm = 3;
break;
case 'kpl.':
$jm = 4;
break;
case 'kg':
$jm = 5;
break;
case 'litr':
$jm = 6;
break;
case 'm':
$jm = 7;
break;
case 'godz':
$jm = 8;
break;
case 'km.':
$jm = 9;
break;
}
$query = "INSERT ecmproducts (
id,
name,
code,
deleted,
product_active,
vat_value,
vat_id,
vat_name,
date_entered,
date_modified,
modified_user_id,
assigned_user_id,
created_by,
unit_id
) VALUES (";
$query .= $row['Twr_TwrId'] . ","; // id
$query .= "'" . Encoding::toUTF8($row['Twr_Nazwa']) . "',"; // name
$query .= "'" . Encoding::toUTF8($row['Twr_Kod']) . "',"; // code
$query .= "0,"; // deleted
$query .= "'" . Encoding::toUTF8($row['Twr_NieAktywny']) . "',"; // product_active
$query .= "'" . $vacikVALUE . "',"; // vat_value
$query .= "'" . $vacikID . "',"; // vat_value
$query .= "'" . $vacikNAME . "',"; // vat_value
$query .= "NOW()" . ","; //date_entered
$query .= "NOW()" . ","; //date_modified
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //assigned_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "'" . $jm . "'";
$query .= ");";
mysql_query($query);
}
}
echo '*** Zaktualizowano ' . $update . PHP_EOL;
echo '*** Dodano ' . $insert . PHP_EOL;
echo 'Zakonczono dodawanie towarow' . PHP_EOL;
echo 'Dodawanie faktur sprzedazy' . PHP_EOL;
$query = "SELECT * FROM [CDN_MATINSTAL].[CDN].[TraNag] WHERE TrN_DDfId = 1";
$stmt = mssql_query($query);
if ($stmt === false) {
echo "Error in query preparation/execution.\n";
die(print_r(mssql_errors(), true));
}
$query = 'SELECT id FROM ecminvoiceouts';
$return = mysql_query($query);
$existEcmInvoiceOuts = array();
while ($rr = mysql_fetch_assoc($return)) {
$existEcmInvoiceOuts[] = $rr['id'];
}
$insert = 0;
$update = 0;
$insertItems = 0;
$updateItems = 0;
$jmlist = array(
1 => 'usł.',
2 => 't',
3 => 'szt',
4 => 'kpl.',
5 => 'kg',
6 => 'litr',
7 => 'm',
8 => 'godz',
9 => 'km.',
);
while ($row = mssql_fetch_array($stmt)) {
if (in_array($row['TrN_TrNID'], $existEcmInvoiceOuts)) {
$update++;
$typdokumentu = '';
if ($row['TrN_DDfId'] == 1) {
$typdokumentu = 'normal';
} else {
$typdokumentu = 'correct';
}
$podUlica = '';
$podUlica .= trim(Encoding::toUTF8($row['TrN_PodUlica'])) . ' ';
$podUlica .= trim(Encoding::toUTF8($row['TrN_PodNrDomu'])) . ' ';
$podUlica .= trim(Encoding::toUTF8($row['TrN_PodNrLokalu']));
$podUlica = trim($podUlica);
$OdpUlica = '';
$OdpUlica .= trim(Encoding::toUTF8($row['TrN_OdbUlica'])) . ' ';
$OdpUlica .= trim(Encoding::toUTF8($row['TrN_OdbNrDomu'])) . ' ';
$OdpUlica .= trim(Encoding::toUTF8($row['TrN_OdbNrLokalu'])) . ' ';
$OdpUlica = trim($OdpUlica);
$formaplatnosci = '';
if ($row['TrN_FPlId'] != '') {
$q = "SELECT name FROM ecmpaymentconditions WHERE id = '" . $row['TrN_FPlId'] . "';";
$formaplatnosci = mysql_fetch_assoc(mysql_query($q));
$formaplatnosci = $formaplatnosci['name'];
}
$magazynNazwa = '';
if ($row['TrN_FPlId'] != '') {
$q = "Select name from ecmstocks where id = " . $row['TrN_MagZrdId'] . ";";
$magazynNazwa = mysql_fetch_assoc(mysql_query($q));
$magazynNazwa = $magazynNazwa['name'];
}
$anulowana = '0';
if ($row['TrN_Anulowany'] != '') {
if ($row['TrN_Anulowany'] == '-2147483647') {
$anulowana = 1;
}
}
try {
$tz = new DateTimeZone("Europe/Warsaw");
$dateTermin = new DateTime($row['TrN_Termin'], $tz);
$dateDataOpe = new DateTime($row['TrN_DataOpe'], $tz);
$dateDataDok = new DateTime($row['TrN_DataDok'], $tz);
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
$query = "UPDATE ecminvoiceouts SET ";
$query.= " name='" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',";
$query.= " date_modified=NOW(),";
$query.= " number='" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',";
$query.= " document_no='" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',";
$query.= " parent_name='" . trim(trim(Encoding::toUTF8($row['TrN_PodNazwa1'])) . ' ' . trim(Encoding::toUTF8($row['TrN_PodNazwa2'])) . ' ' . trim(Encoding::toUTF8($row['TrN_PodNazwa3']))) . "',";
$query.= " parent_id='" . Encoding::toUTF8($row['TrN_PodID']) . "',";
$query.= " type='" . $typdokumentu . "',";
$query.= " register_date='" . $dateDataDok->format('Y-m-d') . "',";
$query.= " total_netto='" . $row['TrN_RazemNetto'] . "',";
$query.= " total_brutto='" . $row['TrN_RazemBrutto'] . "',";
$query.= " parent_address_street='" . $podUlica . "',";
$query.= " parent_address_city='" . Encoding::toUTF8($row['TrN_PodMiasto']) . "',";
$query.= " parent_address_postalcode='" . Encoding::toUTF8($row['TrN_PodKodPocztowy']) . "',";
$query.= " parent_address_country='" . Encoding::toUTF8($row['TrN_PodKraj']) . "',";
$query.= " parent_nip_unformated='" . Encoding::toUTF8($row['TrN_PodNipE']) . "',";
$query.= " parent_nip='" . str_replace('-', '', Encoding::toUTF8($row['TrN_PodNipE'])) . "',";
$query.= " ecmpaymentcondition_id='" . Encoding::toUTF8($row['TrN_FPlId']) . "',";
$query.= " ecmpaymentcondition_text='" . $formaplatnosci . "',";
$query.= " sell_date='" . $dateDataOpe->format('Y-m-d') . "',";
$query.= " stock_id='" . Encoding::toUTF8($row['TrN_MagZrdId']) . "',";
$query.= " stock_name='" . $magazynNazwa . "',";
$query.= " parent_shipping_address_name='" . trim(trim(Encoding::toUTF8($row['TrN_OdbNazwa1'])) . ' ' . trim(Encoding::toUTF8($row['TrN_OdbNazwa2'])) . ' ' . trim(Encoding::toUTF8($row['TrN_OdbNazwa3']))) . "',";
$query.= " parent_shipping_address_street='" . $OdpUlica . "',";
$query.= " parent_shipping_address_city='" . Encoding::toUTF8($row['TrN_OdbMiasto']) . "',";
$query.= " parent_shipping_address_postalcode='" . Encoding::toUTF8($row['TrN_OdbKodPocztowy']) . "',";
$query.= " parent_shipping_address_country='" . Encoding::toUTF8($row['TrN_OdbKraj']) . "',";
$query.= " payment_date='" . $dateTermin->format('Y-m-d') . "',";
$query.= " canceled='" . $anulowana . "',";
$query.= " total_vat='" . Encoding::toUTF8($row['TrN_RazemVAT']) . "',";
$query.= " discount='" . Encoding::toUTF8($row['TrN_Rabat']) . "' ";
$query .= " WHERE id = '" . $row['TrN_TrNID'] . "'";
mysql_query($query);
$query2 = "SELECT * FROM [CDN_MATINSTAL].[CDN].[TraElem] where TrE_TrNID = " . $row['TrN_TrNID'];
$stmt2 = mssql_query($query2);
if ($stmt2 === false) {
echo "Error in query preparation/execution.\n";
die(print_r(mssql_errors(), true));
}
$query = "SELECT id FROM ecminvoiceoutitems WHERE ecminvoiceout_id = '" . $row['TrN_TrNID'] . "'";
$return = mysql_query($query);
$existEcmInvoiceOutsItems = array();
while ($rr = mysql_fetch_assoc($return)) {
$existEcmInvoiceOutsItems[] = $rr['id'];
}
while ($row2 = mssql_fetch_array($stmt2)) {
if (in_array($row2['TrE_TrEID'], $existEcmInvoiceOutsItems)) {
$updateItems++;
$jm = null;
$jmtmp = Encoding::toUTF8($row2['TrE_Jm']);
switch ($jmtmp) {
case 'usі.':
$jm = 1;
break;
case 't':
$jm = 2;
break;
case 'szt':
$jm = 3;
break;
case 'kpl.':
$jm = 4;
break;
case 'kg':
$jm = 5;
break;
case 'litr':
$jm = 6;
break;
case 'm':
$jm = 7;
break;
case 'godz':
$jm = 8;
break;
case 'km.':
$jm = 9;
break;
}
$vacikID = $vatList[$row2['TrE_Stawka'] . '.00']['id'];
$vacikNAME = $vatList[$row2['TrE_Stawka'] . '.00']['name'];
$vacikVALUE = $vatList[$row2['TrE_Stawka'] . '.00']['value'];
$pricenetto = $row2['TrE_CenaW'];
$pricebrutto = round($pricenetto * $vacikVALUE / 100 + $pricenetto, 2);
$totalvat = round($pricenetto * $vacikVALUE / 100, 2);
$query = "UPDATE ecminvoiceoutitems SET ";
$query.= " date_modified=NOW(),";
$query.= " ecminvoiceout_id='" . $row2['TrE_TrNId'] . "',";
$query.= " ecmproduct_id='" . $row2['TrE_TwrId'] . "',";
$query.= " position='" . $row2['TrE_Lp'] . "',";
$query.= " code='" . Encoding::toUTF8($row2['TrE_TwrKod']) . "',";
$query.= " name='" . Encoding::toUTF8($row2['TrE_TwrNazwa']) . "',";
$query.= " quantity='" . round($row2['TrE_Ilosc']) . "',";
$query.= " price_start='" . $row2['TrE_Cena0'] . "',";
$query.= " price_netto='" . $row2['TrE_CenaW'] . "',";
$query.= " discount='" . $row2['TrE_Rabat'] . "',";
$query.= " total_netto='" . $row2['TrE_WartoscNetto'] . "',";
$query.= " total_brutto='" . $row2['TrE_WartoscBrutto'] . "',";
$query.= " dd_unit_id='" . $jm . "',";
$query.= " dd_unit_name='" . $jmlist[$jm] . "',";
$query.= " ecmvat_id='" . $vacikID . "',";
$query.= " ecmvat_name='" . $vacikNAME . "',";
$query.= " ecmvat_value='" . $vacikVALUE . "',";
$query.= " total_vat='" . $totalvat . "',";
$query.= " price_brutto='" . $pricebrutto . "'";
$query .= " WHERE id = '" . $row2['TrE_TrEID'] . "'";
$rows = mysql_query($query);
} else {
$insertItems++;
$jm = null;
$jmtmp = Encoding::toUTF8($row2['TrE_Jm']);
switch ($jmtmp) {
case 'usі.':
$jm = 1;
break;
case 't':
$jm = 2;
break;
case 'szt':
$jm = 3;
break;
case 'kpl.':
$jm = 4;
break;
case 'kg':
$jm = 5;
break;
case 'litr':
$jm = 6;
break;
case 'm':
$jm = 7;
break;
case 'godz':
$jm = 8;
break;
case 'km.':
$jm = 9;
break;
}
$vacikID = $vatList[$row2['TrE_Stawka'] . '.00']['id'];
$vacikNAME = $vatList[$row2['TrE_Stawka'] . '.00']['name'];
$vacikVALUE = $vatList[$row2['TrE_Stawka'] . '.00']['value'];
$pricenetto = $row2['TrE_CenaW'];
$pricebrutto = round($pricenetto * $vacikVALUE / 100 + $pricenetto, 2);
$totalvat = round($pricenetto * $vacikVALUE / 100, 2);
$query = "INSERT ecminvoiceoutitems (";
$query.= " id,";
$query.= " date_entered,";
$query.= " date_modified,";
$query.= " modified_user_id,";
$query.= " assigned_user_id,";
$query.= " created_by,";
$query.= " deleted,";
$query.= " ecminvoiceout_id,";
$query.= " ecmproduct_id,";
$query.= " position,";
$query.= " code,";
$query.= " name,";
$query.= " quantity,";
$query.= " price_start,";
$query.= " price_netto,";
$query.= " discount,";
$query.= " total_netto,";
$query.= " total_brutto,";
$query.= " dd_unit_id,";
$query.= " dd_unit_name,";
$query.= " ecmvat_id,";
$query.= " ecmvat_name,";
$query.= " ecmvat_value,";
$query.= " total_vat,";
$query.= " price_brutto
) VALUES (";
$query .= "'" . $row2['TrE_TrEID'] . "',"; // id
$query .= "NOW()" . ","; //date_entered
$query .= "NOW()" . ","; //date_modified
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //assigned_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "0,"; // deleted
$query .= "'" . $row2['TrE_TrNId'] . "',"; // ecminvoiceout_id
$query .= "'" . $row2['TrE_TwrId'] . "',"; // ecmproduct_id
$query .= "'" . $row2['TrE_Lp'] . "',"; // position
$query .= "'" . Encoding::toUTF8($row2['TrE_TwrKod']) . "',"; // code
$query .= "'" . Encoding::toUTF8($row2['TrE_TwrNazwa']) . "',"; // name
$query .= "'" . round($row2['TrE_Ilosc']) . "',"; // quantity
$query .= "'" . $row2['TrE_Cena0'] . "',"; // price_start
$query .= "'" . $row2['TrE_CenaW'] . "',"; // price_netto
$query .= "'" . $row2['TrE_Rabat'] . "',"; // discount
$query .= "'" . $row2['TrE_WartoscNetto'] . "',"; // total_netto
$query .= "'" . $row2['TrE_WartoscBrutto'] . "',"; // total_brutto
$query .= "'" . $jm . "',"; // dd_unit_id
$query .= "'" . $jmlist[$jm] . "',"; // dd_unit_name
$query .= "'" . $vacikID . "',"; // ecmvat_id
$query .= "'" . $vacikNAME . "',"; // ecmvat_name
$query .= "'" . $vacikVALUE . "',"; // ecmvat_value
$query .= "'" . $totalvat . "',"; // total_vat
$query .= "'" . $pricebrutto . "'"; // price_brutto
$query .= ");";
mysql_query($query);
}
}
} else {
$insert++;
$typdokumentu = '';
if ($row['TrN_DDfId'] == 1) {
$typdokumentu = 'normal';
} else {
$typdokumentu = 'correct';
}
$podUlica = '';
$podUlica .= trim(Encoding::toUTF8($row['TrN_PodUlica'])) . ' ';
$podUlica .= trim(Encoding::toUTF8($row['TrN_PodNrDomu'])) . ' ';
$podUlica .= trim(Encoding::toUTF8($row['TrN_PodNrLokalu']));
$podUlica = trim($podUlica);
$OdpUlica = '';
$OdpUlica .= trim(Encoding::toUTF8($row['TrN_OdbUlica'])) . ' ';
$OdpUlica .= trim(Encoding::toUTF8($row['TrN_OdbNrDomu'])) . ' ';
$OdpUlica .= trim(Encoding::toUTF8($row['TrN_OdbNrLokalu'])) . ' ';
$OdpUlica = trim($OdpUlica);
$formaplatnosci = '';
if ($row['TrN_FPlId'] != '') {
$q = "SELECT name FROM ecmpaymentconditions WHERE id = '" . $row['TrN_FPlId'] . "';";
$formaplatnosci = mysql_fetch_assoc(mysql_query($q));
$formaplatnosci = $formaplatnosci['name'];
}
$magazynNazwa = '';
if ($row['TrN_FPlId'] != '') {
$q = "Select name from ecmstocks where id = " . $row['TrN_MagZrdId'] . ";";
$magazynNazwa = mysql_fetch_assoc(mysql_query($q));
$magazynNazwa = $magazynNazwa['name'];
}
$anulowana = '0';
if ($row['TrN_Anulowany'] != '') {
if ($row['TrN_Anulowany'] == '-2147483647') {
$anulowana = 1;
}
}
try {
$tz = new DateTimeZone("Europe/Warsaw");
$dateTermin = new DateTime($row['TrN_Termin'], $tz);
$dateDataOpe = new DateTime($row['TrN_DataOpe'], $tz);
$dateDataDok = new DateTime($row['TrN_DataDok'], $tz);
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
$query = "INSERT ecminvoiceouts (
id,
name,
deleted,
date_entered,
date_modified,
modified_user_id,
assigned_user_id,
created_by,
number,
document_no,
parent_type,
parent_name,
parent_id,
type,
register_date,
total_netto,
total_brutto,
ecmlanguage,
parent_address_street,
parent_address_city,
parent_address_postalcode,
parent_address_country,
parent_nip_unformated,
parent_nip,
ecmpaymentcondition_id,
ecmpaymentcondition_text,
currency_id,
sell_date,
stock_id,
stock_name,
pdf_type,
parent_shipping_address_name,
parent_shipping_address_street,
parent_shipping_address_city,
parent_shipping_address_postalcode,
parent_shipping_address_country,
payment_date,
canceled,
total_vat,
discount
) VALUES (";
$query .= "'" . $row['TrN_TrNID'] . "',"; // id
$query .= "'" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',"; // name
$query .= "0,"; // deleted
$query .= "NOW()" . ","; //date_entered
$query .= "NOW()" . ","; //date_modified
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //assigned_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "'" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',"; // number
$query .= "'" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',"; // document_no
$query .= "'Accounts',"; // parent_type
$query .= "'" . trim(trim(Encoding::toUTF8($row['TrN_PodNazwa1'])) . ' ' . trim(Encoding::toUTF8($row['TrN_PodNazwa2'])) . ' ' . trim(Encoding::toUTF8($row['TrN_PodNazwa3']))) . "',"; // parent_name
$query .= "'" . Encoding::toUTF8($row['TrN_PodID']) . "',"; // parent_name
$query .= "'" . $typdokumentu . "',"; // type
$query .= "'" . $dateDataDok->format('Y-m-d') . "',"; // register_date
$query .= "'" . $row['TrN_RazemNetto'] . "',"; // total_netto
$query .= "'" . $row['TrN_RazemBrutto'] . "',"; // total_brutto
$query .= "'pl_pl',"; //ecmlanguage
$query .= "'" . $podUlica . "',"; // parent_address_street
$query .= "'" . Encoding::toUTF8($row['TrN_PodMiasto']) . "',"; // parent_address_city
$query .= "'" . Encoding::toUTF8($row['TrN_PodKodPocztowy']) . "',"; // parent_address_postalcode
$query .= "'" . Encoding::toUTF8($row['TrN_PodKraj']) . "',"; // parent_address_country
$query .= "'" . Encoding::toUTF8($row['TrN_PodNipE']) . "',"; // parent_nip_unformated
$query .= "'" . str_replace('-', '', Encoding::toUTF8($row['TrN_PodNipE'])) . "',"; // parent_nip
$query .= "'" . Encoding::toUTF8($row['TrN_FPlId']) . "',"; // ecmpaymentcondition_id
$query .= "'" . $formaplatnosci . "',"; // ecmpaymentcondition_text
$query .= "'PLN',"; //currency_id
$query .= "'" . $dateDataOpe->format('Y-m-d') . "',"; // sell_date
$query .= "'" . Encoding::toUTF8($row['TrN_MagZrdId']) . "',"; // stock_id
$query .= "'" . $magazynNazwa . "',"; // stock_name
$query .= "'K',"; //pdf_type
$query .= "'" . Encoding::toUTF8($row['TrN_OdbNazwa1']) . ' ' . Encoding::toUTF8($row['TrN_OdbNazwa2']) . ' ' . Encoding::toUTF8($row['TrN_OdbNazwa3']) . "',"; // parent_shipping_address_name
$query .= "'" . $OdpUlica . "',"; // parent_shipping_address_street
$query .= "'" . Encoding::toUTF8($row['TrN_OdbMiasto']) . "',"; // parent_shipping_address_city
$query .= "'" . Encoding::toUTF8($row['TrN_OdbKodPocztowy']) . "',"; // parent_address_postalcode
$query .= "'" . Encoding::toUTF8($row['TrN_OdbKraj']) . "',"; // parent_address_country
$query .= "'" . $dateTermin->format('Y-m-d') . "',"; // payment_date
$query .= "'" . $anulowana . "',"; // canceled
$query .= "'" . Encoding::toUTF8($row['TrN_RazemVAT']) . "',"; // total_vat
$query .= "'" . Encoding::toUTF8($row['TrN_Rabat']) . "'"; // discount
$query .= ");";
$rows = mysql_query($query);
$query2 = "SELECT * FROM [CDN_MATINSTAL].[CDN].[TraElem] where TrE_TrNID = " . $row['TrN_TrNID'];
$stmt2 = mssql_query($query2);
if ($stmt2 === false) {
echo "Error in query preparation/execution.\n";
die(print_r(mssql_errors(), true));
}
while ($row2 = mssql_fetch_array($stmt2)) {
$insertItems++;
$jm = null;
$jmtmp = Encoding::toUTF8($row2['TrE_Jm']);
switch ($jmtmp) {
case 'usі.':
$jm = 1;
break;
case 't':
$jm = 2;
break;
case 'szt':
$jm = 3;
break;
case 'kpl.':
$jm = 4;
break;
case 'kg':
$jm = 5;
break;
case 'litr':
$jm = 6;
break;
case 'm':
$jm = 7;
break;
case 'godz':
$jm = 8;
break;
case 'km.':
$jm = 9;
break;
}
$vacikID = $vatList[$row2['TrE_Stawka'] . '.00']['id'];
$vacikNAME = $vatList[$row2['TrE_Stawka'] . '.00']['name'];
$vacikVALUE = $vatList[$row2['TrE_Stawka'] . '.00']['value'];
$pricenetto = $row2['TrE_CenaW'];
$pricebrutto = round($pricenetto * $vacikVALUE / 100 + $pricenetto, 2);
$totalvat = round($pricenetto * $vacikVALUE / 100, 2);
$query = "INSERT ecminvoiceoutitems (";
$query.= " id,";
$query.= " date_entered,";
$query.= " date_modified,";
$query.= " modified_user_id,";
$query.= " assigned_user_id,";
$query.= " created_by,";
$query.= " deleted,";
$query.= " ecminvoiceout_id,";
$query.= " ecmproduct_id,";
$query.= " position,";
$query.= " code,";
$query.= " name,";
$query.= " quantity,";
$query.= " price_start,";
$query.= " price_netto,";
$query.= " discount,";
$query.= " total_netto,";
$query.= " total_brutto,";
$query.= " dd_unit_id,";
$query.= " dd_unit_name,";
$query.= " ecmvat_id,";
$query.= " ecmvat_name,";
$query.= " ecmvat_value,";
$query.= " total_vat,";
$query.= " price_brutto
) VALUES (";
$query .= "'" . $row2['TrE_TrEID'] . "',"; // id
$query .= "NOW()" . ","; //date_entered
$query .= "NOW()" . ","; //date_modified
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //assigned_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "0,"; // deleted
$query .= "'" . $row2['TrE_TrNId'] . "',"; // ecminvoiceout_id
$query .= "'" . $row2['TrE_TwrId'] . "',"; // ecmproduct_id
$query .= "'" . $row2['TrE_Lp'] . "',"; // position
$query .= "'" . Encoding::toUTF8($row2['TrE_TwrKod']) . "',"; // code
$query .= "'" . Encoding::toUTF8($row2['TrE_TwrNazwa']) . "',"; // name
$query .= "'" . round($row2['TrE_Ilosc']) . "',"; // quantity
$query .= "'" . $row2['TrE_Cena0'] . "',"; // price_start
$query .= "'" . $row2['TrE_CenaW'] . "',"; // price_netto
$query .= "'" . $row2['TrE_Rabat'] . "',"; // discount
$query .= "'" . $row2['TrE_WartoscNetto'] . "',"; // total_netto
$query .= "'" . $row2['TrE_WartoscBrutto'] . "',"; // total_brutto
$query .= "'" . $jm . "',"; // dd_unit_id
$query .= "'" . $jmlist[$jm] . "',"; // dd_unit_name
$query .= "'" . $vacikID . "',"; // ecmvat_id
$query .= "'" . $vacikNAME . "',"; // ecmvat_name
$query .= "'" . $vacikVALUE . "',"; // ecmvat_value
$query .= "'" . $totalvat . "',"; // total_vat
$query .= "'" . $pricebrutto . "'"; // price_brutto
$query .= ");";
mysql_query($query);
}
}
}
echo '*** Zaktualizowano ' . $update . PHP_EOL;
echo '*** Dodano ' . $insert . PHP_EOL;
echo '****** Zaktualizowano wpisów faktur ' . $updateItems . PHP_EOL;
echo '****** Dodano wpisów faktur ' . $insertItems . PHP_EOL;
echo 'Zakonczono dodawanie faktur sprzedazy' . PHP_EOL;
echo 'Dodawanie rozrachunkow' . PHP_EOL;
$query = "SELECT * FROM [CDN_MATINSTAL].[CDN].[TraNag]
where TrN_Anulowany != -2147483647
AND TrN_DDfId = 1 AND
TrN_FPlId != 1;";
$stmt = mssql_query($query);
if ($stmt === false) {
echo "Error in query preparation/execution.\n";
//die( print_r( mssql_errors(), true));
}
$query = 'SELECT id FROM ecmtransactions';
$return = mysql_query($query);
$existEcmTransactions = array();
while ($rr = mysql_fetch_assoc($return)) {
$existEcmTransactions[] = $rr['id'];
}
$insert = 0;
$update = 0;
while ($row = mssql_fetch_array($stmt)) {
if (in_array($row['TrN_TrNID'], $existEcmTransactions)) {
$update++;
$parentName = '';
if ($row['TrN_PodID'] != '') {
$q = "Select name from accounts where id = '" . $row['TrN_PodID'] . "';";
$parentName = mysql_fetch_assoc(mysql_query($q));
$parentName = $parentName['name'];
}
try {
$tz = new DateTimeZone("Europe/Warsaw");
$dateTermin = new DateTime($row['TrN_Termin'], $tz);
$dateDataDok = new DateTime($row['TrN_DataDok'], $tz);
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
$query = "UPDATE ecmtransactions SET ";
$query .= "date_modified=NOW(),";
$query .= "name='" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',";
$query .= "value='" . $row['TrN_RazemBrutto'] . "',";
$query .= "parent_name='" . $parentName . "',";
$query .= "parent_id='" . $row['TrN_PodID'] . "',";
$query .= "register_date='" . $dateDataDok->format('Y-m-d') . "',";
$query .= "payment_date='" . $dateTermin->format('Y-m-d') . "',";
$query .= "record_id='" . $row['TrN_TrNID'] . "',";
$query .= " WHERE id = '" . $row['TrN_TrNID'] . "'";
mysql_query($query);
} else {
$insert++;
$parentName = '';
if ($row['TrN_PodID'] != '') {
$q = "Select name from accounts where id = '" . $row['TrN_PodID'] . "';";
$parentName = mysql_fetch_assoc(mysql_query($q));
$parentName = $parentName['name'];
}
try {
$tz = new DateTimeZone("Europe/Warsaw");
$dateTermin = new DateTime($row['TrN_Termin'], $tz);
$dateDataDok = new DateTime($row['TrN_DataDok'], $tz);
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
$query = "INSERT ecmtransactions (
id,
date_entered,
date_modified,
modified_user_id,
assigned_user_id,
created_by,
deleted,
name,
value,
parent_name,
parent_id,
type,
register_date,
payment_date,
currency_id,
record_id,
record_type
) VALUES (";
$query .= "'" . $row['TrN_TrNID'] . "',"; // id
$query .= "NOW()" . ","; //date_entered
$query .= "NOW()" . ","; //date_modified
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //modified_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //assigned_user_id
$query .= "'243170e7-70c9-99c8-6ef3-542a4ff7e733',"; //created_by
$query .= "0,"; // deleted
$query .= "'" . Encoding::toUTF8($row['TrN_NumerPelny']) . "',"; // name
$query .= "'" . $row['TrN_RazemBrutto'] . "'" . ","; //value
$query .= "'" . $parentName . "'" . ","; //parent_name
$query .= "'" . $row['TrN_PodID'] . "',"; //parent_id
$query .= "0,"; // type
$query .= "'" . $dateDataDok->format('Y-m-d') . "',"; //register_date
$query .= "'" . $dateTermin->format('Y-m-d') . "',"; //payment_date
$query .= "'PLN',"; // currency_id
$query .= "'" . $row['TrN_TrNID'] . "',"; // id
$query .= "'EcmInvoiceOuts'"; // currency_id
$query .= ");";
mysql_query($query);
}
}
echo '*** Zaktualizowano ' . $update . PHP_EOL;
echo '*** Dodano ' . $insert . PHP_EOL;
echo 'Zakonczono dodawanie rozrachunkow' . PHP_EOL;
mysql_close($myconn);
mssql_close($msconn);
echo 'Zakonczono połączenie' . PHP_EOL;