details: /erp/devel/pi/rev/f7f9f562a391
changeset: 9393:f7f9f562a391
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Fri Dec 24 13:37:02 2010 +0100
summary: Fixes issue 0015523: Create shipments from Orders: Movement date is
being created with the Sales order date
The date of the shipment created now depends on the type of the order
details: /erp/devel/pi/rev/8892bca8717c
changeset: 9394:8892bca8717c
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Fri Dec 24 13:37:27 2010 +0100
summary: merging
diffstat:
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
| 68 +++++----
src-db/database/model/functions/M_INOUT_CREATE.xml
| 14 +-
src/org/openbravo/base/model/domaintype/BooleanDomainType.java
| 4 +-
3 files changed, 51 insertions(+), 35 deletions(-)
diffs (168 lines):
diff -r 0c884939d01f -r 8892bca8717c
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
---
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
Fri Dec 24 12:47:58 2010 +0100
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
Fri Dec 24 13:37:27 2010 +0100
@@ -157,36 +157,37 @@
docTypeTarget, docType, false, false) + ">";
}
String defaultS = field.getColumn().getDefaultValue();
- if (defaultS != null) {
- if (!defaultS.startsWith("@SQL=")) {
- columnValue = Utility.getDefault(new DalConnectionProvider(false), rq
- .getVariablesSecureApp(), field.getColumn().getDBColumnName(),
defaultS, field
- .getTab().getWindow().getId(), defaultS);
- } else {
- ArrayList<String> params = new ArrayList<String>();
- String sql = parseSQL(defaultS, params);
- int indP = 1;
- try {
- PreparedStatement ps =
OBDal.getInstance().getConnection().prepareStatement(sql);
- for (String parameter : params) {
- String value = "";
- if (parameter.substring(0, 1).equals("#")) {
- value = Utility.getContext(new DalConnectionProvider(false),
RequestContext.get()
- .getVariablesSecureApp(), parameter,
field.getTab().getWindow().getId());
- } else {
- String fieldId = "inp" +
Sqlc.TransformaNombreColumna(parameter);
- value = RequestContext.get().getRequestParameter(fieldId);
- }
- ps.setObject(indP++, value);
+ if (defaultS == null) {
+ defaultS = "";
+ }
+ if (!defaultS.startsWith("@SQL=")) {
+ columnValue = Utility.getDefault(new DalConnectionProvider(false), rq
+ .getVariablesSecureApp(), field.getColumn().getDBColumnName(),
defaultS, field.getTab()
+ .getWindow().getId(), defaultS);
+ } else {
+ ArrayList<String> params = new ArrayList<String>();
+ String sql = parseSQL(defaultS, params);
+ int indP = 1;
+ try {
+ PreparedStatement ps =
OBDal.getInstance().getConnection().prepareStatement(sql);
+ for (String parameter : params) {
+ String value = "";
+ if (parameter.substring(0, 1).equals("#")) {
+ value = Utility.getContext(new DalConnectionProvider(false),
RequestContext.get()
+ .getVariablesSecureApp(), parameter,
field.getTab().getWindow().getId());
+ } else {
+ String fieldId = "inp" + Sqlc.TransformaNombreColumna(parameter);
+ value = RequestContext.get().getRequestParameter(fieldId);
}
- ResultSet rs = ps.executeQuery();
- if (rs.next()) {
- columnValue = rs.getString(1);
- }
- } catch (Exception e) {
- log.error("Error computing default value for field " +
field.getName() + " of tab "
- + field.getTab().getName(), e);
+ ps.setObject(indP++, value);
}
+ ResultSet rs = ps.executeQuery();
+ if (rs.next()) {
+ columnValue = rs.getString(1);
+ }
+ } catch (Exception e) {
+ log.error("Error computing default value for field " +
field.getName() + " of tab "
+ + field.getTab().getName(), e);
}
}
}
@@ -346,7 +347,7 @@
ComboTableData comboTableData = new ComboTableData(vars, new
DalConnectionProvider(false),
ref, field.getColumn().getDBColumnName(), objectReference,
validation, orgList,
clientList, 0);
- FieldProvider tabData = generateTabData(field.getTab().getADFieldList());
+ FieldProvider tabData = generateTabData(field.getTab().getADFieldList(),
field, columnValue);
comboTableData.fillParameters(tabData,
field.getTab().getWindow().getId(), columnValue);
FieldProvider[] fps = comboTableData.select(getValueFromSession);
ArrayList<FieldProvider> values = new ArrayList<FieldProvider>();
@@ -391,13 +392,18 @@
}
}
- private FieldProvider generateTabData(List<Field> fields) {
+ private FieldProvider generateTabData(List<Field> fields, Field
currentField, String currentValue) {
HashMap<String, Object> noinpDataMap = new HashMap<String, Object>();
for (Field field : fields) {
UIDefinition uiDef =
UIDefinitionController.getInstance().getUIDefinition(
field.getColumn().getId());
String oldKey = "inp" +
Sqlc.TransformaNombreColumna(field.getColumn().getDBColumnName());
- Object value = RequestContext.get().getRequestParameter(oldKey);
+ Object value;
+ if (currentField.getId().equals(field.getId())) {
+ value = uiDef.formatValueToSQL(currentValue);
+ } else {
+ value = RequestContext.get().getRequestParameter(oldKey);
+ }
noinpDataMap.put(field.getColumn().getDBColumnName(),
value == null || value.equals("") ? null :
uiDef.formatValueToSQL(value.toString()));
}
diff -r 0c884939d01f -r 8892bca8717c
src-db/database/model/functions/M_INOUT_CREATE.xml
--- a/src-db/database/model/functions/M_INOUT_CREATE.xml Fri Dec 24
12:47:58 2010 +0100
+++ b/src-db/database/model/functions/M_INOUT_CREATE.xml Fri Dec 24
13:37:27 2010 +0100
@@ -82,6 +82,7 @@
v_User_ID VARCHAR2(32):='0';
-- Orders to process - one per warehouse
Cur_Order RECORD;
+ v_NEWORDERDATE DATE;
-- Order Lines per Warehouse
CURSOR Cur_OrderLine (Order_ID VARCHAR, Warehouse_ID VARCHAR) IS
SELECT l.*, p.name
@@ -221,8 +222,9 @@
o.C_Project_ID, o.C_Activity_ID, o.C_Campaign_ID, o.AD_OrgTrx_ID,
o.User1_ID, o.User2_ID, o.DeliveryViaRule, o.M_Shipper_ID,
o.C_Charge_ID, o.ChargeAmt, o.PriorityRule, o.SALESREP_ID,
+ d.DocSubTypeSO,
o.DELIVERY_LOCATION_ID -- Added by Rafa Roda to include delivery
location
- FROM C_ORDER o INNER JOIN C_ORDERLINE l
ON(o.C_Order_ID=l.C_Order_ID) -- Orders are IP or CO if Standard Orders
+ FROM C_ORDER o JOIN C_DOCTYPE d ON o.C_DOCTYPE_ID = d.C_DOCTYPE_ID
INNER JOIN C_ORDERLINE l ON(o.C_Order_ID=l.C_Order_ID) -- Orders are IP or CO
if Standard Orders
WHERE(o.DocStatus='IP' OR(o.DocStatus='CO'
AND o.IsDelivered='N'
AND v_Record_ID='0')) -- Sales Orders
Only and not Offers
@@ -254,6 +256,7 @@
o.C_Project_ID, o.C_Activity_ID, o.C_Campaign_ID, o.AD_OrgTrx_ID,
o.User1_ID, o.User2_ID, o.DeliveryViaRule, o.M_Shipper_ID,
o.C_Charge_ID, o.ChargeAmt, o.PriorityRule, o.SALESREP_ID,
+ d.DocSubTypeSO,
o.DELIVERY_LOCATION_ID -- Added by Rafa Roda to include delivery
location
ORDER BY o.PriorityRule
) LOOP
@@ -300,6 +303,13 @@
IF(v_DocumentNo IS NULL) THEN
Ad_Sequence_Doc('DocumentNo_M_InOut', Cur_Order.AD_Client_ID,
'Y', v_DocumentNo) ;
END IF;
+
+ IF Cur_Order.DocSubTypeSO = 'WR' THEN
+ v_NEWORDERDATE = Cur_Order.DATEORDERED; -- IS A POS ORDER
+ ELSE
+ v_NEWORDERDATE = now();
+ END IF;
+
--RAISE_APPLICATION_ERROR(-20100,'el numero documento
es:'||COALESCE(v_DocumentNo,0)||' El doctypeId es:
'||COALESCE(v_DocType_ID,0)||' El cOrderId es:
'||COALESCE(Cur_Order.C_Order_ID,'0'));
--
DBMS_OUTPUT.PUT_LINE(' InOut_ID=' || p_InOut_ID || ',
DocumentNo=' || v_DocumentNo || ', Ship_DocType_ID=' || v_DocType_ID || ',
Order_DocType_ID=' || Cur_Order.C_DocType_ID) ;
@@ -321,7 +331,7 @@
(p_InOut_ID, Cur_Order.C_Order_ID, Cur_Order.IsSOTrx,
Cur_Order.AD_Client_ID,
Cur_Order.AD_Org_ID, 'Y', now(), v_User_ID,
now(), v_User_ID, v_DocumentNo, v_DocType_ID,
- Cur_Order.Description, 'N', 'C-', Cur_Order.DATEORDERED,
+ Cur_Order.Description, 'N', 'C-', v_NEWORDERDATE,
now(), Cur_Order.C_BPartner_ID,
Cur_Order.C_BPartner_Location_ID, Cur_Order.AD_User_ID,
Cur_Order.M_Warehouse_ID, Cur_Order.POReference,
Cur_Order.DateOrdered, Cur_Order.DeliveryRule,
Cur_Order.FreightCostRule, Cur_Order.FreightAmt,
Cur_Order.C_Project_ID, Cur_Order.C_Activity_ID,
diff -r 0c884939d01f -r 8892bca8717c
src/org/openbravo/base/model/domaintype/BooleanDomainType.java
--- a/src/org/openbravo/base/model/domaintype/BooleanDomainType.java Fri Dec
24 12:47:58 2010 +0100
+++ b/src/org/openbravo/base/model/domaintype/BooleanDomainType.java Fri Dec
24 13:37:27 2010 +0100
@@ -39,10 +39,10 @@
if (strValue == null || strValue.trim().length() == 0) {
return null;
}
- if (strValue.equalsIgnoreCase("T")) {
+ if (strValue.equalsIgnoreCase("Y")) {
return Boolean.TRUE;
}
- if (strValue.equalsIgnoreCase("F")) {
+ if (strValue.equalsIgnoreCase("N")) {
return Boolean.FALSE;
}
return new Boolean(strValue);
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits