From f4eeecf7ee6c1e8ac49e86c5c6c22c7875a8ecea Mon Sep 17 00:00:00 2001 From: 沙世明 <shashiming@prec-tech.com> Date: 星期二, 22 三月 2022 11:22:58 +0800 Subject: [PATCH] 新增后台用统计字段,成功上传obpm后设置成true --- force-app/main/default/classes/UploadOBPMController.cls | 74 +++++++++++++++++++++++++++++-------- 1 files changed, 58 insertions(+), 16 deletions(-) diff --git a/force-app/main/default/classes/UploadOBPMController.cls b/force-app/main/default/classes/UploadOBPMController.cls index d67f5c7..0793bb5 100644 --- a/force-app/main/default/classes/UploadOBPMController.cls +++ b/force-app/main/default/classes/UploadOBPMController.cls @@ -1,9 +1,10 @@ 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'); @@ -13,17 +14,54 @@ 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); + } } } @@ -61,7 +99,7 @@ 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>(); @@ -72,8 +110,8 @@ } } 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); @@ -82,18 +120,19 @@ 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) + ',' : ''; } } } } //鎴彇鎺塶ull鍜屾渶鍚庣殑閫楀彿 - 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; + cam.Is_Upload_To_OBPM_Success__c = true; camList.add(cam); } errorStr = ''; @@ -101,15 +140,18 @@ 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; } public class OBPMInfo { -- Gitblit v1.9.1