Merge tag 'Hotfix-77' into develop
Finish Hotfix-77
This commit is contained in:
@@ -742,8 +742,6 @@ public class SalesRules extends QueryRules {
|
||||
for (int i = 0; i < rsmd.getColumnCount(); i++) {
|
||||
String columnName = UtilityString.sqlToField(rsmd.getColumnName(i + 1));
|
||||
Object columnValue = rs.getObject(i + 1);
|
||||
// 06/09/2019 (FABIO)
|
||||
//Object valueEntity = DroolsUtil.getFieldValue(entity, "sconto8");
|
||||
Object valueEntity = DroolsUtil.getFieldValue(entity, columnName);
|
||||
if (valueEntity == null) {
|
||||
//if ("percSco4".equals(columnName)){
|
||||
@@ -774,13 +772,61 @@ public class SalesRules extends QueryRules {
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
// Se si tratta di un fornitore in TD gli sconti vengono azzerati, ma viene comunque lasciato il codice promozione eventualmente associato
|
||||
/* if ("S".equals(flagTD)){
|
||||
campi.put("sconto5", BigDecimal.ZERO);
|
||||
campi.put("sconto6", BigDecimal.ZERO);
|
||||
campi.put("sconto7", BigDecimal.ZERO);
|
||||
campi.put("sconto8", BigDecimal.ZERO);
|
||||
}*/
|
||||
// Verifica presenza sconto contrattuali, in tal caso lo sconto viene inserito
|
||||
// // nell'ultimo sconto di riga e se presente un'altro sconto viene cumulato
|
||||
query =
|
||||
"select TOP 1 vtb_promo_sconti.perc_sco1 as sconto5, " +
|
||||
"vtb_promo_sconti.perc_sco2 as sconto6, " +
|
||||
"vtb_promo_sconti.perc_sco3 as sconto7 " +
|
||||
" from vtb_promo, " +
|
||||
" vtb_promo_clienti, " +
|
||||
" vtb_promo_articoli, " +
|
||||
" vtb_promo_sconti " +
|
||||
"where vtb_promo.cod_promo = vtb_promo_clienti.cod_promo and " +
|
||||
" vtb_promo.cod_promo = vtb_promo_sconti.cod_promo and " +
|
||||
" vtb_promo.cod_promo = vtb_promo_articoli.cod_promo and " +
|
||||
" vtb_promo.flag_sconto_contrattuale = 'S' and " +
|
||||
" (flag_tipo_promo = 'E') and " +
|
||||
" vtb_promo.flag_attivo = 'S' and " +
|
||||
" vtb_promo.data_iniz_sell_in <= " + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + " and " + UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + " <= vtb_promo.data_fine_sell_in and " +
|
||||
" vtb_promo_articoli.cod_mart = " + UtilityDB.valueToString(codMart) + " and " +
|
||||
" vtb_promo_clienti.cod_anag = " + UtilityDB.valueToString(codAnag) + " and " +
|
||||
" ISNULL(vtb_promo_clienti.cod_vdes, '') = " + UtilityDB.valueToString(codVdes);
|
||||
|
||||
ps = conn.prepareStatement(query);
|
||||
rs = ps.executeQuery();
|
||||
if (rs.next()) {
|
||||
ResultSetMetaData rsmd = rs.getMetaData();
|
||||
for (int i = 0; i < rsmd.getColumnCount(); i++) {
|
||||
String columnName = UtilityString.sqlToField(rsmd.getColumnName(i + 1));
|
||||
Object valueEntity = DroolsUtil.getFieldValue(entity, columnName);
|
||||
BigDecimal percScoContr = BigDecimal.ZERO;
|
||||
if (valueEntity == null) {
|
||||
if ("sconto5".equals(columnName)){
|
||||
percScoContr = rs.getBigDecimal(1);
|
||||
} else if ("sconto6".equals(columnName)){
|
||||
percScoContr = rs.getBigDecimal(2);
|
||||
} else {
|
||||
percScoContr = rs.getBigDecimal(3);
|
||||
}
|
||||
|
||||
if (percScoContr.compareTo(BigDecimal.ZERO) != 0) {
|
||||
BigDecimal sconto = BigDecimal.ZERO;
|
||||
if (campi.containsValue(columnName)) {
|
||||
BigDecimal scontoContr = (BigDecimal) campi.get(columnName);
|
||||
sconto = BigDecimal.ONE.subtract(BigDecimal.ONE.subtract(scontoContr.divide(BigDecimal.valueOf(100))).multiply(BigDecimal.ONE.subtract(percScoContr.divide(BigDecimal.valueOf(100))))).setScale(2, RoundingMode.HALF_UP);
|
||||
campi.remove(columnName);
|
||||
} else {
|
||||
sconto = percScoContr;
|
||||
}
|
||||
;
|
||||
campi.put(columnName, sconto);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
if (entity instanceof DtbDocr) {
|
||||
((DtbDocr) entity).setSetDatiLisv(false);
|
||||
|
||||
Reference in New Issue
Block a user