Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //def sugarCustomer = message.getInvocationProperty("customerUpdateMessage").contact;
- //def oir = message.getInvocationProperty("omxOrderInfo");
- def parseOrderDate (date) {
- try {
- Date.parse("yyyy-MM-dd HH:mm:ss", date);
- } catch(e) {
- Date.parse("yyyy-MM-dd", date);
- }
- }
- if (sugarCustomer instanceof java.lang.String) {
- sugarCustomer = message.getInvocationProperty('customerUpdateMessage').contact;
- }
- if (oir instanceof java.lang.String) {
- oir = message.getInvocationProperty("omxOrderInfo");
- }
- if (!(sugarCustomer instanceof com.franklinmint.sugarcrm.model.Contact)) {
- sugarCustomer = null;
- }
- if (!(oir instanceof com.franklinmint.omx.OrderInformationResponse)) {
- oir = null;
- }
- def logger = org.slf4j.LoggerFactory.getLogger(getClass());
- logger.info("oir {}", oir);
- logger.info("sugarCustomer {}", sugarCustomer);
- def billingAddress = null;
- def shippingAddress = null;
- if(oir != null && (oir instanceof com.franklinmint.omx.OrderInformationResponse)){
- if(oir.customers != null && !oir.customers.isEmpty()){
- billingAddress = oir.customers[0].addresses[0];
- }
- if(oir.shippingInformations != null && !oir.shippingInformations.isEmpty()){
- shippingAddress = oir.shippingInformations[0].addresses[0];
- }
- }
- def orderHeader = oir.orderHeaders[0];
- def request = new com.franklinmint.api.OrderUpdateMessage();
- def order = new com.franklinmint.sugarcrm.model.Order();
- //Customer.Addr1 b_addr1_c DONE
- //Customer.Addr2 b_addr2_c DONE
- //Customer.City b_city_c DONE
- //Customer.Company b_company_c DONE
- //Customer.TLD b_country_c DONE
- //Customer.Email b_email_c DONE
- //Customer.FirstName b_firstname_c DONE
- //Customer.LastName b_lastname_c DONE
- //Customer.Phone b_phone_c DONE
- //Customer.State b_state_c DONE
- //Customer.Zip b_zip_c DONE
- if(billingAddress != null){
- order.billToFirstName = billingAddress.firstName;
- order.billToLastName = billingAddress.lastName;
- order.billToEmail = billingAddress.email;
- order.billToPhone = billingAddress.phoneNumber;
- order.billToCity = billingAddress.city;
- order.billToCountry = billingAddress.tld;
- order.billToZip = billingAddress.zip;
- order.billToState = billingAddress.state;
- order.billToAddress1 = billingAddress.address1;
- order.billToAddress2 = billingAddress.address2;
- order.billToCompany = billingAddress.company;
- }
- //OrderShipTo.Addr1 s_addr1_c DONE
- //OrderShipTo.Addr2 s_addr2_c DONE
- //OrderShipTo.City s_city_c DONE
- //OrderShipTo.Company s_company_c DONE
- //OrderShipTo.TLD s_country_c DONE
- //OrderShipTo.Email s_email_c DONE
- //OrderShipTo.FirstName s_firstname_c DONE
- //OrderShipTo.LastName s_lastname_c DONE
- //OrderShipTo.PhoneNumber s_phone_c DONE
- //OrderShipTo.State s_state_c DONE
- //OrderShipTo.Zip s_zip_c DONE
- if(shippingAddress != null){
- order.shipToFirstName = shippingAddress.firstName;
- order.shipToLastName = shippingAddress.lastName;
- order.shipToEmail = shippingAddress.email;
- order.shipToPhone = shippingAddress.phoneNumber;
- order.shipToCity = shippingAddress.city;
- order.shipToCountry = shippingAddress.tld;
- order.shipToZip = shippingAddress.zip;
- order.shipToState = shippingAddress.state;
- order.shipToAddress1 = shippingAddress.address1;
- order.shipToAddress2 = shippingAddress.address2;
- order.shipToCompany = shippingAddress.company;
- }
- //OrderHeader.[OrderGroup].[Campaign Code, ID=6] cl_key_c
- //Customer.Custnum custnum_c
- //OrderHeader.OrderDate entrytime_c DONE
- //OrderHeader.OrderNumber name DONE
- //OrderHeader.OrderDate odr_date_c DONE
- //OrderHeader.OrderNumber order_num_c DONE
- //OrderHeader.Status order_st2_c DONE
- //OrderHeader.TotalAmount order_total DONE
- //OrderHeader.OriginType Channel: 2=Tel 3=Web 4=Walk-in 5=SMS 6=Mail order order_type_c
- //OrderHeader.[OrderGroup].[Sales ID, ID=2] sales_user_id_c
- //ShipmentConfirmation.Date ship_date_c
- //OrderShipTo.CustomerNumber shipnum_c !!!!
- //OrderHeader.SH shipping_c !!!!
- //[SEE OMX LOGIC] VALUE = "Magento Internal" or VALUE = "Web" or VALUE = "OMX" systemoforigin_c
- //OrderHeader.Tax tax_c
- order.name = orderHeader.orderNumber;
- order.orderNumber = orderHeader.orderNumber;
- order.orderTotal = orderHeader.totalAmount.toBigDecimal();
- order.entryTime = parseOrderDate(orderHeader.orderDate);
- order.orderDate = parseOrderDate(orderHeader.orderDate);
- order.orderStatus = orderHeader.orderStatuses[0].statusCode;
- def orderItems = [];
- for ( omxOrderItem in oir.orderDetails[0].lineItems ) {
- //OrderHeader.[OrderGroup].[Campaign Code, ID=6] advert_c
- //Items.[Base Attributes Group].[Anchor Category 1, ID=1] anchor_category1_c
- //Items.[Base Attributes Group].[Anchor Category 2, ID=2] anchor_category2_c
- //Items.[Base Attributes Group].[Anchor Category 3, ID=3] anchor_category3_c
- //OrderDetail.LineItem.Info custominfo_c DONE
- //OrderDetail.LineItem.ProductName description DONE
- //ShipmentConfirmation.OrderPart inpart_c
- //InvoiceHeader.InvoiceDate invoice_date_c
- //OrderDetail.LineItem.ShipDate it_sdate_c !!!!
- //OrderDetail.LineItem.LineCOGS / OrderDetail.LineItem.Quantity it_uncost_c DONE
- //OrderDetail.LineItem.UnitPrice it_unlist_c DONE
- //OrderDetail.LineItem.ItemCode item_c DONE
- //OrderDetail.LineItem.LineNumber item_id_c DONE
- //OrderDetail.LineItem.ProductName name DONE
- //OrderHeader.OrderNumber order_num_c
- //OrderDetail.LineItem.Quantity quanto_c DONE
- //OrderDetail.LineItem.ShippingQuantity quants_c DONE
- //OrderHeader.[OrderGroup].[Sales ID, ID=2] sales_id_c
- //OrderDetail.LineItem.WarehouseReference ship_from_c DONE
- //OrderDetail.LineItem.MethodName ship_via_c !!!!
- //OrderDetail.LineItem.TrackingNumber tracking_number_c DONE
- def orderItem = new com.franklinmint.sugarcrm.model.OrderItem();
- orderItems.add(orderItem);
- orderItem.name = omxOrderItem.productName;
- orderItem.itemCode = omxOrderItem.itemCodes[0].value;
- orderItem.customInfo = omxOrderItem.info;
- orderItem.description = omxOrderItem.productName;
- orderItem.itemUnitCost = omxOrderItem.lineCOGS.toBigDecimal() / omxOrderItem.quantities[0].value.toBigDecimal();
- orderItem.itemUnitPrice = omxOrderItem.unitPrice.toBigDecimal();
- orderItem.orderNumber = orderHeader.orderNumber;
- orderItem.itemId = omxOrderItem.lineNumber;
- orderItem.quantityOrdered = omxOrderItem.quantities[0].value.toInteger();
- orderItem.quantityShipped = omxOrderItem.shippingQuantities[0].value.toInteger();
- orderItem.shippedFrom = omxOrderItem.warehouseReference;
- //orderItem.shipmentMethod = omxOrderItem.;
- orderItem.trackingNumber = omxOrderItem.trackingNumber;
- //orderItem. = omxOrderItem.;
- //orderItem. = omxOrderItem.;
- //orderItem. = omxOrderItem.;
- //orderItem. = omxOrderItem.;
- //orderItem. = omxOrderItem.;
- //orderItem. = omxOrderItem.;
- //orderItem. = omxOrderItem.;
- }
- order.orderItems = orderItems;
- request.contact = sugarCustomer;
- request.order = order;
- return request;
Add Comment
Please, Sign In to add comment