From 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:56:14 +0800
Subject: [PATCH] lex community
---
force-app/main/default/classes/LexConsumableAccountController.cls | 86 ++++++++++++++++++++++++++++++++----------
1 files changed, 65 insertions(+), 21 deletions(-)
diff --git a/force-app/main/default/classes/LexConsumableAccountController.cls b/force-app/main/default/classes/LexConsumableAccountController.cls
index 9925a02..19c44c7 100644
--- a/force-app/main/default/classes/LexConsumableAccountController.cls
+++ b/force-app/main/default/classes/LexConsumableAccountController.cls
@@ -144,32 +144,60 @@
Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
Date nextDatetime = Date.newInstance(nextYear, 4, 1);
- AggregateResult[] arList = null;
-
+ //AggregateResult[] arList = null;
+ AggregateResult[] arList = new List<AggregateResult>();
System.debug('fiscalYear = ' + fiscalYear);
if (fiscalYear == 'thisYear') {
AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
- topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ Object saleAmountObject = saleAmountList[0].get('saleAmount');
+ topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
+ //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
} else if (fiscalYear == 'lastYear') {
AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2);
- topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ Object saleAmountObject = saleAmountList[0].get('saleAmount');
+ topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2);
} else {
AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime);
- topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ Object saleAmountObject = saleAmountList[0].get('saleAmount');
+ topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime);
}
+ // Map<String,Decimal> mapTemp = new Map<String,Decimal>();
+ // for (AggregateResult ar : arList) {
+ // if(!mapTemp.get(String.valueOf(ar.get('hospitalName')))){
+ // mapTemp.put(String.valueOf(ar.get('hospitalName'),Decimal.valueOf(String.valueOf(ar.get('thisAmount')))));
+ // }else {
+ // Decimal decimal = mapTemp.get(String.valueOf(ar.get('hospitalName')));
+ // decimal += Decimal.valueOf(String.valueOf(ar.get('thisAmount')));
+ // mapTemp.put(String.valueOf(ar.get('hospitalName'),decimal));
+ // }
+ // }
+ // System.debug('mapTemp = ' + mapTemp);
+ // //鎺掑簭Decimal浠庡ぇ鍒板皬
+ // List<Decimal> decimalList = new List<Decimal>(mapTemp.values());
+ // decimalList.sort((a, b) => b.compareTo(a));
+ // Map<String, Decimal> sortedMap = new Map<String, Decimal>();
+ // for (String key : mapTemp.keySet()) {
+ // sortedMap.put(key, mapTemp.get(key));
+ // }
+
+ // System.debug('Sorted Map: ' + sortedMap);
+
//鏌ヨ瀹㈡埛淇℃伅锛堝悕绉帮紝鐪侊紝鍘匡級
+ System.debug('arList = ' + arList);
List<String> accountList = new List<String>();
for (AggregateResult ar : arList) {
System.debug('thisAmount = ' + String.valueOf(ar.get('thisAmount')));
if(String.valueOf(ar.get('thisAmount')) != '0.0'){
- accountList.add(String.valueOf(ar.get('hospitalName')));
+ accountList.add(String.valueOf(ar.get('Order_ForHospital__c')));
topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount'))));
}
}
@@ -194,14 +222,14 @@
Town__c,
Phone
FROM Account
- WHERE Name = :accountList
+ WHERE Id = :accountList
];
List<Account> acListTemp = new List<Account>();
for (String s : accountList) {
for (Account a : acList) {
- if (s == a.Name) {
+ if (s == a.id) {
acListTemp.add(a);
}
}
@@ -241,34 +269,49 @@
Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
Date nextDatetime = Date.newInstance(nextYear, 4, 1);
- AggregateResult[] arList = null;
+ //AggregateResult[] arList = null;
+ AggregateResult[] arList = new List<AggregateResult>();
System.debug('fiscalYear = ' + fiscalYear);
+ System.debug('thisYear = ' + thisYear);
+ System.debug('lastYear = ' + lastYear);
+
if (fiscalYear == 'thisYear') {
AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
- topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
- System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ if (saleAmountList[0].get('saleAmount') != null) {
+ //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ Object saleAmountObject = saleAmountList[0].get('saleAmount');
+ topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
+ System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ }
arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
} else if (fiscalYear == 'lastYear') {
AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2);
- topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
- System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ if (saleAmountList[0].get('saleAmount') != null) {
+ //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ Object saleAmountObject = saleAmountList[0].get('saleAmount');
+ topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
+ System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ }
arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2);
} else {
AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime);
- topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
- System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ if (saleAmountList[0].get('saleAmount') != null) {
+ //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
+ Object saleAmountObject = saleAmountList[0].get('saleAmount');
+ topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
+ System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ }
arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime);
}
//鏌ヨ瀹㈡埛淇℃伅锛堝悕绉帮紝鐪侊紝鍘匡級
List<String> accountList = new List<String>();
for (AggregateResult ar : arList) {
System.debug('thisAmount = ' + String.valueOf(ar.get('thisAmount')));
- if(String.valueOf(ar.get('thisAmount')) != '0.0'){
- accountList.add(String.valueOf(ar.get('hospitalName')));
+ if (String.valueOf(ar.get('thisAmount')) != '0.0') {
+ accountList.add(String.valueOf(ar.get('Order_ForHospital__c')));
topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount'))));
}
-
}
System.debug('accountList = ' + accountList);
System.debug('topInfo = ' + topInfo);
@@ -289,12 +332,12 @@
Town__c,
Phone
FROM Account
- WHERE Name = :accountList
+ WHERE Id = :accountList
];
List<Account> acListTemp = new List<Account>();
for (String s : accountList) {
for (Account a : acList) {
- if (s == a.Name) {
+ if (s == a.id) {
acListTemp.add(a);
}
}
@@ -338,8 +381,9 @@
List<Account> allSelectAccount = Database.query(soql);
totalCount = allSelectAccount.size();
+ String nullFL = sortOrder.toLowerCase() == 'asc' ? 'NULLS FIRST': 'NULLS LAST';
if (String.isNotBlank(sortField)) {
- soql += ' order by ' + sortField + ' ' + sortOrder;
+ soql += ' order by ' + sortField + ' ' + sortOrder + ' ' + nullFL;
}
soql += ' limit ' + pagesize + ' offset ' + pageToken;
System.debug('soql2+++++++ ' + soql);
--
Gitblit v1.9.1