黄千龙
2023-03-08 962519811b7c4be07f30d09e791798b0ea79d3ae
force-app/main/default/classes/RollupToHPBatch.cls
@@ -773,6 +773,12 @@
           // 20220722 ljh SWAG-CE6A58 update end
           Hospital__c, Department_Class__c
           , OCSM_RMB_Without_Tax_1000TR__c//20220111 SWAG-C8MBB6 加7.询价 lt
           //20230222   DB202302339407 you start
           ,LostPrices__c
           ,convertCurrency(Dealer_Final_Price__c)
           ,order_Date_For_Report__c
           ,StageName__c
           //20230222   DB202302339407 you end
           from Opportunity
           where Hospital__c in :hpList
         ]) {
@@ -807,9 +813,24 @@
      //20220111 SWAG-C8MBB6 加7.询价 lt  start
      Decimal o7 = opp.OCSM_RMB_Without_Tax_1000TR__c == null ? 0 : opp.OCSM_RMB_Without_Tax_1000TR__c;
      //20220111 SWAG-C8MBB6 加7.询价 lt  end
      setOppAmount(hpacc, o1, o2, o3, o4, o5, o6, o7);
      setOppAmount(dcacc, o1, o2, o3, o4, o5, o6, o7);
      //20230222 you start
      Decimal o8 = 0;
      Decimal o9 = 0;
      Decimal o10 = 0;
      if(opp.order_Date_For_Report__c>= thisYd && opp.order_Date_For_Report__c < nextYd){
        o8 = opp.LostPrices__c == null ? 0 : opp.LostPrices__c;
        if(opp.StageName__c !='失单' && opp.StageName__c !='取消'){
          o9 = opp.Dealer_Final_Price__c == null ? 0 : opp.Dealer_Final_Price__c / 1.13 / 1000;
    }
        o10 = o8 + o9;
      }
      //20230222 you end
      setOppAmount(hpacc, o1, o2, o3, o4, o5, o6, o7,o8,o9,o10);
      setOppAmount(dcacc, o1, o2, o3, o4, o5, o6, o7,o8,o9,o10);
    }
    // 报告书
    for (Report__c report : [
@@ -1392,6 +1413,12 @@
    acc.AllOP_ThousandY__c = 0;
    //20220111 SWAG-C8MBB6 加7.询价 lt  end
    //20230222 you start
    acc.LostPrices__c = 0;
    acc.Dealer_Final_Price__c = 0;
    acc.HospitalTransactionAmount__c = 0;
    //20230222 you end
    acc.Important_product1__c = 0;
    acc.Important_product2__c = 0;
    acc.Important_product3__c = 0;
@@ -1788,7 +1815,7 @@
    acc.ShippedAmount_HP__c += sa;
  }
  private void setOppAmount(Account2__c acc, Decimal o1, Decimal o2, Decimal o3, Decimal o4, Decimal o5, Decimal o6, Decimal o7) {
  private void setOppAmount(Account2__c acc, Decimal o1, Decimal o2, Decimal o3, Decimal o4, Decimal o5, Decimal o6, Decimal o7,Decimal o8,Decimal o9,Decimal o10) {
    acc.Opp_Actual_ThousandY__c += o1;
    acc.BO_Forecast_ThousandY__c += o2;
    acc.OP_ThousandY__c += o3;
@@ -1798,6 +1825,12 @@
    //20220111 SWAG-C8MBB6 加7.询价 lt  start
    acc.AllOP_ThousandY__c += o7;
    //20220111 SWAG-C8MBB6 加7.询价 lt  end
    //20230222 you start
    acc.LostPrices__c += o8;
    acc.Dealer_Final_Price__c += o9;
    acc.HospitalTransactionAmount__c += o10;
    //20230222 you end
  }
  private void setOpdIproductCount(Account2__c acc, Decimal decIP1, Decimal decIP2, Decimal decIP3, Decimal decIP4, Decimal decIP5, Decimal decIP6, Decimal decIP7, Decimal decIP8, Decimal decIP9, Decimal decIP10,
@@ -2363,4 +2396,5 @@
      countImportantProduct(acc,nameType,tmpCnt,tmpKey,allList,departmentE,depToOtherDepAcc2Map, updateAccount, OldAccount2);
    
  }
}