高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/AssetUseInfoBatch.cls
@@ -1,61 +1,62 @@
global class AssetUseInfoBatch implements Database.Batchable<sObject> {
   private Integer dt;
  private Integer dt;
   global AssetUseInfoBatch() {
   }
   // 测试用
   global AssetUseInfoBatch(Integer intDate) {
      dt = intDate;
   }
  global AssetUseInfoBatch() {
  }
  // 测试用
  global AssetUseInfoBatch(Integer intDate) {
    dt = intDate;
  }
   global Database.QueryLocator start(Database.BatchableContext BC) {
      return Database.getQueryLocator([
         select Id, Use_Info__c from Asset
         ]);
   }
  global Database.QueryLocator start(Database.BatchableContext BC) {
    return Database.getQueryLocator([
      SELECT Id, Use_Info__c FROM Asset WHERE Category2__c ='本体' OR Product2.Can_Repair__c = '是'
      ]);
  }
      global void execute(Database.BatchableContext BC, List<sObject> sList) {
      List<Asset> updateList = new List<Asset>();
      Integer year = 0;
      if (dt == null) {
         year = Date.today().year();
      } else {
         year = dt;
      }
 global void execute(Database.BatchableContext BC, List<sObject> sList) {
     Oly_TriggerHandler.bypass('NFM010UpsertStatuAchievements');
    List<Asset> updateList = new List<Asset>();
    Integer year = 0;
    if (dt == null) {
      year = Date.today().year();
    } else {
      year = dt;
    }
      for (sObject sobj : sList) {
         Asset ast = (Asset) sobj;
         if (year == 2018) {
            ast.Use_Info_2018__c = ast.Use_Info__c;
         } else if (year == 2019) {
            ast.Use_Info_2019__c = ast.Use_Info__c;
         } else if (year == 2020) {
            ast.Use_Info_2020__c = ast.Use_Info__c;
         } else if (year == 2021) {
            ast.Use_Info_2021__c = ast.Use_Info__c;
         } else if (year == 2022) {
            ast.Use_Info_2022__c = ast.Use_Info__c;
         } else if (year == 2023) {
            ast.Use_Info_2023__c = ast.Use_Info__c;
         } else if (year == 2024) {
            ast.Use_Info_2024__c = ast.Use_Info__c;
         } else if (year == 2025) {
            ast.Use_Info_2025__c = ast.Use_Info__c;
         } else {
            break;
         }
         updateList.add(ast);
      }
    for (sObject sobj : sList) {
      Asset ast = (Asset) sobj;
      if (year == 2018) {
        ast.Use_Info_2018__c = ast.Use_Info__c;
      } else if (year == 2019) {
        ast.Use_Info_2019__c = ast.Use_Info__c;
      } else if (year == 2020) {
        ast.Use_Info_2020__c = ast.Use_Info__c;
      } else if (year == 2021) {
        ast.Use_Info_2021__c = ast.Use_Info__c;
      } else if (year == 2022) {
        ast.Use_Info_2022__c = ast.Use_Info__c;
      } else if (year == 2023) {
        ast.Use_Info_2023__c = ast.Use_Info__c;
      } else if (year == 2024) {
        ast.Use_Info_2024__c = ast.Use_Info__c;
      } else if (year == 2025) {
        ast.Use_Info_2025__c = ast.Use_Info__c;
      } else {
        break;
      }
      updateList.add(ast);
    }
      if (updateList.size() > 0) {
         update updateList;
      }
   }
   global void finish(Database.BatchableContext BC) {
   }
    if (updateList.size() > 0) {
      update updateList;
    }
  }
  global void finish(Database.BatchableContext BC) {
  }
}