From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:34:12 +0800
Subject: [PATCH] lexcommunityupload0714
---
force-app/main/default/classes/LexConsumableAccountController.cls | 956 +++++++++++++++++++++++++++--------------------------------
1 files changed, 436 insertions(+), 520 deletions(-)
diff --git a/force-app/main/default/classes/LexConsumableAccountController.cls b/force-app/main/default/classes/LexConsumableAccountController.cls
index 740996f..19c44c7 100644
--- a/force-app/main/default/classes/LexConsumableAccountController.cls
+++ b/force-app/main/default/classes/LexConsumableAccountController.cls
@@ -1,550 +1,466 @@
public without sharing class LexConsumableAccountController {
- //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
- public static String agencyProType { get; set; }
- public static String agencyProTypestr { get; set; }
- //閫夐」鍗″悕绉�
- public static String filterName { get; set; }
- //閫夐」鍗$被鍨�
- public static String hosptialType { get; set; }
- public static ApexPages.StandardSetController setCon { get; set; }
- //鐢婚潰鏄剧ず鏁伴噺
- public static Integer size { get; set; }
- public static Integer noOfRecords { get; set; }
- //鏄剧ず闆嗗悎
- public static List<Account> pageRecords { get; set; }
- //缁忛攢鍟嗕俊鎭�
- private static String accountName { get; set; }
- private static String accountId { get; set; }
- //鎺掑簭浣跨敤
- // public static String sortKey { get; set; }
- // public static String preSortKey { get; private set; }
- // public static Boolean sortOrderAsc { get; private set; }
- // public static String[] sortOrder { get; private set; }
- // //鎺掑簭浣跨敤
- // private static String[] orderby = new String[]{ 'Name','State_Master__c','Salesdepartment_HP__c','CreatedDate','Is_Active__c','RecordType.Name','Grade__c','OCM_Category__c','City_Master__c','Town__c','Phone'};
- //涓婂懆寮�濮嬨�佺粨鏉熸棩鏈�
- private static Datetime lastweekstart { get; set; }
- private static Datetime lastweekend { get; set; }
- // page
- public static Integer pagesize { get; set; }
- public static Integer pageToken { get; set; }
- public static String sortField { get; set; }
- public static String sortOrder { get; set; }
- public static Integer totalcount { get; set; }
+ //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
+ public static String agencyProType { get; set; }
+ public static String agencyProTypestr { get; set; }
+ //閫夐」鍗″悕绉�
+ public static String filterName { get; set; }
+ //閫夐」鍗$被鍨�
+ public static String hosptialType { get; set; }
+ public static ApexPages.StandardSetController setCon { get; set; }
+ //鐢婚潰鏄剧ず鏁伴噺
+ public static Integer size { get; set; }
+ public static Integer noOfRecords { get; set; }
+ //鏄剧ず闆嗗悎
+ public static List<Account> pageRecords { get; set; }
+ //缁忛攢鍟嗕俊鎭�
+ private static String accountName { get; set; }
+ private static String accountId { get; set; }
+ //鎺掑簭浣跨敤
+ // public static String sortKey { get; set; }
+ // public static String preSortKey { get; private set; }
+ // public static Boolean sortOrderAsc { get; private set; }
+ // public static String[] sortOrder { get; private set; }
+ // //鎺掑簭浣跨敤
+ // private static String[] orderby = new String[]{ 'Name','State_Master__c','Salesdepartment_HP__c','CreatedDate','Is_Active__c','RecordType.Name','Grade__c','OCM_Category__c','City_Master__c','Town__c','Phone'};
+ //涓婂懆寮�濮嬨�佺粨鏉熸棩鏈�
+ private static Datetime lastweekstart { get; set; }
+ private static Datetime lastweekend { get; set; }
+ // page
+ public static Integer pagesize { get; set; }
+ public static Integer pageToken { get; set; }
+ public static String sortField { get; set; }
+ public static String sortOrder { get; set; }
+ public static Integer totalcount { get; set; }
- //鍒濆鍖�
- @AuraEnabled
- public static ResponseBodyLWC init(
- Integer pageSizeLWC,
- Integer pageTokenLWC,
- String fiscalYear
- ) {
- try {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
+ //鍒濆鍖�
+ @AuraEnabled
+ public static ResponseBodyLWC init(Integer pageSizeLWC, Integer pageTokenLWC, String fiscalYear) {
+ try {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
- pageSize = pageSizeLWC;
- pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
+ pageSize = pageSizeLWC;
+ pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
- User Useracc = [
- SELECT accountid, UserPro_Type__c
- FROM user
- WHERE id = :UserInfo.getUserId()
- ];
- accountId = [SELECT id, Name FROM account WHERE id = :Useracc.accountid]
- .id;
- agencyProType = Useracc.UserPro_Type__c;
- if (String.isBlank(Useracc.UserPro_Type__c)) {
- agencyProType = 'ET';
- }
- agencyProTypestr = '%' + agencyProType + '%';
- System.debug('accountId = ' + accountId);
- System.debug('agencyProTypestr = ' + agencyProTypestr);
- List<Account> allSelectAccount = [
- SELECT
- id,
- Name,
- State_Master__c,
- State_Master__r.Name,
- Salesdepartment_HP__c,
- CreatedDate,
- Is_Active__c,
- RecordType.Name,
- Grade__c,
- OCM_Category__c,
- City_Master__c,
- City_Master__r.Name,
- Town__c,
- Phone
- FROM Account
- WHERE
- id IN (
- SELECT Hospital__c
- FROM Agency_Hospital_Link__c
- WHERE
- Agency__c = :accountId
- AND Hosptial_Type__c LIKE :agencyProTypestr
- )
- ];
- totalCount = allSelectAccount.size();
+ User Useracc = [SELECT accountid, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+ accountId = [SELECT id, Name FROM account WHERE id = :Useracc.accountid].id;
+ agencyProType = Useracc.UserPro_Type__c;
+ if (String.isBlank(Useracc.UserPro_Type__c)) {
+ agencyProType = 'ET';
+ }
+ agencyProTypestr = '%' + agencyProType + '%';
+ System.debug('accountId = ' + accountId);
+ System.debug('agencyProTypestr = ' + agencyProTypestr);
+ List<Account> allSelectAccount = [
+ SELECT
+ id,
+ Name,
+ State_Master__c,
+ State_Master__r.Name,
+ Salesdepartment_HP__c,
+ CreatedDate,
+ Is_Active__c,
+ RecordType.Name,
+ Grade__c,
+ OCM_Category__c,
+ City_Master__c,
+ City_Master__r.Name,
+ Town__c,
+ Phone
+ FROM Account
+ WHERE
+ id IN (
+ SELECT Hospital__c
+ FROM Agency_Hospital_Link__c
+ WHERE Agency__c = :accountId AND Hosptial_Type__c LIKE :agencyProTypestr
+ )
+ ];
+ totalCount = allSelectAccount.size();
- List<Account> selectAccList = [
- SELECT
- id,
- Name,
- State_Master__c,
- State_Master__r.Name,
- Salesdepartment_HP__c,
- CreatedDate,
- Is_Active__c,
- RecordType.Name,
- Grade__c,
- OCM_Category__c,
- City_Master__c,
- City_Master__r.Name,
- Town__c,
- Phone
- FROM Account
- WHERE
- id IN (
- SELECT Hospital__c
- FROM Agency_Hospital_Link__c
- WHERE
- Agency__c = :accountId
- AND Hosptial_Type__c LIKE :agencyProTypestr
- )
- LIMIT :pageSize
- ];
- System.debug('selectAccList = ' + selectAccList);
- PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
- paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount)
- ? pageToken + pageSize
- : null;
- paginatedAccounts.recordStart = pageToken + 1;
- paginatedAccounts.pageNumber = pageToken / pageSize + 1;
- Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
- paginatedAccounts.recordEnd = totalCount >= recordEnd
- ? recordEnd
- : totalCount;
- paginatedAccounts.totalRecords = totalCount;
+ List<Account> selectAccList = [
+ SELECT
+ id,
+ Name,
+ State_Master__c,
+ State_Master__r.Name,
+ Salesdepartment_HP__c,
+ CreatedDate,
+ Is_Active__c,
+ RecordType.Name,
+ Grade__c,
+ OCM_Category__c,
+ City_Master__c,
+ City_Master__r.Name,
+ Town__c,
+ Phone
+ FROM Account
+ WHERE
+ id IN (
+ SELECT Hospital__c
+ FROM Agency_Hospital_Link__c
+ WHERE Agency__c = :accountId AND Hosptial_Type__c LIKE :agencyProTypestr
+ )
+ LIMIT :pageSize
+ ];
+ System.debug('selectAccList = ' + selectAccList);
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
- //閿�閲忓墠鍗佺殑瀹㈡埛
- // List<Account> acList = [
- // SELECT
- // id,
- // Name,
- // State_Master__c,
- // State_Master__r.Name,
- // Salesdepartment_HP__c,
- // CreatedDate,
- // Is_Active__c,
- // RecordType.Name,
- // Grade__c,
- // OCM_Category__c,
- // City_Master__c,
- // City_Master__r.Name,
- // Town__c,
- // Phone
- // FROM Account
- // WHERE State_Master__r.Name != '' AND City_Master__r.Name != '' AND Is_Active__c = '鏈夊姽' AND RecordType.Name = '鐥呴櫌'
- // LIMIT 10
- // ];
- TopInfo topInfo = new TopInfo();
+ //閿�閲忓墠鍗佺殑瀹㈡埛
+ // List<Account> acList = [
+ // SELECT
+ // id,
+ // Name,
+ // State_Master__c,
+ // State_Master__r.Name,
+ // Salesdepartment_HP__c,
+ // CreatedDate,
+ // Is_Active__c,
+ // RecordType.Name,
+ // Grade__c,
+ // OCM_Category__c,
+ // City_Master__c,
+ // City_Master__r.Name,
+ // Town__c,
+ // Phone
+ // FROM Account
+ // WHERE State_Master__r.Name != '' AND City_Master__r.Name != '' AND Is_Active__c = '鏈夊姽' AND RecordType.Name = '鐥呴櫌'
+ // LIMIT 10
+ // ];
+ TopInfo topInfo = new TopInfo();
- Date today = Date.today();
- Integer lastYear = today.year() - 1;
- Integer thisYear = today.year();
- Integer nextYear = today.year() + 1;
- Date lastDatetime = Date.newInstance(lastYear, 4, 1);
- Date thisDatetime = Date.newInstance(thisYear, 4, 1);
- Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
- Date nextDatetime = Date.newInstance(nextYear, 4, 1);
+ Date today = Date.today();
+ Integer lastYear = today.year() - 1;
+ Integer thisYear = today.year();
+ Integer nextYear = today.year() + 1;
+ Date lastDatetime = Date.newInstance(lastYear, 4, 1);
+ Date thisDatetime = Date.newInstance(thisYear, 4, 1);
+ 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);
+ 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')));
+ 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')));
+ 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);
+ }
- System.debug('fiscalYear = ' + fiscalYear);
- 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);
- 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);
- 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);
- 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);
- // 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('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('Order_ForHospital__c')));
+ topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount'))));
+ }
+ }
- // System.debug('Sorted Map: ' + sortedMap);
+ System.debug('accountList = ' + accountList);
+ System.debug('topInfo = ' + topInfo);
- //鏌ヨ瀹㈡埛淇℃伅锛堝悕绉帮紝鐪侊紝鍘匡級
- 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('Order_ForHospital__c')));
- topInfo.deList.add(
- Decimal.valueOf(String.valueOf(ar.get('thisAmount')))
- );
+ List<Account> acList = [
+ SELECT
+ id,
+ Name,
+ State_Master__c,
+ State_Master__r.Name,
+ Salesdepartment_HP__c,
+ CreatedDate,
+ Is_Active__c,
+ RecordType.Name,
+ Grade__c,
+ OCM_Category__c,
+ City_Master__c,
+ City_Master__r.Name,
+ Town__c,
+ Phone
+ FROM Account
+ WHERE Id = :accountList
+ ];
+
+ List<Account> acListTemp = new List<Account>();
+
+ for (String s : accountList) {
+ for (Account a : acList) {
+ if (s == a.id) {
+ acListTemp.add(a);
+ }
+ }
+ }
+
+ topInfo.acList = acListTemp;
+
+ data.put('topInfo', topInfo);
+ data.put('pageRecords', selectAccList);
+ data.put('paginatedAccounts', paginatedAccounts);
+ data.put('accountId', accountId);
+ data.put('agencyProType', agencyProType);
+ data.put('agencyProTypestr', agencyProTypestr);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = '';
+ return res;
+ } catch (Exception e) {
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
}
- }
+ }
- System.debug('accountList = ' + accountList);
- System.debug('topInfo = ' + topInfo);
+ @AuraEnabled
+ public static ResponseBodyLWC changeFiscalYearView(String fiscalYear) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ try {
+ TopInfo topInfo = new TopInfo();
- List<Account> acList = [
- SELECT
- id,
- Name,
- State_Master__c,
- State_Master__r.Name,
- Salesdepartment_HP__c,
- CreatedDate,
- Is_Active__c,
- RecordType.Name,
- Grade__c,
- OCM_Category__c,
- City_Master__c,
- City_Master__r.Name,
- Town__c,
- Phone
- FROM Account
- WHERE Id = :accountList
- ];
+ Date today = Date.today();
+ Integer lastYear = today.year() - 1;
+ Integer thisYear = today.year();
+ Integer nextYear = today.year() + 1;
+ Date lastDatetime = Date.newInstance(lastYear, 4, 1);
+ Date thisDatetime = Date.newInstance(thisYear, 4, 1);
+ Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
+ Date nextDatetime = Date.newInstance(nextYear, 4, 1);
- List<Account> acListTemp = new List<Account>();
+ //AggregateResult[] arList = null;
+ AggregateResult[] arList = new List<AggregateResult>();
- for (String s : accountList) {
- for (Account a : acList) {
- if (s == a.id) {
- acListTemp.add(a);
- }
+ System.debug('fiscalYear = ' + fiscalYear);
+ System.debug('thisYear = ' + thisYear);
+ System.debug('lastYear = ' + lastYear);
+
+ if (fiscalYear == 'thisYear') {
+ AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
+ 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);
+ 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);
+ 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('Order_ForHospital__c')));
+ topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount'))));
+ }
+ }
+ System.debug('accountList = ' + accountList);
+ System.debug('topInfo = ' + topInfo);
+ List<Account> acList = [
+ SELECT
+ id,
+ Name,
+ State_Master__c,
+ State_Master__r.Name,
+ Salesdepartment_HP__c,
+ CreatedDate,
+ Is_Active__c,
+ RecordType.Name,
+ Grade__c,
+ OCM_Category__c,
+ City_Master__c,
+ City_Master__r.Name,
+ Town__c,
+ Phone
+ FROM Account
+ WHERE Id = :accountList
+ ];
+ List<Account> acListTemp = new List<Account>();
+ for (String s : accountList) {
+ for (Account a : acList) {
+ if (s == a.id) {
+ acListTemp.add(a);
+ }
+ }
+ }
+ topInfo.acList = acListTemp;
+ data.put('topInfo', topInfo);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = '';
+ return res;
+ } catch (Exception e) {
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
}
- }
-
- topInfo.acList = acListTemp;
-
- data.put('topInfo', topInfo);
- data.put('pageRecords', selectAccList);
- data.put('paginatedAccounts', paginatedAccounts);
- data.put('accountId', accountId);
- data.put('agencyProType', agencyProType);
- data.put('agencyProTypestr', agencyProTypestr);
- res.status = 'Success';
- res.code = 200;
- res.msg = '';
- return res;
- } catch (Exception e) {
- return new ResponseBodyLWC(
- 'Error',
- 500,
- e.getMessage() + e.getLineNumber(),
- ''
- );
}
- }
- @AuraEnabled
- public static ResponseBodyLWC changeFiscalYearView(String fiscalYear) {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
- try {
- TopInfo topInfo = new TopInfo();
+ @AuraEnabled
+ public static ResponseBodyLWC changelistView(
+ String filterNameLwc,
+ String accountIdLwc,
+ String agencyProTypeLwc,
+ Integer pageSizeLWC,
+ Integer pageTokenLWC,
+ String sortFieldLWC,
+ String sortOrderLWC
+ ) {
+ try {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
- Date today = Date.today();
- Integer lastYear = today.year() - 1;
- Integer thisYear = today.year();
- Integer nextYear = today.year() + 1;
- Date lastDatetime = Date.newInstance(lastYear, 4, 1);
- Date thisDatetime = Date.newInstance(thisYear, 4, 1);
- Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
- Date nextDatetime = Date.newInstance(nextYear, 4, 1);
+ filterName = filterNameLwc;
+ accountId = accountIdLwc;
+ agencyProTypestr = agencyProTypeLwc;
+ pageSize = pageSizeLWC;
+ pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
+ sortField = sortFieldLWC;
+ sortOrder = sortOrderLWC;
- AggregateResult[] arList = null;
+ String soql = makeSoql(filterName, accountId);
+ System.debug('soql1+++++++ ' + soql);
+ List<Account> allSelectAccount = Database.query(soql);
- System.debug('fiscalYear = ' + fiscalYear);
- System.debug('thisYear = ' + thisYear);
- System.debug('lastYear = ' + lastYear);
+ totalCount = allSelectAccount.size();
+ String nullFL = sortOrder.toLowerCase() == 'asc' ? 'NULLS FIRST': 'NULLS LAST';
+ if (String.isNotBlank(sortField)) {
+ soql += ' order by ' + sortField + ' ' + sortOrder + ' ' + nullFL;
+ }
+ soql += ' limit ' + pagesize + ' offset ' + pageToken;
+ System.debug('soql2+++++++ ' + soql);
+ List<Account> selectAccList = Database.query(soql);
+ System.debug('selectAccList = ' + selectAccList);
- if (fiscalYear == 'thisYear') {
- AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(
- thisDatetime,
- nextDatetime
- );
- if (saleAmountList[0].get('saleAmount') != null) {
- topInfo.saleAmount = Decimal.valueOf(
- String.valueOf(saleAmountList[0].get('saleAmount'))
- );
- System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+
+ data.put('pageRecords', selectAccList);
+ data.put('paginatedAccounts', paginatedAccounts);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = '';
+ return res;
+ } catch (Exception e) {
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), '');
}
- arList = LexConsumableAccountSOQL.getAccountBySales(
- thisDatetime,
- nextDatetime
- );
- } else if (fiscalYear == 'lastYear') {
- AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(
- lastDatetime,
- thisDatetime2
- );
- if (saleAmountList[0].get('saleAmount') != null) {
- topInfo.saleAmount = Decimal.valueOf(
- String.valueOf(saleAmountList[0].get('saleAmount'))
- );
- System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ }
+
+ //sql鏂囦綔鎴�
+ private static String makeSoql(String viewName, String accountId) {
+ Date st = Date.today().addDays(-7).toStartOfWeek();
+ lastweekstart = Datetime.newInstance(st.year(), st.month(), st.day(), 8, 0, 0);
+ lastweekend = lastweekstart.addDays(7);
+ String soql = 'SELECT id,Name,State_Master__c,Salesdepartment_HP__c,CreatedDate,Is_Active__c,RecordType.Name,State_Master__r.Name,City_Master__r.Name';
+ soql += ' ,Grade__c,OCM_Category__c,City_Master__c,Town__c,Phone FROM Account';
+ soql +=
+ ' WHERE id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c =:accountId AND Hosptial_Type__c like \'%' +
+ String.escapeSingleQuotes(agencyProTypestr.replaceAll('%', '\\%')) +
+ '%\')';
+ if (viewName == '61. 鍖婚櫌_Hospital鑽夋涓殑鍖婚櫌') {
+ soql += ' AND Is_Active__c = \'' + '鑽夋涓�' + '\'';
}
- arList = LexConsumableAccountSOQL.getAccountBySales(
- lastDatetime,
- thisDatetime2
- );
- } else {
- AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(
- lastDatetime,
- nextDatetime
- );
- if (saleAmountList[0].get('saleAmount') != null) {
- topInfo.saleAmount = Decimal.valueOf(
- String.valueOf(saleAmountList[0].get('saleAmount'))
- );
- System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
+ if (viewName == '62. 鍖婚櫌_Hospital鐢宠涓殑鍖婚櫌') {
+ soql += ' AND Is_Active__c = \'' + '鐢宠涓�' + '\'';
}
- 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('Order_ForHospital__c')));
- topInfo.deList.add(
- Decimal.valueOf(String.valueOf(ar.get('thisAmount')))
- );
+ if (viewName == '63. 鍖婚櫌_Hospital涓婂懆鍒涘缓鐨勫尰闄�') {
+ soql += ' AND Is_Active__c = \'' + '鏈夋晥' + '\'';
+ soql += ' AND CreatedDate >= :lastweekstart ';
+ soql += ' AND CreatedDate < :lastweekend ';
}
- }
- System.debug('accountList = ' + accountList);
- System.debug('topInfo = ' + topInfo);
- List<Account> acList = [
- SELECT
- id,
- Name,
- State_Master__c,
- State_Master__r.Name,
- Salesdepartment_HP__c,
- CreatedDate,
- Is_Active__c,
- RecordType.Name,
- Grade__c,
- OCM_Category__c,
- City_Master__c,
- City_Master__r.Name,
- Town__c,
- Phone
- FROM Account
- WHERE Id = :accountList
- ];
- List<Account> acListTemp = new List<Account>();
- for (String s : accountList) {
- for (Account a : acList) {
- if (s == a.id) {
- acListTemp.add(a);
- }
+ System.debug('soql +++++' + soql);
+ return soql;
+ }
+
+ //鍒嗛〉Bean
+ public class PaginatedAccounts {
+ @AuraEnabled
+ public Integer nextPageToken;
+ @AuraEnabled
+ public Integer pageNumber { get; set; }
+ @AuraEnabled
+ public Integer totalRecords { get; set; }
+ @AuraEnabled
+ public Integer recordStart { get; set; }
+ @AuraEnabled
+ public Integer recordEnd { get; set; }
+ }
+
+ //top10 Account
+ public class TopInfo {
+ @AuraEnabled
+ public Decimal saleAmount { get; set; }
+ @AuraEnabled
+ public List<Account> acList { get; set; }
+ @AuraEnabled
+ public List<Decimal> deList { get; set; }
+
+ public TopInfo() {
+ acList = new List<Account>();
+ deList = new List<Decimal>();
}
- }
- topInfo.acList = acListTemp;
- data.put('topInfo', topInfo);
- res.status = 'Success';
- res.code = 200;
- res.msg = '';
- return res;
- } catch (Exception e) {
- return new ResponseBodyLWC(
- 'Error',
- 500,
- e.getMessage() + e.getLineNumber(),
- ''
- );
}
- }
-
- @AuraEnabled
- public static ResponseBodyLWC changelistView(
- String filterNameLwc,
- String accountIdLwc,
- String agencyProTypeLwc,
- Integer pageSizeLWC,
- Integer pageTokenLWC,
- String sortFieldLWC,
- String sortOrderLWC
- ) {
- try {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
-
- filterName = filterNameLwc;
- accountId = accountIdLwc;
- agencyProTypestr = agencyProTypeLwc;
- pageSize = pageSizeLWC;
- pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
- sortField = sortFieldLWC;
- sortOrder = sortOrderLWC;
-
- String soql = makeSoql(filterName, accountId);
- System.debug('soql1+++++++ ' + soql);
- 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 + ' ' + nullFL;
- }
- soql += ' limit ' + pagesize + ' offset ' + pageToken;
- System.debug('soql2+++++++ ' + soql);
- List<Account> selectAccList = Database.query(soql);
- System.debug('selectAccList = ' + selectAccList);
-
- PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
- paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount)
- ? pageToken + pageSize
- : null;
- paginatedAccounts.recordStart = pageToken + 1;
- paginatedAccounts.pageNumber = pageToken / pageSize + 1;
- Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
- paginatedAccounts.recordEnd = totalCount >= recordEnd
- ? recordEnd
- : totalCount;
- paginatedAccounts.totalRecords = totalCount;
-
- data.put('pageRecords', selectAccList);
- data.put('paginatedAccounts', paginatedAccounts);
- res.status = 'Success';
- res.code = 200;
- res.msg = '';
- return res;
- } catch (Exception e) {
- return new ResponseBodyLWC(
- 'Error',
- 500,
- e.getMessage() + ' ' + e.getLineNumber(),
- ''
- );
- }
- }
-
- //sql鏂囦綔鎴�
- private static String makeSoql(String viewName, String accountId) {
- Date st = Date.today().addDays(-7).toStartOfWeek();
- lastweekstart = Datetime.newInstance(
- st.year(),
- st.month(),
- st.day(),
- 8,
- 0,
- 0
- );
- lastweekend = lastweekstart.addDays(7);
- String soql = 'SELECT id,Name,State_Master__c,Salesdepartment_HP__c,CreatedDate,Is_Active__c,RecordType.Name,State_Master__r.Name,City_Master__r.Name';
- soql += ' ,Grade__c,OCM_Category__c,City_Master__c,Town__c,Phone FROM Account';
- soql +=
- ' WHERE id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c =:accountId AND Hosptial_Type__c like \'%' +
- String.escapeSingleQuotes(agencyProTypestr.replaceAll('%', '\\%')) +
- '%\')';
- if (viewName == '61. 鍖婚櫌_Hospital鑽夋涓殑鍖婚櫌') {
- soql += ' AND Is_Active__c = \'' + '鑽夋涓�' + '\'';
- }
- if (viewName == '62. 鍖婚櫌_Hospital鐢宠涓殑鍖婚櫌') {
- soql += ' AND Is_Active__c = \'' + '鐢宠涓�' + '\'';
- }
- if (viewName == '63. 鍖婚櫌_Hospital涓婂懆鍒涘缓鐨勫尰闄�') {
- soql += ' AND Is_Active__c = \'' + '鏈夋晥' + '\'';
- soql += ' AND CreatedDate >= :lastweekstart ';
- soql += ' AND CreatedDate < :lastweekend ';
- }
- System.debug('soql +++++' + soql);
- return soql;
- }
-
- //鍒嗛〉Bean
- public class PaginatedAccounts {
- @AuraEnabled
- public Integer nextPageToken;
- @AuraEnabled
- public Integer pageNumber { get; set; }
- @AuraEnabled
- public Integer totalRecords { get; set; }
- @AuraEnabled
- public Integer recordStart { get; set; }
- @AuraEnabled
- public Integer recordEnd { get; set; }
- }
-
- //top10 Account
- public class TopInfo {
- @AuraEnabled
- public Decimal saleAmount { get; set; }
- @AuraEnabled
- public List<Account> acList { get; set; }
- @AuraEnabled
- public List<Decimal> deList { get; set; }
-
- public TopInfo() {
- acList = new List<Account>();
- deList = new List<Decimal>();
- }
- }
-}
+}
\ No newline at end of file
--
Gitblit v1.9.1