From ba79bb0403f5347ba5c8cf73271521fa7aedbac6 Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期六, 12 三月 2022 13:52:02 +0800
Subject: [PATCH] 1.707接口bug修正和test覆盖率提升 2.会议决裁申请触发器处理类的修改和新增test类

---
 force-app/main/default/classes/NFM707Rest.cls |  122 +++++++++++++++++++++++++++-------------
 1 files changed, 82 insertions(+), 40 deletions(-)

diff --git a/force-app/main/default/classes/NFM707Rest.cls b/force-app/main/default/classes/NFM707Rest.cls
index 124da8b..957446d 100644
--- a/force-app/main/default/classes/NFM707Rest.cls
+++ b/force-app/main/default/classes/NFM707Rest.cls
@@ -6,6 +6,8 @@
  *  {
         
     }
+ * @msg:
+ *   1.鎺ユ敹鍒颁細璁粨鏋滃悗锛屾洿鏂板浼氱殑鐘舵��(闈炶禐鍔╀細)
 *************************************************************************/
 @RestResource(urlMapping='/NFM707/*')
 global with sharing class NFM707Rest {
@@ -88,20 +90,21 @@
                 //     upsert iflog;
                 //     continue;
                 // }
-                if (String.isNotBlank(ged.Num)) {
-					// camMap.put(ged.Num, ged.MeetingApprovedNo);
-                	camList.add(ged.MeetingApprovedNo);
-                }
+                // if (String.isNotBlank(ged.Num)) {
+				// 	camMap.put(ged.Num, ged.MeetingApprovedNo);
+                // 	camList.add(ged.MeetingApprovedNo);
+                // }
+                camList.add(ged.MeetingApprovedNo);
                 meetingApprovedNoMap.put(ged.MeetingApprovedNo, ged);
             }
 	    	if (meetingApprovedNoMap.size() > 0) {
                 // 鏌ヨ绯荤粺閲岀殑 浼氳鍐宠鐢宠
 	    		Map<String,Application_for_Conference_Adjudication__c> acaMap = getAcaMap(meetingApprovedNoMap);
 	    		// 鏌ヨ绯荤粺閲岀殑 甯傚満娲诲姩
-                Map<String,Campaign> campaignMap = new Map<String,Campaign>();
-	            if (camList.size() > 0) {
-                    campaignMap = getcampaignMap(camList);
-	            }
+                // Map<String,Campaign> campaignMap = new Map<String,Campaign>();
+	            // if (camList.size() > 0) {
+                //     campaignMap = getcampaignMap(camList);
+	            // }
 	            for (String meetingApprovedNo : meetingApprovedNoMap.keySet()) {
 	            	Result_for_Conference_Adjudication__c rca 		= new Result_for_Conference_Adjudication__c();
 	            	GeData ged = meetingApprovedNoMap.get(meetingApprovedNo);
@@ -115,21 +118,60 @@
 	            	rca.Competitor__c 							 	= ged.Competitor;
 	            	rca.Publicity__c 							 	= ged.Publicity;
 					rca.SocietyHoldPlace__c   					 	= ged.SocietyHoldPlace;
-                    if (campaignMap.containsKey(ged.Num)) {
-	            		rca.Campaign__c 							= campaignMap.get(ged.Num).Id;
-                        // 鏇存柊浼氳鏃ョ▼
-                        Campaign cam = campaignMap.get(ged.Num);
-                        cam.Meeting_Report__c = rca.Id;
-                        cam.Society_Hold_Place__c = rca.SocietyHoldPlace__c;
-                        cam.Report_approved_day__c = Date.today();
-	            	}
+                    rca.Campaign_Num__c                             = ged.Num;
+                    // if (campaignMap.containsKey(ged.Num)) {
+	            	// 	rca.Campaign__c 							= campaignMap.get(ged.Num).Id;
+                    //     // 鏇存柊浼氳鏃ョ▼
+                    //     Campaign cam = campaignMap.get(ged.Num);
+                    //     cam.Meeting_Report__c = rca.Id;
+                    //     cam.Society_Hold_Place__c = rca.SocietyHoldPlace__c;
+                    //     cam.Report_approved_day__c = Date.today();
+	            	// }
 					rcaList.add(rca);
 	            }
 	            if (rcaList.size() > 0) {
 	                insert rcaList;
 	            }
-                if (campaignMap.size() > 0) {
-                    update campaignMap.values();
+                // if (campaignMap.size() > 0) {
+                //     update campaignMap.values();
+                // }
+                List<Campaign> camNoList = [select id,Num__c,MeetingApprovedNo__c,Meeting_Approved_No__c, Meeting_Approved_No__r.MeetingApprovedNo__c, CampaignStatus__c 
+                                    from Campaign 
+                                    where Meeting_Approved_No__r.MeetingApprovedNo__c in: camList and CampaignStatus__c = '浼氳缁撴潫'];
+                // System.debug(camNoList);
+                if (camNoList != null && camNoList.size() > 0) {
+                    List<String> cam_ids = new List<String>();
+                    for(Campaign cam : camNoList) {
+                        // System.debug('cam: ' + cam.Num__c + '|' + cam.Meeting_Approved_No__c + '|' + cam.Meeting_Approved_No__r.MeetingApprovedNo__c);
+                        Application_for_Conference_Adjudication__c app = acaMap.get(cam.Meeting_Approved_No__r.MeetingApprovedNo__c);
+                        // System.debug('app: ' + (app != null ? app.Id : 'null'));
+                        cam_ids.add(cam.id);
+                        for (Result_for_Conference_Adjudication__c rca : rcaList) {
+                            // System.debug('rca: ' + rca.Application_for_Conference_Adjudication__c);
+                            if (cam.Meeting_Approved_No__c == rca.Application_for_Conference_Adjudication__c || (app != null && app.Id == rca.Application_for_Conference_Adjudication__c)) {
+                                // 鏇存柊浼氳鏃ョ▼
+                                cam.Meeting_Report__c = rca.Id;
+                                cam.Society_Hold_Place__c = rca.SocietyHoldPlace__c;
+                                cam.Competitor__c = rca.Competitor__c;
+                                // 鏇存柊鎶ュ憡鏃ユ湡鍜岀姸鎬�
+                                cam.Report_approved_day__c = Date.today();
+                                cam.Approved_day__c = Date.today();
+                                cam.Status = '宸茬粨鏉�';
+                            }
+                            break;
+                        }
+                    }
+                    update camNoList;
+
+                    // 鏇存柊OPD璁″垝
+                    List<OPDPlan__c> opdlist = [select id,status__c from OPDPlan__c WHERE OPDType__c = '瀛︿細' and status__c != '瀹屾瘯' and Campaign__c in: cam_ids];
+                    //灏哋PD璁″垝鐨勭姸鎬佹洿鏂颁负 瀹屾瘯
+                    if (opdlist != null && opdlist.size() > 0) {
+                        for (OPDPlan__c opdc : opdlist) {
+                            opdc.Status__c= '瀹屾瘯';
+                        }
+                        update opdlist;
+                    }
                 }
 	    	}
             logstr += '\nend';
@@ -178,32 +220,32 @@
      * @param  camMap [description]
      * @return        [description]
      */
-    public static Map<String,Campaign> getcampaignMap(List<String> camList){
-        Map<String,Campaign> campaignMap = new Map<String,Campaign>();
+    // public static Map<String,Campaign> getcampaignMap(List<String> camList){
+    //     Map<String,Campaign> campaignMap = new Map<String,Campaign>();
         
-        List<Campaign> camNoList = [select id,Num__c,MeetingApprovedNo__c
-                                    from Campaign 
-                                    where MeetingApprovedNo__c in: camList];
-        if (camNoList.size() > 0) {
-            for (Campaign cam : camNoList) {
-                campaignMap.put(cam.Num__c, cam);
-            }                              
-        }                             
-		return campaignMap;
+    //     List<Campaign> camNoList = [select id,Num__c,MeetingApprovedNo__c
+    //                                 from Campaign 
+    //                                 where MeetingApprovedNo__c in: camList];
+    //     if (camNoList.size() > 0) {
+    //         for (Campaign cam : camNoList) {
+    //             campaignMap.put(cam.Num__c, cam);
+    //         }                              
+    //     }                             
+	// 	return campaignMap;
 		
-    }
+    // }
 
 
 
     // 蹇呭~瀛楁楠岃瘉
-    private static String verify(GeData ged) {
-        String result = '';
-        if (String.isBlank(ged.MeetingApprovedNo)) {
-            result += 'DataError: 浼氳鍐宠缂栫爜 [ MeetingApprovedNo ] is null!This data is skipped.\n';
-        }
-        if (String.isBlank(ged.SocietyHoldPlace)) {
-            result += 'DataError: 浼氳鏃ョ▼ [ SocietyHoldPlace ] is null!This data is skipped.\n';
-        }
-        return result;
-    }
+    // private static String verify(GeData ged) {
+    //     String result = '';
+    //     if (String.isBlank(ged.MeetingApprovedNo)) {
+    //         result += 'DataError: 浼氳鍐宠缂栫爜 [ MeetingApprovedNo ] is null!This data is skipped.\n';
+    //     }
+    //     if (String.isBlank(ged.SocietyHoldPlace)) {
+    //         result += 'DataError: 浼氳鏃ョ▼ [ SocietyHoldPlace ] is null!This data is skipped.\n';
+    //     }
+    //     return result;
+    // }
 }
\ No newline at end of file

--
Gitblit v1.9.1