Finish FixListiniVend
This commit is contained in:
@@ -46,9 +46,9 @@ class ContoEconomicoProdotto {
|
||||
return $gestSetup->section("VERIFICA_AGGIORNAMENTO_PREZZI")->keySection("USA_COSTO_MERC")->asBoolean()->defaultValue(false)->get();
|
||||
}
|
||||
|
||||
private static function getTipoRagguppamento() {
|
||||
public static function getTipoRagguppamento() {
|
||||
$GestSetup = new \GestSetup;
|
||||
return $GestSetup->keySection("TIPO_RAGGRUPPAMENTO")->defaultValue("T")->get();
|
||||
return $GestSetup->section("CONTO_ECONOMICO_PRODOTTO")->keySection("TIPO_RAGGRUPPAMENTO")->defaultValue("T")->get();
|
||||
}
|
||||
|
||||
public static function get_contattiListino($codVlis) {
|
||||
|
||||
@@ -62,7 +62,7 @@ SELECT listino.cod_mart + '-' + listino.cod_vlis + '-' + CAST(listino.versione A
|
||||
CAST(listino.descrizione_html AS VARCHAR(MAX)) AS descrizione_html,
|
||||
listino.note,
|
||||
CASE WHEN listino.system_note IS NULL THEN 'N' ELSE 'S' END AS has_storico,
|
||||
(SELECT SUM(IIF(vlp.perc_fat <> 0, vlp.perc_fat,
|
||||
(SELECT SUM(IIF(vlp.perc_fat_04 <> 0, vlp.perc_fat_04,
|
||||
(vlp.valore_fisso / IIF(vlp.fatturato_bdg <> 0, vlp.fatturato_bdg, 1)) * 100)) AS premio
|
||||
FROM vtb_list_premi vlp
|
||||
WHERE listino.data_iniz BETWEEN vlp.da_data_fat AND vlp.a_data_fat
|
||||
|
||||
@@ -97,7 +97,8 @@ class ListiniVendita {
|
||||
|
||||
$query
|
||||
->setDateVar("dataValidita", array_get($data, "dataValidita", time()))
|
||||
->setVar("codVlis", $codVlis);
|
||||
->setVar("codVlis", $codVlis)
|
||||
->setVar("tipoRagg", ContoEconomicoProdotto::getTipoRagguppamento());
|
||||
|
||||
$ret = $query->toRet()->execute();
|
||||
|
||||
@@ -285,8 +286,8 @@ class ListiniVendita {
|
||||
->setDate("daDataFat", array_get($premio, "da_data_fat"))
|
||||
->setDate("aDataFat", array_get($premio, "a_data_fat"))
|
||||
->set("descrizione", array_get($premio, "descrizione"))
|
||||
->set("aImportoFat", array_get($premio, "a_importo_fat"))
|
||||
->set("percFat", array_get($premio, "percFat"))
|
||||
->set("aImportoFat04", array_get($premio, "a_importo_fat_04"))
|
||||
->set("percFat04", array_get($premio, "perc_fat_04"))
|
||||
->set("valoreFisso", array_get($premio, "valore_fisso"))
|
||||
->set("fatturatoBdg", array_get($premio, "fatturato_bdg"));
|
||||
|
||||
|
||||
@@ -10,9 +10,30 @@ SELECT list.cod_vlis AS cod_anag,
|
||||
confezionamento,
|
||||
ISNULL(lavorazione, 0) + ISNULL(confezionamento, 0) AS costo,
|
||||
list.ricarico,
|
||||
list.magg_prz_vend
|
||||
list.magg_prz_vend,
|
||||
CASE '[tipoRagg]'
|
||||
WHEN 'T' THEN ISNULL(mtb_aart.cod_mtip, '')
|
||||
WHEN 'G' THEN mtb_aart.cod_mgrp
|
||||
ELSE '' END AS cod_mtip,
|
||||
CASE '[tipoRagg]'
|
||||
WHEN 'T' THEN ISNULL(mtb_tipi.descrizione, '')
|
||||
WHEN 'G' THEN mtb_grup.descrizione
|
||||
ELSE '' END AS descr_tipi,
|
||||
CASE '[tipoRagg]'
|
||||
WHEN 'T' THEN ISNULL(mtb_aart.cod_mstp, '')
|
||||
WHEN 'G' THEN mtb_aart.cod_mgrp
|
||||
ELSE '' END AS cod_mstp,
|
||||
CASE '[tipoRagg]'
|
||||
WHEN 'T' THEN ISNULL(mtb_stip.descrizione, '')
|
||||
WHEN 'G' THEN mtb_sgrp.descrizione
|
||||
ELSE '' END AS descr_stipi
|
||||
FROM getListinoVendita('[dataValidita]', '[codVlis]', NULL) list
|
||||
INNER JOIN mtb_aart ON list.cod_mart = mtb_aart.cod_mart
|
||||
INNER JOIN mtb_grup ON mtb_aart.cod_mgrp = mtb_grup.cod_mgrp
|
||||
INNER JOIN mtb_sgrp ON mtb_aart.cod_mgrp = mtb_sgrp.cod_mgrp AND mtb_aart.cod_msgr = mtb_sgrp.cod_msgr
|
||||
LEFT OUTER JOIN mtb_tipi ON mtb_aart.cod_mtip = mtb_tipi.cod_mtip
|
||||
LEFT OUTER JOIN mtb_stip ON mtb_aart.cod_mtip = mtb_stip.cod_mtip AND
|
||||
mtb_aart.cod_mstp = mtb_stip.cod_mstp
|
||||
CROSS APPLY
|
||||
(SELECT SUM([lavorazione]) AS lavorazione, SUM([confezionamento]) AS confezionamento
|
||||
FROM (SELECT * FROM RossoGargano.dbo.f_ExplodeDistMultiLev_costi(list.cod_mart, list.rap_conv, 1)) p
|
||||
|
||||
@@ -263,7 +263,7 @@ export default class ListiniVendita extends TabsViewModule {
|
||||
editable: true,
|
||||
toolbar: ["create"],
|
||||
dataBound: (e: kendo.ui.GridDataBoundEvent) => {
|
||||
$(".k-grid-add")
|
||||
e.sender.element.find(".k-grid-add")
|
||||
.addClass("disabled")
|
||||
.off("click")
|
||||
.on("click", async () => {
|
||||
@@ -392,7 +392,7 @@ export default class ListiniVendita extends TabsViewModule {
|
||||
},
|
||||
save: async (e) => {
|
||||
const listino = e.model as ArticoloListino;
|
||||
let recalcPrzVend = !!e.values?.ricarico;
|
||||
const recalcPrzVend = !!e.values?.ricarico;
|
||||
|
||||
if (e.values?.unt_mis_ven) {
|
||||
const oldTipoUm = listino.listaMisure.find(misura => misura.untMis === listino.unt_mis_ven).tipoUm;
|
||||
@@ -400,11 +400,11 @@ export default class ListiniVendita extends TabsViewModule {
|
||||
|
||||
if (oldTipoUm === "UP" && newTipoUm === "UI") {
|
||||
listino.set("costo", listino.costo * listino.qta_cnf);
|
||||
listino.set("prz_vend", listino.prz_vend * listino.qta_cnf);
|
||||
} else {
|
||||
listino.set("costo", listino.costo / listino.qta_cnf);
|
||||
listino.set("prz_vend", listino.prz_vend / listino.qta_cnf);
|
||||
}
|
||||
|
||||
recalcPrzVend = true;
|
||||
}
|
||||
|
||||
if (recalcPrzVend) {
|
||||
@@ -641,7 +641,10 @@ export default class ListiniVendita extends TabsViewModule {
|
||||
id: "f201b006-8aba-4bc7-801b-98723aeb604d",
|
||||
field: "articolo",
|
||||
title: "Articolo",
|
||||
type: "string"
|
||||
type: "string",
|
||||
attributes: {
|
||||
class: "!k-text-left"
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "1328ebd9-8316-4c1c-8a04-f34cfe010fcd",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {TabImpl} from "@js/modules/TabsViewModule.js";
|
||||
import ListiniVendita from "@gest-lib/listini_vendita/ts/ListiniVendita.js";
|
||||
import {numberStyle} from "@js/utils.js";
|
||||
import {calcPrzVend} from "@js/api/pvm.js";
|
||||
|
||||
export class Costo extends kendo.data.Model.define({
|
||||
id: "id",
|
||||
@@ -19,6 +18,10 @@ export class Costo extends kendo.data.Model.define({
|
||||
costo: {type: "number"},
|
||||
ricarico: {type: "number"},
|
||||
magg_prz_vend: {type: "number"},
|
||||
cod_mtip: {type: "string"},
|
||||
descr_tipi: {type: "string"},
|
||||
cod_mstp: {type: "string"},
|
||||
descr_stipi: {type: "string"},
|
||||
}
|
||||
}) {
|
||||
cod_anag: string;
|
||||
@@ -33,6 +36,10 @@ export class Costo extends kendo.data.Model.define({
|
||||
costo: number;
|
||||
ricarico: number;
|
||||
magg_prz_vend: number;
|
||||
cod_mtip: string
|
||||
descr_tipi: string
|
||||
cod_mstp: string
|
||||
descr_stipi: string
|
||||
}
|
||||
|
||||
export default class TabCostiProd extends TabImpl<ListiniVendita> {
|
||||
@@ -93,17 +100,17 @@ export default class TabCostiProd extends TabImpl<ListiniVendita> {
|
||||
|
||||
await this.dataSourceCosti.sync();
|
||||
|
||||
const przVend = await calcPrzVend({
|
||||
codVlis: costo.cod_anag,
|
||||
codMart: costo.cod_mart,
|
||||
przBase: costo.costo,
|
||||
ricarico: costo.ricarico,
|
||||
maggPrzVend: costo.magg_prz_vend
|
||||
});
|
||||
|
||||
costo.set("prz_vend", przVend);
|
||||
|
||||
await this.dataSourceCosti.sync();
|
||||
// const przVend = await calcPrzVend({
|
||||
// codVlis: costo.cod_anag,
|
||||
// codMart: costo.cod_mart,
|
||||
// przBase: costo.costo,
|
||||
// ricarico: costo.ricarico,
|
||||
// maggPrzVend: costo.magg_prz_vend
|
||||
// });
|
||||
//
|
||||
// costo.set("prz_vend", przVend);
|
||||
//
|
||||
// await this.dataSourceCosti.sync();
|
||||
}
|
||||
},
|
||||
remove: async (e: kendo.ui.GridRemoveEvent) => {
|
||||
@@ -138,6 +145,14 @@ export default class TabCostiProd extends TabImpl<ListiniVendita> {
|
||||
super(module);
|
||||
|
||||
this.columnsCosti = _kendo.setDefaultCellOptions([
|
||||
{
|
||||
id: "36ef7095-8fa3-4baf-aa16-54b644cfa4d9",
|
||||
field: "descr_stipi",
|
||||
title: "Categoria",
|
||||
type: "string",
|
||||
hidden: true,
|
||||
groupHeaderTemplate: (data) => data.value
|
||||
},
|
||||
{
|
||||
id: "49c164e4-3717-4f93-9f85-ac325e1a484e",
|
||||
field: "cod_mart",
|
||||
@@ -206,10 +221,10 @@ export default class TabCostiProd extends TabImpl<ListiniVendita> {
|
||||
update: async (options) => {
|
||||
try {
|
||||
options.success(await this.module.updateArticoloListino({
|
||||
models: [{
|
||||
...options.data.models[0],
|
||||
models: options.data.models.map(model => ({
|
||||
...model,
|
||||
data_iniz: this.module.dataVariazioni.value() || options.data.data_iniz
|
||||
}]
|
||||
}))
|
||||
} as any));
|
||||
|
||||
await this.module.refreshVariazioni();
|
||||
@@ -227,7 +242,11 @@ export default class TabCostiProd extends TabImpl<ListiniVendita> {
|
||||
},
|
||||
sort: [
|
||||
{
|
||||
field: "descrizione",
|
||||
field: "cod_mtip",
|
||||
dir: "asc"
|
||||
},
|
||||
{
|
||||
field: "cod_mstp",
|
||||
dir: "asc"
|
||||
},
|
||||
{
|
||||
@@ -235,6 +254,11 @@ export default class TabCostiProd extends TabImpl<ListiniVendita> {
|
||||
dir: "asc"
|
||||
}
|
||||
],
|
||||
group: [
|
||||
{
|
||||
field: "descr_stipi"
|
||||
}
|
||||
],
|
||||
serverPaging: false,
|
||||
serverFiltering: false,
|
||||
serverSorting: false,
|
||||
|
||||
Reference in New Issue
Block a user