set shipment doctype base on order doctype setting.
(transplanted from 392957b9195a360103d2c04b45365f46e9122c4c)
This commit is contained in:
parent
cdea8a2d31
commit
27e3a3fc88
|
@ -86,6 +86,20 @@ public class CalloutInOut extends CalloutEngine
|
||||||
else
|
else
|
||||||
mTab.setValue("AD_User_ID", null);
|
mTab.setValue("AD_User_ID", null);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Modification: set corresponding document type
|
||||||
|
*/
|
||||||
|
int docTypeId = order.getC_DocType_ID();
|
||||||
|
int relatedDocTypeId = 0;
|
||||||
|
|
||||||
|
if (docTypeId == 0)
|
||||||
|
{
|
||||||
|
docTypeId = order.getC_DocTypeTarget_ID();
|
||||||
|
}
|
||||||
|
|
||||||
|
relatedDocTypeId = MDocType.getShipmentReceiptDocType(docTypeId);
|
||||||
|
|
||||||
|
mTab.setValue("C_DocType_ID", relatedDocTypeId);
|
||||||
return "";
|
return "";
|
||||||
} // order
|
} // order
|
||||||
|
|
||||||
|
@ -179,6 +193,8 @@ public class CalloutInOut extends CalloutEngine
|
||||||
String DocBaseType = rs.getString("DocBaseType");
|
String DocBaseType = rs.getString("DocBaseType");
|
||||||
// BF [2708789] Read IsSOTrx from C_DocType
|
// BF [2708789] Read IsSOTrx from C_DocType
|
||||||
String trxFlag = rs.getString(7);
|
String trxFlag = rs.getString(7);
|
||||||
|
if (!(trxFlag.equals(mTab.getValue("IsSOTrx"))))
|
||||||
|
mTab.setValue("IsSOTrx", trxFlag);
|
||||||
if (DocBaseType.equals("MMS")) // Material Shipments
|
if (DocBaseType.equals("MMS")) // Material Shipments
|
||||||
/**solve 1648131 bug vpj-cd e-evolution */
|
/**solve 1648131 bug vpj-cd e-evolution */
|
||||||
{
|
{
|
||||||
|
@ -199,8 +215,6 @@ public class CalloutInOut extends CalloutEngine
|
||||||
else
|
else
|
||||||
mTab.setValue("MovementType", "V+"); // Vendor Receipts
|
mTab.setValue("MovementType", "V+"); // Vendor Receipts
|
||||||
}
|
}
|
||||||
if (!(trxFlag.equals(mTab.getValue("IsSOTrx"))))
|
|
||||||
mTab.setValue("IsSOTrx", trxFlag);
|
|
||||||
/**END vpj-cd e-evolution */
|
/**END vpj-cd e-evolution */
|
||||||
|
|
||||||
// DocumentNo
|
// DocumentNo
|
||||||
|
|
|
@ -303,4 +303,58 @@ public class MDocType extends X_C_DocType
|
||||||
return success;
|
return success;
|
||||||
} // afterDelete
|
} // afterDelete
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns Document type for the shipment/receipt based
|
||||||
|
* on Document type provided for order/rma
|
||||||
|
* @param docTypeId
|
||||||
|
* @return shipment/receipt doctype id
|
||||||
|
*/
|
||||||
|
public static int getShipmentReceiptDocType(int docTypeId)
|
||||||
|
{
|
||||||
|
int relatedDocTypeId = 0;
|
||||||
|
if (docTypeId != 0)
|
||||||
|
{
|
||||||
|
MDocType docType = MDocType.get(Env.getCtx(), docTypeId);
|
||||||
|
// FIXME: Should refactor code and remove the hard coded name
|
||||||
|
// Should change document type to allow query the value
|
||||||
|
if ("Return Material".equals(docType.getName()) ||
|
||||||
|
"Vendor Return".equals(docType.getName())|| !docType.isSOTrx())
|
||||||
|
{
|
||||||
|
String relatedDocTypeName = null;
|
||||||
|
if (("Purchase Order").equals(docType.getName()))
|
||||||
|
{
|
||||||
|
relatedDocTypeName = "MM Receipt";
|
||||||
|
}
|
||||||
|
else if ("Return Material".equals(docType.getName()))
|
||||||
|
{
|
||||||
|
relatedDocTypeName = "MM Returns";
|
||||||
|
}
|
||||||
|
else if ("Vendor Return".equals(docType.getName()))
|
||||||
|
{
|
||||||
|
relatedDocTypeName = "MM Vendor Returns";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (relatedDocTypeName != null)
|
||||||
|
{
|
||||||
|
StringBuffer whereClause = new StringBuffer(30);
|
||||||
|
whereClause.append("Name='").append(relatedDocTypeName).append("' ");
|
||||||
|
whereClause.append("and AD_Client_ID=").append(Env.getAD_Client_ID(Env.getCtx()));
|
||||||
|
whereClause.append(" AND IsActive='Y'");
|
||||||
|
|
||||||
|
int relDocTypeIds[] = MDocType.getAllIDs(MDocType.Table_Name, whereClause.toString(), null);
|
||||||
|
|
||||||
|
if (relDocTypeIds.length > 0)
|
||||||
|
{
|
||||||
|
relatedDocTypeId = relDocTypeIds[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
relatedDocTypeId = docType.getC_DocTypeShipment_ID();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return relatedDocTypeId;
|
||||||
|
}
|
||||||
} // MDocType
|
} // MDocType
|
||||||
|
|
Loading…
Reference in New Issue