Files
crm.twinpol.com/modules/EcmPaymentStates/raport.php

85 lines
3.1 KiB
PHP
Raw Normal View History

2025-05-12 15:44:39 +00:00
<?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'] ."')");
}
?>