Fix filtro data cons non usato in MRP
This commit is contained in:
@@ -67,37 +67,37 @@ public class MrpDailyMaterialReqService {
|
||||
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getColliV: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
List<MrpDailyMaterialReqDetDTO> mrpDailyMaterialReqDetDTO = getGiacenza(depositi, articoli, tableNameColli);
|
||||
List<MrpDailyMaterialReqDetDTO> mrpDailyMaterialReqDetDTO = getGiacenza(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons(), tableNameColli);
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getGiacenza: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdiniVendita(depositi, articoli, tableNameColli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdiniVendita(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons(), tableNameColli));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getOrdiniV: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdini("A", depositi, articoli, tableNameColli, includiArrivi));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdini("A", depositi, articoli, mrpDailyMaterialInputDTO.getDataCons(), tableNameColli, includiArrivi));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getOrdiniA: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdini("L", depositi, articoli, tableNameColli, includiArrivi));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdini("L", depositi, articoli, mrpDailyMaterialInputDTO.getDataCons(), tableNameColli, includiArrivi));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getOrdiniL: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getOrdiniProd(depositi, articoli, includiArrivi));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getOrdiniProd: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getFabbProxOrdv(depositi, articoli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getFabbProxOrdv(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons()));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getFabbProxOrdv: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getFabbProxContratti(depositi, articoli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getFabbProxContratti(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons()));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getFabbProxContratti: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getFabbProxBudget(depositi, articoli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getFabbProxBudget(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons()));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getFabbProxBudget: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getContrattiV(depositi, articoli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getContrattiV(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons()));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getContrattiV: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getContrattiA(depositi, articoli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getContrattiA(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons()));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getContrattiA: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
mrpDailyMaterialReqDetDTO.addAll(getBudgetV(depositi, articoli));
|
||||
mrpDailyMaterialReqDetDTO.addAll(getBudgetV(depositi, articoli, mrpDailyMaterialInputDTO.getDataCons()));
|
||||
logger.debug(MrpDailyMaterialReqService.class.getSimpleName() + " - getBudgetV: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||
|
||||
Map<String, List<MRPDailyConsumiDTO>> consumi = mrpConsumiHandlerService.getConsumi();
|
||||
@@ -581,7 +581,7 @@ public class MrpDailyMaterialReqService {
|
||||
return tableName;
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getGiacenza(String depositi, String articoli, String tableColli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getGiacenza(String depositi, String articoli, Date dataMrp, String tableColli) throws Exception {
|
||||
String sql =
|
||||
"SELECT 'GIACENZA ' + mtb_depo.descrizione AS causale,\n" +
|
||||
"mtb_part.cod_mart,\n" +
|
||||
@@ -595,10 +595,10 @@ public class MrpDailyMaterialReqService {
|
||||
"mtb_part.cod_mart in ('%s')\n" +
|
||||
"GROUP BY mtb_part.cod_mdep, mtb_depo.descrizione, mtb_part.cod_mart, mtb_part.qta_esistente ";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getFabbProxOrdv(String depositi, String articoli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getFabbProxOrdv(String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
String sql =
|
||||
"SELECT 'Fabbisogni da ordini di vendita non pianificati in produzione' AS causale,\n" +
|
||||
" mtb_part.cod_mart,\n" +
|
||||
@@ -612,10 +612,10 @@ public class MrpDailyMaterialReqService {
|
||||
" AND mtb_part.cod_mdep in ('%s')" +
|
||||
" AND mtb_part.cod_mart in ('%s')";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getFabbProxContratti(String depositi, String articoli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getFabbProxContratti(String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
String sql =
|
||||
"SELECT 'Fabbisogni da contratti di vendita' as causale,\n" +
|
||||
" mtb_part.cod_mart,\n" +
|
||||
@@ -629,10 +629,10 @@ public class MrpDailyMaterialReqService {
|
||||
" AND mtb_part.cod_mdep in ('%s')" +
|
||||
" AND mtb_part.cod_mart in ('%s')";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getFabbProxBudget(String depositi, String articoli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getFabbProxBudget(String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
String sql =
|
||||
"SELECT 'Fabbisogni da budget di vendita' as causale,\n" +
|
||||
" mtb_part.cod_mart,\n" +
|
||||
@@ -646,10 +646,10 @@ public class MrpDailyMaterialReqService {
|
||||
" AND mtb_part.cod_mdep in ('%s')" +
|
||||
" AND mtb_part.cod_mart in ('%s')";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getOrdiniVendita(String depositi, String articoli, String tableColli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getOrdiniVendita(String depositi, String articoli, Date dataMrp, String tableColli) throws Exception {
|
||||
String columnQtaOrd =
|
||||
" -1 * CASE\n" +
|
||||
" WHEN ((dtb_ordr.qta_ord - dtb_ordr.qta_Evasa) * dtb_ordr.rap_conv) < ISNULL(colli.qta_col, 0) THEN 0\n" +
|
||||
@@ -733,11 +733,11 @@ public class MrpDailyMaterialReqService {
|
||||
" AND dtb_ordr.cod_mart IN ('%s')\n" +
|
||||
" AND (-1 * [columnQtaOrd] ) > 0 \n";
|
||||
sql = sql.replace("[columnQtaOrd]", columnQtaOrd);
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getOrdini(String gestione, String depositi, String articoli, String tableColli, boolean includiArrivi) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getOrdini(String gestione, String depositi, String articoli, Date dataMrp, String tableColli, boolean includiArrivi) throws Exception {
|
||||
String sqlOrdini;
|
||||
if (gestione.equalsIgnoreCase("V")) {
|
||||
sqlOrdini =
|
||||
@@ -930,7 +930,7 @@ public class MrpDailyMaterialReqService {
|
||||
" AND ordini.cod_mart IN ('%s')")
|
||||
.replace("[includiArrivi]", includiArrivi ? "1" : "0");
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getOrdiniProd(String depositi, String articoli, boolean includiArrivi) throws Exception {
|
||||
@@ -1028,7 +1028,7 @@ public class MrpDailyMaterialReqService {
|
||||
return mrpDailyMaterialReqDTOS;
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getContrattiV(String depositi, String articoli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getContrattiV(String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
String sql =
|
||||
"SELECT 'Saldo Contratto di vendita ' + vvw_contratti_vendita.cod_anag + ' - ' +\n" +
|
||||
" vvw_contratti_vendita.rag_soc + ' n.' +\n" +
|
||||
@@ -1045,10 +1045,10 @@ public class MrpDailyMaterialReqService {
|
||||
" AND vvw_contratti_vendita.cod_mdep in ('%s')" +
|
||||
" AND vvw_contratti_vendita.cod_mart in ('%s')";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getContrattiA(String depositi, String articoli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getContrattiA(String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
String sql =
|
||||
"SELECT 'Saldo Contratto di acquisto ' + avw_contratti_acquisto.cod_anag + ' - ' +\n" +
|
||||
" avw_contratti_acquisto.rag_soc + ' n.' +\n" +
|
||||
@@ -1066,10 +1066,10 @@ public class MrpDailyMaterialReqService {
|
||||
" AND avw_contratti_acquisto.cod_mdep in ('%s')" +
|
||||
" AND avw_contratti_acquisto.cod_mart in ('%s')";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getBudgetV(String depositi, String articoli) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getBudgetV(String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
String sql =
|
||||
" SELECT 'Saldo Budget di vendita n.' + CAST(ovw_budget_ordv.num_ord AS VARCHAR) as causale,\n" +
|
||||
" ovw_budget_ordv.cod_mart,\n" +
|
||||
@@ -1082,7 +1082,7 @@ public class MrpDailyMaterialReqService {
|
||||
" WHERE ovw_budget_ordv.cod_mdep in ('%s')" +
|
||||
" AND ovw_budget_ordv.cod_mart in ('%s')";
|
||||
|
||||
return getMrpDailyMaterialReqDetDetDTO(depositi, articoli, sql);
|
||||
return getMrpDailyMaterialReqDetDetDTO(sql, depositi, articoli, dataMrp);
|
||||
}
|
||||
|
||||
|
||||
@@ -1129,9 +1129,12 @@ public class MrpDailyMaterialReqService {
|
||||
return promoArt;
|
||||
}
|
||||
|
||||
private List<MrpDailyMaterialReqDetDTO> getMrpDailyMaterialReqDetDetDTO(String depositi, String articoli, String sql) throws Exception {
|
||||
private List<MrpDailyMaterialReqDetDTO> getMrpDailyMaterialReqDetDetDTO(String sql, String depositi, String articoli, Date dataMrp) throws Exception {
|
||||
sql = String.format(sql, depositi, articoli);
|
||||
|
||||
sql = String.format("SELECT * FROM (%s) t WHERE ([dataMrp] IS NULL OR data_mrp <= [dataMrp])", sql)
|
||||
.replace("[dataMrp]", UtilityDB.valueToString(dataMrp));
|
||||
|
||||
List<MrpDailyMaterialReqDetDTO> mrpDailyMaterialReqDTOS = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MrpDailyMaterialReqDetDTO.class);
|
||||
|
||||
if (mrpDailyMaterialReqDTOS == null) {
|
||||
|
||||
Reference in New Issue
Block a user