| | |
| | | //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); |
| | |
| | | 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); |
| | | // } |
| | |
| | | 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.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; |
| | |
| | | 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) { |
| | |
| | | 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; |
| | | } |
| | |
| | | |
| | | } |
| | | // 必填字段验证 |
| | | 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, '主题活动(NBI早癌,EUS大赛等)'); |
| | | // 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, '主题活动(NBI早癌,EUS大赛等)'); |
| | | // // 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('主题活动(NBI早癌,EUS大赛等)')) { |
| | | 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('主题活动(NBI早癌,EUS大赛等)')) { |
| | | // 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)){ |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |