Importazione seriali da fattura di acquisto
This commit is contained in:
parent
92e0659bd4
commit
69bb54b04b
|
@ -89,6 +89,7 @@ switch ($resource) {
|
|||
`mg_articoli`.`um`,
|
||||
`mg_articoli`.`fattore_um_secondaria`,
|
||||
`mg_articoli`.`servizio`,
|
||||
`mg_articoli`.`abilita_serial`,
|
||||
|
||||
`mg_articoli`.`idconto_vendita`,
|
||||
`mg_articoli`.`idconto_acquisto`,
|
||||
|
|
|
@ -139,6 +139,7 @@ switch (filter('op')) {
|
|||
'crea_articoli' => post('crea_articoli'),
|
||||
'is_ritenuta_pagata' => post('is_ritenuta_pagata'),
|
||||
'update_info' => post('update_info'),
|
||||
'serial' => post('flag_crea_seriali') ? post('serial') : [],
|
||||
];
|
||||
|
||||
$fattura_pa = FatturaElettronica::manage($filename);
|
||||
|
|
|
@ -29,6 +29,17 @@ echo '
|
|||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#save-buttons").hide();
|
||||
|
||||
// Visualizza input seriali se abilita serial dell\'articolo selezionato è attivo
|
||||
let articoli = $("select[name^=articoli]");
|
||||
articoli.each(function() {
|
||||
verificaSerial($(this));
|
||||
});
|
||||
|
||||
// Disabilita input seriali se flag crea seriali è disattivato
|
||||
if (!$("#flag_crea_seriali").is(":checked")) {
|
||||
$("[id^=\'serial\']").attr("disabled", true);
|
||||
}
|
||||
});
|
||||
</script>';
|
||||
|
||||
|
@ -312,6 +323,10 @@ echo '
|
|||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "checkbox", "label": "'.tr('Creazione automatica articoli').'", "name": "flag_crea_articoli", "value": 0, "help": "'.tr("Nel caso di righe con tag CodiceArticolo, il gestionale procede alla creazione dell'articolo se la riga non risulta assegnata manualmente").'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "checkbox", "label": "'.tr('Creazione seriali').'", "name": "flag_crea_seriali", "value": 0, "help": "'.tr("Nel caso di righe contenenti serial, il gestionale procede alla registrazione del serial").'" ]}
|
||||
</div>';
|
||||
|
||||
$ritenuta = $dati_generali['DatiRitenuta'];
|
||||
|
@ -403,8 +418,12 @@ if (!empty($righe)) {
|
|||
$codici = !empty($codici) && !isset($codici[0]) ? [$codici] : $codici;
|
||||
|
||||
$codici_articoli = [];
|
||||
$serial = [];
|
||||
foreach ($codici as $codice) {
|
||||
$codici_articoli[] = $codice['CodiceValore'].' ('.$codice['CodiceTipo'].')';
|
||||
if (str_contains($codice['CodiceTipo'], 'serial') || str_contains($codice['CodiceTipo'], 'Serial')) {
|
||||
$serial[] = $codice['CodiceValore'];
|
||||
}
|
||||
}
|
||||
|
||||
// Individuazione articolo con codice relativo
|
||||
|
@ -584,6 +603,16 @@ if (!empty($righe)) {
|
|||
{[ "type": "select", "name": "update_info['.$key.']", "values": "list=\"update_not\":\"Non aggiornare\", \"update_price\":\"Aggiorna prezzo di listino\", \"update_all\":\"Aggiorna prezzo di acquisto + imposta fornitore predefinito\"", "label": "'.tr('Aggiorna info di acquisto').'", "value": "'.$update_info.'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">';
|
||||
for ($i = 0; $i < $qta; $i++) {
|
||||
echo '
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "'.tr('Serial').'", "name": "serial['.$key.'][]", "value": "'.$serial[$i].'" ]}
|
||||
</div>';
|
||||
}
|
||||
echo '
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -877,6 +906,8 @@ $("[id^=\'articoli\']").change(function() {
|
|||
if(data!==undefined){
|
||||
$("#conto-"+$(this).data("id")).selectSetNew(data.idconto_acquisto, data.idconto_acquisto_title);
|
||||
}
|
||||
|
||||
verificaSerial($(this));
|
||||
});
|
||||
|
||||
function copy_rif() {
|
||||
|
@ -910,4 +941,27 @@ function copy_rif() {
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Visualizza input seriali se abilita serial dell\'articolo selezionato è attivo
|
||||
function verificaSerial(riga) {
|
||||
if (riga.val()) {
|
||||
let data = riga.selectData();
|
||||
if (data.abilita_serial) {
|
||||
$("#serial"+riga.data("id")).parent().parent().parent().removeClass("hidden");
|
||||
} else {
|
||||
$("#serial"+riga.data("id")).parent().parent().parent().addClass("hidden");
|
||||
}
|
||||
} else {
|
||||
$("#serial"+riga.data("id")).parent().parent().parent().addClass("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
// Disabilita input seriali se flag crea seriali è disattivato
|
||||
$("#flag_crea_seriali").on("change", function() {
|
||||
if ($(this).is(":checked")) {
|
||||
$("[id^=\'serial\']").attr("disabled", false);
|
||||
} else {
|
||||
$("[id^=\'serial\']").attr("disabled", true);
|
||||
}
|
||||
});
|
||||
</script>';
|
||||
|
|
|
@ -411,7 +411,7 @@ class FatturaElettronica
|
|||
{
|
||||
$this->saveFattura($info['id_pagamento'], $info['id_segment'], $info['id_tipo'], $info['data_registrazione'], $info['ref_fattura'], $info['is_ritenuta_pagata']);
|
||||
|
||||
$this->saveRighe($info['articoli'], $info['iva'], $info['conto'], $info['movimentazione'], $info['crea_articoli'], $info['tipo_riga_riferimento'], $info['id_riga_riferimento'], $info['tipo_riga_riferimento_vendita'], $info['id_riga_riferimento_vendita'], $info['update_info']);
|
||||
$this->saveRighe($info['articoli'], $info['iva'], $info['conto'], $info['movimentazione'], $info['crea_articoli'], $info['tipo_riga_riferimento'], $info['id_riga_riferimento'], $info['tipo_riga_riferimento_vendita'], $info['id_riga_riferimento_vendita'], $info['update_info'], $info['serial']);
|
||||
|
||||
$this->saveAllegati();
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
return $this->forceArray($linee);
|
||||
}
|
||||
|
||||
public function saveRighe($articoli, $iva, $conto, $movimentazione = true, $crea_articoli = [], $tipi_riferimenti = [], $id_riferimenti = [], $tipi_riferimenti_vendita = [], $id_riferimenti_vendita = [], $update_info = [])
|
||||
public function saveRighe($articoli, $iva, $conto, $movimentazione = true, $crea_articoli = [], $tipi_riferimenti = [], $id_riferimenti = [], $tipi_riferimenti_vendita = [], $id_riferimenti_vendita = [], $update_info = [], $serials = [])
|
||||
{
|
||||
$info = $this->getRitenutaRivalsa();
|
||||
|
||||
|
@ -364,6 +364,11 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$articolo->save();
|
||||
}
|
||||
}
|
||||
|
||||
// Gestione seriali
|
||||
if ($serials[$key]) {
|
||||
$obj->serials = $serials[$key];
|
||||
}
|
||||
}
|
||||
|
||||
$tipo = null;
|
||||
|
|
Loading…
Reference in New Issue