From 541c81b2cac1c3c54c6705e579f44d4486455e45 Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期三, 23 三月 2022 18:08:43 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBGProduct

---
 force-app/main/default/classes/NFM105Rest.cls          |  129 +++++++++++++++++++++++++++++++++++++++++-
 force-app/main/default/pages/StatuAchievementsPCL.page |   37 ++++++++---
 2 files changed, 150 insertions(+), 16 deletions(-)

diff --git a/force-app/main/default/classes/NFM105Rest.cls b/force-app/main/default/classes/NFM105Rest.cls
index 3bc1e02..7b4bb1f 100644
--- a/force-app/main/default/classes/NFM105Rest.cls
+++ b/force-app/main/default/classes/NFM105Rest.cls
@@ -25,6 +25,9 @@
         public String IncorrectDataComment;
         public String ReturnType;
         public String InspectType;
+        //WLIG-CC78MX 銆愬鎵樸�慛FM105鎺ュ彛澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220307 start
+        // public String OTSRepairOrder;
+        //WLIG-CC78MX 銆愬鎵樸�慛FM105鎺ュ彛澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220307 end
         public InspectionResultInformation[] InspectionResultInformation;
         public FailureInformation[] FailureInformation;
     }
@@ -158,7 +161,7 @@
                                     , Return_Without_Repair_IF__c, Return_Without_Repair_Reason__c
                                     , Repair_Quotation_Id__c, NFM105_MessageGroupNumber__c, Repair_List_Price_formula__c
                                     , ReturnType__c, InspectType__c
-                                    ,Maintenance_Contract__r.URF_Contract__c
+                                    , Maintenance_Contract__r.URF_Contract__c
                                     ,Maintenance_Contract__c
                                     ,SerialNumber__c
                                     ,Agreed_Date__c 
@@ -265,6 +268,7 @@
                     //                        continue;
                     //                    }
                     logstr += ' ';
