From 1312ba82d4c880bdb5357d28e0d4af5b285f610f Mon Sep 17 00:00:00 2001 From: 高章伟 <gaozhangwei@prec-tech.com> Date: 星期四, 10 三月 2022 15:54:39 +0800 Subject: [PATCH] 最近一月修改内容 --- force-app/main/default/classes/NFM705Rest.cls | 407 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 261 insertions(+), 146 deletions(-) diff --git a/force-app/main/default/classes/NFM705Rest.cls b/force-app/main/default/classes/NFM705Rest.cls index acafad9..ea52474 100644 --- a/force-app/main/default/classes/NFM705Rest.cls +++ b/force-app/main/default/classes/NFM705Rest.cls @@ -122,6 +122,7 @@ //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); @@ -140,7 +141,8 @@ Num__c, MeetingApprovedNo__c from Campaign - where Num__c IN: NumList] : new List<Campaign>(); + where Num__c IN: NumList + ] : new List<Campaign>(); // for(Campaign temp : campaignList){ // campaignMap.put(temp.Num__c,temp.Id); // } @@ -155,6 +157,9 @@ 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(); @@ -165,7 +170,7 @@ 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.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; @@ -188,34 +193,68 @@ 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; + } + + // 纭鐢宠浜� + 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); + } + + // 鏌ユ壘鎵�鏈変汉 + if (user_nos != null && user_nos.size() > 0) { + users = [select Id, Employee_No__c from User where Employee_No__c in :user_nos]; + 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) { // 鍐欏叆鍐宠淇℃伅 upsert acaList; + + // 鍏变韩鏉冮檺 + SetSharing(users, acaList); // 鑷姩鍒涘缓瀛︿細 - 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; - } - } + // 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) { @@ -225,6 +264,31 @@ 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); + } + + updatelist.add(cam); break; } @@ -259,145 +323,145 @@ } // 蹇呭~瀛楁楠岃瘉 - 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(); - //瀹氫箟鍙橀噺淇濆瓨璁板綍绫诲瀷 - 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涓嶅啓姝� 绀惧浜哄憳 + // 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涓嶅啓姝� 绀惧浜哄憳 - 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.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; + // 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; - // 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; + // // 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; - } - } - } + // // 鏂板鎵�鏈変汉淇℃伅 + // 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; - } + // return cam; + // } public static string DividingTypes(String IsCoOrganizingActivities,String ActivityTypeName){ if('N'.equals(IsCoOrganizingActivities)){ @@ -408,4 +472,55 @@ } return '鍏卞悓涓诲姙浼�'; } + + 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); + } + } + } + // 鍏堝垹闄� + 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) { + insert insert_list; + } + } + + 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; + } } \ No newline at end of file -- Gitblit v1.9.1