Guest User

Untitled

a guest
Dec 12th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.98 KB | None | 0 0
  1. //def sugarCustomer = message.getInvocationProperty("customerUpdateMessage").contact;
  2. //def oir = message.getInvocationProperty("omxOrderInfo");
  3.  
  4. def parseOrderDate (date) {
  5. try {
  6. Date.parse("yyyy-MM-dd HH:mm:ss", date);
  7. } catch(e) {
  8. Date.parse("yyyy-MM-dd", date);
  9. }
  10. }
  11.  
  12. if (sugarCustomer instanceof java.lang.String) {
  13. sugarCustomer = message.getInvocationProperty('customerUpdateMessage').contact;
  14. }
  15. if (oir instanceof java.lang.String) {
  16. oir = message.getInvocationProperty("omxOrderInfo");
  17. }
  18. if (!(sugarCustomer instanceof com.franklinmint.sugarcrm.model.Contact)) {
  19. sugarCustomer = null;
  20. }
  21. if (!(oir instanceof com.franklinmint.omx.OrderInformationResponse)) {
  22. oir = null;
  23. }
  24.  
  25. def logger = org.slf4j.LoggerFactory.getLogger(getClass());
  26. logger.info("oir {}", oir);
  27. logger.info("sugarCustomer {}", sugarCustomer);
  28.  
  29. def billingAddress = null;
  30. def shippingAddress = null;
  31. if(oir != null && (oir instanceof com.franklinmint.omx.OrderInformationResponse)){
  32. if(oir.customers != null && !oir.customers.isEmpty()){
  33. billingAddress = oir.customers[0].addresses[0];
  34. }
  35.  
  36. if(oir.shippingInformations != null && !oir.shippingInformations.isEmpty()){
  37. shippingAddress = oir.shippingInformations[0].addresses[0];
  38. }
  39. }
  40. def orderHeader = oir.orderHeaders[0];
  41. def request = new com.franklinmint.api.OrderUpdateMessage();
  42. def order = new com.franklinmint.sugarcrm.model.Order();
  43.  
  44. //Customer.Addr1 b_addr1_c DONE
  45. //Customer.Addr2 b_addr2_c DONE
  46. //Customer.City b_city_c DONE
  47. //Customer.Company b_company_c DONE
  48. //Customer.TLD b_country_c DONE
  49. //Customer.Email b_email_c DONE
  50. //Customer.FirstName b_firstname_c DONE
  51. //Customer.LastName b_lastname_c DONE
  52. //Customer.Phone b_phone_c DONE
  53. //Customer.State b_state_c DONE
  54. //Customer.Zip b_zip_c DONE
  55. if(billingAddress != null){
  56. order.billToFirstName = billingAddress.firstName;
  57. order.billToLastName = billingAddress.lastName;
  58. order.billToEmail = billingAddress.email;
  59. order.billToPhone = billingAddress.phoneNumber;
  60. order.billToCity = billingAddress.city;
  61. order.billToCountry = billingAddress.tld;
  62. order.billToZip = billingAddress.zip;
  63. order.billToState = billingAddress.state;
  64. order.billToAddress1 = billingAddress.address1;
  65. order.billToAddress2 = billingAddress.address2;
  66. order.billToCompany = billingAddress.company;
  67. }
  68.  
  69. //OrderShipTo.Addr1 s_addr1_c DONE
  70. //OrderShipTo.Addr2 s_addr2_c DONE
  71. //OrderShipTo.City s_city_c DONE
  72. //OrderShipTo.Company s_company_c DONE
  73. //OrderShipTo.TLD s_country_c DONE
  74. //OrderShipTo.Email s_email_c DONE
  75. //OrderShipTo.FirstName s_firstname_c DONE
  76. //OrderShipTo.LastName s_lastname_c DONE
  77. //OrderShipTo.PhoneNumber s_phone_c DONE
  78. //OrderShipTo.State s_state_c DONE
  79. //OrderShipTo.Zip s_zip_c DONE
  80. if(shippingAddress != null){
  81. order.shipToFirstName = shippingAddress.firstName;
  82. order.shipToLastName = shippingAddress.lastName;
  83. order.shipToEmail = shippingAddress.email;
  84. order.shipToPhone = shippingAddress.phoneNumber;
  85. order.shipToCity = shippingAddress.city;
  86. order.shipToCountry = shippingAddress.tld;
  87. order.shipToZip = shippingAddress.zip;
  88. order.shipToState = shippingAddress.state;
  89. order.shipToAddress1 = shippingAddress.address1;
  90. order.shipToAddress2 = shippingAddress.address2;
  91. order.shipToCompany = shippingAddress.company;
  92. }
  93.  
  94. //OrderHeader.[OrderGroup].[Campaign Code, ID=6] cl_key_c
  95. //Customer.Custnum custnum_c
  96. //OrderHeader.OrderDate entrytime_c DONE
  97. //OrderHeader.OrderNumber name DONE
  98. //OrderHeader.OrderDate odr_date_c DONE
  99. //OrderHeader.OrderNumber order_num_c DONE
  100. //OrderHeader.Status order_st2_c DONE
  101. //OrderHeader.TotalAmount order_total DONE
  102. //OrderHeader.OriginType Channel: 2=Tel 3=Web 4=Walk-in 5=SMS 6=Mail order order_type_c
  103. //OrderHeader.[OrderGroup].[Sales ID, ID=2] sales_user_id_c
  104. //ShipmentConfirmation.Date ship_date_c
  105. //OrderShipTo.CustomerNumber shipnum_c !!!!
  106. //OrderHeader.SH shipping_c !!!!
  107. //[SEE OMX LOGIC] VALUE = "Magento Internal" or VALUE = "Web" or VALUE = "OMX" systemoforigin_c
  108. //OrderHeader.Tax tax_c
  109. order.name = orderHeader.orderNumber;
  110. order.orderNumber = orderHeader.orderNumber;
  111. order.orderTotal = orderHeader.totalAmount.toBigDecimal();
  112. order.entryTime = parseOrderDate(orderHeader.orderDate);
  113. order.orderDate = parseOrderDate(orderHeader.orderDate);
  114. order.orderStatus = orderHeader.orderStatuses[0].statusCode;
  115.  
  116. def orderItems = [];
  117. for ( omxOrderItem in oir.orderDetails[0].lineItems ) {
  118. //OrderHeader.[OrderGroup].[Campaign Code, ID=6] advert_c
  119. //Items.[Base Attributes Group].[Anchor Category 1, ID=1] anchor_category1_c
  120. //Items.[Base Attributes Group].[Anchor Category 2, ID=2] anchor_category2_c
  121. //Items.[Base Attributes Group].[Anchor Category 3, ID=3] anchor_category3_c
  122. //OrderDetail.LineItem.Info custominfo_c DONE
  123. //OrderDetail.LineItem.ProductName description DONE
  124. //ShipmentConfirmation.OrderPart inpart_c
  125. //InvoiceHeader.InvoiceDate invoice_date_c
  126. //OrderDetail.LineItem.ShipDate it_sdate_c !!!!
  127. //OrderDetail.LineItem.LineCOGS / OrderDetail.LineItem.Quantity it_uncost_c DONE
  128. //OrderDetail.LineItem.UnitPrice it_unlist_c DONE
  129. //OrderDetail.LineItem.ItemCode item_c DONE
  130. //OrderDetail.LineItem.LineNumber item_id_c DONE
  131. //OrderDetail.LineItem.ProductName name DONE
  132. //OrderHeader.OrderNumber order_num_c
  133. //OrderDetail.LineItem.Quantity quanto_c DONE
  134. //OrderDetail.LineItem.ShippingQuantity quants_c DONE
  135. //OrderHeader.[OrderGroup].[Sales ID, ID=2] sales_id_c
  136. //OrderDetail.LineItem.WarehouseReference ship_from_c DONE
  137. //OrderDetail.LineItem.MethodName ship_via_c !!!!
  138. //OrderDetail.LineItem.TrackingNumber tracking_number_c DONE
  139.  
  140. def orderItem = new com.franklinmint.sugarcrm.model.OrderItem();
  141. orderItems.add(orderItem);
  142.  
  143. orderItem.name = omxOrderItem.productName;
  144. orderItem.itemCode = omxOrderItem.itemCodes[0].value;
  145. orderItem.customInfo = omxOrderItem.info;
  146. orderItem.description = omxOrderItem.productName;
  147. orderItem.itemUnitCost = omxOrderItem.lineCOGS.toBigDecimal() / omxOrderItem.quantities[0].value.toBigDecimal();
  148. orderItem.itemUnitPrice = omxOrderItem.unitPrice.toBigDecimal();
  149. orderItem.orderNumber = orderHeader.orderNumber;
  150. orderItem.itemId = omxOrderItem.lineNumber;
  151. orderItem.quantityOrdered = omxOrderItem.quantities[0].value.toInteger();
  152. orderItem.quantityShipped = omxOrderItem.shippingQuantities[0].value.toInteger();
  153. orderItem.shippedFrom = omxOrderItem.warehouseReference;
  154. //orderItem.shipmentMethod = omxOrderItem.;
  155. orderItem.trackingNumber = omxOrderItem.trackingNumber;
  156. //orderItem. = omxOrderItem.;
  157. //orderItem. = omxOrderItem.;
  158. //orderItem. = omxOrderItem.;
  159. //orderItem. = omxOrderItem.;
  160. //orderItem. = omxOrderItem.;
  161. //orderItem. = omxOrderItem.;
  162. //orderItem. = omxOrderItem.;
  163. }
  164. order.orderItems = orderItems;
  165.  
  166. request.contact = sugarCustomer;
  167. request.order = order;
  168.  
  169. return request;
Add Comment
Please, Sign In to add comment