From 9b197b7fac92278fb591ea8f4942c7d5687cb5ce Mon Sep 17 00:00:00 2001
From: 李金换 <lijinhuan@prec-tech.com>
Date: 星期一, 28 三月 2022 18:01:22 +0800
Subject: [PATCH] LJPH-C8FB4P【委托】配合PBI设备覆盖率的数据准备0328
---
force-app/main/default/classes/NFM705Rest.cls | 595 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 336 insertions(+), 259 deletions(-)
diff --git a/force-app/main/default/classes/NFM705Rest.cls b/force-app/main/default/classes/NFM705Rest.cls
index 4bf823d..ee72525 100644
--- a/force-app/main/default/classes/NFM705Rest.cls
+++ b/force-app/main/default/classes/NFM705Rest.cls
@@ -6,6 +6,11 @@
* {
}
+ * @msg:
+ * 1.鎺ユ敹鍒扮殑鍐宠淇℃伅鍏ㄩ敭鏇存柊鍒板浼氫笂锛屼繚鎸佸浼氬拰鍐宠涓�鐩达紙绌虹殑椤圭洰涓嶆洿鏂帮級
+ * 2.璧炲姪浼氫笉鍋氳嚜鍔ㄥ垱寤哄拰鑷姩鏇存柊
+ * 3.琛ュ厖鍐宠棰濆鍒涘缓鏂扮殑鍐宠鏁版嵁锛屼絾涓嶈嚜鍔ㄥ垱寤哄浼�
+ * 4.琛ュ厖鍐宠鏇存柊鏃跺彧鏇存柊鍐宠淇℃伅锛屼笉鏇存柊瀛︿細
*************************************************************************/
@RestResource(urlMapping='/NFM705/*')
global with sharing class NFM705Rest {
@@ -21,20 +26,23 @@
public String StartDate; //寮�濮嬫棩鏈� == StartDate
public String EndDate; //缁撴潫鏃ユ湡 == EndDate
public String BudgetType; //棰勭畻绫诲瀷 == Budget_Type__c
- public String OfficeCategory; //绉戝鍒嗙被 == OfficeCategory__c
- public String MeetingType; //浼氳绫诲瀷 == Meeting_Type__c
- public String StateMaster; //鐪� == State_Master__c
- public String CityMaster; //甯� == City_Master__c
- public String WorkshopPlace; //浼氬満鍦扮偣 == WorkshopPlace__c
- public String HostName; //浼氳涓诲姙鏂� == HostName__c
- public String CooperatorCompany; //浼氳鎵垮姙鏂� == cooperatorCompany__c
+ public String OfficeCategory; //绉戝鍒嗙被 == OfficeCategory__c
+ public String MeetingType; //浼氳绫诲瀷 == Meeting_Type__c
+ public String StateMaster; //鐪� == State_Master__c
+ public String CityMaster; //甯� == City_Master__c
+ public String WorkshopPlace; //浼氬満鍦扮偣 == WorkshopPlace__c
+ public String HostName; //浼氳涓诲姙鏂� == HostName__c
+ public String CooperatorCompany; //浼氳鎵垮姙鏂� == cooperatorCompany__c
public String SponsorshipCategory;//璧炲姪娆鹃」鏄惁鏀粯缁欎富鍔炴柟
public String IsPaidToSponsor;//璧炲姪绫诲埆
- public Decimal ConveningParticipantsNum; //鍙傚姞浜烘暟锛堝彫寮�锛� == Convening_Participants_Num__c
+ public Decimal ConveningParticipantsNum; //鍙傚姞浜烘暟锛堝彫寮�锛� == Convening_Participants_Num__c
public Integer ProcessState;//OBPM瀹℃壒鐘舵��
public Decimal ExpectedOlympusAttendance;//棰勮鍙備細Olympus浜烘暟
public String ActivityTypeName;//娲诲姩褰㈠紡
public Decimal ExpectedHcpAttendance;//棰勮鍙備細HCP浜烘暟
+ public String IsCoOrganizingActivities;//浼燳/N锛岃浆鏄�/鍚�
+ public String Applicant; // 鐢宠浜虹殑鍛樺伐缂栫爜 == Applicant__c
+ public String SharedEditing; // 鍏变韩浜虹殑鍛樺伐缂栫爜 == Shared_Editing__c
}
private static Map<String, String> states;
@@ -110,10 +118,11 @@
}
Savepoint sp = Database.setSavepoint();
try {
- List <Application_for_Conference_Adjudication__c> acaList = new List <Application_for_Conference_Adjudication__c>();
+ List <Application_for_Conference_Adjudication__c> acaList = new List <Application_for_Conference_Adjudication__c>();
//Map<string,GeData> meetingApprovedNoMap = new Map<string,GeData>();
List<String> meetingApprovedNoList = new List<String>();
List<String> NumList = new List<String>();
+ List<User> users = new List<User>();
for(GeData ged : itemMasterList){
//楠岃瘉鏁版嵁瀹屾暣鎬�
// String dataComplete = verify(ged);
@@ -122,132 +131,174 @@
// continue;
// }
meetingApprovedNoList.add(ged.MeetingApprovedNo);
- if (String.isNotBlank(ged.Num)) {
- NumList.add(ged.Num);
- }
+ // if (String.isNotBlank(ged.Num)) {
+ // NumList.add(ged.Num);
+ // }
}
//Map<String,String> campaignMap = new Map<String,String>();
- List<Campaign> campaignList = [select Id,Num__c,MeetingApprovedNo__c from Campaign where Num__c IN: NumList or MeetingApprovedNo__c in :meetingApprovedNoList];
// for(Campaign temp : campaignList){
// campaignMap.put(temp.Num__c,temp.Id);
// }
//鏌ヨ浼氳鍐宠琛�
- Map<String,String> oldacfcMap = new Map<String,String>();
- List<Application_for_Conference_Adjudication__c> oldafcaList = [select Id,MeetingApprovedNo__c
+ Map<String,Application_for_Conference_Adjudication__c> oldacfcMap = new Map<String,Application_for_Conference_Adjudication__c>();
+ List<Application_for_Conference_Adjudication__c> oldafcaList = [select Id, MeetingApprovedNo__c, Num__c, ProcessState__c
from Application_for_Conference_Adjudication__c
- where MeetingApprovedNo__c IN :meetingApprovedNoList];
+ where MeetingApprovedNo__c IN :meetingApprovedNoList
+ and ProcessState__c != '瀹℃壒鎴愬姛'];
for(Application_for_Conference_Adjudication__c oldafca : oldafcaList){
- oldacfcMap.put(oldafca.MeetingApprovedNo__c,oldafca.Id);
+ oldacfcMap.put(oldafca.MeetingApprovedNo__c,oldafca);
}
+
+ // 鎵�鏈変汉淇℃伅
+ List<String> user_nos = new List<String>();
for (GeData ged : itemMasterList) {
//鏂板缓浼氳瑁佸喅鐢宠
Application_for_Conference_Adjudication__c aca = new Application_for_Conference_Adjudication__c();
- aca.MeetingApprovedNo__c = ged.MeetingApprovedNo;
- aca.Name = ged.MeetingApprovedNo; // 鐢ㄥ喅瑁佺紪鍙锋浛浠e悕绉�
- 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.OfficeCategory__c = ged.OfficeCategory;
- aca.MeetingType__c = ged.MeetingType;
- aca.StateMaster__c = ged.StateMaster;
- aca.CityMaster__c = ged.CityMaster;
- aca.WorkshopPlace__c = ged.WorkshopPlace;
- aca.HostName__c = ged.HostName;
- aca.CooperatorCompany__c = ged.CooperatorCompany;
- aca.ConveningParticipantsNum__c = ged.ConveningParticipantsNum;
- aca.IsPaidToSponsor__c = NFMUtil.getMapValue(transferMap, 'IsPaidToSponsor__c', string.valueof(ged.IsPaidToSponsor), iflog);
- aca.SponsorshipCategory__c = ged.SponsorshipCategory;
- aca.ExpectedOlympusAttendance__c = ged.ExpectedOlympusAttendance;
- aca.ActivityTypeName__c = ged.ActivityTypeName;
- aca.ExpectedHcpAttendance__c = ged.ExpectedHcpAttendance;
- aca.ProcessState__c = NFMUtil.getMapValue(transferMap, 'ProcessState__c', string.valueof(ged.ProcessState), iflog);
- // if(campaignMap.containsKey(ged.Num)){
- // aca.Meeting_Belongs__c = campaignMap.get(ged.Num);
- // }
- if(oldacfcMap.containsKey(ged.MeetingApprovedNo)){
- aca.Id = oldacfcMap.get(ged.MeetingApprovedNo);
+ aca.MeetingApprovedNo__c = ged.MeetingApprovedNo;
+ aca.Name = ged.MeetingApprovedNo; // 鐢ㄥ喅瑁佺紪鍙锋浛浠e悕绉�
+ aca.CampaignTheme__c = ged.Name;
+ 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.OfficeCategory__c = GetOfficeCategory(ged.OfficeCategory, transferMap, iflog);
+ //aca.MeetingType__c = ged.MeetingType;
+ aca.MeetingType__c = DividingTypes(ged.IsCoOrganizingActivities,ged.ActivityTypeName);
+ aca.StateMaster__c = ged.StateMaster;
+ aca.CityMaster__c = ged.CityMaster;
+ aca.WorkshopPlace__c = ged.WorkshopPlace;
+ aca.HostName__c = String.isBlank(ged.HostName) ? '鏃�' : ged.HostName;
+ aca.CooperatorCompany__c = String.isBlank(ged.CooperatorCompany) ? '鏃�' : ged.CooperatorCompany;
+ aca.ConveningParticipantsNum__c = ged.ConveningParticipantsNum;
+ aca.IsPaidToSponsor__c = NFMUtil.getMapValue(transferMap, 'IsPaidToSponsor__c', string.valueof(ged.IsPaidToSponsor), iflog);
+ aca.SponsorshipCategory__c = ged.SponsorshipCategory;
+ aca.ExpectedOlympusAttendance__c = ged.ExpectedOlympusAttendance;
+ aca.ActivityTypeName__c = ged.ActivityTypeName;
+ aca.ExpectedHcpAttendance__c = ged.ExpectedHcpAttendance;
+ aca.ProcessState__c = NFMUtil.getMapValue(transferMap, 'ProcessState__c', string.valueof(ged.ProcessState), iflog);
+ aca.Type_of_adjudication_meeting__c = ged.MeetingType;
+ aca.Activities_of_a_share__c = NFMUtil.getMapValue(transferMap, 'Activities_of_a_share__c', string.valueof(ged.IsCoOrganizingActivities), iflog);
+
+ if(oldacfcMap.containsKey(ged.MeetingApprovedNo) &&
+ (aca.ProcessState__c != '琛ュ厖鍐宠' ||
+ aca.ProcessState__c == oldacfcMap.get(ged.MeetingApprovedNo).ProcessState__c)){
+ aca.Id = oldacfcMap.get(ged.MeetingApprovedNo).Id;
+ aca.Num__c = String.isBlank(aca.Num__c) ? oldacfcMap.get(ged.MeetingApprovedNo).Num__c : aca.Num__c;
+ }
+ if (String.isNotBlank(aca.Num__c)) {
+ NumList.add(aca.Num__c);
}
+ system.debug('NumList------------->'+NumList);
+ // 纭鐢宠浜�
+ System.debug('aca.Id: ' + aca.Id);
+ if (String.isBlank(aca.Id)) {
+ user_nos.add(ged.Applicant);
+ }
+
+ aca.IsSupplemental__c = aca.ProcessState__c != '琛ュ厖鍐宠' ? false : true;
+ aca.Applicant__c = ged.Applicant;
+ aca.Shared_Editing__c = ged.SharedEditing;
+ if (String.isNotBlank(ged.SharedEditing)) {
+ user_nos.addAll(ged.SharedEditing.split(','));
+ }
+ System.debug(user_nos);
+
acaList.add(aca);
+ }
+ List<Campaign> campaignList = NumList.size() > 0 ? [select Id,
+ Num__c,
+ MeetingApprovedNo__c
+ from Campaign
+ where Num__c IN: NumList
+ ] : new List<Campaign>();
+ // 鏌ユ壘鎵�鏈変汉
+ if (user_nos != null && user_nos.size() > 0) {
+ // 2022-03-23 绱ф�ヤ慨澶� 鏈惎鐢ㄧ殑鐢ㄦ埛鏃犳硶璁剧疆鍏变韩
+ users = [select Id, Employee_No__c from User where Employee_No__c in :user_nos and IsActive = true];
+ if (users != null && users.size() > 0) {
+ String owner = '';
+ for (Application_for_Conference_Adjudication__c app : acaList) {
+ System.debug('owner from 705: ' + app.Applicant__c);
+ for (User u : users) {
+ System.debug('user no: ' + u.Employee_No__c);
+ if (String.isNotBlank(u.Employee_No__c) && u.Employee_No__c.equals(app.Applicant__c)) {
+ app.OwnerId = u.Id;
+ owner = u.Id;
+ break;
+ }
+ }
+ }
+ }
}
if (acaList.size() > 0) {
- // 鑷姩鍒涘缓瀛︿細
- List<Application_for_Conference_Adjudication__c> wait_to_create_cams = new List<Application_for_Conference_Adjudication__c>();
- List<Campaign> new_campaigns = new List<Campaign>();
- for (Application_for_Conference_Adjudication__c app : acaList) {
- if (String.isBlank(app.Id) && String.isBlank(app.Num__c) && app.MeetingType__c != '璧炲姪浼�') {
- wait_to_create_cams.add(app);
- }
- }
- if (wait_to_create_cams != null && wait_to_create_cams.size() > 0) {
- init_state_city();
- for (Application_for_Conference_Adjudication__c app : wait_to_create_cams) {
- Campaign cam = createNewCampaignFromApplication(app);
- new_campaigns.add(cam);
- }
- if (new_campaigns.size() > 0) {
- insert new_campaigns;
- // 鍒涘缓瀹屾垚涔嬪悗缁欎細璁笂缁戝畾浼氳Id
- // 閲嶆柊妫�绱竴涓嬶紝鍚﹀垯鍙栦笉鍒颁細璁殑缂栫爜
- List<String> campaign_ids = new List<String>();
- for (Campaign cam : new_campaigns) {
- campaign_ids.add(cam.Id);
- }
- new_campaigns = [select Id, MeetingApprovedNo__c, Num__c from Campaign where Id in :campaign_ids];
- for (Campaign cam : new_campaigns) {
- for (Application_for_Conference_Adjudication__c app : acaList) {
- if (app.MeetingApprovedNo__c == cam.MeetingApprovedNo__c) {
- // app.Meeting_Belongs__c = cam.Id;
- app.Num__c = cam.Num__c;
- break;
- }
- }
- }
- }
- }
// 鍐欏叆鍐宠淇℃伅
upsert acaList;
- // 鏇存柊鏂板垱寤虹殑瀛︿細 缁戝畾鍐宠Id
- if (new_campaigns.size() > 0) {
- for (Campaign cam : new_campaigns) {
- String approved_no = cam.MeetingApprovedNo__c;
- for (Application_for_Conference_Adjudication__c app : acaList) {
- if (app.Num__c == cam.Num__c) {
- cam.MeetingApprovedNo__c = app.MeetingApprovedNo__c;
- cam.Meeting_Approved_No__c = app.Id;
- break;
- }
- }
- }
- update new_campaigns;
- }
+ // 鍏变韩鏉冮檺
+ SetSharing(users, acaList);
+ // 鑷姩鍒涘缓瀛︿細
+ // 2022-02-22 浼氳纭 鏃犳硶纭璁板綍绫诲瀷锛屼笉鍋氳嚜鍔ㄥ垱寤�
+ // List<Application_for_Conference_Adjudication__c> wait_to_create_cams = new List<Application_for_Conference_Adjudication__c>();
+ // List<Campaign> new_campaigns = new List<Campaign>();
+ // for (Application_for_Conference_Adjudication__c app : acaList) {
+ // if (String.isBlank(app.Id) && String.isBlank(app.Num__c) && app.MeetingType__c != '璧炲姪浼�' && app.ProcessState__c != '琛ュ厖鍐宠') {
+ // wait_to_create_cams.add(app);
+ // }
+ // }
+ // if (wait_to_create_cams != null && wait_to_create_cams.size() > 0) {
+ // for (Application_for_Conference_Adjudication__c app : wait_to_create_cams) {
+ // Campaign cam = createNewCampaignFromApplication(app);
+ // new_campaigns.add(cam);
+ // }
+ // if (new_campaigns.size() > 0) {
+ // insert new_campaigns;
+ // }
+ // }
// 鏇存柊宸插瓨鍦ㄧ殑鍐宠淇℃伅
+ System.debug('鏌ユ壘鍒扮殑浼氳: ' + campaignList.size());
if (campaignList != null && campaignList.size() > 0) {
- init_state_city();
+ List<Campaign> updatelist = new List<Campaign>();
for (Campaign cam : campaignList) {
for (Application_for_Conference_Adjudication__c app : acaList) {
- if (cam.Num__c == app.Num__c || cam.MeetingApprovedNo__c ==app.MeetingApprovedNo__c) {
+ if (cam.Num__c == app.Num__c && !app.IsSupplemental__c) {
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.Budget_Type__c = app.BudgetType__c;
+ cam.OfficeCategory__c = app.OfficeCategory__c;
+ cam.Meeting_Type__c = app.MeetingType__c;
+
+ cam.WorkshopPlace__c = app.WorkshopPlace__c;
+ cam.HostName__c = app.HostName__c;
+ cam.cooperatorCompany__c = app.CooperatorCompany__c;
+ cam.Convening_Participants_Num__c = app.ConveningParticipantsNum__c;
+
+ // OBPM瀵规帴 鏂板瀛楁
+ cam.Expected_Olympus_Attendance__c = app.ExpectedOlympusAttendance__c;
+ 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.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.Activity_Type_Name__c = app.ActivityTypeName__c;
- cam.Expected_Olympus_Attendance__c = app.ExpectedOlympusAttendance__c;
- cam.Expected_Hcp_Attendance__c = app.ExpectedHcpAttendance__c;
- // 杩欓噷闇�瑕侀澶栧姞鎿嶄綔
- cam.State_Master__c = get_state(app.StateMaster__c);
- cam.City_Master__c = get_city(app.CityMaster__c);
- cam.IsPaidToSponsor__c = app.IsPaidToSponsor__c;
- cam.SponsorshipCategory__c = app.SponsorshipCategory__c;
- cam.Convening_Participants_Num__c = app.ConveningParticipantsNum__c;
+ updatelist.add(cam);
break;
}
}
}
- update campaignList;
+ if (updateList.size() > 0) {
+ update updatelist;
+ }
}
}
rowData.retry_cnt__c = 0;
@@ -274,178 +325,204 @@
}
// 蹇呭~瀛楁楠岃瘉
- private static String verify(GeData ged) {
- String result = '';
+ // private static String verify(GeData ged) {
+ // String result = '';
- // Map<String , String> BudgetTypeMap = new Map<String,String>();
- // BudgetTypeMap.put(ged.BudgetType, '鏂颁骇鍝佷笂甯�');
- // BudgetTypeMap.put(ged.BudgetType, '浜у搧鎺ㄥ箍');
- // BudgetTypeMap.put(ged.BudgetType, '涓婚娲诲姩锛圢BI鏃╃檶锛孍US澶ц禌绛夛級');
- // BudgetTypeMap.put(ged.BudgetType, '浜у搧鍞悗浣跨敤鍩硅');
- // BudgetTypeMap.put(ged.BudgetType, 'NTC绛夋晠闅滈闃叉椿鍔�');
- // BudgetTypeMap.put(ged.BudgetType, '缁忛攢鍟嗙浉鍏充細璁�');
- // BudgetTypeMap.put(ged.BudgetType, '鍏朵粬');
+ // // Map<String , String> BudgetTypeMap = new Map<String,String>();
+ // // BudgetTypeMap.put(ged.BudgetType, '鏂颁骇鍝佷笂甯�');
+ // // BudgetTypeMap.put(ged.BudgetType, '浜у搧鎺ㄥ箍');
+ // // BudgetTypeMap.put(ged.BudgetType, '涓婚娲诲姩锛圢BI鏃╃檶锛孍US澶ц禌绛夛級');
+ // // BudgetTypeMap.put(ged.BudgetType, '浜у搧鍞悗浣跨敤鍩硅');
+ // // BudgetTypeMap.put(ged.BudgetType, 'NTC绛夋晠闅滈闃叉椿鍔�');
+ // // BudgetTypeMap.put(ged.BudgetType, '缁忛攢鍟嗙浉鍏充細璁�');
+ // // BudgetTypeMap.put(ged.BudgetType, '鍏朵粬');
- // Map<String , String> OfficeCategoryMap = new Map<String,String>();
- // OfficeCategoryMap.put(ged.OfficeCategory, '1.娑堝寲绉�');
- // OfficeCategoryMap.put(ged.OfficeCategory, '2.鍛煎惛绉�');
- // OfficeCategoryMap.put(ged.OfficeCategory, '3.鏅绉�');
- // OfficeCategoryMap.put(ged.OfficeCategory, '4.娉屽翱绉�');
- // OfficeCategoryMap.put(ged.OfficeCategory, '5.濡囩');
- // OfficeCategoryMap.put(ged.OfficeCategory, '6.鑰抽蓟鍠夌');
- // OfficeCategoryMap.put(ged.OfficeCategory, '鍏朵粬');
- // OfficeCategoryMap.put(ged.OfficeCategory, '鑲濊儐澶栫');
- // OfficeCategoryMap.put(ged.OfficeCategory, '鑳冭偁澶栫');
+ // // Map<String , String> OfficeCategoryMap = new Map<String,String>();
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '1.娑堝寲绉�');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '2.鍛煎惛绉�');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '3.鏅绉�');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '4.娉屽翱绉�');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '5.濡囩');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '6.鑰抽蓟鍠夌');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '鍏朵粬');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '鑲濊儐澶栫');
+ // // OfficeCategoryMap.put(ged.OfficeCategory, '鑳冭偁澶栫');
- // Map<String , String> MeetingTypeMap = new Map<String,String>();
- // MeetingTypeMap.put(ged.MeetingType, '鑷姙浼�');
- // MeetingTypeMap.put(ged.MeetingType, '璧炲姪浼�');
- // MeetingTypeMap.put(ged.MeetingType, '鍏卞悓涓诲姙浼�');
+ // // Map<String , String> MeetingTypeMap = new Map<String,String>();
+ // // MeetingTypeMap.put(ged.MeetingType, '鑷姙浼�');
+ // // MeetingTypeMap.put(ged.MeetingType, '璧炲姪浼�');
+ // // MeetingTypeMap.put(ged.MeetingType, '鍏卞悓涓诲姙浼�');
- // if (ged.MeetingApprovedNo == null) {
- // result += 'DataError: 浼氳鍐宠缂栫爜 [ MeetingApprovedNo ] is null!\n';
- // }
- if (String.isBlank(ged.Name)) {
- result += 'DataError: 浼氳鍚嶇О [ Name ] 涓嶈兘涓虹┖!\n';
- }
- if(String.isBlank(ged.MeetingApprovedNo)){
- result += 'DataError:浼氳鍐宠缂栫爜[MeetingApprovedNo] 涓嶈兘涓虹┖!\n';
- }
- if(ged.ProcessState == null){
- result += 'DataError:OBPM瀹℃壒鐘舵�乕ProcessState] 涓嶈兘涓虹┖!\n';
- }
- if(String.isBlank(ged.HostName)){
- result += 'DataError:浼氳涓诲姙鏂筟HostName] 涓嶈兘涓虹┖!\n';
- }
- if(String.isBlank(ged.CooperatorCompany)){
- result += 'DataError:浼氳鎵垮姙鏂筟CooperatorCompany] 涓嶈兘涓虹┖!\n';
- }
- /*if (!BudgetTypeMap.containsKey(ged.BudgetType)) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.BudgetType.equals('浜у搧鎺ㄥ箍')) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.BudgetType.equals('涓婚娲诲姩锛圢BI鏃╃檶锛孍US澶ц禌绛夛級')) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.BudgetType.equals('浜у搧鍞悗浣跨敤鍩硅')) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.BudgetType.equals('NTC绛夋晠闅滈闃叉椿鍔�')) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.BudgetType.equals('缁忛攢鍟嗙浉鍏充細璁�')) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.BudgetType.equals('鍏朵粬')) {
- result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
- }
- if (!OfficeCategoryMap.containsKey(ged.OfficeCategory)) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('2.鍛煎惛绉�')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('3.鏅绉�')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('4.娉屽翱绉�')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('5.濡囩')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('6.鑰抽蓟鍠夌')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('鍏朵粬')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('鑲濊儐澶栫')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- } else if (!ged.OfficeCategory.equals('鑳冭偁澶栫')) {
- result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
- }
- if (!MeetingTypeMap.containsKey(ged.MeetingType)) {
- result += 'DataError: 浼氳绫诲瀷 [ MeetingType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.MeetingType.equals('璧炲姪浼�')) {
- result += 'DataError: 浼氳绫诲瀷 [ MeetingType ] 浼犲�兼湁璇�!\n';
- } else if (!ged.MeetingType.equals('鍏卞悓涓诲姙浼�')) {
- result += 'DataError: 浼氳绫诲瀷 [ MeetingType ] 浼犲�兼湁璇�!\n';
- } */
- return result;
- }
+ // // if (ged.MeetingApprovedNo == null) {
+ // // result += 'DataError: 浼氳鍐宠缂栫爜 [ MeetingApprovedNo ] is null!\n';
+ // // }
+ // if (String.isBlank(ged.Name)) {
+ // result += 'DataError: 浼氳鍚嶇О [ Name ] 涓嶈兘涓虹┖!\n';
+ // }
+ // if(String.isBlank(ged.MeetingApprovedNo)){
+ // result += 'DataError:浼氳鍐宠缂栫爜[MeetingApprovedNo] 涓嶈兘涓虹┖!\n';
+ // }
+ // if(ged.ProcessState == null){
+ // result += 'DataError:OBPM瀹℃壒鐘舵�乕ProcessState] 涓嶈兘涓虹┖!\n';
+ // }
+ // if(String.isBlank(ged.HostName)){
+ // result += 'DataError:浼氳涓诲姙鏂筟HostName] 涓嶈兘涓虹┖!\n';
+ // }
+ // if(String.isBlank(ged.CooperatorCompany)){
+ // result += 'DataError:浼氳鎵垮姙鏂筟CooperatorCompany] 涓嶈兘涓虹┖!\n';
+ // }
+ // /*if (!BudgetTypeMap.containsKey(ged.BudgetType)) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.BudgetType.equals('浜у搧鎺ㄥ箍')) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.BudgetType.equals('涓婚娲诲姩锛圢BI鏃╃檶锛孍US澶ц禌绛夛級')) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.BudgetType.equals('浜у搧鍞悗浣跨敤鍩硅')) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.BudgetType.equals('NTC绛夋晠闅滈闃叉椿鍔�')) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.BudgetType.equals('缁忛攢鍟嗙浉鍏充細璁�')) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.BudgetType.equals('鍏朵粬')) {
+ // result += 'DataError: 棰勭畻绫诲瀷 [ BudgetType ] 浼犲�兼湁璇�!\n';
+ // }
+ // if (!OfficeCategoryMap.containsKey(ged.OfficeCategory)) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('2.鍛煎惛绉�')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('3.鏅绉�')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('4.娉屽翱绉�')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('5.濡囩')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('6.鑰抽蓟鍠夌')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('鍏朵粬')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('鑲濊儐澶栫')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.OfficeCategory.equals('鑳冭偁澶栫')) {
+ // result += 'DataError: 绉戝鍒嗙被 [ OfficeCategory ] 浼犲�兼湁璇�!\n';
+ // }
+ // if (!MeetingTypeMap.containsKey(ged.MeetingType)) {
+ // result += 'DataError: 浼氳绫诲瀷 [ MeetingType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.MeetingType.equals('璧炲姪浼�')) {
+ // result += 'DataError: 浼氳绫诲瀷 [ MeetingType ] 浼犲�兼湁璇�!\n';
+ // } else if (!ged.MeetingType.equals('鍏卞悓涓诲姙浼�')) {
+ // result += 'DataError: 浼氳绫诲瀷 [ MeetingType ] 浼犲�兼湁璇�!\n';
+ // } */
+ // return result;
+ // }
// 鍒涘缓浼氳 缁戝畾鍐宠鐩稿叧淇℃伅
- public static Campaign createNewCampaignFromApplication(Application_for_Conference_Adjudication__c app) {
- Campaign cam = new Campaign();
- cam.RecordTypeId = '01210000000QfeD';
- cam.CampaignMemberRecordTypeId = '01210000000R8zy';
- cam.Name = app.MeetingApprovedNo__c;
- cam.Name2__c = app.MeetingApprovedNo__c;
- cam.MeetingApprovedNo__c = app.MeetingApprovedNo__c;
- cam.Meeting_Approved_No__c = app.Id;
- cam.StartDate = app.StartDate__c;
- cam.EndDate = app.EndDate__c;
- cam.Budget_Type__c = app.BudgetType__c;
- cam.OfficeCategory__c = app.OfficeCategory__c;
- cam.Meeting_Type__c = app.MeetingType__c;
- cam.Activity_Type_Name__c = app.ActivityTypeName__c;
- // 杩欓噷闇�瑕侀澶栧姞鎿嶄綔
- cam.State_Master__c = get_state(app.StateMaster__c);
- cam.City_Master__c = get_city(app.CityMaster__c);
- cam.WorkshopPlace__c = app.WorkshopPlace__c;
- cam.HostName__c = app.HostName__c;
- cam.cooperatorCompany__c = app.CooperatorCompany__c;
- cam.Convening_Participants_Num__c = app.ConveningParticipantsNum__c;
- cam.IF_Approved__c = true;
+ // public static Campaign createNewCampaignFromApplication(Application_for_Conference_Adjudication__c app) {
+ // Campaign cam = new Campaign();
+ // //瀹氫箟鍙橀噺淇濆瓨璁板綍绫诲瀷
+ // Id RtId = Schema.SObjectType.Campaign.getRecordTypeInfosByDeveloperName().get('Society').getRecordTypeId();
+ // //List<Id> = [select Id from RecordType where IsActive = true and SobjectType = 'CampaignMember' and Name = '绀惧鍙傚姞浜�'];
+ // Id RtId2 = Schema.SObjectType.CampaignMember.getRecordTypeInfosByDeveloperName().get('WorkShop').getRecordTypeId();
+ // cam.RecordTypeId = RtId;
+ // cam.CampaignMemberRecordTypeId = RtId2;//ID涓嶅啓姝� 绀惧浜哄憳
- // OBPM瀵规帴 鏂板瀛楁
- cam.Expected_Olympus_Attendance__c = app.ExpectedOlympusAttendance__c;
- 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.Name = app.MeetingApprovedNo__c;
+ // cam.Name2__c = app.MeetingApprovedNo__c;
+ // cam.MeetingApprovedNo__c = app.MeetingApprovedNo__c;
+ // cam.Meeting_Approved_No__c = app.Id;
+ // cam.StartDate = app.StartDate__c;
+ // cam.EndDate = app.EndDate__c;
+ // cam.Budget_Type__c = app.BudgetType__c;
+ // cam.OfficeCategory__c = app.OfficeCategory__c;
+ // cam.Meeting_Type__c = app.MeetingType__c;
+ // cam.Activity_Type_Name__c = app.ActivityTypeName__c;
+
+ // cam.WorkshopPlace__c = app.WorkshopPlace__c;
+ // cam.HostName__c = app.HostName__c;
+ // cam.cooperatorCompany__c = app.CooperatorCompany__c;
+ // cam.Convening_Participants_Num__c = app.ConveningParticipantsNum__c;
+ // cam.IF_Approved__c = true;
- return cam;
+ // // OBPM瀵规帴 鏂板瀛楁
+ // cam.Expected_Olympus_Attendance__c = app.ExpectedOlympusAttendance__c;
+ // 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;
+
+ // // 鏂板鎵�鏈変汉淇℃伅
+ // List<String> user_nos = new List<String>();
+ // user_nos.add(app.Applicant__c);
+ // user_nos.addAll(app.Shared_Editing__c.split(','));
+ // List<User> users = [select Id, Employee_No__c from User where Employee_No__c in :user_nos];
+ // if (users != null && users.size() > 0) {
+ // for (User u : users) {
+ // if (u.Employee_No__c == app.Applicant__c) {
+ // cam.OwnerId = u.Id;
+ // }
+ // }
+ // }
+
+ // return cam;
+ // }
+
+ public static string DividingTypes(String IsCoOrganizingActivities,String ActivityTypeName){
+ if('N'.equals(IsCoOrganizingActivities)){
+ if('璧炲姪'.equals(ActivityTypeName)){
+ return '璧炲姪浼�';
+ }
+ return '涓诲姙浼�';
+ }
+ return '鍏卞悓涓诲姙浼�';
}
- public static void init_state_city() {
- if (states == null || states.size() <= 0) {
- states = new Map<String, String>();
- List<Address_Level__c> lst_state = [select Id, Name from Address_Level__c];
- for (Address_Level__c level1 : lst_state) {
- states.put(level1.Name, level1.Id);
+ public static void SetSharing(List<User> users, List<Application_for_Conference_Adjudication__c> apps) {
+ if (users == null || users.size() <= 0 || apps == null || apps.size() <= 0) {
+ return;
+ }
+ // 鍒濆鍖栧弬鏁�
+ List<Application_for_Conference_Adjudication__Share> delete_list = new List<Application_for_Conference_Adjudication__Share>();
+ List<Application_for_Conference_Adjudication__Share> insert_list = new List<Application_for_Conference_Adjudication__Share>();
+ List<String> app_ids = new List<String>();
+ // 鍏变韩鐞嗙敱
+ String rowCauseShare = Schema.Application_for_Conference_Adjudication__Share.RowCause.Shared_Editor__c;
+ // 寰幆璁剧疆
+ for (Application_for_Conference_Adjudication__c app : apps) {
+ app_ids.add(app.Id);
+ System.debug('app.Shared_Editing__c: ' + app.Shared_Editing__c);
+
+ for (User u : users) {
+ if (String.isBlank(u.Employee_No__c)) {
+ continue;
+ }
+ System.debug('u.Employee_No__c: ' + u.Employee_No__c);
+ if (app.Shared_Editing__c.contains(u.Employee_No__c)) {
+ Application_for_Conference_Adjudication__Share aos = new Application_for_Conference_Adjudication__Share(
+ RowCause = rowCauseShare,
+ ParentId = app.Id,
+ UserOrGroupId = u.Id,
+ AccessLevel = 'Edit');
+ insert_list.add(aos);
+ }
}
}
- if (cities == null || cities.size() <= 0) {
- cities = new Map<String, String>();
- List<Address_Level2__c> lst_city = [select Id, Name from Address_Level2__c];
- for (Address_Level2__c level2 : lst_city) {
- cities.put(level2.Name, level2.Id);
- }
+ // 鍏堝垹闄�
+ delete_list = [select Id from Application_for_Conference_Adjudication__Share where ParentId in :app_ids and RowCause =: rowCauseShare];
+ if (delete_list != null && delete_list.size() > 0) {
+ delete delete_list;
+ }
+ // 鍐嶆柊澧�
+ if (insert_list != null && insert_list.size() > 0) {
+ System.debug('insert_list is: ');
+ System.debug(insert_list);
+ insert insert_list;
}
}
- // 璁剧疆浼氳涓婄殑鐪�
- public static String get_state(String state_name) {
- if (String.isBlank(state_name)) {
- return null;
- }
- if (states == null || states.size() <= 0) {
- return null;
- }
- // 澶勭悊绌烘牸 鎴栬鍚庣画杩樻湁鍒殑澶勭悊
- state_name = state_name.trim().replace(' ', '');
- for(String state : states.keySet()) {
- if (state_name.contains(state) || state.contains(state_name)) {
- return states.get(state);
- }
- }
- return null;
- }
-
- // 璁剧疆浼氳涓婄殑甯�
- public static String get_city(String city_name) {
- if (String.isBlank(city_name)) {
- return null;
- }
- if (cities == null || cities.size() <= 0) {
- return null;
- }
- // 澶勭悊绌烘牸 鎴栬鍚庣画杩樻湁鍒殑澶勭悊
- city_name = city_name.trim().replace(' ', '');
- for(String city : cities.keySet()) {
- if (city_name.contains(city) || city.contains(city_name)) {
- return cities.get(city);
+ public static String GetOfficeCategory(String OfficeCategory, Map<String, String> transferMap, BatchIF_Log__c iflog) {
+ if (String.isNotBlank(OfficeCategory)) {
+ List<String> categories = OfficeCategory.split(',');
+ if (categories != null && categories.size() > 0) {
+ return NFMUtil.getMapValue(transferMap, 'OfficeCategory__c', categories.get(0), iflog);
}
}
return null;
--
Gitblit v1.9.1