public without sharing class LexArriveGoodsMainController { /*****************検索用******************/ //经销商产品分类 public static String agencyProType {get;set;} // public static Consumable_order__c coc { get; set; } public static String category1 { get; set; } private static String cate1ForSort = null; private static Date cate2ForSort = Date.today(); private static Date cate2 = Date.today(); private static String[] columus = new String[]{ 'Product2__c.Name'}; // 产品 ID private static String ESetId = ''; private static String accountid = null; // 订单 字段标签 public static List title { get; private set; } // 订单 字段名 public static List column; public static List> columns { get; private set; } // 画面显示数据 public static List raesList { get; private set; } // 登录者工作地 private static String userWorkLocation; // 20200904 ljh 汇总使用 start public static Integer Total_num {get; set;} public static Integer OrderNumber_arrived {get; set;} public static Integer Delivery_detail_count {get; set;} public static Integer OrderNumber_notarrive {get; set;} public static Integer More_than_seven_days {get; set;} @AuraEnabled public static Results init(){ Results results = new Results(); results.isNoteStay = LexUtility.getIsNoteStay(); try { List idList = new List(); idList.add('a2K10000002zHyDEAU'); idList.add('a2K10000002zIJEEA2'); idList.add('a2K10000002zK9rEAE'); idList.add('a2K10000004AKGBEA4'); idList.add('a2K10000004ALqeEAG'); idList.add('a2K10000004AMmrEAG'); idList.add('a2K10000004ANvDEAW'); idList.add('a2K10000004AOVxEAO'); idList.add('a2K10000004AOJZEA4'); idList.add('a2K10000004AOLuEAO'); idList.add('a2K10000004AOLfEAO'); // coc = new Consumable_order__c(); String userId = UserInfo.getUserId(); List Useracc = New List(); Useracc = [select accountid, Work_Location__c,UserPro_Type__c from user where id =:userId]; accountid = Useracc[0].accountid; userWorkLocation = Useracc[0].Work_Location__c; agencyProType = Useracc[0].UserPro_Type__c; if(String.isBlank(Useracc[0].UserPro_Type__c)){ agencyProType = 'ET'; } // 获得订单一览 Map fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap(); Schema.FieldSet fs = fsMap.get('arrive_view'); // 获得订单中的所有项目 List fsmList = fs.getFields(); // 获得字段标签和字段名 title = new List(); column = new List(); columns = new List>(); for (FieldSetMember fsm : fsmList) { title.add(fsm.getLabel()); column.add(fsm.getFieldPath()); columns.add(fsm.getFieldPath().split('\\.')); } // 获得显示数据 raesList = new List(); 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 Order_ProType__c =\'' + agencyProType +'\' and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; // // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList'; raesList = Database.query(soql); //20200904 ljh add start Total_num = 0; OrderNumber_arrived = 0; Delivery_detail_count = 0; OrderNumber_notarrive = 0; More_than_seven_days = 0; System.debug('-----1------'+raesList); for(Consumable_order__c conorder :raesList){ if(conorder.Total_num__c != null){ Total_num += (Integer)conorder.Total_num__c; } if(conorder.OrderNumber_arrived__c != null){ OrderNumber_arrived += (Integer)conorder.OrderNumber_arrived__c; } if(conorder.Delivery_detail_count__c != null){ Delivery_detail_count += (Integer)conorder.Delivery_detail_count__c; } if(conorder.OrderNumber_notarrive__c != null){ OrderNumber_notarrive += (Integer)conorder.OrderNumber_notarrive__c; } if(conorder.More_than_seven_days__c != null){ More_than_seven_days += (Integer)conorder.More_than_seven_days__c; } } results.agencyProType = agencyProType; results.accountId = accountid; results.title = title; results.raesList = raesList; results.userWorkLocation = userWorkLocation; results.totalNum = Total_num; results.orderNumberArrived = OrderNumber_arrived; results.deliveryDetailCount = Delivery_detail_count; results.orderNumberNotarrive = OrderNumber_notarrive; results.moreThanSevenDays = More_than_seven_days; results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } @AuraEnabled public static Results searchConsumableorderdetails(String category1Str, Date cate2Str, String accountidStr, String userWorkLocationStr, String agencyProTypeStr){ Results results = new Results(); category1 = category1Str; cate2 = cate2Str; accountid = accountidStr; userWorkLocation = userWorkLocationStr; agencyProType = agencyProTypeStr; try { // cate2 = coc.Shipment_date__c; // 获得订单一览 Map fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap(); Schema.FieldSet fs = fsMap.get('arrive_view'); // 获得订单中的所有项目 List fsmList = fs.getFields(); // 获得字段标签和字段名 title = new List(); column = new List(); columns = new List>(); for (FieldSetMember fsm : fsmList) { title.add(fsm.getLabel()); column.add(fsm.getFieldPath()); columns.add(fsm.getFieldPath().split('\\.')); } // 获得显示数据 raesList = new List(); 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 (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) '; soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; soql += 'and showFalseNotshowTrue__c = false'; if (!String.isBlank(category1)) { soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' '; } if(cate2 != null){ soql += ' and Shipment_date__c = :cate2 '; } soql += ' and Order_ProType__c =\'' + agencyProType +'\''; soql += ' order by Deliver_date__c'; system.debug('====soql:' + soql); raesList = Database.query(soql); results.raesList = raesList; results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } public class Results { @AuraEnabled public String result; @AuraEnabled public String errorMsg; @AuraEnabled public String agencyProType; @AuraEnabled public String category1; @AuraEnabled public Date cate2; @AuraEnabled public String eSetId; @AuraEnabled public String accountId; @AuraEnabled public List title; @AuraEnabled public List raesList; @AuraEnabled public String userWorkLocation; @AuraEnabled public Integer totalNum; @AuraEnabled public Integer orderNumberArrived; @AuraEnabled public Integer deliveryDetailCount; @AuraEnabled public Integer orderNumberNotarrive; @AuraEnabled public Integer moreThanSevenDays; @AuraEnabled public Boolean isNoteStay; } }