Fixed [ 1867464 ] Incorrect Partner Location when create manual shipment
http://sourceforge.net/tracker/index.php?func=detail&aid=1867464&group_id=176962&atid=879332
This commit is contained in:
parent
bca948a704
commit
863fdf174a
|
@ -71,6 +71,8 @@ public class CalloutInOut extends CalloutEngine
|
|||
mTab.setValue("FreightAmt", order.getFreightAmt());
|
||||
|
||||
mTab.setValue("C_BPartner_ID", new Integer(order.getC_BPartner_ID()));
|
||||
mTab.setValue("C_BPartner_Location_ID", new Integer(order.getC_BPartner_Location_ID()));
|
||||
mTab.setValue("AD_User_ID", new Integer(order.getAD_User_ID()));
|
||||
}
|
||||
return "";
|
||||
} // order
|
||||
|
@ -163,57 +165,67 @@ public class CalloutInOut extends CalloutEngine
|
|||
Integer C_BPartner_ID = (Integer)value;
|
||||
if (C_BPartner_ID == null || C_BPartner_ID.intValue() == 0)
|
||||
return "";
|
||||
|
||||
String sql = "SELECT p.AD_Language,p.C_PaymentTerm_ID,"
|
||||
+ "p.M_PriceList_ID,p.PaymentRule,p.POReference,"
|
||||
+ "p.SO_Description,p.IsDiscountPrinted,"
|
||||
+ "p.SO_CreditLimit-p.SO_CreditUsed AS CreditAvailable,"
|
||||
+ "l.C_BPartner_Location_ID,c.AD_User_ID "
|
||||
+ "FROM C_BPartner p, C_BPartner_Location l, AD_User c "
|
||||
+ "WHERE p.C_BPartner_ID=l.C_BPartner_ID(+)"
|
||||
+ " AND p.C_BPartner_ID=c.C_BPartner_ID(+)"
|
||||
+ " AND p.C_BPartner_ID=?"; // 1
|
||||
|
||||
try
|
||||
{
|
||||
PreparedStatement pstmt = DB.prepareStatement(sql, null);
|
||||
pstmt.setInt(1, C_BPartner_ID.intValue());
|
||||
ResultSet rs = pstmt.executeQuery();
|
||||
BigDecimal bd;
|
||||
if (rs.next())
|
||||
|
||||
boolean IsSOTrx = "Y".equals(Env.getContext(ctx, WindowNo, "IsSOTrx"));
|
||||
if (!IsSOTrx)
|
||||
{
|
||||
//When Is Receipt
|
||||
String sql = "SELECT p.AD_Language,p.C_PaymentTerm_ID,"
|
||||
+ "p.M_PriceList_ID,p.PaymentRule,p.POReference,"
|
||||
+ "p.SO_Description,p.IsDiscountPrinted,"
|
||||
+ "p.SO_CreditLimit-p.SO_CreditUsed AS CreditAvailable,"
|
||||
+ "l.C_BPartner_Location_ID,c.AD_User_ID "
|
||||
+ "FROM C_BPartner p, C_BPartner_Location l, AD_User c "
|
||||
+ "WHERE l.IsActive='Y' AND p.C_BPartner_ID=l.C_BPartner_ID(+)"
|
||||
+ " AND p.C_BPartner_ID=c.C_BPartner_ID(+)"
|
||||
+ " AND p.C_BPartner_ID=?"; // 1
|
||||
|
||||
try
|
||||
{
|
||||
// Location
|
||||
Integer ii = new Integer(rs.getInt("C_BPartner_Location_ID"));
|
||||
if (rs.wasNull())
|
||||
mTab.setValue("C_BPartner_Location_ID", null);
|
||||
else
|
||||
mTab.setValue("C_BPartner_Location_ID", ii);
|
||||
// Contact
|
||||
ii = new Integer(rs.getInt("AD_User_ID"));
|
||||
if (rs.wasNull())
|
||||
mTab.setValue("AD_User_ID", null);
|
||||
else
|
||||
mTab.setValue("AD_User_ID", ii);
|
||||
|
||||
//Bugs item #1679818: checking for SOTrx only
|
||||
boolean IsSOTrx = Env.getContext(ctx, WindowNo, "IsSOTrx").equals("Y");
|
||||
if (IsSOTrx)
|
||||
PreparedStatement pstmt = DB.prepareStatement(sql, null);
|
||||
pstmt.setInt(1, C_BPartner_ID.intValue());
|
||||
ResultSet rs = pstmt.executeQuery();
|
||||
BigDecimal bd;
|
||||
if (rs.next())
|
||||
{
|
||||
// CreditAvailable
|
||||
double CreditAvailable = rs.getDouble("CreditAvailable");
|
||||
if (!rs.wasNull() && CreditAvailable < 0)
|
||||
mTab.fireDataStatusEEvent("CreditLimitOver",
|
||||
DisplayType.getNumberFormat(DisplayType.Amount).format(CreditAvailable),
|
||||
false);
|
||||
}//
|
||||
// Location
|
||||
Integer ii = new Integer(rs.getInt("C_BPartner_Location_ID"));
|
||||
if (rs.wasNull())
|
||||
mTab.setValue("C_BPartner_Location_ID", null);
|
||||
else
|
||||
mTab.setValue("C_BPartner_Location_ID", ii);
|
||||
// Contact
|
||||
ii = new Integer(rs.getInt("AD_User_ID"));
|
||||
if (rs.wasNull())
|
||||
mTab.setValue("AD_User_ID", null);
|
||||
else
|
||||
mTab.setValue("AD_User_ID", ii);
|
||||
|
||||
//Bugs item #1679818: checking for SOTrx only
|
||||
//boolean IsSOTrx = Env.getContext(ctx, WindowNo, "IsSOTrx").equals("Y");
|
||||
|
||||
if (IsSOTrx)
|
||||
{
|
||||
// CreditAvailable
|
||||
double CreditAvailable = rs.getDouble("CreditAvailable");
|
||||
if (!rs.wasNull() && CreditAvailable < 0)
|
||||
mTab.fireDataStatusEEvent("CreditLimitOver",
|
||||
DisplayType.getNumberFormat(DisplayType.Amount).format(CreditAvailable),
|
||||
false);
|
||||
}//
|
||||
}
|
||||
rs.close();
|
||||
pstmt.close();
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
log.log(Level.SEVERE, sql, e);
|
||||
return e.getLocalizedMessage();
|
||||
}
|
||||
rs.close();
|
||||
pstmt.close();
|
||||
}
|
||||
catch (SQLException e)
|
||||
else
|
||||
{
|
||||
log.log(Level.SEVERE, sql, e);
|
||||
return e.getLocalizedMessage();
|
||||
|
||||
}
|
||||
|
||||
return "";
|
||||
|
|
Loading…
Reference in New Issue