From d324588faa5120c95321425a06de683e8aae445b Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 05 六月 2023 14:37:22 +0800
Subject: [PATCH] LEX Community NewComponent

---
 force-app/main/default/classes/LexConsumableAccountController.cls |  108 ++++++------------------------------------------------
 1 files changed, 12 insertions(+), 96 deletions(-)

diff --git a/force-app/main/default/classes/LexConsumableAccountController.cls b/force-app/main/default/classes/LexConsumableAccountController.cls
index 8d03987..9925a02 100644
--- a/force-app/main/default/classes/LexConsumableAccountController.cls
+++ b/force-app/main/default/classes/LexConsumableAccountController.cls
@@ -148,62 +148,20 @@
 
             System.debug('fiscalYear = ' + fiscalYear);
             if (fiscalYear == 'thisYear') {
-                AggregateResult[] saleAmountList = [
-                    SELECT sum(Sale_amount__c) saleAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime
-                ];
+                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
                 topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                 System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
-                arList = [
-                    SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE
-                        CreatedDate >= :thisDatetime
-                        AND CreatedDate < :nextDatetime
-                        AND Consumable_order__r.Order_ForHospital__r.name != ''
-                    GROUP BY Consumable_order__r.Order_ForHospital__r.Name
-                    ORDER BY sum(Sale_amount__c) DESC
-                    LIMIT 10
-                ];
+                arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
             } else if (fiscalYear == 'lastYear') {
-                AggregateResult[] saleAmountList = [
-                    SELECT sum(Sale_amount__c) saleAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE CreatedDate >= :lastDatetime AND CreatedDate < :thisDatetime2
-                ];
+                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2);
                 topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                 System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
-                arList = [
-                    SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE
-                        CreatedDate >= :lastDatetime
-                        AND CreatedDate < :thisDatetime2
-                        AND Consumable_order__r.Order_ForHospital__r.name != ''
-                    GROUP BY Consumable_order__r.Order_ForHospital__r.Name
-                    ORDER BY sum(Sale_amount__c) DESC
-                    LIMIT 10
-                ];
+                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2);
             } else {
-                AggregateResult[] saleAmountList = [
-                    SELECT sum(Sale_amount__c) saleAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE CreatedDate >= :lastDatetime AND CreatedDate < :nextDatetime
-                ];
+                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime);
                 topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                 System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
-                arList = [
-                    SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE
-                        CreatedDate >= :lastDatetime
-                        AND CreatedDate < :nextDatetime
-                        AND Consumable_order__r.Order_ForHospital__r.name != ''
-                    GROUP BY Consumable_order__r.Order_ForHospital__r.Name
-                    ORDER BY sum(Sale_amount__c) DESC
-                    LIMIT 10
-                ];
+                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime);
             }
 
             //鏌ヨ瀹㈡埛淇℃伅锛堝悕绉帮紝鐪侊紝鍘匡級
@@ -287,62 +245,20 @@
 
             System.debug('fiscalYear = ' + fiscalYear);
             if (fiscalYear == 'thisYear') {
-                AggregateResult[] saleAmountList = [
-                    SELECT sum(Sale_amount__c) saleAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime
-                ];
+                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
                 topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                 System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
-                arList = [
-                    SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE
-                        CreatedDate >= :thisDatetime
-                        AND CreatedDate < :nextDatetime
-                        AND Consumable_order__r.Order_ForHospital__r.name != ''
-                    GROUP BY Consumable_order__r.Order_ForHospital__r.Name
-                    ORDER BY sum(Sale_amount__c) DESC
-                    LIMIT 10
-                ];
+                arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
             } else if (fiscalYear == 'lastYear') {
-                AggregateResult[] saleAmountList = [
-                    SELECT sum(Sale_amount__c) saleAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE CreatedDate >= :lastDatetime AND CreatedDate < :thisDatetime2
-                ];
+                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2);
                 topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                 System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
-                arList = [
-                    SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE
-                        CreatedDate >= :lastDatetime
-                        AND CreatedDate < :thisDatetime2
-                        AND Consumable_order__r.Order_ForHospital__r.name != ''
-                    GROUP BY Consumable_order__r.Order_ForHospital__r.Name
-                    ORDER BY sum(Sale_amount__c) DESC
-                    LIMIT 10
-                ];
+                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2);
             } else {
-                AggregateResult[] saleAmountList = [
-                    SELECT sum(Sale_amount__c) saleAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE CreatedDate >= :lastDatetime AND CreatedDate < :nextDatetime
-                ];
+                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime);
                 topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                 System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
-                arList = [
-                    SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount
-                    FROM Consumable_Orderdetails__c
-                    WHERE
-                        CreatedDate >= :lastDatetime
-                        AND CreatedDate < :nextDatetime
-                        AND Consumable_order__r.Order_ForHospital__r.name != ''
-                    GROUP BY Consumable_order__r.Order_ForHospital__r.Name
-                    ORDER BY sum(Sale_amount__c) DESC
-                    LIMIT 10
-                ];
+                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime);
             }
             //鏌ヨ瀹㈡埛淇℃伅锛堝悕绉帮紝鐪侊紝鍘匡級
             List<String> accountList = new List<String>();

--
Gitblit v1.9.1