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).'
'; $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'] = ''.$i['document_no'].''; repairTransaction($t['id'], $i['total']); } if (floatval($i['total'])==0 && floatval($i['subtotal'])!= 0 ) { repairInvoice($i['id'], $t['value']); $i['document_no'] = ''.$i['document_no'].''; } $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 '

Klient: '.$parent.'


'; echo '

Brak transakcji

'; foreach ($val['no_transaction'] as $v) { echo $v.'
'; } echo '

Zduplikowana transakcja

'; foreach ($val['duplicate_transaction'] as $v) { echo $v.'
'; } echo '

Błędna kwota

'; foreach ($val['wrong_transaction'] as $v) { echo $v['d'].': '.$v['i'].' | '.$v['t'].' | '.$v['b'].'
'; } echo '

Transakcja zerowa

'; foreach ($val['zero_transaction'] as $v) { echo $v['d'].': '.$v['i'].' | '.$v['t'].'
'; } echo '


'; } 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'] ."')"); } ?>