From 9b197b7fac92278fb591ea8f4942c7d5687cb5ce Mon Sep 17 00:00:00 2001
From: 李金换 <lijinhuan@prec-tech.com>
Date: 星期一, 28 三月 2022 18:01:22 +0800
Subject: [PATCH] LJPH-C8FB4P【委托】配合PBI设备覆盖率的数据准备0328
---
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