//create by tcm 2021-11-15 batch版累计汇总(条件) global class UpdateAssetReturnTimeBatch implements Database.Batchable, Database.Stateful { public List tempIds; public String history;// 20211129 ljh add start global UpdateAssetReturnTimeBatch(List tempId) { this.tempIds = tempId; } global UpdateAssetReturnTimeBatch() { this.tempIds = new List(); this.History = ''; } // 20211129 ljh add start global UpdateAssetReturnTimeBatch(String type) { this.history = type; } // 20211129 ljh add start global Database.QueryLocator start(Database.BatchableContext bc) { // 20211129 ljh add start Date mdDay = Date.newInstance(2020, 04, 01); Date st = mdDay.toStartOfWeek(); Datetime laststart = Datetime.newInstance(st.year(), st.month(), st.day(), 8, 0, 0); // 20211129 ljh add end String sql ='select id FROM Rental_Apply__c '; // 20211129 ljh add start sql += 'where Asset_return_time_OK__c = null and Asset_return_time__c != null and Asset_return_time_OK_Flag__c = false'; sql += ' AND CreatedDate >= :laststart '; // 20211129 ljh add end if (tempIds != null && tempIds.size() > 0) { sql += 'and Id in :tempIds '; } return Database.getQueryLocator(sql); } global void execute(Database.BatchableContext BC, list raList) { List raIdList=new List(); for (Rental_Apply__c ra : raList) { raIdList.add(ra.Id); } List raesList=[select Rental_Apply__c,MIN(Asset_return_time__c) art FROM Rental_Apply_Equipment_Set__c WHERE Rental_Apply__c in :raIdList and Received_Confirm__c!=null AND Received_Confirm__c!='NG' AND Asset_return_time__c !=NULL group by Rental_Apply__c]; List racList=new List(); for (AggregateResult raes : raesList) { Rental_Apply__c ra=new Rental_Apply__c(); ra.Id=(Id)raes.get('Rental_Apply__c'); ra.Asset_return_time_OK__c=(Datetime)raes.get('art'); ra.Asset_return_time_OK_Flag__c = true; // 20211129 ljh add racList.add(ra); } update racList; } global void finish(Database.BatchableContext BC) { // 20220113 ljh add 排队对应关系系列 start if(!System.Test.isRunningTest()){ database.executebatch(new RentalQueueShippmentDate0Batch(),50); } // 20220113 ljh add 排队对应关系系列 end } }