沙世明
2023-03-09 99b667bdfd8d4fd4d56c2952510169d7f7be794c
产品报价金额自动计算
5个文件已修改
68 ■■■■■ 已修改文件
force-app/main/default/classes/ControllerUtil.cls 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/NewQuoteEntryController.cls 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/SI_NewQuoteEntryController.cls 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/NewQuoteEntry.page 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/SI_NewQuoteEntry.page 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ControllerUtil.cls
@@ -5801,6 +5801,17 @@
    }
    // FY23修改 WLIG-CFV4AV 重点产品维护(新)end
    // DB202303051651 产品报价金额自动计算 ssm start
    // Json解析
    public static String getValueFromJSONString(String jsonstring, String key) {
        if (String.isNotBlank(jsonstring)) {
            Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(jsonstring);
            return mapping.get(key) != null ? String.valueOf(mapping.get(key)) : mapping.get('Default') != null ? String.valueOf(mapping.get('Default')) : null;
        }
        return null;
    }
    // DB202303051651 产品报价金额自动计算 ssm end
    //20221021  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start
    public static void UpdateBiddingFlag(List<String> oppId){
        List<Tender_Opportunity_Link__c> links = [SELECT Id, Tender_information__c, Tender_information__r.IsReactionOpp__c, Opportunity__c 
force-app/main/default/classes/NewQuoteEntryController.cls
@@ -226,6 +226,9 @@
               // lastbuy判断变更用户询价 start
               , If_Account_Change__c 
               // lastbuy判断变更用户询价 end
               // DB202303051651 产品报价金额自动计算 ssm start
               , Salesdepartment_Owner__c
               // DB202303051651 产品报价金额自动计算 ssm end
               FROM Opportunity Where Id = :oppId];
    // 多年保修 start
    trade = '外貿';
@@ -384,7 +387,7 @@
          // 多年保修 end
          //报价试算 start
            ,IsQuoteTrial__c  
            //报价试算 end
            //报价试算 end
          FROM Quote Where Id = :quoId];
      List<QuoteLineItem> items =
        [Select Id, Asset_Model_No__c, SFDA_Status__c, Product_Sales_Possibility__c,
@@ -1196,9 +1199,11 @@
          xlscode = null;
          xlsQuantity = null;
          xlslist = xls.split('\t', -1);
          system.debug('xlslist+++'+xlslist);
          for (String s : xlslist) {
            //odd number or even number
            if (math.mod(i, 2) != 0) {
              system.debug('xlslist1+++'+s);
              //odd number
              if (s == '' || s == null) {
                errorflg = true;
@@ -1212,6 +1217,7 @@
                Quantitylist.add(xlsQuantity);
              }
            } else {
              system.debug('xlslist2+++'+s);
              //even number
              if (s == '' || s == null) {
                errorflg = true;
@@ -1232,6 +1238,7 @@
        }
      }
    } catch (Exception ex) {
      system.debug('xlslist3+++'+xlscnt);
      activities = tmpactivities;
      errorflg = true;
      errormessage = System.Label.Error_Message31;
@@ -1245,6 +1252,8 @@
    if (codelist.size() == 0 || Quantitylist.size() == 0) {
      activities = tmpactivities;
      errorflg = true;
      system.debug('codelist+++'+codelist);
      system.debug('Quantitylist+++'+Quantitylist);
      errormessage = System.Label.Error_Message31;
      pageArrange();
      return null;
@@ -3467,6 +3476,12 @@
    // lastbuy判断变更用户询价 start
    public Boolean is_changed_opp { get; set; }
    // lastbuy判断变更用户询价 end
    // DB202303051651 产品报价金额自动计算 ssm start
    // 医院合同金额比例
    public Decimal rate_hospital { get; set; }
    // 经销商1合同金额比例
    public Decimal rate_agency1 { get; set; }
    // DB202303051651 产品报价金额自动计算 ssm end
    public OppInfo(Opportunity opp) {
      Account_RecordType_DeveloperName = opp.Account.RecordType.DeveloperName;
@@ -3487,6 +3502,12 @@
      // lastbuy判断变更用户询价 start
      is_changed_opp = opp.If_Account_Change__c != null ? opp.If_Account_Change__c : false;
      // lastbuy判断变更用户询价 end
      // DB202303051651 产品报价金额自动计算 ssm start
      String str_rate_hospital = ControllerUtil.getValueFromJSONString(System.Label.Quote_HospitalAmount_Rate, opp.Salesdepartment_Owner__c);
      String str_rate_agency1 = ControllerUtil.getValueFromJSONString(System.Label.Quote_Agency1Amount_Rate, opp.Salesdepartment_Owner__c);
      rate_hospital = String.isNotBlank(str_rate_hospital) ? Decimal.valueOf(str_rate_hospital) : 1.0;
      rate_agency1 = String.isNotBlank(str_rate_agency1) ? Decimal.valueOf(str_rate_agency1) : 1.0;
      // DB202303051651 产品报价金额自动计算 ssm end
    }
  }
  //TODO 1.Quoteオブジェクト追加
force-app/main/default/classes/SI_NewQuoteEntryController.cls
@@ -221,6 +221,9 @@
                    // SI业务系统流程改善和提升项目2019-10-28 by vivek start
                    ,Configuration_Suggestion__c , Configuration_Suggestion_Feedback__c
                    // SI业务系统流程改善和提升项目2019-10-28 by vivek end
                    // DB202303051651 产品报价金额自动计算 ssm start
                    , Salesdepartment_Owner__c
                    // DB202303051651 产品报价金额自动计算 ssm end
                    FROM Opportunity Where Id = :oppId];
        // 多年保修 start
        trade = '外貿';
@@ -3430,6 +3433,12 @@
        public boolean If_Need_Authorize { get; set; }
        public String Authorized_DB_No { get; set; }
        // LHJ End
        // DB202303051651 产品报价金额自动计算 ssm start
        // 医院合同金额比例
        public Decimal rate_hospital { get; set; }
        // 经销商1合同金额比例
        public Decimal rate_agency1 { get; set; }
        // DB202303051651 产品报价金额自动计算 ssm end
        public OppInfo(Opportunity opp) {
            Account_RecordType_DeveloperName = opp.Account.RecordType.DeveloperName;
@@ -3444,6 +3453,12 @@
            If_Need_Authorize = opp.If_Need_Authorize__c;
            Authorized_DB_No = opp.Authorized_DB_No__c;
            // LHJ End
            // DB202303051651 产品报价金额自动计算 ssm start
            String str_rate_hospital = ControllerUtil.getValueFromJSONString(System.Label.Quote_HospitalAmount_Rate, opp.Salesdepartment_Owner__c);
            String str_rate_agency1 = ControllerUtil.getValueFromJSONString(System.Label.Quote_Agency1Amount_Rate, opp.Salesdepartment_Owner__c);
            rate_hospital = String.isNotBlank(str_rate_hospital) ? Decimal.valueOf(str_rate_hospital) : 1.0;
            rate_agency1 = String.isNotBlank(str_rate_agency1) ? Decimal.valueOf(str_rate_agency1) : 1.0;
            // DB202303051651 产品报价金额自动计算 ssm end
        }
    }
    //TODO 1.Quoteオブジェクト追加
