Leggere la qta cnf dal listino di acquisto
This commit is contained in:
@@ -10,6 +10,8 @@ import it.integry.ems_model.entity.MtbAart;
|
||||
import it.integry.ems_model.entity.MtbPartitaMag;
|
||||
import it.integry.ems_model.entity.MtbUntMis;
|
||||
import it.integry.ems_model.entity.common.DtbDocOrdR;
|
||||
import it.integry.ems_model.entity.common.DtbDocOrdT;
|
||||
import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityBigDecimal;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
@@ -56,7 +58,8 @@ public class DocOrdUntMisRules extends QueryRules {
|
||||
|
||||
//CALCOLO QTA_CNF
|
||||
if (UtilityBigDecimal.isNullOrZero(qtaCnf)) {
|
||||
qtaCnf = calcQtaCnf(connection, codMart, partitaMag, mtbAart, numCnf, rapConv, qta1, qtaCnf);
|
||||
qtaCnf = calcQtaCnf(connection, codMart, partitaMag, mtbAart, numCnf, rapConv, qta1, qtaCnf,
|
||||
((DtbDocOrdT) entity.getParent()).getListino(), ((DtbDocOrdT) entity.getParent()).getGestione(), entity.getCodArtFor());
|
||||
}
|
||||
|
||||
if (qta1 == null && !UtilityBigDecimal.isNullOrZero(numCnf)) {
|
||||
@@ -156,7 +159,14 @@ public class DocOrdUntMisRules extends QueryRules {
|
||||
return untMisDTO;
|
||||
}
|
||||
|
||||
public static BigDecimal calcQtaCnf(Connection connection, String codMart, String partitaMag, MtbAart mtbAart, BigDecimal numCnf, BigDecimal rapConv, BigDecimal qta, BigDecimal qtaCnf) throws Exception {
|
||||
public static BigDecimal calcQtaCnf(Connection connection, String codMart, String partitaMag,
|
||||
MtbAart mtbAart, BigDecimal numCnf, BigDecimal rapConv, BigDecimal qta, BigDecimal qtaCnf ) throws Exception {
|
||||
return calcQtaCnf(connection, codMart, partitaMag, mtbAart, numCnf, rapConv, qta,qtaCnf, null, null, null);
|
||||
}
|
||||
|
||||
public static BigDecimal calcQtaCnf(Connection connection, String codMart, String partitaMag,
|
||||
MtbAart mtbAart, BigDecimal numCnf, BigDecimal rapConv, BigDecimal qta, BigDecimal qtaCnf,
|
||||
String listino, String gestione, String codArtFor) throws Exception {
|
||||
String sql;
|
||||
if (!UtilityString.isNullOrEmpty(partitaMag) && mtbAart.getFlagQtaCnfFissa().equalsIgnoreCase("P")) {
|
||||
//Leggere qtaCnf dalla partita di magazzino
|
||||
@@ -172,6 +182,13 @@ public class DocOrdUntMisRules extends QueryRules {
|
||||
qtaCnf = qta.divide(numCnf, EmsRestConstants.cifreDecMax, RoundingMode.HALF_UP);
|
||||
}
|
||||
|
||||
if (UtilityBigDecimal.isNullOrZero(qtaCnf) && gestione.equalsIgnoreCase("A") && !UtilityString.isNullOrEmpty(listino)) {
|
||||
sql =
|
||||
Query.format("SELECT qta_cnf FROM mtb_lisa WHERE cod_alis = %s AND cod_mart = %s AND ( %s is null OR cod_art_for = %s) ORDER BY flag_attivo",
|
||||
listino, codMart, codArtFor, codArtFor);
|
||||
qtaCnf = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
}
|
||||
|
||||
if (UtilityBigDecimal.isNullOrZero(qtaCnf)) {
|
||||
qtaCnf = mtbAart.getQtaCnf();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user