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++) {
|
for (int i = 0; i < rsmd.getColumnCount(); i++) {
|
||||||
String columnName = UtilityString.sqlToField(rsmd.getColumnName(i + 1));
|
String columnName = UtilityString.sqlToField(rsmd.getColumnName(i + 1));
|
||||||
Object columnValue = rs.getObject(i + 1);
|
Object columnValue = rs.getObject(i + 1);
|
||||||
// 06/09/2019 (FABIO)
|
|
||||||
//Object valueEntity = DroolsUtil.getFieldValue(entity, "sconto8");
|
|
||||||
Object valueEntity = DroolsUtil.getFieldValue(entity, columnName);
|
Object valueEntity = DroolsUtil.getFieldValue(entity, columnName);
|
||||||
if (valueEntity == null) {
|
if (valueEntity == null) {
|
||||||
//if ("percSco4".equals(columnName)){
|
//if ("percSco4".equals(columnName)){
|
||||||
@@ -774,13 +772,61 @@ public class SalesRules extends QueryRules {
|
|||||||
rs.close();
|
rs.close();
|
||||||
ps.close();
|
ps.close();
|
||||||
|
|
||||||
// Se si tratta di un fornitore in TD gli sconti vengono azzerati, ma viene comunque lasciato il codice promozione eventualmente associato
|
// Verifica presenza sconto contrattuali, in tal caso lo sconto viene inserito
|
||||||
/* if ("S".equals(flagTD)){
|
// // nell'ultimo sconto di riga e se presente un'altro sconto viene cumulato
|
||||||
campi.put("sconto5", BigDecimal.ZERO);
|
query =
|
||||||
campi.put("sconto6", BigDecimal.ZERO);
|
"select TOP 1 vtb_promo_sconti.perc_sco1 as sconto5, " +
|
||||||
campi.put("sconto7", BigDecimal.ZERO);
|
"vtb_promo_sconti.perc_sco2 as sconto6, " +
|
||||||
campi.put("sconto8", BigDecimal.ZERO);
|
"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) {
|
if (entity instanceof DtbDocr) {
|
||||||
((DtbDocr) entity).setSetDatiLisv(false);
|
((DtbDocr) entity).setSetDatiLisv(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user