Skip to content

Commit

Permalink
SC#QCADOOMES-1791 Fixed problem with payment form in deliveries.
Browse files Browse the repository at this point in the history
  • Loading branch information
lponiewierski committed Oct 18, 2013
1 parent f5b7be1 commit c9739b0
Show file tree
Hide file tree
Showing 14 changed files with 141 additions and 85 deletions.
15 changes: 15 additions & 0 deletions mes-application/sql/1.2.1/upgrade_mes7.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-- Table: qcadoomodel_dictionary
-- changed: 18.10.2013

INSERT INTO qcadoomodel_dictionary(id, name, pluginidentifier, active)
VALUES (nextval('hibernate_sequence') + 1000, 'paymentForm', 'deliveries', true);

-- end


-- Table: deliveries_delivery
-- changed: 18.10.2013

ALTER TABLE deliveries_delivery paymentForm;

-- end
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,6 @@ private CompanyFieldsD() {

public static final String BUFFER = "buffer";

public static final String PAYMENT_FORM = "paymentForm";

}
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ private DeliveryFields() {

public static final String DELIVERY_ADDRESS = "deliveryAddress";

public static final String DELIVERY_DATE_BUFFER = "deliveryDateBuffer";

public static final String PAYMENT_FORM = "paymentForm";

public static final String RELATED_DELIVERY = "relatedDelivery";

public static final String RELATED_DELIVERIES = "relatedDeliveries";
Expand All @@ -65,8 +69,6 @@ private DeliveryFields() {

public static final String DELIVERED_PRODUCTS_CUMULATED_TOTAL_PRICE = "deliveredProductsCumulatedTotalPrice";

public static final String PAYMENT_FORM = "paymentForm";

public static final String CURRENCY = "currency";

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,13 @@
*/
package com.qcadoo.mes.deliveries.hooks;

import static com.qcadoo.mes.deliveries.constants.CompanyFieldsD.BUFFER;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.DELIVERED_PRODUCTS;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.DELIVERY_ADDRESS;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.DESCRIPTION;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.NUMBER;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.ORDERED_PRODUCTS;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.RELATED_DELIVERIES;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.STATE;
import static com.qcadoo.mes.deliveries.constants.DeliveryFields.SUPPLIER;
import static com.qcadoo.mes.deliveries.states.constants.DeliveryState.APPROVED;
import static com.qcadoo.mes.deliveries.states.constants.DeliveryState.DECLINED;
import static com.qcadoo.mes.deliveries.states.constants.DeliveryState.PREPARED;
Expand All @@ -47,7 +45,9 @@

import com.google.common.collect.Lists;
import com.qcadoo.mes.deliveries.DeliveriesService;
import com.qcadoo.mes.deliveries.constants.CompanyFieldsD;
import com.qcadoo.mes.deliveries.constants.DeliveriesConstants;
import com.qcadoo.mes.deliveries.constants.DeliveryFields;
import com.qcadoo.mes.deliveries.states.constants.DeliveryStateChangeFields;
import com.qcadoo.mes.states.service.client.util.StateChangeHistoryService;
import com.qcadoo.model.api.Entity;
Expand All @@ -65,16 +65,10 @@
@Service
public class DeliveryDetailsHooks {

private static final String L_DELIVERY_DATE_BUFFER = "deliveryDateBuffer";

private static final String L_FORM = "form";

private static final String L_WINDOW = "window";

private static final String L_PRODUCT = "product";

private static final String L_SHOW_PRODUCT = "showProduct";

private static final String L_RELATED_DELIVERY = "relatedDelivery";

private static final String L_CREATE_RELATED_DELIVERY = "createRelatedDelivery";
Expand All @@ -95,19 +89,24 @@ public void generateDeliveryNumber(final ViewDefinitionState view) {
DeliveriesConstants.MODEL_DELIVERY, L_FORM, NUMBER);
}

public void fillBufferForSupplier(final ViewDefinitionState view) {
LookupComponent supplierLookup = (LookupComponent) view.getComponentByReference(SUPPLIER);
FieldComponent deliveryDateBufferField = (FieldComponent) view.getComponentByReference(L_DELIVERY_DATE_BUFFER);
public void fillCompanyFieldsForSupplier(final ViewDefinitionState view) {
LookupComponent supplierLookup = (LookupComponent) view.getComponentByReference(DeliveryFields.SUPPLIER);
FieldComponent deliveryDateBufferField = (FieldComponent) view
.getComponentByReference(DeliveryFields.DELIVERY_DATE_BUFFER);
FieldComponent paymentFormField = (FieldComponent) view.getComponentByReference(DeliveryFields.PAYMENT_FORM);

Entity supplier = supplierLookup.getEntity();

if (supplier == null) {
deliveryDateBufferField.setFieldValue(null);
paymentFormField.setFieldValue(null);
} else {
deliveryDateBufferField.setFieldValue(supplier.getField(BUFFER));
deliveryDateBufferField.setFieldValue(supplier.getIntegerField(CompanyFieldsD.BUFFER));
paymentFormField.setFieldValue(supplier.getStringField(CompanyFieldsD.PAYMENT_FORM));
}

deliveryDateBufferField.requestComponentUpdateState();
paymentFormField.requestComponentUpdateState();
}

public void changeFieldsEnabledDependOnState(final ViewDefinitionState view) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.qcadoo.mes.deliveries.DeliveriesService;
import com.qcadoo.mes.deliveries.constants.DeliveredProductFields;
import com.qcadoo.mes.deliveries.constants.DeliveriesConstants;
import com.qcadoo.mes.deliveries.constants.DeliveryFields;
import com.qcadoo.mes.deliveries.constants.OrderedProductFields;
Expand All @@ -60,19 +61,15 @@
@Component
public class DeliveryDetailsListeners {

private static final String L_DELIVERED_PRODUCTS = "deliveredProducts";

private static final String L_ORDERED_PRODUCTS = "orderedProducts";

private static final String L_FORM = "form";

private static final String L_WINDOW_ACTIVE_MENU = "window.activeMenu";

private static final String L_WINDOW = "window";
private static final String L_ORDERED_PRODUCTS = "orderedProducts";

private static final String L_PRODUCT = "product";
private static final String L_DELIVERED_PRODUCTS = "deliveredProducts";

private static final String L_SHOW_PRODUCT = "showProduct";
private static final String L_PRODUCT = "product";

@Autowired
private DeliveriesService deliveriesService;
Expand All @@ -86,8 +83,8 @@ public class DeliveryDetailsListeners {
@Autowired
private NumberGeneratorService numberGeneratorService;

public void fillBufferForSupplier(final ViewDefinitionState view, final ComponentState state, final String[] args) {
deliveryDetailsHooks.fillBufferForSupplier(view);
public void fillCompanyFieldsForSupplier(final ViewDefinitionState view, final ComponentState state, final String[] args) {
deliveryDetailsHooks.fillCompanyFieldsForSupplier(view);
}

public final void printDeliveryReport(final ViewDefinitionState view, final ComponentState state, final String[] args) {
Expand Down Expand Up @@ -153,7 +150,7 @@ private List<Entity> createDeliveredProducts(final List<Entity> orderedProducts)
private Entity createDeliveredProduct(final Entity orderedProduct) {
Entity deliveredProduct = deliveriesService.getDeliveredProductDD().create();

deliveredProduct.setField(L_PRODUCT, orderedProduct.getBelongsToField(L_PRODUCT));
deliveredProduct.setField(DeliveredProductFields.PRODUCT, orderedProduct.getBelongsToField(OrderedProductFields.PRODUCT));

return deliveredProduct;
}
Expand Down Expand Up @@ -247,13 +244,14 @@ private Entity getDeliveredProduct(final List<Entity> deliveredProducts, final E
}

private boolean checkIfProductsAreSame(final Entity orderedProduct, final Entity deliveredProduct) {
return (orderedProduct.getBelongsToField(L_PRODUCT).getId().equals(deliveredProduct.getBelongsToField(L_PRODUCT).getId()));
return (orderedProduct.getBelongsToField(OrderedProductFields.PRODUCT).getId().equals(deliveredProduct.getBelongsToField(
DeliveredProductFields.PRODUCT).getId()));
}

private Entity createOrderedProduct(final Entity orderedProduct, final BigDecimal orderedQuantity) {
Entity newOrderedProduct = deliveriesService.getOrderedProductDD().create();

newOrderedProduct.setField(L_PRODUCT, orderedProduct.getBelongsToField(L_PRODUCT));
newOrderedProduct.setField(OrderedProductFields.PRODUCT, orderedProduct.getBelongsToField(OrderedProductFields.PRODUCT));
newOrderedProduct.setField(ORDERED_QUANTITY, numberService.setScale(orderedQuantity));
newOrderedProduct.setField(OrderedProductFields.TOTAL_PRICE,
orderedProduct.getDecimalField(OrderedProductFields.TOTAL_PRICE));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@
import com.qcadoo.mes.basic.ParameterService;
import com.qcadoo.mes.columnExtension.constants.ColumnAlignment;
import com.qcadoo.mes.deliveries.DeliveriesService;
import com.qcadoo.mes.deliveries.constants.CompanyFieldsD;
import com.qcadoo.mes.deliveries.constants.DeliveredProductFields;
import com.qcadoo.mes.deliveries.constants.DeliveryFields;
import com.qcadoo.mes.deliveries.constants.OrderedProductFields;
import com.qcadoo.mes.deliveries.util.DeliveryPricesAndQuantities;
import com.qcadoo.model.api.Entity;
Expand Down Expand Up @@ -215,9 +215,9 @@ private Map<String, Object> createThirdColumn(final Entity delivery, final Local
column.put("deliveries.delivery.report.columnHeader.receivedOrderDate",
getStringFromDate(getReceivedOrderDate(delivery).getDateField("dateAndTime")));
}
if (StringUtils.isNotEmpty(delivery.getStringField(DeliveryFields.PAYMENT_FORM))) {
column.put("deliveries.delivery.report.columnHeader.paymentForm",
delivery.getStringField(DeliveryFields.PAYMENT_FORM));
if (StringUtils.isNotEmpty(delivery.getBelongsToField(SUPPLIER).getStringField(CompanyFieldsD.PAYMENT_FORM))) {
column.put("deliveries.delivery.report.columnHeader.paymentForm", delivery.getBelongsToField(SUPPLIER)
.getStringField(CompanyFieldsD.PAYMENT_FORM));
}
return column;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
import com.qcadoo.mes.columnExtension.ColumnExtensionService;
import com.qcadoo.mes.columnExtension.constants.ColumnAlignment;
import com.qcadoo.mes.deliveries.DeliveriesService;
import com.qcadoo.mes.deliveries.constants.DeliveryFields;
import com.qcadoo.mes.deliveries.constants.CompanyFieldsD;
import com.qcadoo.mes.deliveries.constants.OrderedProductFields;
import com.qcadoo.mes.deliveries.util.DeliveryPricesAndQuantities;
import com.qcadoo.model.api.Entity;
Expand Down Expand Up @@ -212,9 +212,9 @@ private Map<String, Object> createThirdColumn(final Entity delivery) {
column.put("deliveries.delivery.report.columnHeader.createOrderDate",
getStringFromDate((Date) getPrepareOrderDate(delivery).getField("dateAndTime")));
}
if (StringUtils.isNotEmpty(delivery.getStringField(DeliveryFields.PAYMENT_FORM))) {
column.put("deliveries.delivery.report.columnHeader.paymentForm",
delivery.getStringField(DeliveryFields.PAYMENT_FORM));
if (StringUtils.isNotEmpty(delivery.getBelongsToField(SUPPLIER).getStringField(CompanyFieldsD.PAYMENT_FORM))) {
column.put("deliveries.delivery.report.columnHeader.paymentForm", delivery.getBelongsToField(SUPPLIER)
.getStringField(CompanyFieldsD.PAYMENT_FORM));
}
return column;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@

### MODEL

deliveries.paymentForm.dictionary = Payment form

basic.paymentForm.dictionary = Payment form

deliveries.delivery.number.label = Number
deliveries.delivery.supplier.label = Supplier
deliveries.delivery.supplier.label.focus = Select supplier
Expand All @@ -39,12 +43,13 @@ deliveries.delivery.name.label = Name
deliveries.delivery.deliveryDate.label = Delivery date
deliveries.delivery.description.label = Description
deliveries.delivery.deliveryAddress.label = Delivery address
deliveries.delivery.deliveryDateBuffer.label = Delivery date buffer
deliveries.delivery.paymentForm.label = Payment form
deliveries.delivery.relatedDelivery.label = Related delivery
deliveries.delivery.orderedProductsCumulatedQuantity.label = Total quantity
deliveries.delivery.deliveredProductsCumulatedQuantity.label = Total quantity
deliveries.delivery.orderedProductsCumulatedTotalPrice.label = Total price (net)
deliveries.delivery.deliveredProductsCumulatedTotalPrice.label = Total price (net)
deliveries.delivery.paymentForm.label = Payment form

deliveries.orderedProduct.product.label = Product
deliveries.orderedProduct.product.label.focus = Select product
Expand Down Expand Up @@ -148,16 +153,18 @@ deliveries.columnForOrders.description.value.currency = Currency

### MODEL EXTENSIONS

basic.parameter.defaultAddress.value.01companyAddress = address of your company
basic.parameter.defaultAddress.value.02other = other

basic.company.paymentForm.label = Payment form

basic.company.products.label = Products
basic.company.productsFamilies.label = Product families
basic.company.buffer.label = Buffer for delivery terms (days)

basic.product.productCompanies.label = Companies
basic.product.productsFamilyCompanies.label = Companies

basic.parameter.defaultAddress.value.01companyAddress = address of your company
basic.parameter.defaultAddress.value.02other = other


### VIEW

Expand Down Expand Up @@ -186,6 +193,7 @@ deliveries.deliveryDetails.window.mainTab.deliveriesDetails.supplier.lookup.wind
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.deliveryDateBuffer.label = Delivery date buffer
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.deliveryDateBufferDays.label = days
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.relatedDelivery.lookup.window.grid.header = Deliveries
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.paymentForm.label = Payment form

deliveries.deliveryDetails.window.orderedProductTab.tabLabel = Ordered products
deliveries.deliveryDetails.window.deliveredProductTab.tabLabel = Delivered products
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@

### MODEL

deliveries.paymentForm.dictionary = Forma płatności

basic.paymentForm.dictionary = Forma płatności

deliveries.delivery.number.label = Numer
deliveries.delivery.supplier.label = Dostawca
deliveries.delivery.supplier.label.focus = Wybierz dostawce
Expand All @@ -39,12 +43,13 @@ deliveries.delivery.name.label = Nazwa
deliveries.delivery.deliveryDate.label = Termin dostawy
deliveries.delivery.description.label = Opis
deliveries.delivery.deliveryAddress.label = Adres docelowy dostawy
deliveries.delivery.deliveryDateBuffer.label = Bufor dla terminu dostaw
deliveries.delivery.paymentForm.label = Forma płatności
deliveries.delivery.relatedDelivery.label = Powiązana dostawa
deliveries.delivery.orderedProductsCumulatedQuantity.label = Całkowita ilość
deliveries.delivery.deliveredProductsCumulatedQuantity.label = Całkowita ilość
deliveries.delivery.orderedProductsCumulatedTotalPrice.label = Całkowity koszt (netto)
deliveries.delivery.deliveredProductsCumulatedTotalPrice.label = Całkowity koszt (netto)
deliveries.delivery.paymentForm.label = Forma płatności

deliveries.orderedProduct.product.label = Produkt
deliveries.orderedProduct.product.label.focus = Wybierz produkt
Expand Down Expand Up @@ -148,16 +153,18 @@ deliveries.columnForOrders.description.value.currency = Waluta

### MODEL EXTENSIONS

basic.parameter.defaultAddress.value.01companyAddress = adres Twojej firmy
basic.parameter.defaultAddress.value.02other = inny

basic.company.paymentForm.label = Forma płatności

basic.company.products.label = Produkty
basic.company.productsFamilies.label = Rodziny produktów
basic.company.buffer.label = Bufor dla terminu dostaw (dni)

basic.product.productCompanies.label = Firmy
basic.product.productsFamilyCompanies.label = Firmy

basic.parameter.defaultAddress.value.01companyAddress = adres Twojej firmy
basic.parameter.defaultAddress.value.02other = inny


### VIEW

Expand Down Expand Up @@ -186,6 +193,7 @@ deliveries.deliveryDetails.window.mainTab.deliveriesDetails.supplier.lookup.wind
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.deliveryDateBuffer.label = Bufor dla terminu dostawy
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.deliveryDateBufferDays.label = dni
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.relatedDelivery.lookup.window.grid.header = Dostawy
deliveries.deliveryDetails.window.mainTab.deliveriesDetails.paymentForm.label = Forma płatności

deliveries.deliveryDetails.window.orderedProductTab.tabLabel = Zamówione produkty
deliveries.deliveryDetails.window.deliveredProductTab.tabLabel = Odbiór dostawy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@
<string name="deliveryAddress">
<validatesLength max="2048" />
</string>
<string name="paymentForm">
<validatesLength max="1024" />
</string>

<integer name="deliveryDateBuffer" persistent="false" />
<dictionary name="paymentForm" dictionary="paymentForm" persistent="false" />

<belongsTo name="relatedDelivery" model="delivery" />
<belongsTo name="currency" model="currency" plugin="basic"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@

<listener event="onSelectedEntityChange"
class="com.qcadoo.mes.deliveries.listeners.DeliveryDetailsListeners"
method="fillBufferForSupplier" />
method="fillCompanyFieldsForSupplier" />
</component>
</layoutElement>
<layoutElement column="2" row="2">
Expand All @@ -310,8 +310,8 @@
reference="deliveryAddress" />
</layoutElement>
<layoutElement column="2" row="6">
<component type="textarea" name="paymentForm" field="paymentForm"
reference="paymentForm" />
<component type="select" name="paymentForm" field="paymentForm"
reference="paymentForm" defaultEnabled="never" />
</layoutElement>
<layoutElement column="3" row="1">
<component type="select" name="state" field="state"
Expand All @@ -321,7 +321,7 @@
<component type="gridLayout" name="gridLayoutDeliveryDateBuffer"
hasBorders="false" columns="4" rows="1">
<layoutElement column="1" row="1" width="3">
<component type="input" name="deliveryDateBuffer"
<component type="input" name="deliveryDateBuffer" field="deliveryDateBuffer"
reference="deliveryDateBuffer" defaultEnabled="never">
<option type="labelWidth" value="40" />
</component>
Expand Down Expand Up @@ -564,7 +564,7 @@
<beforeRender class="com.qcadoo.mes.deliveries.hooks.DeliveryDetailsHooks"
method="generateDeliveryNumber" />
<beforeRender class="com.qcadoo.mes.deliveries.hooks.DeliveryDetailsHooks"
method="fillBufferForSupplier" />
method="fillCompanyFieldsForSupplier" />
<beforeRender class="com.qcadoo.mes.deliveries.hooks.DeliveryDetailsHooks"
method="fillDeliveryAddressDefaultValue" />
<beforeRender class="com.qcadoo.mes.deliveries.hooks.DeliveryDetailsHooks"
Expand Down
Loading

0 comments on commit c9739b0

Please sign in to comment.