Advertisement
JackBruce

Aggregation Logic

Jul 24th, 2020 (edited)
433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 9.46 KB | None | 0 0
  1. if saleChannel = 0
  2.         group by legacyCategoryCode
  3.             sales: {
  4.                 saleItems: [
  5.                     {  
  6.                         - saleChannel = saleItems.saleChannel where saleItemType="Sale"
  7.                         - categoryCode = saleItems.categoryCode where saleItemType="Sale"
  8.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Sale"
  9.                         - productCode = saleItems.productCode where saleItemType="Sale"
  10.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Sale"
  11.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Sale"
  12.                         - salesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  13.                     }
  14.                 ],
  15.                 - totalSalesAmountIncludingTax = sum(saleItems.amount where saleItemType="Sale")
  16.                 - totalSalesAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Sale")
  17.                 - totalSalesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  18.             }
  19.             refunds: {
  20.                 refundItems: [
  21.                     {
  22.                         - saleChannel = saleItems.saleChannel where saleItemType="Refund"
  23.                         - categoryCode = saleItems.categoryCode where saleItemType="Refund"
  24.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Refund"
  25.                         - productCode = saleItems.productCode where saleItemType="Refund"
  26.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Refund"
  27.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Refund"
  28.                         - refundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund"
  29.                         - discountAmountIncludingTax = sum(saleItems.priceAdjustments.amount where saleItemType="Refund")
  30.                         - discountAmountExcludingTax = sum(saleItems.priceAdjustments.netAmount where saleItemType="Refund")
  31.                         - refundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  32.                     }
  33.                 ],
  34.                 - totalRefundAmountIncludingTax = sum(saleItems.amount where saleItemType="Refund")
  35.                 - totalRefundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund")
  36.                 - totalRefundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  37.             }
  38.     if saleChannel != 0
  39.         group by legacyProductCode
  40.             sales: {
  41.                 saleItems: [
  42.                     {
  43.                         - saleChannel = saleItems.saleChannel where saleItemType="Sale"
  44.                         - categoryCode = saleItems.categoryCode where saleItemType="Sale"
  45.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Sale"
  46.                         - productCode = saleItems.productCode where saleItemType="Sale"
  47.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Sale"
  48.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Sale"
  49.                         - netAmount = sum(saleItems.originalNetAmount where saleItemType="Sale")
  50.                         - discountAmount = sum(saleItems.priceAdjustments.netAmount where saleItemType="Sale")
  51.                         - salesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  52.                     }
  53.                 ],
  54.                 - totalSalesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  55.                 - totalSalesAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Sale")
  56.                 - totalSalesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  57.             }
  58.             refunds: {
  59.                 refundItems: [
  60.                     {
  61.                         - saleChannel = saleItems.saleChannel where saleItemType="Refund"
  62.                         - categoryCode = saleItems.categoryCode where saleItemType="Refund"
  63.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Refund"
  64.                         - productCode = saleItems.productCode where saleItemType="Refund"
  65.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Refund"
  66.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Refund"
  67.                         - refundAmountIncludingTax = sum(saleItems.amount where saleItemType="Refund"
  68.                         - refundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund"
  69.                         - discountAmountIncludingTax = sum(saleItems.priceAdjustments.amount where saleItemType="Refund")
  70.                         - discountAmountExcludingTax = sum(saleItems.priceAdjustments.netAmount where saleItemType="Refund")
  71.                         - refundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  72.                     }
  73.                 ],
  74.                 - totalRefundAmountIncludingTax = sum(saleItems.amount where saleItemType="Refund")
  75.                 - totalRefundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund")
  76.                 - totalRefundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  77.             }
  78.            
  79. if saleChannel = 0
  80.         group by subCategoryCode
  81.             sales {
  82.                 saleItems: [
  83.                     {
  84.                         - saleChannel = saleItems.saleChannel where saleItemType="Sale"
  85.                         - categoryCode = saleItems.categoryCode where saleItemType="Sale"
  86.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Sale"
  87.                         - productCode = saleItems.productCode where saleItemType="Sale"
  88.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Sale"
  89.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Sale"
  90.                         - salesAmountIncludingTax = sum(saleItems.amount where saleItemType="Sale")
  91.                         - salesAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Sale")
  92.                         - discountAmountIncludingTax = sum(saleItems.priceAdjustments.amount where saleItemType="Sale")
  93.                         - discountAmountExcludingTax = sum(saleItems.priceAdjustments.netAmount where saleItemType="Sale")
  94.                         - salesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  95.                     }
  96.                 ],
  97.                 - totalSalesAmountIncludingTax = sum(saleItems.amount where saleItemType="Sale") + sum(saleItems.originalAmount where saleItemType="Sale")
  98.                 - totalSalesAmountExcludingTax = sum(saleItems.amount where saleItemType="Sale") + sum(saleItemType.originalNetAmount where saleItemType="Sale")
  99.                 - totalSalesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  100.             }
  101.             refunds: {
  102.                 refundItems: [
  103.                     {
  104.                         - saleChannel = saleItems.saleChannel where saleItemType="Refund"
  105.                         - categoryCode = saleItems.categoryCode where saleItemType="Refund"
  106.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Refund"
  107.                         - productCode = saleItems.productCode where saleItemType="Refund"
  108.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Refund"
  109.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Refund"
  110.                         - refundAmountIncludingTax = sum(saleItems.amount where saleItemType="Refund"
  111.                         - refundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund"
  112.                         - discountAmountIncludingTax = sum(saleItems.priceAdjustments.amount where saleItemType="Refund")
  113.                         - discountAmountExcludingTax = sum(saleItems.priceAdjustments.netAmount where saleItemType="Refund")
  114.                         - refundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  115.                     }
  116.                 ],
  117.                 - totalRefundAmountIncludingTax = sum(saleItems.amount where saleItemType="Refund") + sum(saleItems.originalAmount where saleItemType="Refund")
  118.                 - totalRefundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund") + sum(saleItem.originalNetAmount where saleItemType="Refund")
  119.                 - totalRefundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  120.             }
  121.     if saleChannel != 0
  122.         group by productCode
  123.             sales: {
  124.                 saleItems: [
  125.                     {
  126.                         - saleChannel = saleItems.saleChannel where saleItemType="Sale"
  127.                         - categoryCode = saleItems.categoryCode where saleItemType="Sale"
  128.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Sale"
  129.                         - productCode = saleItems.productCode where saleItemType="Sale"
  130.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Sale"
  131.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Sale"
  132.                         - salesAmountIncludingTax = sum(saleItems.originalAmount where saleItemType="Sale")
  133.                         - salesAmountExcludingTax = sum(saleItems.originalNetAmount where saleItemType="Sale")
  134.                         - salesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  135.                     }
  136.                 ],
  137.                 - totalSalesAmountIncludingTax = sum(saleItems.amount where saleItemType="Sale")
  138.                 - totalSalesAmountExcludingTax = sum(saleItems.amount where saleItemType="Sale")
  139.                 - totalSalesQuantity = sum(saleItems.quantity where saleItemType="Sale")
  140.             }
  141.             refunds: {
  142.                 refundItems: [
  143.                     {
  144.                         - saleChannel = saleItems.saleChannel where saleItemType="Refund"
  145.                         - categoryCode = saleItems.categoryCode where saleItemType="Refund"
  146.                         - subCategoryCode = saleItems.subCategoryCode where saleItemType="Refund"
  147.                         - productCode = saleItems.productCode where saleItemType="Refund"
  148.                         - legacyProductCode = saleItems.legacyProductCode where saleItemType="Refund"
  149.                         - legacyCategoryCode = saleItems.legacyCategoryCode where saleItemType="Refund"
  150.                         - refundAmountIncludingTax = sum(saleItems.originalAmount where saleItemType="Refund"
  151.                         - refundAmountExcludingTax = sum(saleItems.originalNetAmount where saleItemType="Refund"
  152.                         - discountAmountIncludingTax = sum(saleItems.priceAdjustments.amount where saleItemType="Refund")
  153.                         - discountAmountExcludingTax = sum(saleItems.priceAdjustments.netAmount where saleItemType="Refund")
  154.                         - refundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  155.                     }
  156.                 ],
  157.                 - totalRefundAmountIncludingTax = sum(saleItems.amount where saleItemType="Refund") + sum(saleItems.originalAmount where saleItemType="Refund")
  158.                 - totalRefundAmountExcludingTax = sum(saleItems.netAmount where saleItemType="Refund") + sum(saleItem.originalNetAmount where saleItemType="Refund")
  159.                 - totalRefundQuantity = sum(saleItems.quantity where saleItemType="Refund")
  160.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement