mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-01-16 09:21:52 +01:00
Fix invio scadenze per anagrafica da bulk
This commit is contained in:
parent
9a29164d48
commit
f14b151c32
@ -76,66 +76,71 @@ switch (post('op')) {
|
|||||||
|
|
||||||
$list = [];
|
$list = [];
|
||||||
$anagrafiche = [];
|
$anagrafiche = [];
|
||||||
$id_anagrafica = 0;
|
$id_anagrafica = 0;
|
||||||
$scadenze = Scadenza::whereIn('id', $id_records)->where('pagato', '>', 'da_pagare')->orderBy('idanagrafica')->orderBy('iddocumento')->get();
|
|
||||||
foreach ($scadenze as $key => $scadenza) {
|
|
||||||
$documento = $scadenza->documento;
|
|
||||||
|
|
||||||
// Controllo se è una fattura di vendita
|
foreach ($id_records as $id) {
|
||||||
if ($documento->direzione == 'entrata' && $scadenza->scadenza <= date('Y-m-d')) {
|
$scadenze = $database->FetchArray('SELECT * FROM co_scadenziario WHERE id = '.$id.' AND pagato < da_pagare ORDER BY idanagrafica, iddocumento');
|
||||||
$id_documento = $documento->id;
|
foreach ($scadenze as $key => $scadenza) {
|
||||||
$id_anagrafica = $documento->idanagrafica;
|
$scadenza = Scadenza::find($scadenza['id']);
|
||||||
|
$documento = Fattura::find($scadenza['iddocumento']);
|
||||||
|
|
||||||
$fattura_allegata = $dbo->selectOne('zz_files', 'id', ['id_module' => $id_module, 'id_record' => $scadenza->id, 'original' => $scadenza->descrizione.'.pdf'])['id'];
|
// Controllo se è una fattura di vendita
|
||||||
|
if ($documento->direzione == 'entrata' && $scadenza->scadenza <= date('Y-m-d')) {
|
||||||
// Allego stampa della fattura se non presente
|
$id_documento = $documento->id;
|
||||||
if (empty($fattura_allegata)) {
|
$id_anagrafica = $documento->idanagrafica;
|
||||||
$print_predefined = $dbo->selectOne('zz_prints', '*', ['predefined' => 1, 'id_module' => Modules::get('Fatture di vendita')['id']]);
|
|
||||||
|
|
||||||
$print = Prints::render($print_predefined['id'], $id_documento, null, true);
|
|
||||||
$upload = Uploads::upload($print['pdf'], [
|
|
||||||
'name' => $scadenza->descrizione,
|
|
||||||
'original_name' => $scadenza->descrizione.'.pdf',
|
|
||||||
'category' => 'Generale',
|
|
||||||
'id_module' => $id_module,
|
|
||||||
'id_record' => $scadenza->id,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$fattura_allegata = $dbo->selectOne('zz_files', 'id', ['id_module' => $id_module, 'id_record' => $scadenza->id, 'original' => $scadenza->descrizione.'.pdf'])['id'];
|
$fattura_allegata = $dbo->selectOne('zz_files', 'id', ['id_module' => $id_module, 'id_record' => $scadenza->id, 'original' => $scadenza->descrizione.'.pdf'])['id'];
|
||||||
}
|
|
||||||
|
|
||||||
// Selezione destinatari e invio mail
|
// Allego stampa della fattura se non presente
|
||||||
if (!empty($template)) {
|
if (empty($fattura_allegata)) {
|
||||||
// Invio unico per scadenze della stessa anagrafica
|
$print_predefined = $dbo->selectOne('zz_prints', '*', ['predefined' => 1, 'id_module' => Modules::get('Fatture di vendita')['id']]);
|
||||||
if (!in_array($documento->idanagrafica, $anagrafiche)) {
|
|
||||||
$creata_mail = false;
|
|
||||||
$emails = [];
|
|
||||||
|
|
||||||
// Aggiungo email anagrafica
|
$print = Prints::render($print_predefined['id'], $id_documento, null, true);
|
||||||
if (!empty($documento->anagrafica->email)) {
|
$upload = Uploads::upload($print['pdf'], [
|
||||||
$emails[] = $documento->anagrafica->email;
|
'name' => $scadenza->descrizione,
|
||||||
$mail = Mail::build(auth()->getUser(), $template, $scadenza->id);
|
'original_name' => $scadenza->descrizione.'.pdf',
|
||||||
$mail->addReceiver($documento->anagrafica->email);
|
'category' => 'Generale',
|
||||||
$creata_mail = true;
|
'id_module' => $id_module,
|
||||||
}
|
'id_record' => $scadenza->id,
|
||||||
|
]);
|
||||||
|
|
||||||
// Aggiungo email referenti in base alla mansione impostata nel template
|
$fattura_allegata = $dbo->selectOne('zz_files', 'id', ['id_module' => $id_module, 'id_record' => $scadenza->id, 'original' => $scadenza->descrizione.'.pdf'])['id'];
|
||||||
$mansioni = $dbo->select('em_mansioni_template', 'idmansione', [], ['id_template' => $template->id]);
|
}
|
||||||
foreach ($mansioni as $mansione) {
|
|
||||||
$referenti = $dbo->table('an_referenti')->where('idmansione', $mansione['idmansione'])->where('idanagrafica', $id_anagrafica)->where('email', '!=', '')->get();
|
// Selezione destinatari e invio mail
|
||||||
if (!$referenti->isEmpty() && $creata_mail == false) {
|
if (!empty($template)) {
|
||||||
$mail = Mail::build(auth()->getUser(), $template, $id);
|
// Invio unico per scadenze della stessa anagrafica
|
||||||
|
if (!in_array($documento->idanagrafica, $anagrafiche)) {
|
||||||
|
$creata_mail = false;
|
||||||
|
$emails = [];
|
||||||
|
|
||||||
|
// Aggiungo email anagrafica
|
||||||
|
if (!empty($documento->anagrafica->email)) {
|
||||||
|
$emails[] = $documento->anagrafica->email;
|
||||||
|
$mail = Mail::build(auth()->getUser(), $template, $scadenza->id);
|
||||||
|
$mail->addReceiver($documento->anagrafica->email);
|
||||||
$creata_mail = true;
|
$creata_mail = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($referenti as $referente) {
|
// Aggiungo email referenti in base alla mansione impostata nel template
|
||||||
if (!in_array($referente->email, $emails)) {
|
$mansioni = $dbo->select('em_mansioni_template', 'idmansione', [], ['id_template' => $template->id]);
|
||||||
$emails[] = $referente->email;
|
foreach ($mansioni as $mansione) {
|
||||||
$mail->addReceiver($referente->email);
|
$referenti = $dbo->table('an_referenti')->where('idmansione', $mansione['idmansione'])->where('idanagrafica', $id_anagrafica)->where('email', '!=', '')->get();
|
||||||
|
if (!$referenti->isEmpty() && $creata_mail == false) {
|
||||||
|
$mail = Mail::build(auth()->getUser(), $template, $id);
|
||||||
|
$creata_mail = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($referenti as $referente) {
|
||||||
|
if (!in_array($referente->email, $emails)) {
|
||||||
|
$emails[] = $referente->email;
|
||||||
|
$mail->addReceiver($referente->email);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!empty($emails)) {
|
if (!empty($emails)) {
|
||||||
OperationLog::setInfo('id_email', $mail->id);
|
OperationLog::setInfo('id_email', $mail->id);
|
||||||
|
Loading…
Reference in New Issue
Block a user