global class AccountServiceOfTarget1Hto2HBatch implements Database.Batchable<sObject> {
|
public String query;
|
public List<String> hospId;
|
global AccountServiceOfTarget1Hto2HBatch() {
|
this.query = query;
|
}
|
global AccountServiceOfTarget1Hto2HBatch(List<String> hospId) {
|
this.query = query;
|
this.hospId = hospId;
|
}
|
global Database.QueryLocator start(Database.BatchableContext bc) {
|
query = 'select id,OCSM_Period_half__c,OCSM_Period__c,Account_HP__c,Account_HP__r.name,'
|
+' Target_Correlation_Lightsource__c,Target_Rigid_Mirror_2__c,Target_Soft_Mirror_2__c,'
|
+' Renew_Target_Correlation_Lightsource__c,Renew_Target_Rigid_Mirror_2__c,Renew_Target_Soft_Mirror_2__c'
|
+' from Account_Service_Of_Target__c where OCSM_Period_half__c = \'2H\' ';
|
if (this.hospId!=null && this.hospId.size()!=0) {
|
query +=' and Account_HP__c in :hospId';
|
}
|
return Database.getQueryLocator(query);
|
}
|
|
global void execute(Database.BatchableContext BC, list<Account_Service_Of_Target__c> asotList) {
|
Map<String,Account_Service_Of_Target__c> map1 = new Map<String,Account_Service_Of_Target__c>();
|
Map<String,Account_Service_Of_Target__c> map2 = new Map<String,Account_Service_Of_Target__c>();
|
List<Account_Service_Of_Target__c> asotUPList = new List<Account_Service_Of_Target__c>();
|
List<Account_Service_Of_Target__c> asotList2 = [select id,OCSM_Period_half__c,OCSM_Period__c,Account_HP__c,Account_HP__r.name,
|
Target_Correlation_Lightsource__c,Target_Rigid_Mirror_2__c,Target_Soft_Mirror_2__c,
|
Renew_Target_Correlation_Lightsource__c,Renew_Target_Rigid_Mirror_2__c,Renew_Target_Soft_Mirror_2__c
|
from Account_Service_Of_Target__c where OCSM_Period_half__c = '1H'];
|
for (Account_Service_Of_Target__c asot :asotList ) {
|
map2.put(asot.Account_HP__c,asot);
|
system.debug('添加到map2');
|
}
|
for (Account_Service_Of_Target__c asot :asotList2 ) {
|
map1.put(asot.Account_HP__c,asot);
|
system.debug('添加到map1');
|
}
|
system.debug('@@@@map1='+map1);
|
system.debug('@@@@map2='+map2);
|
for ( Account_Service_Of_Target__c asot:map1.values()) {
|
system.debug('@@@@2H==='+map2.get(asot.Account_HP__c));
|
if ( map2.get(asot.Account_HP__c) !=null) {
|
Account_Service_Of_Target__c asotNew = new Account_Service_Of_Target__c();
|
asotNew.id = map2.get(asot.Account_HP__c).id;
|
asotNew.Target_Correlation_Lightsource__c = asot.Target_Correlation_Lightsource__c;
|
asotNew.Target_Rigid_Mirror_2__c = asot.Target_Rigid_Mirror_2__c;
|
asotNew.Target_Soft_Mirror_2__c = asot.Target_Soft_Mirror_2__c;
|
asotNew.Renew_Target_Correlation_Lightsource__c = asot.Renew_Target_Correlation_Lightsource__c;
|
asotNew.Renew_Target_Rigid_Mirror_2__c = asot.Renew_Target_Rigid_Mirror_2__c;
|
asotNew.Renew_Target_Soft_Mirror_2__c = asot.Renew_Target_Soft_Mirror_2__c;
|
asotUPList.add(asotNew);
|
}
|
}
|
if (asotUPList!=null && asotUPList.size()!=0) {
|
upsert asotUPList;
|
}
|
}
|
|
global void finish(Database.BatchableContext BC) {
|
|
}
|
}
|