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/CampaignTriggerBefInsHandler.cls |   54 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls b/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls
index a91a980..3231f82 100644
--- a/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls
+++ b/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls
@@ -204,18 +204,20 @@
             // 浼氳鍐宠涓嶄负绌烘椂
             if (String.isNotBlank(cam.Meeting_Approved_No__c) && cam.Meeting_Approved_No__c != old_cam.Meeting_Approved_No__c) {
                 app_ids.add(cam.Meeting_Approved_No__c);
-                cam_ids.add(cam.Id);
+                if (String.isNotBlank(cam.Id)) {
+                    cam_ids.add(cam.Id);
+                }
             }
         }
         if (app_ids.size() > 0) {
-            List<OPDPlan__c> plans = [select Id, Campaign__c, IF_Approved__c, Approved_Status__c, Approved_No__c from OPDPlan__c where Campaign__c in :cam_ids];
+            List<OPDPlan__c> plans = cam_ids.size() > 0 ? [select Id, Campaign__c, IF_Approved__c, Approved_Status__c, Approved_No__c from OPDPlan__c where Campaign__c in :cam_ids] : null;
             List<Application_for_Conference_Adjudication__c> apps = [select Id, 
                                                                         MeetingApprovedNo__c, 
                                                                         Num__c,
                                                                         ProcessState__c,  
                                                                         StartDate__c, 
                                                                         EndDate__c, 
-                                                                        BudgetType__c, 
+                                                                        Implementation_Purpose1__c, 
                                                                         OfficeCategory__c, 
                                                                         MeetingType__c, 
                                                                         ActivityTypeName__c, 
@@ -228,7 +230,8 @@
                                                                         CityMaster__c, 
                                                                         IsPaidToSponsor__c, 
                                                                         SponsorshipCategory__c, 
-                                                                        ConveningParticipantsNum__c 
+                                                                        ConveningParticipantsNum__c,
+                                                                        Type_of_adjudication_meeting__c  
                                                                     from 
                                                                         Application_for_Conference_Adjudication__c 
                                                                     where 
@@ -241,13 +244,30 @@
                             cam.MeetingApprovedNo__c             = app.MeetingApprovedNo__c;
                             // 闈炶禐鍔╀細鐨勬儏鍐典笅鏇存柊浠ヤ笅鍐呭
                             if (app.MeetingType__c != '璧炲姪浼�') {
-                                cam.StartDate                        = app.StartDate__c;
-                                cam.EndDate                          = app.EndDate__c;
-                                cam.Budget_Type__c                   = app.BudgetType__c;
+                                //20221206 lt DB202212060256 start 
+                                // System.debug('lt123-------Cam------璁板綍绫诲瀷----'+cam.RecordTypeId);
+                                // System.debug('lt123-------Cam------浼氳绫诲瀷----'+cam.Meeting_Type__c);
+                                if(cam.RecordTypeId == '01210000000QfeD' || cam.RecordTypeId == '01210000000gQzO'){
+                                    // System.debug('lt123-------Cam------1----');
+                                    if (cam.Meeting_Type__c != '涓诲姙浼�'){
+                                        // System.debug('lt123-------Cam------2----');
+                                        cam.StartDate                        = app.StartDate__c;
+                                        cam.EndDate                          = app.EndDate__c;
+                                    }
+                                }
+                                if(cam.RecordTypeId != '01210000000QfeD' && cam.RecordTypeId != '01210000000gQzO'){
+                                    // System.debug('lt123-------Cam------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;
@@ -257,14 +277,16 @@
                                 cam.Expected_Hcp_Attendance__c       = app.ExpectedHcpAttendance__c;
                                 cam.SponsorshipCategory__c           = app.SponsorshipCategory__c;
                                 cam.IsPaidToSponsor__c               = app.IsPaidToSponsor__c;
-                                cam.Activity_Type_Name__c            = app.ActivityTypeName__c;
+                                // 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);
-                            }
-                            if (String.isBlank(app.Num__c)) {
-                                app.Num__c = cam.Num__c;
-                                set_cam_num_apps.add(app);
+                                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;
+                                
+                                if (cam.Num__c != app.Num__c) {
+                                    app.Num__c = cam.Num__c;
+                                    set_cam_num_apps.add(app);
+                                }
                             }
                             // opd璁″垝涓婄殑鍐呭鏇存柊
                             if (plans != null && plans.size() > 0) {
@@ -284,7 +306,7 @@
                 if (set_cam_num_apps.size() > 0) {
                     update set_cam_num_apps;
                 }
-                if (plans.size() > 0) {
+                if (plans != null && plans.size() > 0) {
                     update plans;
                 }
             }

--
Gitblit v1.9.1