From 3962c2bb0435484b60a3e408e4738d792e249a53 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 05 六月 2023 11:09:55 +0800
Subject: [PATCH] LEX CommunityNewCmp
---
force-app/main/default/classes/LexTopPageController.cls | 744 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 744 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/LexTopPageController.cls b/force-app/main/default/classes/LexTopPageController.cls
new file mode 100644
index 0000000..aab986b
--- /dev/null
+++ b/force-app/main/default/classes/LexTopPageController.cls
@@ -0,0 +1,744 @@
+public without sharing class LexTopPageController {
+ //缁忛攢鍟嗕俊鎭�
+ public static account accountInfo;
+ /*****************鐢婚潰琛ㄧずBean******************/
+ public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords =new List<ConsumableorderdetailsInfo>();
+ public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+ //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; }
+ // public static Integer pagesize = Integer.valueof(system.label.orderdetLimitsize);
+ // public static Integer totalcount;
+ // public static Integer pagecount;
+ // public static Integer currentpage = 0;
+ // public static Boolean hasPrevious;
+ // public static Boolean hasNext;
+ public static List<ConsumableorderdetailsInfo> pageRecords;
+ public static String soql {get;set;}
+ // 姹囨�讳娇鐢�
+ public static Integer Total_num;
+ public static Integer OrderNumber_arrived;
+ public static Integer Delivery_detail_count;
+ public static Integer OrderNumber_notarrive;
+ public static Integer More_than_seven_days;
+ //鎺掑簭浣跨敤
+ // public static String sortKey;
+ // public static String preSortKey;
+ // public static Boolean sortOrderAsc;
+ // public static String[] sortOrder;
+ /*****************涓�鍛ㄦ湭鍒拌揣璁㈠崟涓�瑙堝搴攕tart******************/
+ // 璁㈠崟 瀛楁鏍囩
+ public static List<String> title;
+ // 璁㈠崟 瀛楁鍚�
+ public static List<String> column;
+ public static List<List<String>> columns;
+ // 鐢婚潰鏄剧ず鏁版嵁
+ public static List<Consumable_order__c> raesList;
+ /*****************涓�鍛ㄦ湭鍒拌揣璁㈠崟涓�瑙堝搴攅nd******************/
+ //鎺掑簭浣跨敤
+ private static String[] orderby = new String[]{ 'Product2__c.Name__c'};
+ //浜у搧涓婁笅闄�
+ public static String[] proLimitAndDate =new String[]{};
+ public static String product_Limit;
+ //搴撳瓨浜у搧鏈�鏃╂湁鏁堟湡闄�
+ private static Map<String,Date> productkucun = new Map<String,Date>();
+ //娑堣垂鏈熼檺灏忎簬涓�骞寸殑浜у搧
+ public static List<ConsumableorderdetailsInfo> overlimitdateorderdetails = new List<ConsumableorderdetailsInfo>();
+ public static String accountid;
+ public static String accountName;
+ public static List<String> orderDetZaikuList = new List<String>();
+ // 鐧诲綍鑰呭伐浣滃湴
+ private static String userWorkLocation;
+ // 鏈埌璐ц鍗曚俊鎭紙瓒呰繃涓�鍛級鏄剧ず鎺у埗
+ public static Boolean over_view {
+ get {
+ return raesList.size() > 0 ? true : false;
+ }
+ }
+ // 浣跨敤鏈熼檺灏忎簬涓�骞寸殑浜у搧 鏄剧ず鎺у埗
+ public static Boolean overlimit {
+ get {
+ return overlimitdateorderdetails.size() > 0 ? true : false;
+ }
+ }
+ //鐢ㄦ埛浜у搧鍖哄垎
+ public static String userPro_Type;
+ public static String userPro_Typestr = null;
+ public static Boolean EngFlag = false;
+ public static Boolean ETFlag = false;
+ public static Boolean hasHos;
+
+ @AuraEnabled
+ public static Results initAgency(){
+ Results results = new Results();
+ results.isNoteStay = LexUtility.getIsNoteStay();
+ try {
+ User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:UserInfo.getUserId()];
+ accountid = useracc.accountid;
+ List<Account> accList = new List<Account>();
+ accList = [SELECT Name,Ban_On_Use_Reason__c,Deposit_Price__c,
+ Medical_Equipment_Num__c,Medical_Equipment_Expiration_Date__c,
+ Ban_On_Use_Date__c,Tax_Practice_No__c,Tax_Practice_Expiration_Date__c,
+ Business_Authorization_No__c,Business_Paper_Expiration_Date__c,
+ Credit_Check_No__c,Dealer_discount__c,
+ Phone,Address_Together__c,Is_Active_Formula__c,
+ Management_Code__c,Sales_Shop_Class__c,Postal_Code__c,
+ Fax,Address__c,Deposit_Receipt_Finished__c,
+ Deposit_Receipt_Completion_Day__c,
+ Product_Limit_Date__c,
+ Product_Limit_DateENG__c
+ FROM account WHERE id =:accountid];
+ if(accList.size() == 1){
+ accountInfo = accList[0];
+ }else{
+ results.result = 'Fail';
+ results.errorMsg = '鏈幏鍙栧埌缁忛攢鍟嗕俊鎭�';
+ return results;
+ }
+ results.result = 'Success';
+ results.accountInfo = accountInfo;
+ }catch(Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber()+'---'+e.getMessage();
+ }
+ return results;
+ }
+
+ @AuraEnabled
+ public static Results initPage(Integer pageSizeLWC,Integer pageTokenLWC){
+ pageSize = pageSizeLWC;
+ pageToken = pageTokenLWC;
+ Results results = new Results();
+ results.isNoteStay = LexUtility.getIsNoteStay();
+ try {
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+ overlimitdateorderdetails = new List<ConsumableorderdetailsInfo>();
+ //page
+ // pagesize = Integer.valueof(system.label.orderdetLimitsize);
+ // currentpage = 0;
+
+ User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:UserInfo.getUserId()];
+ // String uid = '0051000000E7Pv9AAF';
+ // User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:uid];
+ accountid = useracc.accountid;
+ userWorkLocation = useracc.Work_Location__c;
+ userPro_Type = useracc.UserPro_Type__c;
+ if(String.isBlank(userPro_Type)){
+ userPro_Type = 'ET';
+ }
+ userPro_Typestr = '%' + userPro_Type + '%';
+ if(userPro_Type == 'ENG'){
+ EngFlag = true;
+ }else{
+ ETFlag = true;
+ }
+ //缁忛攢鍟喡峰熀鏈俊鎭幏鍙�
+ List<Account> accList = new List<Account>();
+ accList = [SELECT Name,Ban_On_Use_Reason__c,Deposit_Price__c,
+ Medical_Equipment_Num__c,Medical_Equipment_Expiration_Date__c,
+ Ban_On_Use_Date__c,Tax_Practice_No__c,Tax_Practice_Expiration_Date__c,
+ Business_Authorization_No__c,Business_Paper_Expiration_Date__c,
+ Credit_Check_No__c,Dealer_discount__c,
+ Phone,Address_Together__c,Is_Active_Formula__c,
+ Management_Code__c,Sales_Shop_Class__c,Postal_Code__c,
+ Fax,Address__c,Deposit_Receipt_Finished__c,
+ Deposit_Receipt_Completion_Day__c,
+ Product_Limit_Date__c,
+ Product_Limit_DateENG__c
+ FROM account WHERE id =:accountid];
+ if(accList.size() == 1){
+ accountInfo = accList[0];
+ }else{
+ results.result = 'Fail';
+ results.errorMsg = '鏈幏鍙栧埌缁忛攢鍟嗕俊鎭�';
+ return results;
+ }
+ accountName = accountInfo.Name;
+ if(EngFlag){
+ product_Limit = accountInfo.Product_Limit_DateENG__c;
+ }else if(ETFlag){
+ product_Limit = accountInfo.Product_Limit_Date__c;
+ }
+ if(product_Limit != null && product_Limit !=''){
+ proLimitAndDate = product_Limit.split(',');
+ }
+ List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+ //搴撳瓨鏄庣粏鍙栧緱
+ orderDetZaikuList = new List<String>();
+ List<AggregateResult> orderDetZaiku = [SELECT count(Id),
+ Consumable_Product__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Lose_Flag__c = false
+ AND Dealer_Returned__c = false
+ AND Cancellation_Flag__c = false
+ AND Bar_Code__c !=null
+ AND Product_Type__c like : userPro_Typestr
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ group by Consumable_Product__c];
+ for(AggregateResult zaikuId : orderDetZaiku){
+ orderDetZaikuList.add(String.valueOf(zaikuId.get('Consumable_Product__c')));
+ }
+ Map<String,Product2__c> MidMap = new Map<String,Product2__c>();
+ List<Product2__c> product2Selected = [SELECT Id, Name,
+ Name__c,
+ Asset_Model_No__c,
+ Category3__c,
+ Category4__c,
+ Category5__c,
+ SFDA_Status__c,
+ Product2__r.SFDA_Approbation_No__c,
+ Product2__r.SFDA_Expiration_Date__c,
+ Product2__r.Packing_list_manual__c
+ FROM Product2__c
+ WHERE Id in :orderDetZaikuList
+ ];
+
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(product2Selected[i].Id, product2Selected[i]);
+ }
+ //杩斿搧搴撳瓨缁熻
+ List<Consumable_order_details2__c> CountDel = [SELECT Id,
+ Bar_Code__c,
+ Name,
+ Inventory_date__c,
+ Consumable_Product__c,
+ Recordtypeid,
+ Guarantee_period_for_products__c,
+ Isoverdue__c,
+ Box_Piece__c,
+ hospitalSpecialOffer__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Cancellation_Flag__c = false
+ AND Bar_Code__c !=null
+ AND Product_Type__c like : userPro_Typestr
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation];
+ Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newHosMidBoxMap = new Map<String,ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newHosMidPieceMap = new Map<String,ConsumableorderdetailsInfo>();
+ for(Integer i = 0 ; i< CountDel.size();i++){
+ //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+ if(MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '鐩�'){
+ String tex = 'A';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ tex = 'B';
+ }
+ if(newMidBoxMap.containsKey(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex)){
+ ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex).clone();
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage);
+ }else{
+ ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(CountDel[i].Consumable_Product__c));
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage);
+ }else{
+ Jstage.hospitalSpecialOffer = false;
+ newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage);
+ }
+ }
+ }else if(MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '涓�'){
+ String tex = 'A';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ tex = 'B';
+ }
+ if(newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex )){
+ ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex).clone();
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage);
+ }else{
+ ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(CountDel[i].Consumable_Product__c));
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex, Jstage);
+ }else{
+ Jstage.hospitalSpecialOffer = false;
+ newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex, Jstage);
+ }
+ }
+ }
+ //濡傛灉鏄� 鍖婚櫌鐗逛环鍒涘缓鐨勬槑缁�2 鍒�
+ }
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ List<ConsumableorderdetailsInfo> newHosMidBoxList = new List<ConsumableorderdetailsInfo>();
+ //鎶夿oxmap閲岀殑鍊间粠鏂拌祴缁檅oxRecords
+ for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){
+ if(bss.allnumber>0){
+ bss.packing_list = Integer.valueof(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+ bss.overlimitCount = bss.allnumber - bss.limitCount;
+ boxRecords.add(bss);
+ }
+ }
+ boxRecords.sort();
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ if(bss.allnumber>0){
+ bss.packing_list = Integer.valueof(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+ bss.overlimitCount = bss.allnumber - bss.limitCount;
+ }
+ }
+ //鎺掑簭搴旇鏄� 闈炲尰闄㈢壒浠风殑鐩�,鍖婚櫌鐗逛环鐨勭洅,闈炲尰闄㈢壒浠风殑涓�,鍖婚櫌鐗逛环鐨勪釜
+ //add by rentx 2020-11-27 鍏堝垽鏂尰闄㈢壒浠风殑鐩� 鍜� 涓�
+ //2020-11-27 鏃� 浜� rentx 娉ㄩ噴 start
+ String temp = 'A';
+ for(ConsumableorderdetailsInfo bss : boxRecords){
+ consumableorderdetailsRecords.add(bss);
+ //璇ヤ骇鍝佹槸鍖婚櫌鐗逛环浜у搧
+ if (bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id+'涓狟')) {
+ if (newMidPieceMap.get(bss.Prod.Id+'涓狟').hospitalSpecialOffer) {
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id+'涓狟'));
+ newMidPieceMap.remove(bss.Prod.Id+'涓狟');
+ }
+ }
+
+ if (!bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id+'涓狝')) {
+ // if (newMidPieceMap.get(bss.Prod.Id+'涓狝')) {
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id+'涓狝'));
+ newMidPieceMap.remove(bss.Prod.Id+'涓狝');
+ // }
+ }
+ }
+
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ if (newMidPieceMap.containsKey(bss.Prod.Id+'涓狟')) {
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓狟'));
+ }
+ }
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ if (newMidPieceMap.containsKey(bss.Prod.Id+'涓狝')) {
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓狝'));
+ }
+ }
+ // consumableorderdetailsRecords.addAll(newMidPieceMap.values());
+ //2020-11-27 鏃� 浜� rentx 娉ㄩ噴 end
+ // consumableorderdetailsRecords.addAll(newMidPieceMap.values());
+ //2020-11-27 鏃� 浜� rentx 娉ㄩ噴 end
+
+ notarriveorder();
+ productLimtAndDate();
+ datelimitSearch();
+ //add by rentx
+ Integer ishos = 0;
+ for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){
+ if(productkucun.get(bss.Prod.Id) != null){
+ bss.guaranteeperiod = productkucun.get(bss.Prod.Id);
+ }
+ //add by rentx 2021-3-10 start
+ if (bss.hospitalSpecialOffer) {
+ ishos = ishos+1;
+ }
+
+ }
+ if (ishos > 0) {
+ hasHos = true;
+ }else{
+ hasHos = false;
+ }
+ //add by rentx 2021-3-10 end
+ //consumableorderdetailsRecords.sort();
+ //list鍒嗗壊
+ //listCut();
+ // sortKey = '0';
+ // preSortKey = '0';
+ // sortOrderAsc = false;
+ // sortOrder = new String[1];
+ // sortOrder = new String[]{' ', '鈫�'};
+ //鎬讳欢鏁�
+ totalCount = consumableorderdetailsRecords.size();
+ //椤垫暟
+ // pagecount=(totalcount + pagesize - 1) / pagesize;
+ //鏄剧ず绗竴椤�
+ // moveToFirst();
+ makeCurrentPageRecords();
+ //鍒嗛〉
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ System.debug('pageToken==>'+ pageToken);
+ System.debug('pageSize===>'+ pageSize);
+
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ System.debug('paginatedAccounts.recordStart'+ paginatedAccounts.recordStart);
+ System.debug('paginatedAccounts.pageNumber'+ paginatedAccounts.pageNumber);
+ System.debug('paginatedAccounts.nextPageToken===>'+paginatedAccounts.nextPageToken);
+ System.debug('recordEnd'+ recordEnd);
+
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+ //end
+ System.debug('PaginatedAccounts===>'+PaginatedAccounts);
+
+ //璧嬪�煎洖浼�
+ results.result = 'Success';
+ results.title = title;
+ results.raesList = raesList;
+ results.columns = columns;
+ results.over_view = over_view;
+ results.overlimit = overlimit;
+ results.hasHos = hasHos;
+ results.overlimitdateorderdetails = overlimitdateorderdetails;
+ results.accountInfo = accountInfo;
+ results.pageRecords = pageRecords;
+ results.product_Limit = product_Limit;
+ results.totalNum = Total_num;
+ results.orderNumberArrived = OrderNumber_arrived;
+ results.deliveryDetailCount = Delivery_detail_count;
+ results.orderNumberNotarrive = OrderNumber_notarrive;
+ results.moreThanSevenDays = More_than_seven_days;
+ //add by WangXueqin 2023/05/05
+ results.userPro_Type = userPro_Type;
+ results.paginatedAccounts = paginatedAccounts;
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber()+'---'+e.getMessage();
+ }
+ return results;
+ }
+
+ //瓒呰繃涓�鍛ㄦ湭鍒拌揣璁㈠崟
+ public static void notarriveorder(){
+ //over_view = false;
+ Date orderdate = Date.today().addDays(-7);
+
+ List<Consumable_order_details2__c> orderdetails = [SELECT Id,Name,Consumable_order_minor__c
+ FROM Consumable_order_details2__c
+ WHERE Deliver_date__c < :orderdate
+ and Consumable_order_minor__c !=null
+ and Dealer_Info_text__c = :accountName
+ AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
+ AND Dealer_Arrive__c = false
+ ];
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO , 'userPro_Type鈥斺�斺�斺�斺�斺��' + userPro_Type));
+ Map<String, String> notarriveorderMap = new Map<String, String>();
+ List<String> notarriveorderid = new List<String>();
+ for(Integer i = 0; i < orderdetails.size(); i++){
+ if(notarriveorderMap.containsKey(orderdetails[i].Consumable_order_minor__c)){
+ continue;
+ }else{
+ notarriveorderMap.put(orderdetails[i].Consumable_order_minor__c, orderdetails[i].Consumable_order_minor__c);
+ //notarriveorderid.add('\'' + orderdetails[i].Consumable_order_minor__c +'\'');
+ notarriveorderid.add(orderdetails[i].Consumable_order_minor__c);
+ }
+ }
+ // 鑾峰緱璁㈠崟涓�瑙�
+ Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap();
+ Schema.FieldSet fs = fsMap.get('arrive_view');
+ // 鑾峰緱璁㈠崟涓殑鎵�鏈夐」鐩�
+ List<FieldSetMember> fsmList = fs.getFields();
+ // 鑾峰緱瀛楁鏍囩鍜屽瓧娈靛悕
+ title = new List<String>();
+ column = new List<String>();
+ columns = new List<List<String>>();
+ for (FieldSetMember fsm : fsmList) {
+ title.add(fsm.getLabel());
+ column.add(fsm.getFieldPath());
+ columns.add(fsm.getFieldPath().split('\\.'));
+ }
+ system.debug('columns=====================>'+columns);
+ // 鑾峰緱鏄剧ず鏁版嵁
+ raesList = new List<Consumable_order__c>();
+ String soql = 'select Id';
+ for (String s : column) {
+ soql += ',' + s;
+ }
+ soql += ' from Consumable_order__c where Order_type__c = \''+'璁㈠崟'+'\' and recordtypeid =\'' + System.Label.RT_ConOrder_Delivery + '\' and Dealer_Info__c =\'' + accountid +'\' and Delivery_detail_count__c > 0 and showFalseNotshowTrue__c = false ';
+ soql += ' and Order_ProType__c = \'' + userPro_Type + '\' ' ;
+ soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
+
+ if(notarriveorderid.size() < 1){
+ soql +=' AND Id = null ';
+ }else{
+ String sqlTail = '(\'';
+ for(Integer i = 0 ; i< notarriveorderid.size();i++){
+ if(i<notarriveorderid.size()-1){
+ sqlTail += notarriveorderid[i]+'\',\'';
+ }else{
+ sqlTail += notarriveorderid[i]+'\')';
+ }
+ }
+ //over_view = true;
+ soql +=' AND Id in ' + sqlTail;
+ }
+ system.debug('soql_____11111__' + soql);
+ raesList = Database.query(soql);
+ // update end by vivek2020-01-15
+ Total_num = 0;
+ OrderNumber_arrived = 0;
+ Delivery_detail_count = 0;
+ OrderNumber_notarrive = 0;
+ More_than_seven_days = 0;
+ for(Consumable_order__c conorder :raesList){
+ Total_num += (Integer)conorder.Total_num__c;
+ OrderNumber_arrived += (Integer)conorder.OrderNumber_arrived__c;
+ Delivery_detail_count += (Integer)conorder.Delivery_detail_count__c;
+ OrderNumber_notarrive += (Integer)conorder.OrderNumber_notarrive__c;
+ More_than_seven_days += (Integer)conorder.More_than_seven_days__c;
+ }
+ // update end by vivek2020-01-15
+ }
+
+ public static void productLimtAndDate(){
+ String nowName = null, nowRightAsstModelNo = null;
+ Map<String,String> productLimt = new Map<String,String>();
+ for(Integer i = 0; i < proLimitAndDate.size(); i++){
+ nowName = proLimitAndDate[i];
+ if( nowName.indexOf( '|') >= 0) {
+ nowRightAsstModelNo = nowName.subString( 0, nowName.indexOf( '|'));
+ nowName = nowName.subString( nowName.indexOf( '|')+1);
+ }
+ productLimt.put(nowRightAsstModelNo, nowName);
+ }
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(productLimt.containsKey(ass.Prod.Asset_Model_No__c)){
+ ass.lowerlimit = decimal.valueOf(productLimt.get(ass.Prod.Asset_Model_No__c).subString(0, productLimt.get(ass.Prod.Asset_Model_No__c).indexOf( '|')));
+ ass.upperlimit = decimal.valueOf(productLimt.get(ass.Prod.Asset_Model_No__c).subString(productLimt.get(ass.Prod.Asset_Model_No__c).indexOf( '|')+1));
+ }
+ }
+ }
+
+ public static void datelimitSearch(){
+ Set<String> barcodekucun = new Set<String>();
+ //--------UpdateStart-----XHL--------------20180929-------------
+ List<Consumable_order_details2__c> orderkucun = [SELECT Id,Bar_Code__c, Name,Consumable_Product__c,
+ Recordtypeid,Guarantee_period_for_products__c,
+ Sterilization_limit__c,Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Bar_Code__c !=null
+ AND Product_Type__c like :userPro_Typestr
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ ORDER BY Consumable_Product__c, Sterilization_limit__c asc ];
+ //--------UpdateEnd-----XHL--------------20180929-------------
+ for(Integer i = 0 ; i< orderkucun.size();i++){
+ if(productkucun.containsKey(orderkucun[i].Consumable_Product__c)){
+ continue;
+ }else{
+ productkucun.put(orderkucun[i].Consumable_Product__c, orderkucun[i].Sterilization_limit__c);
+ }
+ }
+ barcodekucun.clear();
+ for(Integer i = 0 ; i< orderkucun.size();i++){
+ if(orderkucun[i].Sterilization_limit__c < Date.today().addYears(1)){
+ if(barcodekucun.contains(orderkucun[i].Bar_Code__c)){
+ continue;
+ }else{
+ barcodekucun.add(orderkucun[i].Bar_Code__c);
+ }
+ }
+ }
+ List<AggregateResult> overlimitdatedetails = [SELECT Asset_Model_No__c prodName ,
+ Box_Piece__c BoxPiece,count(id) countid
+ FROM Consumable_order_details2__c
+ WHERE Bar_Code__c in :barcodekucun
+ AND Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ GROUP BY Asset_Model_No__c,Box_Piece__c
+ ORDER BY Asset_Model_No__c,Box_Piece__c];
+ for(Integer i = 0 ; i< overlimitdatedetails.size();i++){
+ overlimitdateorderdetails.add(new ConsumableorderdetailsInfo(overlimitdatedetails[i]));
+ }
+ }
+
+ //棣栭〉
+ // public static void moveToFirst(){
+ // if(currentpage == 1) return;
+ // currentpage = 1;
+ // canMove();
+ // }
+
+ //鍒ゆ柇鏄惁鍙炕椤�
+ // public static void canMove(){
+ // hasPrevious = false;
+ // hasNext = false;
+ // if(pagecount > 1 && currentpage > 1) hasPrevious = true;
+ // if(pagecount > 1 && currentpage < pagecount) hasNext = true;
+ // }
+
+ //缂栬緫褰撳墠椤靛唴瀹�
+ public static void makeCurrentPageRecords(){
+ Integer startIdx;
+ Integer endIdx;
+ pageRecords = new List<ConsumableorderdetailsInfo>();
+ startIdx = pageToken;
+ endIdx = pageToken + pageSize;
+ if (endIdx > consumableorderdetailsRecords.size()) {
+ endIdx = consumableorderdetailsRecords.size();
+ }
+ for (Integer i = startIdx; i < endIdx; i++) {
+ pageRecords.add(consumableorderdetailsRecords.get(i));
+ }
+ }
+ //鍒嗛〉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; }
+ }
+
+ // Data Bean
+ public class ConsumableorderdetailsInfo implements Comparable {
+ //public Boolean check { get; set; }
+ //public Boolean oldCheck { get; set; }
+ @AuraEnabled
+ public Consumable_order_details2__c esd { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public Decimal allnumber { get; set; }
+ @AuraEnabled
+ public Decimal oldConsumableCount { get; set; }
+ @AuraEnabled
+ public Integer packing_list { get; set; }
+ @AuraEnabled
+ public Date expiration_Date { get; set; }
+ @AuraEnabled
+ public String approbation_No { get; set; }
+ @AuraEnabled
+ public Decimal upperlimit { get; set; }
+ @AuraEnabled
+ public Decimal lowerlimit { get; set; }
+ @AuraEnabled
+ public Date guaranteeperiod { get; set; }
+ @AuraEnabled
+ public Decimal countid { get; set; }
+ @AuraEnabled
+ public String prodName { get; set; }
+ @AuraEnabled
+ public Decimal limitCount { get; set; }
+ @AuraEnabled
+ public Decimal overlimitCount { get; set; }
+ @AuraEnabled
+ public String BoxPiece { get; set; }
+ @AuraEnabled
+ public Boolean hospitalSpecialOffer { get; set ;}
+
+ public ConsumableorderdetailsInfo(Product2__c e) {
+ //check = false;
+ //oldCheck = false;
+ esd = new Consumable_order_details2__c();
+ Prod = e;
+ oldConsumableCount = null;
+ allnumber = 0;
+ limitCount = 0;
+ overlimitCount = 0;
+
+ }
+
+ public ConsumableorderdetailsInfo(AggregateResult e) {
+ countid =Integer.valueOf(e.get('countid'));
+ prodName = String.valueOf(e.get('prodname'));
+ BoxPiece = String.valueOf(e.get('BoxPiece'));
+ }
+
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo;
+ Integer returnValue = 0;
+ if (allnumber > compareToesd.allnumber) {
+ returnValue = -1;
+ } else if (allnumber < compareToesd.allnumber) {
+ returnValue = 1;
+ }
+ return returnValue;
+ }
+ }
+
+ public class Results {
+ @AuraEnabled
+ public String result;
+ @AuraEnabled
+ public String errorMsg;
+ @AuraEnabled
+ public List<String> title;
+ @AuraEnabled
+ public List<Consumable_order__c> raesList;
+ @AuraEnabled
+ public List<List<String>> columns;
+ @AuraEnabled
+ public Boolean over_view;
+ @AuraEnabled
+ public Boolean overlimit;
+ @AuraEnabled
+ public Boolean hasHos;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> overlimitdateorderdetails;
+ @AuraEnabled
+ public Account accountInfo;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> pageRecords;
+ @AuraEnabled
+ public String product_Limit;
+ @AuraEnabled
+ public Integer totalNum;
+ @AuraEnabled
+ public Integer orderNumberArrived;
+ @AuraEnabled
+ public Integer deliveryDetailCount;
+ @AuraEnabled
+ public Integer orderNumberNotarrive;
+ @AuraEnabled
+ public Integer moreThanSevenDays;
+ @AuraEnabled
+ public Boolean isNoteStay;
+ //add by WangXueqin 2023/05/05
+ @AuraEnabled
+ public String userPro_Type;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> pageCodeRecords;
+ @AuraEnabled
+ public PaginatedAccounts paginatedAccounts;
+
+
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1