init
This commit is contained in:
137
importE5EDISales.php
Normal file
137
importE5EDISales.php
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
error_reporting(E_ERROR);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
if (!defined('sugarEntry')) define('sugarEntry', true);
|
||||
|
||||
if (PHP_SAPI !== 'cli') {
|
||||
die("");
|
||||
}
|
||||
chdir(realpath(dirname(__FILE__)));
|
||||
|
||||
require_once('include/entryPoint.php');
|
||||
require_once("include/database/MysqliManager.php");
|
||||
|
||||
global $suger_config;
|
||||
$config = $sugar_config['dbconfig'];
|
||||
|
||||
$GLOBALS['db']->connect($config, true, $config['db_name']);
|
||||
|
||||
//require_once ('modules/EcmSales/bimit_importEdiOrders.php');
|
||||
|
||||
checkEDISales();
|
||||
|
||||
return;
|
||||
|
||||
function checkEDISales()
|
||||
{
|
||||
require_once('modules/EcmSales/EcmSale.php');
|
||||
require_once('modules/EcmSales/readXML.php');
|
||||
|
||||
require_once 'include/phpMailer2/class.phpmailer.php';
|
||||
require_once 'include/phpMailer2/class.smtp.php';
|
||||
|
||||
$path = '/var/edi/e5/orders';
|
||||
$folders = array(
|
||||
'archive',
|
||||
'temp',
|
||||
'confirm'
|
||||
); // do not read this folders
|
||||
|
||||
$orders = array();
|
||||
if (is_dir($path)) {
|
||||
if ($dh = opendir($path)) {
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
if (!is_dir($file) && !in_array($file, $folders)) {
|
||||
$orders[] = $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// add orders
|
||||
$mail_msg = array();
|
||||
foreach ($orders as $order) {
|
||||
$s = new EcmSale();
|
||||
$reader = new readXML();
|
||||
$reader->loadXMLFile($order);
|
||||
$reader->loader($s);
|
||||
$s->position_list = $reader->getPositionList(true);
|
||||
$missedProducts = $reader->checkProducts($s->position_list);
|
||||
$number = $s->generateNumber();
|
||||
$s->number = $number;
|
||||
$s->document_no = $s->formatNumber($number);
|
||||
$s->edi_file = $order;
|
||||
$s->type = 'sales_order';
|
||||
$s->status = 's30';
|
||||
$s->ecmlanguage = 'pl_pl';
|
||||
$a = new Account();
|
||||
$a->retrieve($s->parent_id);
|
||||
$s->assigned_user_id = $a->assigned_user_id;
|
||||
$s->assigned_user_name = $a->assigned_user_name;
|
||||
// calculate totals
|
||||
$sum_netto = 0;
|
||||
$sum_brutto = 0;
|
||||
foreach ($s->position_list as $p) {
|
||||
$sum_netto += $p['total_netto'];
|
||||
$sum_brutto += $p['total_brutto'];
|
||||
}
|
||||
$s->total_netto = $sum_netto;
|
||||
|
||||
if ($s->parent_id == 134 || $s->parent_id == '134') {
|
||||
$s->shop_number = null;
|
||||
}
|
||||
|
||||
$s->total_brutto = $sum_brutto;
|
||||
$s->save ();
|
||||
|
||||
if (!is_array($mail_msg[$a->assigned_user_id]))
|
||||
$mail_msg[$a->assigned_user_id] = array();
|
||||
if (!$s->parent_name || $s->parent_name == "")
|
||||
$s->parent_name = 'Błąd! Brak kontrahenta!';
|
||||
$msg =
|
||||
'<b>Plik: ' . $order . '</b><br>' . $s->document_no . ', ' . $s->parent_document_no . ', ' . $s->parent_name . '<br>';
|
||||
if (count($missedProducts) == 0) {
|
||||
$msg .= 'Status produktów: <b>OK</b>';
|
||||
} else {
|
||||
$msg .= '<b>Zamówienie niekompletne: ' . implode(', ', $missedProducts);
|
||||
}
|
||||
$msg .= '<br><br><br>';
|
||||
$mail_msg[$a->assigned_user_id][] = $msg;
|
||||
unset($a);
|
||||
// move files
|
||||
rename($path . '/' . $order, $path . '/archive/' . $order);
|
||||
}
|
||||
//send messages
|
||||
// require_once 'modules/Schedulers/phpMailer.php';
|
||||
foreach ($mail_msg as $user => $msg) {
|
||||
$u = new User();
|
||||
$u->retrieve($user);
|
||||
|
||||
$message = $date = date('Y-m-d H:i:s') . ' dodano zamówienie(a):<br>';
|
||||
foreach ($msg as $m) {
|
||||
$message .= $m . '<br>';
|
||||
}
|
||||
|
||||
$mail = new PHPMailer2();
|
||||
$mail->isSMTP();
|
||||
$mail->setFrom('system@e5.pl', 'Usługa importu EDI');
|
||||
$mail->Host = 'smtp.gmail.com';
|
||||
$mail->SMTPAuth = true;
|
||||
$mail->Username = 'system@e5.pl';
|
||||
$mail->Password = 'eT4U>hyJe';
|
||||
$mail->SMTPSecure = 'tls';
|
||||
$mail->Port = 587;
|
||||
$mail->CharSet = 'UTF-8';
|
||||
$mail->addAddress('mz@bim-it.pl', 'Michał Zieliński');
|
||||
$mail->addAddress('rl@e5.pl', 'Ryszard Lisiecki');
|
||||
$mail->addAddress('mf@e5.pl', 'Małgorzata Franiewska');
|
||||
$mail->isHTML(true);
|
||||
$mail->Subject = "Import zamówienia EDI - E5";
|
||||
$mail->Body = $message;
|
||||
$mail->send();
|
||||
|
||||
unset($mS); // cleaning
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user