From e3c02c03dd2de442bbced87236f60a13a1cd154e Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期四, 02 三月 2023 17:51:57 +0800
Subject: [PATCH] gzw 正式环境最新代码更新
---
force-app/main/default/classes/InquiryFormHandler.cls | 234 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 192 insertions(+), 42 deletions(-)
diff --git a/force-app/main/default/classes/InquiryFormHandler.cls b/force-app/main/default/classes/InquiryFormHandler.cls
index d148ca9..4ae3a15 100644
--- a/force-app/main/default/classes/InquiryFormHandler.cls
+++ b/force-app/main/default/classes/InquiryFormHandler.cls
@@ -40,6 +40,10 @@
Inquiry_form__c oObj = null;
List<String> depIDList = new List<String>();
List<Account> accList = new List<Account>();
+ //20220511 you SWAG-CBUB2W start
+ Map<String, OCM_Management_Province__c> mpMap = new Map<String, OCM_Management_Province__c>();
+ Set<String> accOCSMset = new Set<String>();
+ //20220511 you SWAG-CBUB2W end
for(Inquiry_form__c nnObj : newList) {
if (oldMap != null && oldMap.containsKey(nnObj.Id)) {
@@ -56,7 +60,45 @@
nnObj.Hospital__c = null; //鍖婚櫌
nnObj.CreateDate__c = null; //鍒涘缓鏃�
}
-
+ //20220507 SWAG-CBUB2W you start
+ if(Trigger.isInsert || oObj.Request1__c != nnObj.Request1__c){
+ if(String.isNotBlank(nnObj.Request1__c) && '鏈嶅姟瀵瑰簲' == nnObj.Request1__c && String.isBlank(nnObj.Follow_Content__c)){
+ nnObj.Status__c ='';
+ }else if( String.isBlank(nnObj.Status__c) && (nnObj.Request1__c.indexOf('闇�瑕佹姤浠�')!=-1 || nnObj.Request1__c.indexOf('OPD')!=-1 || nnObj.Request1__c.indexOf('浜у搧璇存槑')!=-1 || nnObj.Request1__c.indexOf('瀵勯�佷骇鍝佽祫鏂�')!=-1)){
+ nnObj.Status__c ='01.鏈窡杩�';
+ }
+
+ }
+ //20220507 SWAG-CBUB2W you end
+ //20220511 you SWAG-CBUB2W start
+ if(Trigger.isUpdate){
+ /** 鎸埌钀ヤ笟璺熻繘椤甸潰
+ if(false != nnObj.Redistribution__c && String.isBlank(nnObj.GotoDepartment__c)){
+ nnObj.GotoDepartment__c.addError('鍕鹃�夋椂蹇呴』濉啓杞嚦绉戝');
+ }
+ if(false == nnObj.Redistribution__c && String.isNotBlank(nnObj.GotoDepartment__c)){
+ nnObj.GotoDepartment__c.addError('鏈嬀閫夋椂涓嶈兘濉啓杞嚦绉戝');
+ }
+ **/
+ if(String.isNotBlank(nnObj.GotoDepartment__c) && nnObj.GotoDepartment__c != oObj.GotoDepartment__c){
+ nnObj.RedistributionDate__c = System.now();
+ accOCSMset.add(nnObj.OCM_man_province_cus__c);
+ }
+ if(String.isNotBlank(nnObj.Hospital_Name__c) && String.isNotBlank(oObj.Hospital_Name__c) && nnObj.Hospital_Name__c != oObj.Hospital_Name__c ){
+ nnObj.AssistantRedistributionDate__c = System.now();
+ }
+
+ //20221130 you DB202211530484 start
+ if(null!= nnObj.Product_Owner__c && nnObj.Product_Owner__c != oObj.Product_Owner__c){
+ nnObj.ProductAssumeDate__c = System.now();
+ accOCSMset.add(nnObj.OCM_man_province_cus__c);
+ }
+ if(null!= nnObj.OwnerId && nnObj.OwnerId != oObj.OwnerId){
+ nnObj.AssistantChangeOwnerTime__c = System.now();
+ }
+ //20221130 you DB202211530484 end
+ }
+ //20220511 you SWAG-CBUB2W end
}
if (depIDList.size()>0) {
@@ -70,11 +112,25 @@
}
}
}
-
+ //20220511 you SWAG-CBUB2W start
+ if(null !=accOCSMset){
+ List<OCM_Management_Province__c> mpList =
+ [select id, Name, GI_assistant__c,SP_assistant__c from OCM_Management_Province__c where Name =: accOCSMset];
+
+ // 鍙栧緱OCSM绠$悊鐪佺殑GI,SP 鍔╃悊
+ for (OCM_Management_Province__c mp : mpList) {
+ mpMap.put(mp.Name, mp);
+ }
+ }
+ //20220511 you SWAG-CBUB2W end
+
for(Inquiry_form__c nObj : newList) {
if (accMap.containsKey(nObj.Hospital_Name__c)){
nObj.Depart_Owner__c = accMap.get(nObj.Hospital_Name__c).OwnerId; //鎴樼暐绉戝鎵�鏈変汉
- nObj.OwnerId = accMap.get(nObj.Hospital_Name__c).OwnerId; //鎵�鏈変汉
+ //20221128 you DB202211530484 褰撳嬀閫� 杞骇鍝佹媴褰撴椂锛屾墍鏈変汉鍙互鎵嬪姩鏇存敼锛屼笉闇�瑕佸悓姝ヨ窡绉戝鎵�鏈変汉涓�鑷�
+ if(nObj.Product_Owner__c == false){
+ nObj.OwnerId = accMap.get(nObj.Hospital_Name__c).OwnerId; //鎵�鏈変汉
+ }
nObj.Department_Class__c = accMap.get(nObj.Hospital_Name__c).Department_Class__c; //鎴樼暐绉戝
nObj.HospitalName__c = accMap.get(nObj.Hospital_Name__c).Hospital__r.Name; //鍖婚櫌鍚�
nObj.Hospital__c = accMap.get(nObj.Hospital_Name__c).Hospital__c; //鍖婚櫌
@@ -136,7 +192,17 @@
nObj.CreateDate__c = Date.today();
}
//20220419 you SWAG-CBUB2W end
-
+ //20220511 you SWAG-CBUB2W start
+ system.debug(mpMap+'===='+nObj.OCM_man_province_cus__c);
+ if(null!=mpMap && mpMap.containsKey(nObj.OCM_man_province_cus__c)){
+ OCM_Management_Province__c omp = mpMap.get(nObj.OCM_man_province_cus__c);
+ if (omp != null) {
+ nObj.GI_assistant__c = omp.GI_assistant__c;
+ nObj.SP_assistant__c = omp.SP_assistant__c;
+ //nObj.OCSM_ID__c = omp.id;
+ }
+ }
+ //20220511 you SWAG-CBUB2W end
//涓嶉渶瑕佹棩鏈燂紝璺熻繘鏃ユ湡锛屾湇鍔¤窡杩涙棩鏈燂紝鍒涘缓鎰忓悜鏃ユ湡锛屾瘮杈冩渶鏃╂棩鏈�
String date1;
String date2;
@@ -165,15 +231,9 @@
String confdate=calendarUtil.getWorkDayNum(date5,String.valueOf(date_MD));
//nObj.addError(s+'=='+date5+'==='+String.valueOf(date_MD)+'=='+e+'=='+confdate);
nObj.Confirmation_days__c =Integer.valueOf(confdate);
- if(Integer.valueOf(confdate) > 5){
- nObj.TimeoutDays__c = Integer.valueOf(confdate)-5;
- }else{
- nObj.TimeoutDays__c = null;
- }
system.debug('璺戣繖浜�3');
}else{
nObj.Confirmation_days__c = null;
- nObj.TimeoutDays__c = null;
system.debug('璺戣繖浜�1');
}
@@ -187,11 +247,6 @@
String confdate=calendarUtil.getWorkDayNum(date5,String.valueOf(date_MD));
system.debug('璺戣繖浜�2'+date5+'==='+String.valueOf(date_MD)+'=='+confdate);
nObj.Confirmation_days__c =Integer.valueOf(confdate);
- if(Integer.valueOf(confdate) > 5){
- nObj.TimeoutDays__c = Integer.valueOf(confdate)-5;
- }else{
- nObj.TimeoutDays__c = null;
- }
}
}
system.debug('==='+date_MD);
@@ -201,25 +256,21 @@
}
}
+
//20220419 you SWAG-CBUB2W start
private void shareToFSEMain() {
- //瀛樻斁鐢ㄤ簬鏂板鐨勫叡浜暟鎹�
- List<Inquiry_form__Share> insertList = new List<Inquiry_form__Share>();
- //瀛樻斁(浜у搧鍜ㄨ鍗昳d,鍏变韩瀵硅薄)
- Map<Id,Inquiry_form__Share> insertMap = new Map<Id,Inquiry_form__Share>();
- //瀛樻斁鏈�鍚庨渶瑕佹柊澧炵殑鍏变韩鏁版嵁
- List<Inquiry_form__Share> lastInsertList = new List<Inquiry_form__Share>();
- //瀛樻斁宸叉湁鐨勭浉鍚岀殑鍏变韩鍘熷洜鐨勬暟鎹�
- List<Id> deleteTargetAOIdList = new List<Id>();
+ List<Id> deleteTargetAOIdList = new List<Id>();
+ //瀛樻斁(浜у搧鍜ㄨ鍗昳d,鍏变韩瀵硅薄)
+ Map<Id,Inquiry_form__Share> insertMap1 = new Map<Id,Inquiry_form__Share>();
+ Map<Id,Inquiry_form__Share> insertMap2 = new Map<Id,Inquiry_form__Share>();
+ Map<Id,Inquiry_form__Share> insertMap3 = new Map<Id,Inquiry_form__Share>();
//瀛樻斁鐢ㄤ簬鐨刬d
List<Id> userIdList = new List<Id>();
- // String rowCause = 'Manual';
+ //瀛樻斁鐢ㄤ簬鐨刬d 鐢ㄦ潵鍒犻櫎
+ List<Id> userIdListold = new List<Id>();
//鏂板涓�涓叡浜師鍥�
String rowCause = Schema.Inquiry_form__Share.RowCause.FSE_Owner_c_User__c;
- System.debug('rowCause:'+rowCause);
- String ownerCause = 'Owner';
- //Apex鍏辨湁銇悊鐢卞悕OCSM_Owner_c_User
- for(Inquiry_form__c nObj : newList) {
+ for(Inquiry_form__c nObj : newList) {
Inquiry_form__c oObj = null;
if (oldMap != null && oldMap.containsKey(nObj.Id)) {
oObj = oldMap.get(nObj.Id);
@@ -227,30 +278,89 @@
if ( nObj.FSE_Owner__c != null && (oObj == null || oObj.FSE_Owner__c != nObj.FSE_Owner__c)) {
Inquiry_form__Share aos = new Inquiry_form__Share(
- RowCause = rowCause,
- ParentId = nObj.Id,
- UserOrGroupId = nObj.FSE_Owner__c,
- AccessLevel = 'Edit');
- //瀛樻斁瑕佹柊澧炵殑鍏变韩鏁版嵁
- insertList.add(aos);
- System.debug('key:'+nObj.Id);
+ RowCause = rowCause,
+ ParentId = nObj.Id,
+ UserOrGroupId = nObj.FSE_Owner__c,
+ AccessLevel = 'Edit');
//瀛樻斁锛堜骇鍝佸挩璇㈠崟id,鍏变韩瀵硅薄锛�;
- insertMap.put(nObj.Id,aos);
+ insertMap1.put(nObj.Id,aos);
//瀛樻斁鐢ㄦ埛id 鐢ㄤ綔妫�绱㈡潯浠�
userIdList.add(nObj.FSE_Owner__c);
+ if(oObj != null && oObj.FSE_Owner__c != nObj.FSE_Owner__c){
+ userIdListold.add(oObj.FSE_Owner__c);
+ deleteTargetAOIdList.add(nObj.Id);
+ }
+ System.debug('insertMap1:'+insertMap1);
+ System.debug('IDlIST:'+deleteTargetAOIdList);
+ //shareToFSEMainPublicMethod(insertMap,userIdList,deleteTargetAOIdList,rowCause,userIdListold);
}
- if(oObj != null && oObj.FSE_Owner__c != nObj.FSE_Owner__c){
- deleteTargetAOIdList.add(nObj.Id);
+ if( nObj.GI_assistant__c != null && oObj.GI_assistant__c != nObj.GI_assistant__c){
+ Inquiry_form__Share aos = new Inquiry_form__Share(
+ RowCause = rowCause,
+ ParentId = nObj.Id,
+ UserOrGroupId = nObj.GI_assistant__c,
+ AccessLevel = 'Edit');
+ //瀛樻斁锛堜骇鍝佸挩璇㈠崟id,鍏变韩瀵硅薄锛�;
+ insertMap2.put(nObj.Id,aos);
+ //瀛樻斁鐢ㄦ埛id 鐢ㄤ綔妫�绱㈡潯浠�
+ userIdList.add(nObj.GI_assistant__c);
+ if(oObj != null && oObj.GI_assistant__c != nObj.GI_assistant__c){
+ userIdListold.add(oObj.GI_assistant__c);
+ deleteTargetAOIdList.add(nObj.Id);
+ }
+ System.debug('insertMap2:'+insertMap2);
+ System.debug('IDlIST:'+deleteTargetAOIdList);
+ //shareToFSEMainPublicMethod(insertMap,userIdList,deleteTargetAOIdList,rowCause,userIdListold);
}
+ if( nObj.SP_assistant__c != null && oObj.SP_assistant__c != nObj.SP_assistant__c){
+ Inquiry_form__Share aos = new Inquiry_form__Share(
+ RowCause = rowCause,
+ ParentId = nObj.Id,
+ UserOrGroupId = nObj.SP_assistant__c,
+ AccessLevel = 'Edit');
+ //瀛樻斁锛堜骇鍝佸挩璇㈠崟id,鍏变韩瀵硅薄锛�;
+ insertMap3.put(nObj.Id,aos);
+ //瀛樻斁鐢ㄦ埛id 鐢ㄤ綔妫�绱㈡潯浠�
+ userIdList.add(nObj.SP_assistant__c);
+ if(oObj != null && oObj.SP_assistant__c != nObj.SP_assistant__c){
+ userIdListold.add(oObj.SP_assistant__c);
+ deleteTargetAOIdList.add(nObj.Id);
+ }
+ System.debug('insertMap3:'+insertMap3);
+ System.debug('IDlIST:'+deleteTargetAOIdList);
+
+ }
+
+
}
- System.debug('insertList:'+insertList);
- System.debug('insertMap1:'+insertMap);
- System.debug('IDlIST:'+deleteTargetAOIdList);
+ if(null!= insertMap1){
+ shareToFSEMainPublicMethod(insertMap1,userIdList,deleteTargetAOIdList,rowCause,userIdListold);
+ }
+ if(null!= insertMap2){
+ shareToFSEMainPublicMethod(insertMap2,userIdList,deleteTargetAOIdList,rowCause,userIdListold);
+ }
+ if(null!= insertMap3){
+ shareToFSEMainPublicMethod(insertMap3,userIdList,deleteTargetAOIdList,rowCause,userIdListold);
+ }
+
+
+
+ }
+ public void shareToFSEMainPublicMethod(Map<Id,Inquiry_form__Share> insertMap,List<Id> userIdList,List<Id> deleteTargetAOIdList,String rowCause, List<Id> userIdListold) {
+
+ //瀛樻斁鏈�鍚庨渶瑕佹柊澧炵殑鍏变韩鏁版嵁
+ List<Inquiry_form__Share> lastInsertList = new List<Inquiry_form__Share>();
+ //瀛樻斁宸叉湁鐨勭浉鍚岀殑鍏变韩鍘熷洜鐨勬暟鎹�
+ // String rowCause = 'Manual';
+ System.debug('rowCause:'+rowCause);
+ String ownerCause = 'Owner';
+
// 鍏� Delete 鍚� Insert
if (deleteTargetAOIdList.size() > 0) {
List<Inquiry_form__Share> deleteList = [SELECT Id
FROM Inquiry_form__Share
WHERE RowCause = :rowCause
+ AND UserOrGroupId in : userIdListold
AND ParentId IN :deleteTargetAOIdList
];
delete deleteList;
@@ -470,6 +580,7 @@
// }
// }
+
@TestVisible private static void test() {
Integer i = 0;
@@ -626,6 +737,45 @@
i++;
i++;
i++;
- i++;//鍙互澶氬啓鐐�
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ //鍙互澶氬啓鐐�
}
}
\ No newline at end of file
--
Gitblit v1.9.1