force-app/main/default/pages/NewQuoteEntry.page
@@ -1,6 +1,6 @@
<!--<apex:page standardController="Quote" extensions="NewQuoteEntryController" sidebar="false" action="{!init}" id="Page">
-->
<apex:page controller="NewQuoteEntryController" sidebar="false" action="{!init}" id="Page" >
<apex:page controller="NewQuoteEntryController" sidebar="false" action="{!init}" id="Page" lightningStylesheets="true" >
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -37,7 +37,7 @@
        // }
        //dialog 弹窗 end 
        // 添加行 html特性增加滑动条 精琢技术 wql 2021/02/09 end 
            debugger
        var QuoteEntryMaxLine = {!QuoteEntryMaxLine};
        var trade = '{!oppInfo.Trade}';
        var displayCost = '{!displayCost}';
@@ -258,6 +258,10 @@
            <apex:inputHidden value="{!oppInfo.Authorized_DB_No}" id="Authorized_DB_No" rendered="{!displayFlg}"/>
            <apex:inputHidden value="{!oppInfo.If_Need_Authorize}" id="If_Need_Authorize" rendered="{!displayFlg}"/>
            <!-- LHJ End -->
            <!-- DB202303051651 产品报价金额自动计算 ssm start -->
            <apex:inputHidden id="rateHospital" value="{!oppInfo.rate_hospital}"/>
            <apex:inputHidden id="rateAgency1" value="{!oppInfo.rate_agency1}"/>
            <!-- DB202303051651 产品报价金额自动计算 ssm end -->
            <apex:outputPanel id="message1">
                <apex:messages styleClass="editListError"/>
@@ -370,7 +374,7 @@
                    <th style="text-align:right;width:50px;">
                        {!$ObjectType.Quote.fields.MultiYearWarrantyTotalPrice__c.label}
                    :&nbsp;</th>
                    <td style="width:470px;">
                    <td style="width:370px;">
                        <apex:outputtext id="MultiYearWarrantyTotalPrice_out" value="{0, number, ###,##0.00}" 
                        style="text-align:right;width:180px;">
                            <apex:param value="{!quo.MultiYearWarrantyTotalPrice__c}"/>
@@ -402,10 +406,11 @@
                    </div>
                    </td>
                     
                    <th style="text-align:right;width:50px;">
                    <th style="text-align:right;width:20px;">
                        {!$ObjectType.Quote.fields.multiYearWarranty__c.label}
                    :&nbsp;</th>
                    <td style="width:200px;"><apex:inputField id="multiYearWarranty" value="{!quo.multiYearWarranty__c}" onchange="callFromCancelgurantee_MD();" style="text-align:right;width:30px;" /></td>
                    </apex:variable>
                    <!-- 外贸多年保 取消nodiscount 合计  精琢技术 wql 2021/01/18 end -->
                </tr>
force-app/main/default/pages/SI_NewQuoteEntry.page
@@ -1,4 +1,4 @@
<apex:page controller="SI_NewQuoteEntryController" sidebar="false" action="{!init}" id="Page">
<apex:page controller="SI_NewQuoteEntryController" sidebar="false" action="{!init}" id="Page" lightningStylesheets="true">
<!-- <apex:page standardController="Quote" extensions="SI_NewQuoteEntryController" sidebar="false" action="{!init}" id="Page" > -->
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
@@ -313,6 +313,10 @@
            <apex:inputHidden value="{!oppInfo.Authorized_DB_No}" id="Authorized_DB_No" rendered="{!displayFlg}"/>
            <apex:inputHidden value="{!oppInfo.If_Need_Authorize}" id="If_Need_Authorize" rendered="{!displayFlg}"/>
            <!-- LHJ End -->
            <!-- DB202303051651 产品报价金额自动计算 ssm start -->
            <apex:inputHidden id="rateHospital" value="{!oppInfo.rate_hospital}"/>
            <apex:inputHidden id="rateAgency1" value="{!oppInfo.rate_agency1}"/>
            <!-- DB202303051651 产品报价金额自动计算 ssm end -->
            <apex:outputPanel id="message1">
                <apex:messages styleClass="editListError"/>
            </apex:outputPanel>