| | |
| | | <apex:page controller="SelectAssetEstimateVMController" tabStyle="Maintenance_Contract_Estimate__c" sidebar="false" showHeader="true" id="allPage" action="{!init}"> |
| | | <apex:page controller="SelectAssetEstimateVMController" tabStyle="Maintenance_Contract_Estimate__c" lightningStylesheets="true" sidebar="false" showHeader="true" id="allPage" action="{!init}"> |
| | | <head> |
| | | <!-- <meta http-equiv="x-ua-compatible" content="ie=edge" /> --> |
| | | <!-- <meta name="viewport" content="width=device-width, initial-scale=1" /> --> |
| | |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> |
| | | <apex:includeScript value="/soap/ajax/29.0/connection.js"/> |
| | | <apex:includeScript value="/soap/ajax/29.0/apex.js"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.apex20)}"/> |
| | | <style type="text/css"> |
| | | table { border-collapse: collapse; } |
| | | |
| | |
| | | |
| | | //add by gwy 2021-01-27 start 提交时的提示框 |
| | | function KindsAndMonths() { |
| | | // 故障品加费 系统检查修理减价审批完成 Start |
| | | var rowCnt = j$(escapeVfId('allPage:allForm:allBlock:assetSection:productCnt')).val(); |
| | | for (var i = 0; i < rowCnt; i++) { |
| | | var ISReduced = j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':ISReducedpriceapproval')).val(); |
| | | if(ISReduced=='否' || ISReduced =='审批中'){ |
| | | alert('请通过修理减价审批再提交'); |
| | | return false; |
| | | } |
| | | } |
| | | // 故障品加费 系统检查修理减价审批完成 end |
| | | var months = localParseFloat(j$(escapeVfId('allPage:allForm:allBlock:contract:monthRange')).val()); |
| | | var contrNew = document.getElementById("allPage:allForm:allBlock:contractInfo:Contract_TypeTXT").innerHTML; |
| | | if(months>12 && months<60 && contrNew == '新品合同'){ |
| | |
| | | return false; |
| | | } |
| | | } |
| | | // 先款后修-提交报价时如果是先款对象进行提示 thh 20220407 start |
| | | var FirstParagraphEnd = j$(escapeVfId('allPage:allForm:allBlock:contract:FirstParagraphEnd')).val(); |
| | | if(FirstParagraphEnd == 'on'){ |
| | | // 先款后修-提交报价时如果是先款对象进行提示 thh 20220408 start |
| | | var FirstParagraphEnd = j$(escapeVfId('allPage:allForm:allBlock:contract:FirstParagraphEnd'))[0].checked; |
| | | if(FirstParagraphEnd){ |
| | | if (confirm('本次签约经销商是先款对象,请确认是否提交报价?')) { |
| | | return true; |
| | | return true; |
| | | }else{ |
| | | return false; |
| | | } |
| | | } |
| | | // 先款后修-提交报价时如果是先款对象进行提示 thh 20220407 end |
| | | // 先款后修-提交报价时如果是先款对象进行提示 thh 20220408 end |
| | | return true; |
| | | } |
| | | //add by gwy 2021-01-27 end 提交时的提示框 |
| | |
| | | // 初始化设定画面项目不可用 |
| | | function pageSetDisabled(){ |
| | | var isDisabled = {!PageDisabled}; |
| | | ResonCannotWarranty = j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':ResonCannotWarranty')).value(); |
| | | if(!ResonCannotWarranty.contains("弃修")){ |
| | | j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':Repair_Price_Auto')).attr("display", none); |
| | | } |
| | | if (isDisabled) { |
| | | j$(escapeVfId('allPage:allForm:allBlock:contract:depart')).attr("disabled", true); |
| | | j$(escapeVfId('allPage:allForm:allBlock:contract:startdate')).attr("disabled", true); |
| | |
| | | // 2021、8、26 合同报价页面的优化,无保有设备点检对象选择框变黑 fxk star |
| | | // disable1(); |
| | | // 2021、8、26 合同报价页面的优化,无保有设备点检对象选择框变黑 fxk end |
| | | console.log('ApprovalBtnDisabled=='+{!ApprovalBtnDisabled}); |
| | | pageSetDisabled(); |
| | | var createdDate = new Date('{!estimate.CreatedDate}'); |
| | | // 报价中设备的机身编码为空时的新品合同有效期延长 20200710 gzw |
| | |
| | | //contractStartDateChange(); |
| | | refreshAsset(cnt); |
| | | } |
| | | |
| | | function refreshAsset(cnt) { |
| | | // alert(cnt); |
| | | // 提交后就页面不计算了 |
| | |
| | | // 新品合同 判断 |
| | | var newCon = true; |
| | | var contractStartDate = new Date(j$(escapeVfId('allPage:allForm:contractstartdate')).value()); |
| | | |
| | | //多年保续签合同数量 thh 20220316 start |
| | | var GuranteeCount = 0; |
| | | //多年保续签合同数量 thh 20220316 end |
| | | |
| | | //2022故障品加费 获取userInfo简档名称 |
| | | var isFSE = {!isFSE}; |
| | | console.log('***isFSE',isFSE); |
| | | |
| | | |
| | | // 预定开始日 |
| | |
| | | var lastContRange = 0; |
| | | if(LastMContractRecord == 'VM_Contract'){ |
| | | newCount++; |
| | | //多年保续签合同数量,多年保续签到服务合同时视为首签设备 thh 20220316 start |
| | | GuranteeCount++; |
| | | newCon = false; |
| | | //多年保续签合同数量,多年保续签到服务合同时视为首签设备 thh 20220316 end |
| | | lastendDate = new Date(j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':endDateGurantee_Text')).value()); |
| | | lastContRange = 36; |
| | | }else{ |
| | |
| | | var Estimate_Num = j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':Estimate_NumHidden')).val(); |
| | | if(Estimate_Num == 0){ |
| | | if(LastMContractRecord == 'VM_Contract'){ |
| | | //upPrice = (strMoney) * (1 + Adjustment_ratio_Upper/100); |
| | | //downPrice = (strMoney) * (1 + Adjustment_ratio_Lower/100); |
| | | upPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Upper/100); |
| | | downPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Lower/100); |
| | | // gzw 20220630 实际联动6个月价格区分 |
| | | var nowdate = new Date(); |
| | | lastendDate = new Date(j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':endDateGurantee_Text')).value()); |
| | | nowdate = nowdate.setMonth(nowdate.getMonth() + 6); |
| | | if(nowdate < Date.parse(lastendDate)){ |
| | | upPrice = strMoney; |
| | | downPrice = strMoney * 0.8; |
| | | }else{ |
| | | upPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Upper/100); |
| | | downPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Lower/100); |
| | | } |
| | | // gzw 20220630 实际联动6个月价格区分 |
| | | }else{ |
| | | upPrice = strMoney; |
| | | downPrice = strMoney * 0.8; |
| | |
| | | var lastContRange = 0; |
| | | if(LastMContractRecord == 'VM_Contract'){ |
| | | newCount++; |
| | | //多年保续签合同数量,多年保续签到服务合同时视为首签设备 thh 20220316 start |
| | | GuranteeCount++; |
| | | newCon = false; |
| | | //多年保续签合同数量,多年保续签到服务合同时视为首签设备 thh 20220316 end |
| | | lastendDate = new Date(j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':endDateGurantee_Text')).value()); |
| | | lastContRange = 36; |
| | | }else{ |
| | |
| | | } |
| | | //最后结束日+1年 |
| | | lastendDate.setMonth(lastendDate.getMonth() + 12); |
| | | // alert('+++++++++--------' + lastendDate); |
| | | // alert('+++++++++--------' + Date.parse(contractStartDate) + '77777' + Date.parse(lastendDate)); |
| | | if (Date.parse(contractStartDate) > Date.parse(lastendDate)) { |
| | | oyearCount ++; |
| | | } |
| | |
| | | var Estimate_Num = j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':Estimate_NumHidden')).val(); |
| | | if(Estimate_Num == 0){ |
| | | if(LastMContractRecord == 'VM_Contract'){ |
| | | //upPrice = (strMoney) * (1 + Adjustment_ratio_Upper/100); |
| | | //downPrice = (strMoney) * (1 + Adjustment_ratio_Lower/100); |
| | | upPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Upper/100); |
| | | downPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Lower/100); |
| | | // alert('11111'); |
| | | // gzw 20220630 实际联动6个月价格区分 |
| | | var nowdate = new Date(); |
| | | lastendDate = new Date(j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':endDateGurantee_Text')).value()); |
| | | nowdate = nowdate.setMonth(nowdate.getMonth() + 6); |
| | | if(nowdate < Date.parse(lastendDate)){ |
| | | upPrice = strMoney; |
| | | downPrice = strMoney * 0.8; |
| | | }else{ |
| | | upPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Upper/100); |
| | | downPrice = (assetListmonth * Punish) * (1 + Adjustment_ratio_Lower/100); |
| | | } |
| | | // gzw 20220630 实际联动6个月价格区分 |
| | | }else{ |
| | | upPrice = strMoney; |
| | | downPrice = strMoney * 0.8; |
| | |
| | | j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':assetListPricePageHidden')).val(strMoney); |
| | | // |
| | | repairMoney = j$.trim(j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':repairPrice')).value()); |
| | | |
| | | //<!-- (2022年12月上线)故障品加费 start --> |
| | | Repair_Price_Auto = j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':Repair_Price_Auto')).value(); |
| | | if (repairMoney> 0 && repairMoney <(Repair_Price_Auto*0.8) && Repair_Price_Auto != null && isFSE == true) { |
| | | alert('如需申请八折更低的折扣,请点击‘减价申请按钮’联系服务管理部'); |
| | | repairMoney = 0; |
| | | j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':repairPrice')).val(0); |
| | | } |
| | | if (repairMoney> 0 && repairMoney <(Repair_Price_Auto*0.8)) { |
| | | // j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':ISReducedpriceapproval')).val('审批中'); |
| | | // }else{ |
| | | // j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':ISReducedpriceapproval')).val(''); |
| | | // } |
| | | tochange(); |
| | | console.log('修改审批'); |
| | | } |
| | | ISReducedpriceapproval = j$(escapeVfId('allPage:allForm:allBlock:assetSection:assetTable:' + i + ':ISReducedpriceapproval')).val(); |
| | | console.log('是否审批通过=='+ISReducedpriceapproval); |
| | | //<!-- (2022年12月上线)故障品加费 end --> |
| | | } |
| | | repairSum = repairSum + localParseFloat(repairMoney); |
| | | listSum = listSum + localParseFloat(toNum(strMoney)); |
| | |
| | | var result = ''; |
| | | if (allcount == 0) { |
| | | result = null; |
| | | }else |
| | | if (newCount > 0 && newCount == allcount && newCon == true) { |
| | | //如果所有设备的上期合同都是多年保合同,则合同种类为市场多年保续签合同 thh 20220315 start |
| | | }else if(GuranteeCount > 0 && GuranteeCount == allcount){ |
| | | result = '市场多年保续签合同'; |
| | | //如果所有设备的上期合同都是多年保合同,则合同种类为市场多年保续签合同 thh 20220315 end |
| | | }else if (newCount > 0 && newCount == allcount && newCon == true) { |
| | | result = '新品合同'; |
| | | }else if (((newCount > 0 && newCount == allcount) ||(newCount + firstCCount == allcount)) && newCon == false) { |
| | | result = '首签合同'; |
| | |
| | | function ComputeLTY() { |
| | | var urlNameJs = j$(escapeVfId('allPage:allForm:urlName')).val(); |
| | | urlNameJs = '{!$Label.ID_of_SelectAssetEstimate}'+urlNameJs ; |
| | | var w = window.open(encodeURI(urlNameJs),'过去两年修理实绩','menubar=no,height=720,width=986'); |
| | | w.focus(); |
| | | //URF限次合同2期 LY 20220920 start |
| | | // var w = window.open(encodeURI(urlNameJs),'过去两年修理实绩','menubar=no,height=720,width=986'); |
| | | // w.focus(); |
| | | //URF限次合同2期 LY 20220920 end |
| | | } |
| | | function recordNumChangeJs() { |
| | | recordNumChangeAction(); |
| | |
| | | |
| | | <!-- HWAG-B4R3SS START 20181026--> |
| | | <apex:actionFunction name="searchfunc" action="{!searchBtn}" rerender="Form,Block,assetSection2,pageMessages,allBlock" onComplete="unblockUI();"></apex:actionFunction> |
| | | <apex:actionfunction action="{!tochange}" name="tochange" rerender="Form" oncomplete="unblockUI();"> |
| | | </apex:actionfunction> |
| | | <!-- HWAG-B4R3SS END 20181026--> |
| | | <apex:actionFunction name="ComputeLTYRepair" action="{!ComputeLTYRepair}" rerender="pageMessages" oncomplete="unblockUI();ComputeLTY();"/> |
| | | <apex:actionFunction name="ShowLTYRepair" action="{!ShowLTYRepair}" oncomplete="unblockUI();ComputeLTY();"/> |
| | |
| | | <th style="width:90px" class="headerRow booleanColumn">{!$ObjectType.Maintenance_Contract_Asset_Estimate__c.fields.Estimate_List_Price_All__c.label}</th> |
| | | <th style="width:90px" class="headerRow booleanColumn">{!$ObjectType.Maintenance_Contract_Asset_Estimate__c.fields.Maintenance_Price_YearTXT__c.label}</th>--> |
| | | <th style="width:70px" class="headerRow booleanColumn">{!$ObjectType.Maintenance_Contract_Asset_Estimate__c.fields.Repair_Price__c.label}</th> |
| | | <!-- (2022年12月上线)故障品加费 start --> |
| | | |
| | | <th style="width:70px" class="headerRow ">{!$ObjectType.Maintenance_Contract_Asset_Estimate__c.fields.Repair_Price_Auto__c.label}</th> |
| | | |
| | | <!-- (2022年12月上线)故障品加费 end --> |
| | | <th style="width:70px" class="headerRow booleanColumn">{!$ObjectType.Maintenance_Contract_Asset_Estimate__c.fields.Comment__c.label}</th> |
| | | |
| | | <!-- (2022年12月上线)故障品加费 第三方回归 --> |
| | | <th style="width:70px" class="headerRow booleanColumn">{!$ObjectType.Maintenance_Contract_Asset_Estimate__c.fields.Third_Party_Return__c.label}</th> |
| | | </tr> |
| | | |
| | | <apex:variable value="{!1}" var="cnt" /> |
| | |
| | | <apex:inputField value="{!ar.mcae.Product_Manual__c}" id="Assert" style="width:90%;" rendered="{!ar.IsManual}" onchange="blockme();refreshProductData({!ar.lineNo});"/> |
| | | <apex:inputText id="ProductId" value="{!ar.mcae.Product_Manual__c}" style="display:none;" disabled="true"/> |
| | | </td> |
| | | <!-- URF限次合同2期 LY 20220811 start --> |
| | | |
| | | <apex:inputHidden value="{!ar.rec.URF_Maintenance_Contract__r.Management_Code__c}" rendered="{!Not(ar.IsManual)}" id="URF_Contract_No"/> |
| | | |
| | | <!-- URF限次合同2期 LY 20220811 end --> |
| | | <td class="dataCell" width="70px"> |
| | | <apex:outputField value="{!ar.rec.Asset_situation__c}" rendered="{!Not(ar.IsManual)}" /> |
| | | </td> |
| | |
| | | <apex:inputHidden value="{!ar.mcae.Estimate_List_Price__c}" id="assetListPriceHidden"/> |
| | | <apex:inputHidden value="{!ar.mcae.Estimate_List_Price_Page__c}" id="assetListPricePageHidden" /> |
| | | <apex:inputHidden value="{!ar.rec.CurrentContract_F__r.Estimate_Num__c}" id="Estimate_NumHidden" /> |
| | | |
| | | </apex:outputPanel> |
| | | |
| | | <apex:outputPanel layout="none" rendered="{!Not($ObjectType.Maintenance_Contract_Asset_Estimate__c.createable)}" > |
| | |
| | | <td class="dataCell" width="70px" style="text-align:right" > |
| | | <apex:inputField value="{!ar.mcae.Repair_Price__c}" id="repairPrice" style="ime-mode: disabled; width:95%; text-align:right;" onchange="refreshAsset({!productCount});"/> |
| | | </td> |
| | | <!-- (2022年12月上线)故障品加费 start --> |
| | | <td class="dataCell" width="35px" style="text-align:right" > |
| | | <apex:outputText value="{!ar.Repair_Price_Auto}" id="Repair_Price_Auto" style="width:95%; disabled:disabled;"/> |
| | | </td> |
| | | <apex:inputHidden value="{!estimate.IS_Reduced_price_approval__c}" id="ISReducedpriceapproval"/> |
| | | <apex:inputHidden value="{!ar.rec.Reson_Can_not_Warranty__c}" id="ResonCannotWarranty"/> |
| | | <!-- (2022年12月上线)故障品加费 end --> |
| | | <td class="dataCell" width="70px" style="text-align:right" > |
| | | <apex:inputField value="{!ar.mcae.Comment__c}" id="comment" style="width:95%;"/> |
| | | </td> |
| | | |
| | | <!--(2022年12月上线)故障品加费 第三方回归 --> |
| | | <td class="dataCell" width="70px" style="text-align:right;" > |
| | | <apex:inputCheckbox value="{!ar.mcae.Third_Party_Return__c}" id="Third_Party_Return__c"/> |
| | | </td> |
| | | </tr> |
| | | |
| | |
| | | <th style="width:70px" class="headerRow booleanColumn">{!$ObjectType.Asset.fields.SerialNumber.label}</th> |
| | | <th class="headerRow booleanColumn">{!$ObjectType.Asset.fields.Department_Name__c.label}</th> |
| | | <!-- <th style="width:90px" class="headerRow booleanColumn">{!$ObjectType.Asset.fields.Installation_Site__c.label}</th> --> |
| | | <th style="width:90px" class="headerRow booleanColumn">{!$ObjectType.Asset.fields.IF_Warranty__c.label}</th> |
| | | <th style="width:90px" class="headerRow booleanColumn">{!$ObjectType.Asset.fields.IF_Warranty_Service__c.label}</th> |
| | | <!-- //JZHG-BSDUT4 ---20200825---update By rentongxiao---Start --> |
| | | <th style="width:90px" class="headerRow booleanColumn">主机/耗材</th> |
| | | <!-- //JZHG-BSDUT4 ---20200825---update By rentongxiao---End --> |
| | |
| | | <apex:repeat value="{!assetsView}" var="ar" id="assetTable2"> |
| | | <tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}"> |
| | | <td class="dataCell" width="25px"> |
| | | <apex:inputCheckbox value="{!ar.rec_checkBox_c}" id="assetRowCheckbox2" disabled="{!IF(ar.rec.Maintenance_Price_Month__c == 0 || ar.rec.IF_Warranty__c = '否', 'true', 'false')}"/> |
| | | <apex:inputCheckbox value="{!ar.rec_checkBox_c}" id="assetRowCheckbox2" disabled="{!IF(ar.rec.Maintenance_Price_Month__c == 0 || ar.rec.IF_Warranty_Service__c = '否', 'true', 'false')}"/> |
| | | </td> |
| | | <td class="dataCell" width="25%"> |
| | | <apex:outputField value="{!ar.rec.name}" id="assetName"/> |
| | |
| | | <apex:outputField value="{!ar.rec.Installation_Site__c}"/> |
| | | </td> --> |
| | | <td class="dataCell" width="90px" style="text-align:center"> |
| | | <apex:outputField value="{!ar.rec.IF_Warranty__c}"/> |
| | | <apex:outputField value="{!ar.rec.IF_Warranty_Service__c}"/> |
| | | </td> |
| | | <!-- //JZHG-BSDUT4 ---20200825---update By rentongxiao---Start --> |
| | | <td class="dataCell" width="90px" style="text-align:center"> |
| | |
| | | <td> </td> |
| | | <td width="30px"> </td> |
| | | <!-- <td><apex:commandButton id="savebtn" action="{!save}" value="{!$Label.Save_Button}" disabled="{!SaveBtnDisabled}" rerender="allForm" onclick="if (!onclickCheckchangedAfterPrint('true','true')) return false;" oncomplete="unblockUI();"/></td> --> |
| | | <!-- 故障修理费 添加提交修理减价按钮 --> |
| | | <td><apex:commandButton id="emailSend" action="{!sendEmail}" value="提交修理减价" disabled="{!SendEmailBtnDisabled}" rerender="allForm" onclick="if (!EGFlgconfim()) return false;" oncomplete="unblockUI();"/></td> |
| | | <td><apex:commandButton id="savebtn" action="{!save}" value="{!$Label.Save_Button}" disabled="{!SaveBtnDisabled}" rerender="allForm" onclick="if (!EGFlgconfim()) return false;" oncomplete="unblockUI();"/></td> |
| | | |
| | | <td width="200px"><apex:commandButton id="approvalbtn" action="{!approvalProcess}" value="提交待审批" disabled="{!ApprovalBtnDisabled}" rerender="allForm" onclick="if (!KindsAndMonths()) return false;if (!EGFlgconfim()) return false;approvalJs();" oncomplete="unblockUI();"/> |
| | |
| | | <td><apex:outputField value="{!estimate.Contract_End_Date__c}" id="contractenddate"/></td> |
| | | <td> </td> |
| | | <td><apex:commandButton id="decidebtn" value="{!$Label.QuoteDecision_Button}" disabled="{!DecideBtnDisabled}" onclick="decideJs(); return false;"/></td> |
| | | <!-- <td><apex:commandButton id="decidebtn1" value="{!$Label.QuoteDecision_Button}" action="{!dosomething}"/></td> --> |
| | | <td style="text-align:right"><apex:commandButton id="undecidebtn" action="{!undecide}" value="取消{!$Label.QuoteDecision_Button}" disabled="{!UnDecideBtnDisabled}" rerender="allForm" onclick="blockme();" oncomplete="unblockUI();"/></td> |
| | | </tr> |
| | | </table> |
| | |
| | | // xud 20140529 ここは明細変更判断 |
| | | // xudan 20150729 ソート項目にIdを追加 |
| | | var sql = "SELECT Id, Asset__c, Asset__r.SerialNumber, Check_Result__c, Product_Manual__c," |
| | | + " Repair_Price__c, Comment__c, Maintenance_Contract_Estimate__r.Maintenance_Price__c" |
| | | + " Repair_Price__c, Comment__c, Maintenance_Contract_Estimate__r.Maintenance_Price__c,Third_Party_Return__c" |
| | | + " FROM Maintenance_Contract_Asset_Estimate__c" |
| | | + " WHERE Maintenance_Contract_Estimate__c = '{!targetEstimateId}'" |
| | | + " ORDER BY id,Asset__c,Product_Manual__c, Asset__r.SerialNumber, Asset__r.Name, Asset__r.Department_Name__c, Asset__r.InstallDate"; |