From 6d766b0c8e9b31e7e03ffd344a94c2851aa9beb9 Mon Sep 17 00:00:00 2001 From: DESKTOP-0K9VGFE\hp <pengkun@prec-tech.com> Date: 星期五, 11 三月 2022 19:30:24 +0800 Subject: [PATCH] no message --- force-app/main/default/classes/NFM705Rest.cls | 590 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 331 insertions(+), 259 deletions(-) diff --git a/force-app/main/default/classes/NFM705Rest.cls b/force-app/main/default/classes/NFM705Rest.cls index 4bf823d..2396957 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,171 @@ // 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; + } + 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) { + 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) { - // 鑷姩鍒涘缓瀛︿細 - 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 +322,202 @@ } // 蹇呭~瀛楁楠岃瘉 - 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) { + 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