IDEMPIERE-1700 Java error creating a new Price List Version / Thanks to Sergio Oropeza (soropeza)

This commit is contained in:
Carlos Ruiz 2014-01-19 13:27:24 -05:00
parent 6ce125d160
commit 8b256677d0
2 changed files with 16 additions and 23 deletions

View File

@ -90,7 +90,7 @@ public class M_PriceList_Create extends SvrProcess {
protected String doIt() throws Exception { protected String doIt() throws Exception {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
StringBuilder sqlupd = new StringBuilder(); StringBuilder sqlupd = new StringBuilder();
StringBuilder sqldel = new StringBuilder(); String sqldel;
StringBuilder sqlins = new StringBuilder(); StringBuilder sqlins = new StringBuilder();
int cntu = 0; int cntu = 0;
int cntd = 0; int cntd = 0;
@ -233,12 +233,10 @@ public class M_PriceList_Create extends SvrProcess {
// Delete Old Data // Delete Old Data
// //
if (p_DeleteOld.equals("Y")) { if (p_DeleteOld.equals("Y")) {
sqldel.append("DELETE M_ProductPrice ") sqldel = "DELETE M_ProductPrice WHERE M_PriceList_Version_ID=?";
.append(" WHERE M_PriceList_Version_ID = ") cntd = DB.executeUpdate(sqldel, p_PriceList_Version_ID, get_TrxName());
.append(p_PriceList_Version_ID);
cntd = DB.executeUpdate(sqldel.toString(), get_TrxName());
if (cntd == -1) if (cntd == -1)
raiseError(" DELETE M_ProductPrice ", sqldel.toString()); raiseError(" DELETE M_ProductPrice ", sqldel);
totd += cntd; totd += cntd;
message = new StringBuilder("@Deleted@=").append(cntd).append(" - "); message = new StringBuilder("@Deleted@=").append(cntd).append(" - ");
if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd); if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd);
@ -287,12 +285,10 @@ public class M_PriceList_Create extends SvrProcess {
// //
//Clear Temporary Table //Clear Temporary Table
// //
sqldel = new StringBuilder("DELETE FROM T_Selection WHERE AD_PInstance_ID="); sqldel = "DELETE FROM T_Selection WHERE AD_PInstance_ID=?";
sqldel.append(m_AD_PInstance_ID); cntd = DB.executeUpdate(sqldel, m_AD_PInstance_ID, get_TrxName());
cntd = DB.executeUpdate(sqldel.toString(), get_TrxName());
if (cntd == -1) if (cntd == -1)
raiseError(" DELETE T_Selection ", sqldel.toString()); raiseError(" DELETE T_Selection ", sqldel);
totd += cntd; totd += cntd;
if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd); if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd);
// //
@ -404,15 +400,10 @@ public class M_PriceList_Create extends SvrProcess {
v_temp = rsCurgen.getInt("M_PriceList_Version_Base_ID"); v_temp = rsCurgen.getInt("M_PriceList_Version_Base_ID");
if (rsCurgen.wasNull() || v_temp != p_PriceList_Version_ID) { if (rsCurgen.wasNull() || v_temp != p_PriceList_Version_ID) {
sqldel = new StringBuilder("DELETE M_ProductPrice pp"); sqldel = "DELETE M_ProductPrice pp WHERE pp.M_PriceList_Version_ID=? AND EXISTS (SELECT t_selection_id FROM T_Selection s WHERE pp.M_Product_ID=s.T_Selection_ID AND s.AD_PInstance_ID=?)";
sqldel.append(" WHERE pp.M_PriceList_Version_ID = "); cntd = DB.executeUpdate(sqldel, new Object[]{p_PriceList_Version_ID, m_AD_PInstance_ID}, false, get_TrxName());
sqldel.append(p_PriceList_Version_ID);
sqldel.append(" AND EXISTS (SELECT t_selection_id FROM T_Selection s WHERE pp.M_Product_ID=s.T_Selection_ID");
sqldel.append(" AND s.AD_PInstance_ID=").append(m_AD_PInstance_ID).append(")");
cntd = DB.executeUpdate(sqldel.toString(), get_TrxName());
if (cntd == -1) if (cntd == -1)
raiseError(" DELETE M_ProductPrice ", sqldel.toString()); raiseError(" DELETE M_ProductPrice ", sqldel);
totd += cntd; totd += cntd;
message.append(", @Deleted@=").append(cntd); message.append(", @Deleted@=").append(cntd);
if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd); if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd);
@ -831,10 +822,10 @@ public class M_PriceList_Create extends SvrProcess {
// //
// Delete Temporary Selection // Delete Temporary Selection
// //
sqldel = new StringBuilder("DELETE FROM T_Selection "); sqldel = "DELETE FROM T_Selection WHERE AD_PInstance_ID=?";
cntd = DB.executeUpdate(sqldel.toString(), get_TrxName()); cntd = DB.executeUpdate(sqldel, m_AD_PInstance_ID, get_TrxName());
if (cntd == -1) if (cntd == -1)
raiseError(" DELETE T_Selection ", sqldel.toString()); raiseError(" DELETE T_Selection ", sqldel);
totd += cntd; totd += cntd;
if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd); if (log.isLoggable(Level.FINE)) log.fine("Deleted " + cntd);

View File

@ -115,6 +115,8 @@ public class StatementProxy implements InvocationHandler {
logOperation = "Delete"; logOperation = "Delete";
} }
if (logOperation != null) { if (logOperation != null) {
int idxspace = logSql.indexOf(' ');
if (idxspace > 0)
logSql = logSql.substring(0, logSql.indexOf(' ')); logSql = logSql.substring(0, logSql.indexOf(' '));
if (log.isLoggable(Level.FINE)) log.fine((DisplayType.getDateFormat(DisplayType.DateTime)).format(new Date(System.currentTimeMillis()))+","+logOperation+","+logSql+","+(p_vo.getTrxName() != null ? p_vo.getTrxName() : "")+" (begin)"); if (log.isLoggable(Level.FINE)) log.fine((DisplayType.getDateFormat(DisplayType.DateTime)).format(new Date(System.currentTimeMillis()))+","+logOperation+","+logSql+","+(p_vo.getTrxName() != null ? p_vo.getTrxName() : "")+" (begin)");
} }