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 | 31 ++++++++--
force-app/main/default/classes/ApplicationForCAHandler.cls | 42 ++++++++++---
force-app/main/default/classes/NFM705Rest.cls | 39 ++++++++++---
force-app/main/default/classes/CampaignTriggerBefInsHandlerTest.cls | 27 +++++++++
force-app/main/default/classes/NFM705RestTest.cls | 28 +++++++++
5 files changed, 139 insertions(+), 28 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;
}
diff --git a/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls b/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls
index d4eda24..3231f82 100644
--- a/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls
+++ b/force-app/main/default/classes/CampaignTriggerBefInsHandler.cls
@@ -217,7 +217,7 @@
ProcessState__c,
StartDate__c,
EndDate__c,
- BudgetType__c,
+ Implementation_Purpose1__c,
OfficeCategory__c,
MeetingType__c,
ActivityTypeName__c,
@@ -244,13 +244,30 @@
cam.MeetingApprovedNo__c = app.MeetingApprovedNo__c;
// 闈炶禐鍔╀細鐨勬儏鍐典笅鏇存柊浠ヤ笅鍐呭
if (app.MeetingType__c != '璧炲姪浼�') {
- cam.StartDate = app.StartDate__c;
- cam.EndDate = app.EndDate__c;
- cam.Implementation_Purpose__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;
@@ -263,8 +280,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;
if (cam.Num__c != app.Num__c) {
app.Num__c = cam.Num__c;
diff --git a/force-app/main/default/classes/CampaignTriggerBefInsHandlerTest.cls b/force-app/main/default/classes/CampaignTriggerBefInsHandlerTest.cls
index 3c1a9f6..14b031f 100644
--- a/force-app/main/default/classes/CampaignTriggerBefInsHandlerTest.cls
+++ b/force-app/main/default/classes/CampaignTriggerBefInsHandlerTest.cls
@@ -49,6 +49,31 @@
static testMethod void testMethod2(){
StaticParameter.EscapeCampain =false;
StaticParameter.shareToOSCMFlag = false;
+
+ Application_for_Conference_Adjudication__c afc = new Application_for_Conference_Adjudication__c();
+ afc.Name = 'test01';
+ afc.StartDate__c = Date.today().addDays(1);
+ afc.EndDate__c = Date.today().addDays(21);
+ insert afc;
+
+ Application_for_Conference_Adjudication__c afca = new Application_for_Conference_Adjudication__c();
+ afca.Name = 'test02';
+ afca.StartDate__c = Date.today();
+ afca.EndDate__c = Date.today().addDays(20);
+ // afca.Implementation_Purpose1__c = '鏂颁骇鍝佷笂甯�';
+ // afca.OfficeCategory__c = '1.娑堝寲绉�';
+ // afca.MeetingType__c = '鍏卞悓涓诲姙浼�';
+ // afca.WorkshopPlace__c = 'Beijing';
+ // afca.HostName__c = 'Olympus';
+ // afca.CooperatorCompany__c = 'Olympus';
+ // afca.ConveningParticipantsNum__c = 200;
+ // afca.ExpectedOlympusAttendance__c = 200;
+ // afca.ExpectedHcpAttendance__c = 200;
+ // afca.SponsorshipCategory__c = '鏃�';
+ // afca.IsPaidToSponsor__c = '鏄�';
+ // afca.ActivityTypeName__c = '绾夸笂';
+ insert afca;
+
// Implement test code
Campaign cam = new Campaign();
cam.Name = 'test campaign';
@@ -63,12 +88,14 @@
cam.Mailflg_after3__c = true;
cam.HostName__c = '1';
cam.cooperatorCompany__c = '1';
+ cam.Meeting_Approved_No__c = afc.Id;
cam.RecordTypeId = System.label.RecordType_CampaignService;
insert cam;
StaticParameter.EscapeCampain =false;
cam.Status = '鏃堕棿淇敼鐢宠涓�';
cam.is_true_or_false__c = true;
cam.is_pass_or_fail__c = 1;
+ cam.Meeting_Approved_No__c = afca.Id;
update cam;
}
static testMethod void testMethod3(){
diff --git a/force-app/main/default/classes/NFM705Rest.cls b/force-app/main/default/classes/NFM705Rest.cls
index 3b39cf6..3250d0d 100644
--- a/force-app/main/default/classes/NFM705Rest.cls
+++ b/force-app/main/default/classes/NFM705Rest.cls
@@ -163,7 +163,7 @@
aca.Num__c = ged.Num;
aca.StartDate__c = NFMUtil.parseDateTimeStr2Date(ged.StartDate);
aca.EndDate__c = NFMUtil.parseDateTimeStr2Date(ged.EndDate);
- aca.BudgetType__c = ged.BudgetType;
+ aca.Implementation_Purpose1__c = ged.BudgetType;
aca.OfficeCategory__c = GetOfficeCategory(ged.OfficeCategory, transferMap, iflog);
//aca.MeetingType__c = ged.MeetingType;
aca.MeetingType__c = DividingTypes(ged.IsCoOrganizingActivities,ged.ActivityTypeName);
@@ -210,7 +210,12 @@
}
List<Campaign> campaignList = NumList.size() > 0 ? [select Id,
Num__c,
- MeetingApprovedNo__c
+ MeetingApprovedNo__c,
+ State_Master__c,
+ City_Master__c,
+ WorkshopPlace__c,
+ RecordTypeId,
+ Meeting_Type__c
from Campaign
where Num__c IN: NumList
] : new List<Campaign>();
@@ -259,6 +264,7 @@
// }
// 鏇存柊宸插瓨鍦ㄧ殑鍐宠淇℃伅
System.debug('鏌ユ壘鍒扮殑浼氳: ' + campaignList.size());
+ System.debug('lt123鏌ユ壘鍒扮殑浼氳:--- ' + campaignList);
if (campaignList != null && campaignList.size() > 0) {
List<Campaign> updatelist = new List<Campaign>();
for (Campaign cam : campaignList) {
@@ -267,13 +273,28 @@
cam.MeetingApprovedNo__c = app.MeetingApprovedNo__c;
cam.Meeting_Approved_No__c = app.Id;
if (app.MeetingType__c != '璧炲姪浼�') {
- 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();
+
+ if(cam.RecordTypeId == RtId || cam.RecordTypeId == RtId2){
+ if (cam.Meeting_Type__c != '涓诲姙浼�'){
+ cam.StartDate = app.StartDate__c;
+ cam.EndDate = app.EndDate__c;
+ }
+ }
+ if(cam.RecordTypeId != RtId && cam.RecordTypeId != RtId2){
+ 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;
@@ -286,8 +307,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;
}
@@ -431,7 +452,7 @@
// cam.Meeting_Approved_No__c = app.Id;
// cam.StartDate = app.StartDate__c;
// cam.EndDate = app.EndDate__c;
- // cam.Implementation_Purpose__c = app.BudgetType__c;
+ // cam.Implementation_Purpose__c = app.Implementation_Purpose1__c;
// cam.OfficeCategory__c = app.OfficeCategory__c;
// cam.Meeting_Type__c = app.MeetingType__c;
// cam.Activity_Type_Name__c = app.ActivityTypeName__c;
diff --git a/force-app/main/default/classes/NFM705RestTest.cls b/force-app/main/default/classes/NFM705RestTest.cls
index cc752e2..9061800 100644
--- a/force-app/main/default/classes/NFM705RestTest.cls
+++ b/force-app/main/default/classes/NFM705RestTest.cls
@@ -85,6 +85,32 @@
cam.Num__c = 'MT-XN-202203-5854';
insert cam;
system.debug('cam.Num__c'+cam.Num__c);
+
+ //20221208 lt DB202212060256 start
+ Campaign cam1 = new Campaign();
+ cam1.Name = 'test campaign';
+ cam1.StartDate = Date.today().addDays(18);
+ cam1.EndDate = Date.today().addDays(20);
+ cam1.Name2__c = '1234';
+ cam1.Status = '鐢宠涓�';
+ cam1.Meeting_Type__c = '鍏卞悓涓诲姙浼�';
+ cam1.Mailflg_after45__c = true;
+ cam1.Mailflg_cancel__c = true;
+ cam1.Mailflg_before15__c = true;
+ cam1.Mailflg_before7__c = true;
+ cam1.Mailflg_after3__c = true;
+ cam1.HostName__c = '1';
+ cam1.cooperatorCompany__c = '1';
+ cam1.RecordTypeId = rectCo[0].Id;
+ cam1.OwnerId = user.Id;
+ cam1.Num__c = 'MT-GI-202203-5850';
+ insert cam1;
+ system.debug('lt123cam.Num__c---'+cam.Num__c);
+
+ cam1.StartDate = Date.today().addDays(28);
+ cam1.EndDate = Date.today().addDays(30);
+ update cam1;
+ //20221208 lt DB202212060256 end
}
Test.startTest();
@@ -92,7 +118,7 @@
RestRequest req = new RestRequest();
RestResponse res = new RestResponse();
- String JsonMsg = '{"Monitoring":{"TransmissionDateTime":"202107131529","Text":null,"Tag":null,"Sender":"OBPM","Receiver":"SFDC","NumberOfRecord":"2","MessageType":"NFM705","MessageGroupNumber":null},"GeData":[{"WorkshopPlace":"浜戝崡","StateMaster":"浜戝崡鐪�","StartDate":"2022-03-28T00:00:00","SponsorshipCategory":"","SharedEditing":"on000695,on000630,om002080","ProcessState":120,"OfficeCategory":"GI锛圡EBG锛�,ET锛圡EBG锛�,","Num":"MT-XN-202203-5854","Name":"娴嬭瘯浼氳-001 (2022/03/28 - 2022/03/31)鍏宠仈OBPM ","MeetingType":"绾夸笅","MeetingApprovedNo":"ME154P03-0009","IsPaidToSponsor":"鍚�","IsCoOrganizingActivities":"N","HostName":"濂ユ灄宸存柉","ExpectedOlympusAttendance":2,"ExpectedHcpAttendance":100,"EndDate":"2022-04-09T00:00:00","CooperatorCompany":"鏃�","ConveningParticipantsNum":102,"CityMaster":"鏄嗘槑甯�","BudgetType":"浜у搧鎺ㄥ箍","Applicant":"om001646","ActivityTypeName":"鑷富涓诲姙娲诲姩"}]}';
+ String JsonMsg = '{"Monitoring":{"TransmissionDateTime":"202107131529","Text":null,"Tag":null,"Sender":"OBPM","Receiver":"SFDC","NumberOfRecord":"2","MessageType":"NFM705","MessageGroupNumber":null},"GeData":[{"WorkshopPlace":"浜戝崡","StateMaster":"浜戝崡鐪�","StartDate":"2022-12-28T00:00:00","SponsorshipCategory":"","SharedEditing":"on000695,on000630,om002080","ProcessState":120,"OfficeCategory":"GI锛圡EBG锛�,ET锛圡EBG锛�,","Num":"MT-GI-202203-5850","Name":"娴嬭瘯浼氳-001 (2022/03/28 - 2022/03/31)鍏宠仈OBPM ","MeetingType":"绾夸笅","MeetingApprovedNo":"ME154P03-0009","IsPaidToSponsor":"鍚�","IsCoOrganizingActivities":"N","HostName":"濂ユ灄宸存柉","ExpectedOlympusAttendance":2,"ExpectedHcpAttendance":100,"EndDate":"2023-01-09T00:00:00","CooperatorCompany":"鏃�","ConveningParticipantsNum":102,"CityMaster":"鏄嗘槑甯�","BudgetType":"浜у搧鎺ㄥ箍","Applicant":"om001646","ActivityTypeName":"鑷富涓诲姙娲诲姩"}]}';
req.requestURI = 'services/apexrest/NFM705/execute';
req.httpMethod = 'POST';
req.requestBody = Blob.valueof(JsonMsg);
--
Gitblit v1.9.1