85 lines
3.2 KiB
PHP
85 lines
3.2 KiB
PHP
<?php
|
|
$db = $GLOBALS['db'];
|
|
|
|
$inv = $db->query("SELECT * FROM ecminvoiceouts WHERE deleted='0' AND canceled='0' AND YEAR(register_date) IN ('2012','2013','2014') AND paid='0' ORDER BY parent_id");
|
|
|
|
|
|
$errors = array();
|
|
|
|
|
|
while ($i = $db->fetchByAssoc($inv)) {
|
|
|
|
$tr = $db->query("SELECT * FROM ecmtransactions WHERE record_id = '".$i['id']."' AND deleted='0'");
|
|
if ($tr->num_rows==0) {
|
|
$errors[$i['parent_name']]['no_transaction'][] = $i['document_no'];
|
|
addTransaction($i['id']);
|
|
continue;
|
|
}
|
|
if ($tr->num_rows>1) $errors[$i['parent_name']]['duplicate_transaction'][] = $i['document_no'];
|
|
$t = $db->fetchByAssoc($tr);
|
|
if ($i['total'] != $t['value']) {
|
|
//echo round(abs(floatval($i['total'])-floatval($t['value'])),2).'<br>';
|
|
$tmp = array();
|
|
$tmp['t'] = $t['value'];
|
|
$tmp['i'] = $i['total'];
|
|
$tmp['b'] = $i['subtotal'];
|
|
if (round(abs(floatval($i['total'])-floatval($t['value'])),2)<0.03) {
|
|
$i['document_no'] = '<b>'.$i['document_no'].'</b>';
|
|
repairTransaction($t['id'], $i['total']);
|
|
}
|
|
if (floatval($i['total'])==0 && floatval($i['subtotal'])!= 0 ) {
|
|
repairInvoice($i['id'], $t['value']);
|
|
$i['document_no'] = '<b>'.$i['document_no'].'</b>';
|
|
}
|
|
$tmp['d'] = $i['document_no'];
|
|
$errors[$i['parent_name']]['wrong_transaction'][] = $tmp;
|
|
}
|
|
if ($i['total']==0 && $t['value']== 0) {
|
|
$tmp = array();
|
|
$tmp['t'] = $t['value'];
|
|
$tmp['i'] = $i['total'];
|
|
$tmp['d'] = $i['document_no'];
|
|
$errors[$i['parent_name']]['zero_transaction'][] = $tmp;
|
|
}
|
|
}
|
|
foreach ($errors as $parent=>$val) {
|
|
echo '<h1>Klient: '.$parent.'</h1><br>';
|
|
echo '<h2>Brak transakcji</h2>';
|
|
foreach ($val['no_transaction'] as $v) {
|
|
echo $v.'<br>';
|
|
}
|
|
echo '<h2>Zduplikowana transakcja</h2>';
|
|
foreach ($val['duplicate_transaction'] as $v) {
|
|
echo $v.'<br>';
|
|
}
|
|
echo '<h2>Błędna kwota</h2>';
|
|
foreach ($val['wrong_transaction'] as $v) {
|
|
echo $v['d'].': '.$v['i'].' | '.$v['t'].' | '.$v['b'].'<br>';
|
|
}
|
|
echo '<h2>Transakcja zerowa</h2>';
|
|
foreach ($val['zero_transaction'] as $v) {
|
|
echo $v['d'].': '.$v['i'].' | '.$v['t'].'<br>';
|
|
}
|
|
echo '<br><br><br>';
|
|
}
|
|
|
|
function repairInvoice($inv_id, $total) {
|
|
return;
|
|
$GLOBALS['db']->query("UPDATE ecminvoiceouts SET total='$total' WHERE id='$inv_id'");
|
|
}
|
|
|
|
function repairTransaction($trans_id, $value) {
|
|
return;
|
|
$GLOBALS['db']->query("UPDATE ecmtransactions SET value='$value' WHERE id='$trans_id'");
|
|
}
|
|
|
|
function addTransaction($inv_id) {
|
|
return;
|
|
$db = $GLOBALS['db'];
|
|
$r = $db->fetchByAssoc($db->query("SELECT * FROM ecminvoiceouts WHERE id='$inv_id'"));
|
|
|
|
//add transaction
|
|
$db->query ("INSERT INTO ecmtransactions(id,name,date_entered,date_modified,modified_user_id,created_by,description,deleted,assigned_user_id,value,parent_name,parent_id,payment_date,type,paid,register_date,record_id,record_type,currency_id,currency_value)VALUES('".create_guid()."','".$r['document_no']."','".$r['date_entered']."','".$r['date_entered']."','2','2','','".$r['canceled']."','".$r['assigned_user_id']."','".$r['total']."','".$r['parent_name']."','".$r['parent_id']."','".$r['payment_date']."','0','".$r['paid']."','".$r['register_date']."','".$r['id']."','EcmInvoiceOuts','".$r['currency_id'] ."','".$r['currency_value'] ."')");
|
|
|
|
}
|
|
?>
|