From a6700debe3fd28bf950ef33937b31c1a6713af29 Mon Sep 17 00:00:00 2001
From: 李彤 <litong@prec-tech.com>
Date: 星期四, 08 十二月 2022 18:04:12 +0800
Subject: [PATCH] 【重要!学会会议】自办会关联OBPM决裁信息不更新会议开始日和结束日

---
 force-app/main/default/classes/ApplicationForCAHandler.cls |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/force-app/main/default/classes/ApplicationForCAHandler.cls b/force-app/main/default/classes/ApplicationForCAHandler.cls
index 50fed32..ee8b8d8 100644
--- a/force-app/main/default/classes/ApplicationForCAHandler.cls
+++ b/force-app/main/default/classes/ApplicationForCAHandler.cls
@@ -42,7 +42,7 @@
             }
         }
         if (app_cam_binds.size() > 0) {
-            List<Campaign> cams = [select Id, MeetingApprovedNo__c, Meeting_Approved_No__c from Campaign where Meeting_Approved_No__c in :app_cam_binds.keySet() and Num__c in :app_cam_binds.values()];
+            List<Campaign> cams = [select Id, MeetingApprovedNo__c, Meeting_Approved_No__c, RecordTypeId, Meeting_Type__c from Campaign where Meeting_Approved_No__c in :app_cam_binds.keySet() and Num__c in :app_cam_binds.values()];
             if (cams != null && cams.size() > 0) {
                 for (Campaign cam : cams) {
                     cam.MeetingApprovedNo__c = null;
@@ -65,7 +65,7 @@
             }
         }
         if (approved_nos.size() > 0) {
-            List<Campaign> campaigns = [select Id, MeetingApprovedNo__c, Meeting_Approved_No__c from Campaign where Meeting_Approved_No__c in :approved_nos];
+            List<Campaign> campaigns = [select Id, MeetingApprovedNo__c, Meeting_Approved_No__c , RecordTypeId, Meeting_Type__c from Campaign where Meeting_Approved_No__c in :approved_nos];
             if (campaigns != null && campaigns.size() > 0) {
                 for (Campaign cam : campaigns) {
                     cam.MeetingApprovedNo__c = null;
@@ -89,7 +89,7 @@
         List<String> app_ids = new List<String>();
         Map<String, Application_for_Conference_Adjudication__c> app_nos = new Map<String, Application_for_Conference_Adjudication__c>();
         for (Application_for_Conference_Adjudication__c app : this.newList) { 
-            if (app.ProcessState__c == '瀹℃壒鎴愬姛') {
+            if (app.ProcessState__c != oldMap.get(app.Id).ProcessState__c && app.ProcessState__c == '瀹℃壒鎴愬姛') {  //20221206 lt DB202212060256 update
                 app.Approved_Date__c = Date.today();
                 app_ids.add(app.Id);
                 // 琛ュ厖鍐宠
@@ -100,7 +100,7 @@
         }
         Map<String, Campaign> wait_upd_campaigns = new Map<String, Campaign>();
         if (app_ids.size() > 0) {
-            List<Campaign> campaigns = [select Id, Num__c, MeetingApprovedNo__c, Meeting_Approved_No__c from Campaign where Meeting_Approved_No__c in :app_ids and Meeting_Type__c != '璧炲姪浼�'];
+            List<Campaign> campaigns = [select Id, Num__c, MeetingApprovedNo__c, Meeting_Approved_No__c, WorkshopPlace__c, State_Master__c, City_Master__c, RecordTypeId, Meeting_Type__c from Campaign where Meeting_Approved_No__c in :app_ids and Meeting_Type__c != '璧炲姪浼�'];
             if (campaigns.size() > 0) {
                 for (Campaign cam : campaigns) {
                     Application_for_Conference_Adjudication__c app = this.newMap.get(cam.Meeting_Approved_No__c);
@@ -112,7 +112,7 @@
             }
         }
         if (app_nos.size() > 0) {
-            List<Campaign> campaigns = [select Id, Num__c, MeetingApprovedNo__c, Meeting_Approved_No__c from Campaign where MeetingApprovedNo__c in :app_nos.keySet()];
+            List<Campaign> campaigns = [select Id, Num__c, MeetingApprovedNo__c, Meeting_Approved_No__c, WorkshopPlace__c, State_Master__c, City_Master__c, RecordTypeId, Meeting_Type__c from Campaign where MeetingApprovedNo__c in :app_nos.keySet()];
             if (campaigns.size() > 0) {
                 for (Campaign cam : campaigns) {
                     Application_for_Conference_Adjudication__c app = app_nos.get(cam.MeetingApprovedNo__c);
@@ -152,13 +152,33 @@
 
     // 鏇存柊鍐宠鐨勪俊鎭埌瀛︿細涓�
     private Campaign update_info_from_app(Campaign cam, Application_for_Conference_Adjudication__c app) {
-        cam.StartDate                        = app.StartDate__c;
-        cam.EndDate                          = app.EndDate__c;
-        cam.Implementation_Purpose__c                   = app.BudgetType__c;
+        //20221206 lt DB202212060256 start 
+        Id RtId = Schema.SObjectType.Campaign.getRecordTypeInfosByDeveloperName().get('Society').getRecordTypeId();
+        Id RtId2 = Schema.SObjectType.Campaign.getRecordTypeInfosByDeveloperName().get('BusinessTraining').getRecordTypeId();
+        System.debug('lt123-------Cam------璁板綍绫诲瀷----'+cam.RecordTypeId);
+        System.debug('lt123-------Cam------浼氳绫诲瀷----'+cam.Meeting_Type__c);
+        System.debug('lt123-------Cam------璁板綍绫诲瀷RtId----'+RtId);
+        if(cam.RecordTypeId == RtId || cam.RecordTypeId == RtId2){
+            System.debug('lt123-------App------1----');
+            if (cam.Meeting_Type__c != '涓诲姙浼�'){
+                System.debug('lt123-------App------2----');
+                cam.StartDate                        = app.StartDate__c;
+                cam.EndDate                          = app.EndDate__c;
+            }
+        }
+        if(cam.RecordTypeId != RtId && cam.RecordTypeId != RtId2){
+            System.debug('lt123-------App------3----');
+            cam.StartDate                        = app.StartDate__c;
+            cam.EndDate                          = app.EndDate__c;
+        }
+        // cam.StartDate                        = app.StartDate__c;
+        // cam.EndDate                          = app.EndDate__c;
+        //20221206 lt DB202212060256 end
+        cam.Implementation_Purpose__c                   = app.Implementation_Purpose1__c;
         cam.OfficeCategory__c                = app.OfficeCategory__c;
         cam.Meeting_Type__c                  = app.MeetingType__c;
 
-        cam.WorkshopPlace__c                 = app.WorkshopPlace__c;
+        cam.WorkshopPlace__c                 = String.isNotBlank(app.WorkshopPlace__c) ? app.WorkshopPlace__c : cam.WorkshopPlace__c;
         cam.HostName__c                      = app.HostName__c;
         cam.cooperatorCompany__c             = app.CooperatorCompany__c;
         cam.Convening_Participants_Num__c    = app.ConveningParticipantsNum__c;
@@ -171,8 +191,8 @@
         // cam.Activity_Type_Name__c            = app.ActivityTypeName__c;
         cam.Activity_Type_Name__c            = app.Type_of_adjudication_meeting__c;
         // 杩欓噷闇�瑕侀澶栧姞鎿嶄綔
-        cam.State_Master__c                  = StateCityUtil.get_state(app.StateMaster__c);                 
-        cam.City_Master__c                   = StateCityUtil.get_city(app.CityMaster__c);
+        cam.State_Master__c                  = String.isNotBlank(app.StateMaster__c) ? StateCityUtil.get_state(app.StateMaster__c) : cam.State_Master__c;                 
+        cam.City_Master__c                   = String.isNotBlank(app.CityMaster__c)  ? StateCityUtil.get_city(app.CityMaster__c) : cam.City_Master__c;
 
         return cam;
     }

--
Gitblit v1.9.1