+                    System.debug('rpr1:' + rpr);
                     rprUpdateMap.put(rpr.SAPRepairNo__c, rpr);
                 } else {
                     logstr += quoteInfo.SAPRepairNo + ':' + quoteInfo.RepairOrderStatusCode + '(' + quoteInfo.SAPQuotationNo + ') ';
@@ -470,6 +474,11 @@
                     // L60-SORC淇悊鍝佸嚭搴�
                     // L65-OGZ淇悊鍝佸嚭搴�
                     // L80-RC淇悊鍝佸嚭搴�
+                    //WLIG-CC78MX 銆愬鎵樸�慛FM105鎺ュ彛澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220307 start
+                    // if(String.isNotBlank(quoteInfo.OTSRepairOrder)){
+                    //     rpr.OTSRepairOrder__c = quoteInfo.OTSRepairOrder;
+                    // }
+                    //WLIG-CC78MX 銆愬鎵樸�慛FM105鎺ュ彛澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220307 end
                     Asset ast = getAstUpdate(astUpdateMap, rpr);
                     if (rpr.Return_Without_Repair_IF__c == true) {
                         rpr.Return_Without_Repair_Date__c = statusUpdateDateTime.date();
@@ -591,7 +600,8 @@
             3.鏍规嵁闄愭鍚堝悓鏌ュ埌璇ュ悎鍚屼笅鐨勬墍鏈変慨鐞� 
             */
             logstr += '\n rprList::'+rprList;
-            if (rprList.size() > 0) {
+            // 20220321 ljh 闄愭鍚堝悓寮傚父鏁版嵁 update start
+            /*if (rprList.size() > 0) {
                 //闇�瑕佺煡閬撳綋鍓嶄慨鐞嗗搴旂殑璁惧鐨勭郴鍒楀彿
                 Map<String,String> reurfMap = new Map<String,String>();
                 //闄愭鍚堝悓Id闆嗗悎
@@ -709,10 +719,119 @@
                     }
                 }
 
-            }
+            }*/
             //add by rentx 2021-3-4 end
-
-
+            if (rprList.size() > 0) {
+                //contractAssetUrfMap<缁翠慨鍚堝悓+淇濇湁璁惧,闄愭绯诲垪>
+                Map<String,String> contractAssetUrfMap = new Map<String,String>();
+                //闄愭鍚堝悓Id闆嗗悎
+                List<Id> contractIds = new List<Id>();
+                //闄愭鍚堝悓涓嬬殑淇悊闆嗗悎
+                List<Repair__c> reList = new List<Repair__c>();
+                // 闄愭鍚堝悓 map
+                Map<String,Map<String,List<Repair__c>>> contractMap = new Map<String,Map<String,List<Repair__c>>>();
+                //缁翠慨鍚堝悓淇濇湁璁惧闆嗗悎
+                List<Maintenance_Contract_Asset__c> maassList = new List<Maintenance_Contract_Asset__c>();
+                // 闇�瑕佹洿鏂扮殑 缁翠慨鍚堝悓鎶ヤ环/淇濇湁璁惧
+                List<Maintenance_Contract_Asset_Estimate__c> updateList = new List<Maintenance_Contract_Asset_Estimate__c>();
+                //鏌ヨ褰撳墠淇悊瀵瑰簲鐨勭淮淇悎鍚屾槸鍚︿负闄愭鍚堝悓 && 澶т慨
+                for (Repair__c rep : rprList) {
+                    if (rep.Maintenance_Contract__c != null && rep.Maintenance_Contract__r.URF_Contract__c == true && (rep.Repair_Rank__c == 'A' || rep.Repair_Rank__c == 'B' || rep.Repair_Rank__c == 'C') && rep.Agreed_Date__c != null) { 
+                        contractIds.add(rep.Maintenance_Contract__c);
+                    }
+                }
+                //鏌ヨ褰撳墠闄愭鍚堝悓涓嬬殑鎵�鏈夌淮淇悎鍚屼繚鏈夎澶�
+                maassList = [SELECT id , Series_RepairCount_F__c
+                                , Maintenance_Contract_Asset_Estimate__c
+                                , Asset__c
+                                , Maintenance_Contract__c
+                                , URF_Series_F__c
+                                FROM Maintenance_Contract_Asset__c 
+                                WHERE Maintenance_Contract__c in :contractIds];
+                for (Maintenance_Contract_Asset__c maAss : maassList) {
+                    // contractAssetUrfMap<缁翠慨鍚堝悓+淇濇湁璁惧,闄愭绯诲垪>
+                    String keyV = maAss.Maintenance_Contract__c +';'+ maAss.Asset__c;
+                    if (!contractAssetUrfMap.containsKey(keyV) && String.isNotBlank(maAss.URF_Series_F__c)) {
+                        contractAssetUrfMap.put(keyV, maAss.URF_Series_F__c);
+                    }
+                }
+                //鏌ヨ缁翠慨鍚堝悓涓嬬殑鎵�鏈変慨鐞�
+                reList = [select id,Maintenance_Contract__c,Delivered_Product__c,Usage_Ratio_Price_Service__c from Repair__c where (Repair_Rank__c = 'A' OR Repair_Rank__c = 'B' OR Repair_Rank__c = 'C') and Agreed_Date__c <> null and Maintenance_Contract__c in :contractIds ];
+                system.debug('zheli:'+reList.size());
+                for (Repair__c rep : reList) {
+                    List<Repair__c> tempRepL00;
+                    List<Repair__c> tempRepL01;
+                    List<Repair__c> tempRepL02;
+                    List<Repair__c> tempRepL03;
+                    Map<String,List<Repair__c>> tempRepM;
+                    String keyV = rep.Maintenance_Contract__c +';'+rep.Delivered_Product__c;
+                    if(contractMap.containsKey(rep.Maintenance_Contract__c)){
+                        tempRepM = contractMap.get(rep.Maintenance_Contract__c);
+                        // 淇濇湁璁惧 鍜� 闄愭绯诲垪
+                        if(tempRepM.containsKey(rep.Delivered_Product__c)){
+                            tempRepL02 = tempRepM.get(rep.Delivered_Product__c);
+                        }else{
+                            tempRepL02 = new List<Repair__c>();
+                        }
+                        tempRepL02.add(rep);
+                        tempRepM.put(rep.Delivered_Product__c,tempRepL02);
+                        if(contractAssetUrfMap.containsKey(keyV)){
+                            if(tempRepM.containsKey(contractAssetUrfMap.get(keyV))){
+                                tempRepL03 = tempRepM.get(contractAssetUrfMap.get(keyV));
+                            }else{
+                                tempRepL03 = new List<Repair__c>();
+                            }
+                            tempRepL03.add(rep);
+                            tempRepM.put(contractAssetUrfMap.get(keyV),tempRepL03);
+                        }
+                    }else{
+                        tempRepM = new Map<String,List<Repair__c>>();
+                        tempRepL00 = new List<Repair__c>(); 
+                        tempRepL00.add(rep);
+                        tempRepL01 = new List<Repair__c>(); 
+                        tempRepL01.add(rep);            
+                        tempRepM.put(rep.Delivered_Product__c,tempRepL00);
+                        if(contractAssetUrfMap.containsKey(keyV)){
+                            tempRepM.put(contractAssetUrfMap.get(keyV),tempRepL01);
+                        }
+                    }
+                    contractMap.put(rep.Maintenance_Contract__c,tempRepM);  
+                }
+                if (contractMap.size() > 0) {
+                    for (Maintenance_Contract_Asset__c maAss : maassList) {
+                        // 鍒ゆ柇宸茬淮淇鏁版槸鍚﹀彂鐢熸敼鍙�
+                        if (contractMap.get(maAss.Maintenance_Contract__c) != null
+                            && contractMap.get(maAss.Maintenance_Contract__c).size() != 0
+                            && contractMap.get(maAss.Maintenance_Contract__c).containsKey(maAss.URF_Series_F__c)
+                            && maAss.Series_RepairCount_F__c != contractMap.get(maAss.Maintenance_Contract__c).get(maAss.URF_Series_F__c).size()) {
+                            //濡傛灉鍙戠敓鏀瑰彉.璁剧疆鏂扮殑鍊�;
+                            Maintenance_Contract_Asset_Estimate__c mcae = new Maintenance_Contract_Asset_Estimate__c();
+                            mcae.Id = maAss.Maintenance_Contract_Asset_Estimate__c;
+                            mcae.Series_RepairCount__c = contractMap.get(maAss.Maintenance_Contract__c).get(maAss.URF_Series_F__c).size();
+                            //璁剧疆绯诲垪淇悊閲戦
+                            mcae.Seriesrepairamount__c = 0;
+                            for (Repair__c rep : contractMap.get(maAss.Maintenance_Contract__c).get(maAss.URF_Series_F__c)) {
+                                 mcae.Seriesrepairamount__c += rep.Usage_Ratio_Price_Service__c;
+                            }
+                            mcae.Asset_RepairCount__c = 0;
+                            mcae.Equipmentrepairamount__c = 0;
+                            if (contractMap.get(maAss.Maintenance_Contract__c).containsKey(maAss.Asset__c)) {
+                                mcae.Asset_RepairCount__c = contractMap.get(maAss.Maintenance_Contract__c).get(maAss.Asset__c).size();    
+                                //璁剧疆璁惧淇悊閲戦
+                                for (Repair__c rep: contractMap.get(maAss.Maintenance_Contract__c).get(maAss.Asset__c)) {
+                                    mcae.Equipmentrepairamount__c += rep.Usage_Ratio_Price_Service__c;
+                                }
+                            }
+                            updateList.add(mcae);
+                        }
+                    }
+                    if (updateList.size() > 0) {
+                        // system.debug('zheli:'+updateList);
+                        update updateList;
+                    }
+                }
+            }
+            // 20220321 ljh 闄愭鍚堝悓寮傚父鏁版嵁 update end
             //gzozw-add
             logstr += '\nend';
             rowData.retry_cnt__c = 0;
diff --git a/force-app/main/default/pages/StatuAchievementsPCL.page b/force-app/main/default/pages/StatuAchievementsPCL.page
index 938c8f0..592e79c 100644
--- a/force-app/main/default/pages/StatuAchievementsPCL.page
+++ b/force-app/main/default/pages/StatuAchievementsPCL.page
@@ -479,9 +479,11 @@
                                 <td class="col_HP_NAME">
                                     <a href="#" onclick="sortTableJs('1');return false;" style="text-decoration: underline;">{!$ObjectType.Statu_Achievements__c.fields.Opp_Hospital__c.Label}</a>{!sortOrder[1]}
                                 </td>
+                                
                                 <td class="col_DEPT">
                                     <a href="#" onclick="sortTableJs('13');return false;" style="text-decoration: underline;">绉戝</a>{!sortOrder[13]}
                                 </td>
+                                
                                 <!-- <td class="col_Status_2">
                                     <a href="#" onclick="sortTableJs('10');return false;" style="text-decoration: underline;">娉ㄦ畫<br/>鐘舵��2</a>{!sortOrder[10]}
                                 </td> -->
@@ -495,9 +497,10 @@
                                 <td class="header1 col_CurrentStatus">
                                     <a href="#" onclick="sortTableJs('27');return false;" style="text-decoration: underline;">鐩墠鐘舵��</a>{!sortOrder[27]}
                                 </td>
+                                <!-- SWAG-CCK9LV yc 20220321
                                 <td class="col_EndUserContract">
                                     <a href="#" onclick="sortTableJs('30');return false;" style="text-decoration: underline;">鏈�缁堢敤鎴峰悎鍚岀姸鎬�</a>{!sortOrder[30]}
-                                </td>
+                                </td>-->
                                 <!-- <td class="col_PaymentStatus">
                                     <a href="#" onclick="sortTableJs('30');return false;" style="text-decoration: underline;">浠樻鐘舵��</a>{!sortOrder[30]}
                                 </td> -->
@@ -523,10 +526,11 @@
                                 <td class="col_ShippingScheduledDate"></td>
                                 <!-- <td class="col_SalesIncharge"></td> -->
                                 <td class="col_Agency1"></td>
-
-                                <td class="col_CreateActivity"></td>
+                               <!-- SWAG-CCK9LV yc 20220321 
+                                <td class="col_CreateActivity"></td> -->
                                 <!-- <td class="col_CreateTask"></td> -->
-                                <td class="col_FollowUpComment"></td>
+                               <!-- SWAG-CCK9LV yc 20220321 
+                                <td class="col_FollowUpComment"></td> -->
                                 <!-- <td class="col_ReasonNotCollectMoney"></td>
                                 <td class="col_ReasonNotShip"></td>
                                 <td class="col_ManagerFeedback"></td>
@@ -540,8 +544,9 @@
                                 <td class="col_PCL_NAME"></td>
                                 <td class="col_QuotationCode"></td>
                                 <td class="col_OrderNo"></td> -->
+                                <!-- SWAG-CCK9LV yc 20220321
                                 <td class="col_SalesDepartment"></td>
-                                <td class="col_Province"></td>
+                                <td class="col_Province"></td>-->
                                 <!-- <td class="col_OCM"></td>
                                 <td class="col_OpportunityCategory"></td>
                                 <td class="col_ForecastShipMonthlyMannual"></td>
@@ -589,16 +594,17 @@
                                 <td class="col_Agency1">
                                     <a href="#" onclick="sortTableJs('3');return false;" style="text-decoration: underline;">{!$ObjectType.Statu_Achievements__c.fields.Agency1_Name_F__c.Label}</a>{!sortOrder[3]}
                                 </td>
-
+                                <!-- SWAG-CCK9LV yc 20220321
                                 <td class="col_CreateActivity">
                                     <a href="#" onclick="sortTableJs('45');return false;" style="text-decoration: underline;">鏂板缓璁″垝</a>{!sortOrder[45]}
-                                </td>
+                                </td> -->
                                 <!-- <td class="col_CreateTask">
                                     <a href="#" onclick="sortTableJs('46');return false;" style="text-decoration: underline;">鏂板缓浠诲姟</a>{!sortOrder[46]}
                                 </td> -->
+                                <!-- SWAG-CCK9LV yc 20220321
                                 <td class="col_FollowUpComment">
                                     <a href="#" onclick="sortTableJs('41');return false;" style="text-decoration: underline;">璺熻繘鎯呭喌</a>{!sortOrder[41]}
-                                </td>
+                                </td> -->
                                 <!-- <td class="col_ReasonNotCollectMoney">
                                     <a href="#" onclick="sortTableJs('42');return false;" style="text-decoration: underline;">鏈粯娆惧師鍥�</a>{!sortOrder[42]}
                                 </td> 
@@ -638,6 +644,7 @@
                                 <td class="col_OrderNo">
                                     <a href="#" onclick="sortTableJs('8');return false;" style="text-decoration: underline;">鍑瘉鍙风爜</a>{!sortOrder[8]}
                                 </td> -->
+                                <!-- SWAG-CCK9LV yc 20220321
                                 <td class="col_SalesDepartment">
                                     <a href="#" onclick="sortTableJs('4');return false;" style="text-decoration: underline;">閿�鍞湰閮�
                                         <br/>锛圫AP涓氱哗锛�</a>{!sortOrder[4]}
@@ -646,6 +653,7 @@
                                     <a href="#" onclick="sortTableJs('5');return false;" style="text-decoration: underline;">鐪�
                                         <br/>(SAP涓氱哗)</a>{!sortOrder[5]}
                                 </td>
+                            -->
                                 <!-- <td class="col_OCM">
                                     <a href="#" onclick="sortTableJs('12');return false;" style="text-decoration: underline;">OCM鍒嗙被</a>{!sortOrder[12]}
                                 </td>
@@ -735,11 +743,13 @@
                                             <apex:outputField value="{!or.rec.Current_status__c}" />
                                         </span>
                                     </td>
+                                    <!-- SWAG-CCK9LV yc 20220321
                                     <td class="dataCellBorder1 col_CurrentStatus">
                                         <span>
                                             <apex:outputField value="{!or.rec.End_User_contract__c}" />
                                         </span>
                                     </td>
+                                     -->
                                     <!-- <td class="dataCellBorder1 col_AssignmentStatus" id="{!cnt-1}:col_AssignmentStatus"><span>
                                         <apex:outputField value="{!or.rec.AssignmentStatus__c}" id="col_AssignmentStatus" />
                                         <apex:outputText id="id_Last_update_AssignmentStatus" value="{0, date, yyyy/MM/dd}" style="display:none">
@@ -816,15 +826,17 @@
                                             <apex:outputField value="{!or.rec.Agency1_Name_F__c}" style="width:90%;" />
                                         </span>
                                     </td>
-
+                                    <!-- SWAG-CCK9LV yc 20220321
                                     <td class="dataCellBorder1 col_CreateActivity">
                                         <span>
                                             <apex:outputField value="{!or.rec.Create_Activity__c}" />
                                         </span>
                                     </td>
+                                   -->
                                     <!-- <td class="dataCellBorder1 col_CreateTask"><span>
                                         <apex:outputField value="{!or.rec.Create_task__c}" />
                                     </span></td> -->
+                                    <!-- SWAG-CCK9LV yc 20220321
                                     <td class="dataCellBorder1 col_FollowUpComment" id="{!cnt-1}:col_FollowUpComment" style="padding:0;">
                                         <span>
                                             <apex:inputField value="{!or.rec.Follow_up_comment__c}" id="col_FollowUpComment" style="width:95%;" onchange="setChangeFlg('{!or.lineNo}')"
@@ -834,6 +846,7 @@
                                             </apex:outputText>
                                         </span>
                                     </td>
+                                   -->
                                     <!-- <td class="dataCellBorder1 col_ReasonNotCollectMoney" id="{!cnt-1}:col_ReasonNotCollectMoney" style="padding:0;"><span>
                                         <apex:inputField value="{!or.rec.Reason_not_collect_money__c}" id="col_ReasonNotCollectMoney" style="width:95%;" onchange="setChangeFlg('{!or.lineNo}')"/>
                                         <apex:outputText id="id_Last_update_Reason_not_collect_money" value="{0, date, yyyy/MM/dd}" style="display:none">
@@ -882,6 +895,7 @@
                                     <td class="dataCellBorder1 col_OrderNo"><span>
                                         <apex:outputField value="{!or.rec.Order_no_without_0__c}"/>
                                     </span></td> -->
+                                    <!-- SWAG-CCK9LV yc 20220321
                                     <td class="dataCellBorder1 col_SalesDepartment">
                                         <span>
                                             <apex:outputField value="{!or.rec.Opportunity_Salesdepartment_SAP__c}" />
@@ -892,6 +906,7 @@
                                             <apex:outputField value="{!or.rec.SaleProvince_SAP__c}" />
                                         </span>
                                     </td>
+                                    -->
                                     <!-- <td class="dataCellBorder1 col_OCM"><span>
                                         <apex:outputField value="{!or.rec.Opp_OCM__c}"/>
                                     </span></td>
@@ -922,8 +937,8 @@
                                     <td class="dataCellBorder1 col_CurrentShippingDate"><span>
                                         <apex:outputField value="{!or.rec.Current_shipping_date__c}" />
                                     </span></td> -->
-                                    <td class="dataCellBorder1 col_MonthlyForecast" id="{!cnt-1}:col_MonthlyForecast" style="padding:0;width:80px">
-                                        <span style="width:80px">
+                                    <td class="dataCellBorder1 col_MonthlyForecast" id="{!cnt-1}:col_MonthlyForecast" style="padding:0;width:200px">
+                                        <span style="width:200px">
                                             <apex:inputField value="{!or.rec.Monthly_forecast_shipping__c}" id="col_MonthlyForecast" onchange="setChangeFlg('{!or.lineNo}')"/>
                                         </span>
                                     </td>

--
Gitblit v1.9.1