| | |
| | | public without sharing class UploadOBPMController { |
| | | private String Id { get; set; } |
| | | private String errorStr { get; set; } |
| | | public boolean hasError { get; set; } |
| | | public Boolean hasError { get; set; } |
| | | public List<OBPMInfo> OBPMInfoList { get; set; } |
| | | public Integer lineNo { get; set; } |
| | | public Boolean IF_Approved { get; set; } |
| | | |
| | | public UploadOBPMController() { |
| | | Id = ApexPages.currentPage().getParameters().get('id'); |
| | |
| | | hasError = false; |
| | | OBPMInfoList = new List<OBPMInfo>(); |
| | | |
| | | List<Campaign> camList = [select id, Name, Shared_User__c from Campaign where id = :Id]; |
| | | if (camList.size() == 0) { |
| | | Campaign cam = [select id, Name, Shared_User__c, IF_Approved__c, Shared_Editing__c, Carbon_Copy__c from Campaign where id = :Id]; |
| | | if (cam == null || String.isBlank(cam.Id)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '学会不存在。')); |
| | | hasError = true; |
| | | return; |
| | | } |
| | | |
| | | IF_Approved = cam.IF_Approved__c; |
| | | |
| | | List<String> user_nos = new List<String>(); |
| | | if (String.isNotBlank(cam.Shared_Editing__c)) { |
| | | user_nos.addAll(cam.Shared_Editing__c.split(',')); |
| | | } |
| | | if (String.isNotBlank(cam.Carbon_Copy__c)) { |
| | | user_nos.addAll(cam.Carbon_Copy__c.split(',')); |
| | | } |
| | | List<User> users = new List<User>(); |
| | | if (user_nos.size() > 0) { |
| | | users = [select Id, Employee_No__c from User where Employee_No__c in :user_nos]; |
| | | } |
| | | |
| | | Integer line = 0; |
| | | for (Integer i = 0; i < 5; i++) { |
| | | line += 1; |
| | | OBPMInfo temp = new OBPMInfo(line, new Campaign()); |
| | | OBPMInfoList.add(temp); |
| | | if (users != null && users.size() > 0) { |
| | | for(User u : users) { |
| | | line += 1; |
| | | Campaign t_cam = new Campaign(); |
| | | t_cam.Shared_User__c = u.Id; |
| | | OBPMInfo temp = new OBPMInfo(line, t_cam); |
| | | if (String.isNotBlank(cam.Shared_Editing__c) && cam.Shared_Editing__c.contains(u.Employee_No__c)) { |
| | | temp.Role = '共同编辑人'; |
| | | } else if (String.isNotBlank(cam.Carbon_Copy__c) && cam.Carbon_Copy__c.contains(u.Employee_No__c)) { |
| | | temp.Role = '抄送人'; |
| | | } |
| | | OBPMInfoList.add(temp); |
| | | } |
| | | if (users.size() < 5) { |
| | | Integer line_add = 5 - users.size(); |
| | | for (Integer i = 0; i < line_add; i++) { |
| | | OBPMInfo temp = new OBPMInfo(line, new Campaign()); |
| | | OBPMInfoList.add(temp); |
| | | } |
| | | } |
| | | } else { |
| | | for (Integer i = 0; i < 5; i++) { |
| | | line += 1; |
| | | OBPMInfo temp = new OBPMInfo(line, new Campaign()); |
| | | OBPMInfoList.add(temp); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | return null; |
| | | } |
| | | |
| | | public PageReference uploadOBPM() { |
| | | public void uploadOBPM() { |
| | | List<String> userIdList = new List<String>(); |
| | | Map<String,String> userMap = new Map<String,String>(); |
| | | List<Campaign> camList = new List<Campaign>(); |
| | |
| | | } |
| | | } |
| | | if(userIdList.size() > 0){ |
| | | String SharedEditing; |
| | | String CarbonCopy; |
| | | String SharedEditing = ''; |
| | | String CarbonCopy = ''; |
| | | List<User> userList = [select id, Employee_No__c from User where id = :userIdList]; |
| | | for(User user : userList){ |
| | | userMap.put(user.id, user.Employee_No__c); |
| | |
| | | if(String.isNotBlank(ob.cam.Shared_User__c)){ |
| | | if(userMap.containsKey(ob.cam.Shared_User__c)){ |
| | | if(ob.Role == '共同编辑人'){ |
| | | SharedEditing += userMap.get(ob.cam.Shared_User__c) + ','; |
| | | SharedEditing += String.isNotBlank(userMap.get(ob.cam.Shared_User__c))? userMap.get(ob.cam.Shared_User__c) + ',' : ''; |
| | | } else if(ob.Role == '抄送人'){ |
| | | CarbonCopy += userMap.get(ob.cam.Shared_User__c) + ','; |
| | | CarbonCopy += String.isNotBlank(userMap.get(ob.cam.Shared_User__c))? userMap.get(ob.cam.Shared_User__c) + ',' : ''; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //截取掉null和最后的逗号 |
| | | SharedEditing = SharedEditing.substring(4, SharedEditing.lastIndexOf(',')); |
| | | CarbonCopy = CarbonCopy.substring(4, CarbonCopy.lastIndexOf(',')); |
| | | SharedEditing = SharedEditing.length() > 0 ? SharedEditing.substring(0, SharedEditing.lastIndexOf(',')) : ''; |
| | | CarbonCopy = CarbonCopy.length() > 0 ? CarbonCopy.substring(0, CarbonCopy.lastIndexOf(',')) : ''; |
| | | cam.Shared_Editing__c = SharedEditing; |
| | | cam.Carbon_Copy__c = CarbonCopy; |
| | | camList.add(cam); |
| | | } |
| | | errorStr = ''; |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | // try { |
| | | if(camList.size() > 0){ |
| | | update camList; |
| | | |
| | | // 703接口触发 |
| | | List<String> cam_ids = new List<String>(); |
| | | cam_ids.add(cam.Id); |
| | | NFM703Controller.callout(null,cam_ids); |
| | | } |
| | | } catch (System.Exception e) { |
| | | Database.rollback(sp); |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage())); |
| | | errorStr = e.getMessage(); |
| | | hasError = true; |
| | | return null; |
| | | } |
| | | return null; |
| | | // } catch (System.Exception e) { |
| | | // Database.rollback(sp); |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage())); |
| | | // errorStr = e.getMessage(); |
| | | // hasError = true; |
| | | // return null; |
| | | // } |
| | | } |
| | | |
| | | public class OBPMInfo { |