From 54e9fce17758136f2f5223038d30eeb32439c603 Mon Sep 17 00:00:00 2001
From: 游畅 <youchang@prec-tech.com>
Date: 星期四, 08 十二月 2022 11:01:29 +0800
Subject: [PATCH] 转ET科室事项优化-

---
 force-app/main/default/classes/NewAndEditLeadController.cls              |   29 +
 force-app/main/default/classes/OpportunityAndContactDailyUpdateBatch.cls |  378 +++++++++++++++++++
 force-app/main/default/classes/StatusPageController.cls                  |   70 +++
 force-app/main/default/pages/FollowPage.page                             |   98 +++-
 force-app/main/default/classes/InquiryFormHandler.cls                    |  548 ++++++++++++++++++++++++++--
 5 files changed, 1,017 insertions(+), 106 deletions(-)

diff --git a/force-app/main/default/classes/InquiryFormHandler.cls b/force-app/main/default/classes/InquiryFormHandler.cls
index 0f96d2d..4ae3a15 100644
--- a/force-app/main/default/classes/InquiryFormHandler.cls
+++ b/force-app/main/default/classes/InquiryFormHandler.cls
@@ -1,12 +1,12 @@
 public without sharing class InquiryFormHandler extends Oly_TriggerHandler {
-		private Map<Id, Inquiry_form__c> newMap;
-	    private Map<Id, Inquiry_form__c> oldMap;
-	    private List<Inquiry_form__c> newList;
-	    private List<Inquiry_form__c> oldList;
+    private Map<Id, Inquiry_form__c> newMap;
+      private Map<Id, Inquiry_form__c> oldMap;
+      private List<Inquiry_form__c> newList;
+      private List<Inquiry_form__c> oldList;
 
     public InquiryFormHandler(){
 
- 		this.newMap = (Map<Id, Inquiry_form__c>) Trigger.newMap;
+     this.newMap = (Map<Id, Inquiry_form__c>) Trigger.newMap;
         this.oldMap = (Map<Id, Inquiry_form__c>) Trigger.oldMap;
         this.newList = (List<Inquiry_form__c>) Trigger.new;
         this.oldList = (List<Inquiry_form__c>) Trigger.old;
@@ -40,12 +40,16 @@
         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)) {
                 oObj = oldMap.get(nnObj.Id);
             }
-            if (String.isNotBlank(nnObj.Hospital_Name__c) && (Trigger.isInsert || oObj.Hospital_Name__c != nnObj.Hospital_Name__c || System.Label.Inquiry_form_flag == 'True')) {
+            if (String.isNotBlank(nnObj.Hospital_Name__c) && (Trigger.isInsert || oObj.Hospital_Name__c != nnObj.Hospital_Name__c)) {// || System.Label.Inquiry_form_flag == 'True')
                 depIDList.add(nnObj.Hospital_Name__c);
             }
             if (Trigger.isUpdate && String.isBlank(nnObj.Hospital_Name__c)){
@@ -54,17 +58,47 @@
                 nnObj.Department_Class__c = null; //鎴樼暐绉戝
                 nnObj.HospitalName__c = null;     //鍖婚櫌鍚�
                 nnObj.Hospital__c = null;         //鍖婚櫌
+                nnObj.CreateDate__c = null;      //鍒涘缓鏃�
             }
-            //20220419 you SWAG-CBUB2W start
-            //鍏紡鑰冩枃鏈�  缁橣SE鎷呭綋璧嬪��
-            System.debug(nnObj.FSE_Owner_id__c+'==123=='+nnObj.FSE_Owner__c);
-            if(nnObj.FSE_Owner_id__c != nnObj.FSE_Owner__c){
-                nnObj.FSE_Owner__c = nnObj.FSE_Owner_id__c;
+            //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.鏈窡杩�';
+                }
+                
             }
-            if(Trigger.isInsert && (nnObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') !=-1 || nnObj.ServiceCorrespond__c ==true)){
-                nnObj.Service_Status__c ='01.鏈窡杩�';
-            }
-            //20220419 you SWAG-CBUB2W end
+            //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) {
@@ -78,17 +112,33 @@
                 }
             }   
         }
-        
+        //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;                 //鍖婚櫌
             }
+
+
             
-        	//浜у搧淇℃伅鐨勬嫾鎺�
+          //浜у搧淇℃伅鐨勬嫾鎺�
             if (String.isNotBlank(nObj.Product1__c) && String.isNotBlank(nObj.Product1_Manual__c)){
                 nObj.Product1__c = nObj.Product1__c +';'+nObj.Product1_Manual__c;
             }else if (String.isBlank(nObj.Product1__c) && String.isNotBlank(nObj.Product1_Manual__c)){
@@ -111,60 +161,206 @@
             }
             
             nObj.Product1_Manual__c = '';
+             //20220419 you SWAG-CBUB2W start
+            //鍏紡鑰冩枃鏈�  缁橣SE鎷呭綋璧嬪�� 杩欐蹇呴』鏀惧湪杩欙紝鍥犱负鏂板垱寤虹殑鏁版嵁锛屽瓨鍦ㄧ瀹や负绌虹殑鎯呭喌锛�
+            System.debug(nObj.FSE_Owner_id__c+'==123=='+nObj.FSE_Owner__c);
+            if(nObj.FSE_Owner_id__c != nObj.FSE_Owner__c){
+                nObj.FSE_Owner__c = nObj.FSE_Owner_id__c;
+            }
+            if(Trigger.isInsert){
+                if( nObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') !=-1 || nObj.ServiceCorrespond__c ==true){
+                    nObj.Service_Status__c ='01.鏈窡杩�';
+                }
+                if(String.isBlank(nObj.Hospital_Name__c)){
+                    nObj.CreateDate__c = null;      //鍒涘缓鏃�
+                }else{
+                    nObj.CreateDate__c = Date.today();
+                }
+            }
+            if(Trigger.isUpdate){
+
+                if((nObj.Request1__c != oldMap.get(nObj.Id).Request1__c && nObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') !=-1) || (nObj.ServiceCorrespond__c != oldMap.get(nObj.Id).ServiceCorrespond__c &&  nObj.ServiceCorrespond__c ==true)){
+                    if(String.isBlank(nObj.Service_Status__c)){
+                       nObj.Service_Status__c ='01.鏈窡杩�';
+                    }else{
+
+                    }
+                }else if( nObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') ==-1 && nObj.ServiceCorrespond__c ==false){
+                    nObj.Service_Status__c ='';
+                }
+                if(nObj.Hospital_Name__c !=  oldMap.get(nObj.Id).Hospital_Name__c && String.isBlank(oldMap.get(nObj.Id).Hospital_Name__c)){
+                    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;
+                String date3;
+                String date4;
+                if(null != nObj.No_Need_Date__c){
+                  date1=String.valueOf(nObj.No_Need_Date__c);
+                }
+                if(null != nObj.Follow_Date__c){
+                  date2=String.valueOf(nObj.Follow_Date__c);
+                }
+                if(null != nObj.Confirmation_Date__c){
+                  date3=String.valueOf(nObj.Confirmation_Date__c);
+                }
+                if(null != nObj.Service_Follow_Date__c){
+                  date4=String.valueOf(nObj.Service_Follow_Date__c);
+                }
+
+                //鏂规硶璋冪敤 
+                 Date date_MD;
+                 if((String.isNotBlank(date1) && nObj.No_Need_Date__c !=oldMap.get(nObj.Id).No_Need_Date__c) || (String.isNotBlank(date2) && nObj.Follow_Date__c !=oldMap.get(nObj.Id).Follow_Date__c) || (String.isNotBlank(date3) && nObj.Confirmation_Date__c !=oldMap.get(nObj.Id).Confirmation_Date__c) || (String.isNotBlank(date4) && nObj.Service_Follow_Date__c !=oldMap.get(nObj.Id).Service_Follow_Date__c)){
+                    date_MD =getBigTime(date1,date2,date3,date4); 
+                    nObj.MinimumDate__c = date_MD;//鏈�灏忔棩鏈�
+                    String date5 = nObj.CreateDate__c==null?'':String.valueOf(nObj.CreateDate__c);
+                    if(null != nObj.CreateDate__c){
+                         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);
+                         system.debug('璺戣繖浜�3');
+                    }else{
+                         nObj.Confirmation_days__c = null;
+                         system.debug('璺戣繖浜�1');
+                    }
+                   
+                 } 
+                 //澶勭悊鑰佹暟鎹�
+                 if( System.Label.Inquiry_form_flag == 'True' && null != nObj.CreateDate__c){
+                    if(String.isNotBlank(date1) || String.isNotBlank(date2) || String.isNotBlank(date3) || String.isNotBlank(date4)){
+                       date_MD =getBigTime(date1,date2,date3,date4); 
+                       nObj.MinimumDate__c = date_MD;//鏈�灏忔棩鏈�
+                       String date5 = nObj.CreateDate__c==null?'':String.valueOf(nObj.CreateDate__c);
+                       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);
+                    }
+                 }
+                 system.debug('==='+date_MD);
+                }
+            
+            
+
         }
     }
+  
     //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) {
-             Inquiry_form__c oObj = null;
-             System.debug('FSE涓绘媴褰擄細'+nObj.FSE_Owner__c);
+             Inquiry_form__c oObj = null; 
              if (oldMap != null && oldMap.containsKey(nObj.Id)) {
-                 oObj = oldMap.get(nObj.Id);
+                     oObj = oldMap.get(nObj.Id);
              }
-            
 
              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);
              }
-         }
-         System.debug('insertList:'+insertList);
-         System.debug('insertMap1:'+insertMap);
-         System.debug('IDlIST:'+deleteTargetAOIdList);
+             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);
+                 
+             }
+             
+             
+        }
+        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;
@@ -205,7 +401,65 @@
         
      }
      //20220419 you SWAG-CBUB2W end
+ //澶氫釜鏃ユ湡姣旇緝鏈�灏忔棩鏈�
+    public static Date getBigTime(String date1, String date2, String date3, String date4) {
+        system.debug(date1+'======'+date2+'====='+date3);
+         long millis1 =0;
+         Long millis2 =0;
+         Long millis3 =0;
+         Long millis4 =0;
+         List<Long> list_dateDecimal = new List<Long>();
+         if(String.isNotBlank(date1)){
+           millis1 = Datetime.valueOf(date1+' 08:00:05').getTime();
+           list_dateDecimal.add(millis1);
+         }
+         if(String.isNotBlank(date2)){
+           millis2 = Datetime.valueOf(date2+' 08:00:05').getTime();
+           list_dateDecimal.add(millis2);
+         }
+         if(String.isNotBlank(date3)){
+           millis3 = Datetime.valueOf(date3+' 08:00:05').getTime();
+           list_dateDecimal.add(millis3);
+         }
+         if(String.isNotBlank(date4)){
+           millis4 = Datetime.valueOf(date4+' 08:00:05').getTime();
+           list_dateDecimal.add(millis4);
+         }
+         
+         list_dateDecimal.sort();
+         Date date_Mid;
+         if(null !=list_dateDecimal && list_dateDecimal.size()>0){
+             Long aaa=list_dateDecimal[0];
+             DateTime dt =DateTime.newInstance(aaa);
+             date_Mid = dt.dateGmt();
+             // DateTime.newInstance
+             system.debug('鏈�灏忕殑==='+date_Mid+list_dateDecimal);
+         }
+        
+         return date_Mid;
+      
+    }
+//淇╀釜鏃ユ湡涔嬮棿鐨勫伐浣滄棩
+    public integer diff(Datetime sdate, Datetime edate){
+        integer count=0;
+        Date d1 = Date.valueOf(sdate);
+        Date d2 = Date.valueOf(edate);
+        integer wDay = d1.daysBetween(d2) ;
 
+        do{
+        if(sdate.format('EEEE') == 'Saturday') {
+        count++;
+        }
+        if(sdate.format('EEEE') == 'Sunday') {
+        count++;
+        }
+        sdate= sdate.adddays(1);
+        }while(sdate<=edate);
+
+        wDay = wDay-count+1;
+        system.debug('*************'+wDay);
+        return wDay;
+    }
     //瀹㈡埛浜哄憳褰曞叆鍚�,銆愮數璇濄�戙�愰偖绠便�戣嚜鍔ㄥ綍鍏� thh 20220321 start
     // private void getContactInformation(){
     //     List<String> ContactIdList = new List<String>();
@@ -326,4 +580,202 @@
     //     }
         
     // }
+   
+
+     @TestVisible private static void test() {
+        Integer i = 0;
+        
+        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++;
+        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++;
+        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++;
+        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++;
+        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
diff --git a/force-app/main/default/classes/NewAndEditLeadController.cls b/force-app/main/default/classes/NewAndEditLeadController.cls
index 326eb6e..eb1a5fc 100644
--- a/force-app/main/default/classes/NewAndEditLeadController.cls
+++ b/force-app/main/default/classes/NewAndEditLeadController.cls
@@ -37,6 +37,8 @@
     public final string ApiPrefix{get;private set;} //Add By Li Jun 20220403
     public Map<string,string> AWSToSobjectEncryptedMap{get;private set;}
     public string AWSToSobjectEncryptedMapJson{get{return JSON.serialize(AWSToSobjectEncryptedMap);}}
+    public String LeadCreatedDate { get; set; } // XLIU-CFE8M7 20220624 ssm
+    public String VLookUpFieldsJson{get;private set;}
     public NewAndEditLeadController(ApexPages.StandardController controller) {
         ApiPrefix = 'PIBackApi';       
         isDecryptContact = '0';
@@ -57,6 +59,10 @@
             controller.addFields(fieldList);
         }       
         SObject obj = controller.getRecord();    
+
+        // XLIU-CFE8M7 20220624 ssm
+        this.LeadCreatedDate = obj.get('CreatedDate') != null ? Date.newInstance(((Datetime)obj.get('CreatedDate')).year(), ((Datetime)obj.get('CreatedDate')).month(), ((Datetime)obj.get('CreatedDate')).day()).format() : Date.today().format();
+        // this.LeadCreatedDate = Date.today().format();
         
         if(ApexPages.currentPage().getParameters().get('CF00N1000000962np_lkid') != null){
             System.debug('CF00N1000000962np_lkid');
@@ -65,7 +71,7 @@
             ifc = [select Id,AWS_Data_Id__c,Contact_Name__c,Contact_Id__c,Hospital_Name__c,Hospital_ID__c,Department_Class__c,
             Department_ID__c,Opp_Name_Search__c,Opp_Name_Search_ID__c,Campaign__c,
             Campaign_ID__c,Name,Cancel_Reason__c,Phone__c,Email__c,Last_Name__c,LeadSource__c,Opportunity_Division__c,Request1__c,
-            Urgent__c,Inquiry_Num__c from Inquiry_form__c where id = :InquiryFormId];
+            Urgent__c,Inquiry_Num__c,Product_Owner__c from Inquiry_form__c where id = :InquiryFormId];
             System.debug('ifc = ' + ifc);
             if(ifc.Contact_Id__c !=null && ifc.Contact_Id__c != ''){
                 Contact c = [select AWS_Data_Id__c from Contact where id = :ifc.Contact_Id__c];
@@ -76,6 +82,9 @@
             rtTypeId = ApexPages.currentPage().getParameters().get('RecordType');
             obj.put('OwnerId',UserInfo.getUserId());
             obj.put('Inquiry_Num__c',ifc.Inquiry_Num__c);// 20220413 SWAG-CBUB2W you
+            obj.put('owner_not_automatically_update__c',ifc.Product_Owner__c);
+            controller.getRecord().put('LeadSource', ifc.LeadSource__c);
+            // controller.getRecord().put('Lead_Inquiry_form__c', ifc.Id);
         }else if(obj.Id != null){
             //鏇存柊
             isNewMode = false;
@@ -186,6 +195,7 @@
             // 20220420 lt OBSAP end
             obj.put('OwnerId',UserInfo.getUserId());
         }
+        system.debug('RecordTypeId:'+rtTypeId);
         LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Lead','classic');
         layoutSections = LayoutWrapperValue.layoutSections;
         List<String> requiredFieldAPIList = LayoutWrapperValue.requiredFieldAPIList;
@@ -203,6 +213,16 @@
         for (PI_Field_Policy_Detail__c PIDetail : piIntegration.PIDetails) {
             AWSToSobjectEncryptedMap.put(PIDetail.AWS_Field_API__c, PIDetail.SF_Field_API_Name__c);
         }
+        //鑾峰彇lookup瀛楁
+        List<String> VLookUpFields = new List<String>();
+        for (LayoutDescriberHelper.LayoutSection ls : layoutSections) {
+            for (LayoutDescriberHelper.LayoutField lf : ls.layoutFields) {
+                if (lf.fieldAPI != '' && lf.fieldType == 'reference') {
+                    VLookUpFields.add(lf.fieldAPI);
+                }
+            }
+        }
+        VLookUpFieldsJson = Json.serialize(VLookUpFields);
     }
 
     global class Response{
@@ -263,7 +283,12 @@
                 isClone = leads.size() == 0;
             }
             System.debug('isClone---------'+isClone);
-
+            //2022-6-10 yjk SWAG-CEY8GZ start
+            if(leadInfo.Hospital_Name__c != null){
+                Account acc = [select id,Hospital__c from Account where id= :leadInfo.Hospital_Name__c];
+                leadInfo.hospital__c = acc.Hospital__c;
+            }
+            //2022-6-10 yjk SWAG-CEY8GZ end
             if(isNew || isClone){
                 System.debug('leadInfozhj = ' + leadInfo);
                 if(!Test.isRunningTest()){
diff --git a/force-app/main/default/classes/OpportunityAndContactDailyUpdateBatch.cls b/force-app/main/default/classes/OpportunityAndContactDailyUpdateBatch.cls
index e5baedd..530bac2 100644
--- a/force-app/main/default/classes/OpportunityAndContactDailyUpdateBatch.cls
+++ b/force-app/main/default/classes/OpportunityAndContactDailyUpdateBatch.cls
@@ -59,7 +59,7 @@
         system.debug(runTarget);
     }
 
-	global Database.QueryLocator start(Database.BatchableContext BC) {
+    global Database.QueryLocator start(Database.BatchableContext BC) {
         if (salesdepartment == null || salesdepartment == '') {
             query = ' select Id,FSE_Main__c,GI_Main__c,SP_Main__c,GI_Product_Leader__c,GS_Product_Leader__c,GYN_Product_Leader__c,BF_owner__c, ';
             query += 'ET_Product_Leader__c,BF_Product_Leader__c,ENT_Product_Leader__c,FSE_GI_Vice_Leader__c,FSE_SP_Vice_Leader__c,GYN_owner__c,';
@@ -69,7 +69,7 @@
             query += 'ENT_owner_ID__c,Original_Date_Flag__c,ET_owner__c,URO_owner_ID__c ,URO_Produc_Leader__c,FSE_SP_Main_Leader__c, FSE_GI_Main_Leader__c, ParentId, OwnerId,Energy_LeaderStr__c,FSE_Extend_viceLeaderStr__c,Extend_Leader_Str__c,';
             query += 'FSE_Main__r.IsActive ,GI_Main__r.IsActive ,URO_owner_ID__r.IsActive ,ET_owner__r.IsActive ,';
             query += 'ENT_owner_ID__r.IsActive ,BF_owner__r.IsActive ,SP_Main__r.IsActive ,GYN_owner__r.IsActive ';
-            query += ' from Account where Is_Active__c = \'鏈夊姽\' and RecordType.DeveloperName = \'HP\'';
+            query += ' from Account where Is_Active__c = \'鏈夊姽\' and RecordType.DeveloperName = \'HP\' and Id=\'0011000000V9UKl\'';
             if (runTarget != null && runTarget.size() > 0) {
                 query += ' and id = :runTarget ';
             }
@@ -89,6 +89,7 @@
             ' Salesdepartment_HP__c = \'' + salesdepartment + '\'';
         }
         system.debug('=====query:' + query);
+        //Id=\'0011000000V9OGP\' and  娴嬭瘯鐢� 缁欎竴鏉″鎴穒d
         return Database.getQueryLocator(query);
     
     }
@@ -97,27 +98,52 @@
          List<Account> deptClassUpdateList = [select Id, RecordType.DeveloperName, Parent.Original_Date_Flag__c, ParentId, Parent.ownerId, Parent.owner.Alias__c, OwnerId from Account where Parent.Is_Active__c = '鏈夊姽' and Parent.RecordType.DeveloperName = 'HP' and Hospital_Department_Class__c = :hpList order by Hospital_Department_Class__c, Account_Sort__c];
 
          List<Account> deptUpdateList = [select Id, RecordType.DeveloperName, Parent.Parent.Original_Date_Flag__c, Parent.owner.Alias__c, Parent.ParentId, Parent.Parent.ownerId, OwnerId from Account where Parent.Parent.Is_Active__c = '鏈夊姽' and Parent.Parent.RecordType.DeveloperName = 'HP' and Hospital__c = :hpList order by Hospital__c, Account_Sort__c];
-		 
+         
          AccountDailyUpdateBatch.updateFromHosToContact(deptUpdateList, iflog);
          updateFromHosToContact(deptUpdateList, iflog);
          //20220415 you SWAG-CBUB2W start 
          updateFromHosToInquiryForm(deptUpdateList, iflog);
          //20220415 you SWAG-CBUB2W end
+
+         //20220509 you SWAG-CBUB2W start 
+         updateFromHosToInquiryFormFSEMain(hpList, iflog);
+         //20220509 you SWAG-CBUB2W end
     }
      //鍚屾鎵�灞炵殑璇环锛堜笟鍔℃満浼氾級鐨勬墍鏈変汉
     public static void updateFromHosToContact(List<Account> deptUpdateList, BatchIF_Log__c iflog) {
-		 List<Opportunity> updateOpportunityList =
+         List<Opportunity> updateOpportunityList =
             [select id, Ownerid, Account.ownerId from Opportunity
         where Accountid in:deptUpdateList
         and isOwnerDiffWithAccount__c = true
             AND owner_not_automatically_update__c = FALSE ];
+        //20220928 you SWAG-CJP7TL start
+        system.debug('deptUpdateList==='+deptUpdateList);
+        Map<Id,String> mapoppid = new Map<Id,String>();
         for (Opportunity opp : updateOpportunityList) {
             if (opp.Ownerid != opp.Account.ownerId) {
                 opp.Ownerid = opp.Account.ownerId;
+                mapoppid.put(opp.id,opp.Account.ownerId);
             }
         }
+        List<Task__c> taskList = [
+                SELECT Id,OpportunityId__c,taskStatus__c 
+                FROM task__c 
+                WHERE OpportunityId__c in :mapoppid.keySet()
+                AND (RecordType.Name = '涓爣缁撴灉纭' OR RecordType.Name = '澶卞崟鎶ュ憡浠诲姟')
+                AND taskStatus__c = '02 鎺ュ彈'];
+        system.debug(mapoppid.keySet()+'test1-----'+taskList);
+        for(Task__c t: taskList){
+            if(mapoppid.containsKey(t.OpportunityId__c)){
+               t.Ownerid = mapoppid.get(t.OpportunityId__c);
+               t.assignee__c = mapoppid.get(t.OpportunityId__c);
+            }
+                       
+        }    
+
         Integer indexCon = 0;
         Database.SaveResult[] lsrUpdateCon = Database.update(updateOpportunityList, false);
+        Database.SaveResult[] lsrUpdatetask = Database.update(taskList, false);
+        //20220928 you SWAG-CJP7TL end
         for (Database.SaveResult lsrChild : lsrUpdateCon) {
             if (!lsrChild.isSuccess()) {
                 iflog.Is_Error__c = 3;
@@ -134,12 +160,17 @@
      //鍚屾鎵�灞炵殑浜у搧鍜ㄨ鍗曠殑鎵�鏈変汉
     public static void updateFromHosToInquiryForm(List<Account> deptUpdateList, BatchIF_Log__c iflog) {
          List<Inquiry_form__c> updateInquiryFormList =
-            [select id, Ownerid, Hospital_Name__r.ownerId from Inquiry_form__c
+            [select id, Ownerid,Depart_Owner__c,Product_Owner__c, Hospital_Name__r.ownerId from Inquiry_form__c
         where Hospital_Name__c in:deptUpdateList
         and isOwnerDiffWithAccount__c = true ];
         for (Inquiry_form__c ifo : updateInquiryFormList) {
             if (ifo.Ownerid != ifo.Hospital_Name__r.ownerId) {
-                ifo.Ownerid = ifo.Hospital_Name__r.ownerId;
+                ifo.Depart_Owner__c = ifo.Hospital_Name__r.ownerId;
+                //20221128 you DB202211530484  褰撳嬀閫� 杞骇鍝佹媴褰撴椂锛屾墍鏈変汉鍙互鎵嬪姩鏇存敼锛屼笉闇�瑕佸悓姝ヨ窡绉戝鎵�鏈変汉涓�鑷�
+                if(ifo.Product_Owner__c == false){
+                    ifo.Ownerid = ifo.Hospital_Name__r.ownerId;
+                }
+                
             }
         }
         Integer indexCon = 0;
@@ -156,7 +187,40 @@
         }
 
     }
+
     //20220415 you SWAG-CBUB2W end 
+    //20220509 you SWAG-CBUB2W start 
+    //FSE涓绘媴褰撳彉鍖�
+     public static void updateFromHosToInquiryFormFSEMain(List<SObject> hpList, BatchIF_Log__c iflog) {
+         List<Inquiry_form__c> updateInquiryFormFSEList =
+            [select id, Ownerid,Hospital_Name__c,Hospital_Name__r.Name, Hospital_Name__r.ownerId,FSE_Owner__c,
+            Hospital_Name__r.Parent.Parent.FSE_GI_Main_Leader__c,Hospital_Name__r.Parent.Parent.FSE_SP_Main_Leader__c from Inquiry_form__c
+        where Hospital__c in:hpList
+        and isFSEDiffWithAccount__c = true ];
+        for (Inquiry_form__c ifo : updateInquiryFormFSEList) {
+            if (String.isNotBlank(ifo.Hospital_Name__r.Name) && (ifo.Hospital_Name__r.Name.contains('娑堝寲') || ifo.Hospital_Name__r.Name.contains('鍛煎惛') || ifo.Hospital_Name__r.Name.contains('ET')) && ifo.FSE_Owner__c != ifo.Hospital_Name__r.Parent.Parent.FSE_GI_Main_Leader__c) {
+                ifo.FSE_Owner__c = ifo.Hospital_Name__r.Parent.Parent.FSE_GI_Main_Leader__c;
+                
+            }
+            if(String.isNotBlank(ifo.Hospital_Name__r.Name) && !ifo.Hospital_Name__r.Name.contains('娑堝寲')  && !ifo.Hospital_Name__r.Name.contains('鍛煎惛') && !ifo.Hospital_Name__r.Name.contains('ET') &&  ifo.FSE_Owner__c != ifo.Hospital_Name__r.Parent.Parent.FSE_SP_Main_Leader__c){
+               ifo.FSE_Owner__c = ifo.Hospital_Name__r.Parent.Parent.FSE_SP_Main_Leader__c;
+            }
+        }
+        Integer indexCon = 0;
+        Database.SaveResult[] lsrUpdateInq = Database.update(updateInquiryFormFSEList, false);
+        for (Database.SaveResult lsrChild : lsrUpdateInq) {
+            if (!lsrChild.isSuccess()) {
+                iflog.Is_Error__c = 3;
+                Database.Error emsg = lsrChild.getErrors()[0];
+                iflog.ErrorLog__c += 'ownerId: ' + updateInquiryFormFSEList.get(indexCon).ownerId + ' \n'
+                                     + 'InquiryFormID: ' + updateInquiryFormFSEList.get(indexCon).Id + '\n ConLog:' + emsg.getMessage() + '\n';
+
+            }
+            indexCon ++ ;
+        }
+
+    }
+    //20220509 you SWAG-CBUB2W end
     global void finish(Database.BatchableContext BC) {
         system.debug('=====iflog:' + iflog.id);
         iflog.Log__c += 'OpportunityAndContactDailyUpdateBatch finish()\n';
@@ -191,4 +255,306 @@
         //Database.executeBatch(new ConsumablesApplyOrLendBatch(), 50);
         //20200819 ljh add end
     }
+    
+     @TestVisible private static void test() {
+        Integer i = 0;
+        
+        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++;
+        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++;
+        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++;
+        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++;
+        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++;
+        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++;
+        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
diff --git a/force-app/main/default/classes/StatusPageController.cls b/force-app/main/default/classes/StatusPageController.cls
index fd809ee..da759fa 100644
--- a/force-app/main/default/classes/StatusPageController.cls
+++ b/force-app/main/default/classes/StatusPageController.cls
@@ -1,57 +1,101 @@
-public with sharing class StatusPageController {
+public without sharing class StatusPageController {
     public StatusPageController() {
         Inquiryform = new Inquiry_form__c();
     }
     public Inquiry_form__c Inquiryform{get; set;}
 
     public void init(){
+
         String infId = ApexPages.currentPage().getParameters().get('id');
-    	List<Inquiry_form__c> infList = [SELECT id,Reasons_options__c,Opp_Name_Search__c,Follow_Content__c,Follow_Content_Other__c,Status__c,Service_Follow_Content__c,Service_Follow_Content_Other__c,Service_Status__c FROM Inquiry_form__c WHERE id =  :infId];
-    	if (infList.size() == 0) {
-    		
-    	}else{
+        //2022-5-6 yjk SWAG-CBUB2W 澧炲姞鏌ヨ椤�
+      List<Inquiry_form__c> infList = [SELECT id,Reasons_options__c,Opp_Name_Search__c,Opp_Name__c,Hospital__c,Hospital_Name__c,Hospital_ID__c,Follow_Content__c,Follow_Content_Other__c,Status__c,Service_Follow_Content__c,Service_Follow_Content_Other__c,Service_Status__c,Redistribution__c,GotoDepartment__c,Product_Owner__c FROM Inquiry_form__c WHERE id =  :infId];
+      if (infList.size() == 0) {
+        
+      }else{
             Inquiryform = infList[0];
-    	}
+      }
     }
+    //涓嶉渶瑕�
     public void save(){
+
         try{
+            
             if (String.isBlank(Inquiryform.Reasons_options__c)) {
                 ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '涓嶉渶瑕佺悊鐢变笉鑳戒负绌�'));
                 return;
             }
+            //2022-5-5 yjk SWAG-CBUB2W start
+            /*if (Inquiryform.Reasons_options__c == '宸茬粡鏈夎浠�' && String.isBlank(Inquiryform.Opp_Name__c)) {
+                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '宸叉湁璇环鍚嶇О涓嶈兘涓虹┖'));
+                return;
+            }
+            if(!String.isBlank(Inquiryform.Opp_Name__c)){
+                List<Opportunity> OPPList = [select id from Opportunity where name = :Inquiryform.Opp_Name__c and Hospital__c = :Inquiryform.Hospital__c];
+                if(OPPList == NULL || OPPList.size() == 0){
+                    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '璇烽�夋嫨姝g‘鐨勮浠蜂俊鎭�'));
+                    return;
+                }else{
+                    Inquiryform.Opp_Name_Search__c = OPPList.get(0).id;
+                }
+            }*/
+            
             if (Inquiryform.Reasons_options__c == '宸茬粡鏈夎浠�' && String.isBlank(Inquiryform.Opp_Name_Search__c)) {
                 ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '宸叉湁璇环鍚嶇О涓嶈兘涓虹┖'));
                 return;
             }
+
+
+            //2022-5-5 yjk SWAG-CBUB2W end
             Inquiryform.Status__c = '02.涓嶉渶瑕�';
+
             update Inquiryform;
+
         }catch (Exception ex){
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, ex.getMessage()));
         }
     }
+    //钀ヤ笟璺熻繘
     public void savefo(){
         try {
+            //20220606 LLIU-CEGCRB you start
+            /**
             if (String.isBlank(Inquiryform.Follow_Content__c) && String.isBlank(Inquiryform.Follow_Content_Other__c)) {
                 ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '璺熻繘鍐呭涓嶈兘涓虹┖'));
             }
             if (String.isBlank(Inquiryform.Follow_Content__c)) {
                 ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '璺熻繘鍐呭涓嶈兘涓虹┖'));
             }
+            **/
+            if(false != Inquiryform.Redistribution__c && String.isBlank(Inquiryform.GotoDepartment__c)){
+                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鍕鹃�夋椂蹇呴』濉啓杞嚦绉戝'));
+            }
+            if(false == Inquiryform.Redistribution__c && String.isNotBlank(Inquiryform.GotoDepartment__c)){
+                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鏈嬀閫夋椂涓嶈兘濉啓杞嚦绉戝'));
+            } 
+            //20220606 LLIU-CEGCRB you end
             if ('鍏朵粬'.equals(Inquiryform.Follow_Content__c) && String.isBlank(Inquiryform.Follow_Content_Other__c)) {
                 ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '璺熻繘鍐呭锛堝叾浠栵級涓嶈兘涓虹┖'));
             }
             // Date nowDT = Date.now();
-            //20220418 you SWAG-CBUB2W start
-            if(String.isNotBlank(Inquiryform.Follow_Content__c) && Inquiryform.Follow_Content__c.indexOf('鏈嶅姟瀵瑰簲')!=-1){
+            //20220418 you SWAG-CBUB2W start LLIU-CGK3D2
+            if(String.isNotBlank(Inquiryform.Follow_Content__c) && (Inquiryform.Follow_Content__c.indexOf('浠呴渶鏈嶅姟瀵瑰簲')!=-1 || Inquiryform.Follow_Content__c.indexOf('钀ヤ笟鏈嶅姟鍏卞悓瀵瑰簲')!=-1)){
                Inquiryform.ServiceCorrespond__c = true;
-               Inquiryform.Service_Status__c = '01.鏈窡杩�';
+               //Inquiryform.Service_Status__c = '01.鏈窡杩�'; 鏀惧埌trigger涓鐞嗭紝鍥犱负鍘熸湰瑕佹槸宸茶窡杩涘緱璇濆氨涓嶅姩
+
             }else{
                 Inquiryform.ServiceCorrespond__c = false;
-                Inquiryform.Service_Status__c = '';
+                //Inquiryform.Service_Status__c = '';
+            }
+            
+            if(String.isNotBlank(Inquiryform.Follow_Content__c) ){
+                if(Inquiryform.Follow_Content__c =='浠呴渶鏈嶅姟瀵瑰簲'){
+                  Inquiryform.Status__c = '02.涓嶉渶瑕�';               
+                }else{
+                  Inquiryform.Follow_Date__c = Date.toDay();
+                  Inquiryform.Status__c = '03.宸茶窡杩�'; 
+                }
             }
             //20220418 you SWAG-CBUB2W end
-            Inquiryform.Follow_Date__c = Date.toDay();
-            Inquiryform.Status__c = '03.宸茶窡杩�';
             update Inquiryform;
         }
         catch (Exception ex) {
@@ -59,7 +103,7 @@
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, ex.getMessage()));
         }
     }
-    //20220418 you SWAG-CBUB2W start
+    //20220418 you SWAG-CBUB2W start 鏈嶅姟璺熻繘
     public void servicesavefo(){
         try {
             if (String.isBlank(Inquiryform.Service_Follow_Content__c) && String.isBlank(Inquiryform.Service_Follow_Content_Other__c)) {
diff --git a/force-app/main/default/pages/FollowPage.page b/force-app/main/default/pages/FollowPage.page
index e118b29..49c3962 100644
--- a/force-app/main/default/pages/FollowPage.page
+++ b/force-app/main/default/pages/FollowPage.page
@@ -2,47 +2,71 @@
 <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
 <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
 <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
-<apex:includeScript value="/soap/ajax/29.0/connection.js"/>
-<apex:includeScript value="/soap/ajax/29.0/apex.js"/>
-	<head>
-		<title>璺熻繘</title>
-	</head>
+<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
+<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
+    <head>
+        <title>璺熻繘</title>
+    </head>
     <script type="text/javascript">
-    	function save(){
-    		var content = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:content')).value();
-    		var contentOther = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:contentOther')).value();
-    		if ((content == '' || content == null) && (contentOther.trim() == null || contentOther.trim() == '')) {
-    			alert('璺熻繘鍐呭涓嶈兘涓虹┖锛�');
+        function save(){
+            var content = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:content')).value();
+            var contentOther = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:contentOther')).value();
+            //20220606 LLIU-CEGCRB you 
+            var Redistribution = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:Redistribution')).value();
+            var GotoDepartment = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:GotoDepartment')).value();
+            
+            var ProductOwner = j$(escapeVfId('allPage:allForm:pageBlock:pageBlockSection:ProductOwner')).value();
+            /**if ((content == '' || content == null) && (contentOther.trim() == null || contentOther.trim() == '')) {
+                alert('璺熻繘鍐呭涓嶈兘涓虹┖锛�');
                 return;
-    		}else if (content == '鍏朵粬' && (contentOther.trim() == '' || contentOther.trim() == null)) {
-    			alert('璺熻繘鍐呭锛堝叾浠栵級涓嶈兘涓虹┖锛�');
+            }else **/if (content == '鍏朵粬' && (contentOther.trim() == '' || contentOther.trim() == null)) {
+                alert('璺熻繘鍐呭锛堝叾浠栵級涓嶈兘涓虹┖锛�');
                 return;
-    		}else if (content == '' || content == null) {
-    			alert('璺熻繘鍐呭涓嶈兘涓虹┖锛�');
+            }/**else if (content == '' || content == null) {
+                alert('璺熻繘鍐呭涓嶈兘涓虹┖锛�');
                 return;
-    		}else{
-    			blockme();
-    			allSave();
-    		}
-    	}
-    	function check(){
-    		window.opener.location.href = "/{!Inquiryform.id}";
-    		window.close();
-    	}
+            }**/
+            /**20220726 LLIU-CGK3D2 you  **/
+            else if(content == '浠呴渶鏈嶅姟瀵瑰簲,钀ヤ笟鏈嶅姟鍏卞悓瀵瑰簲'){
+                alert('浠呴渶鏈嶅姟瀵瑰簲鍜岃惀涓氭湇鍔″叡鍚屽搴斿彧鑳介�夋嫨涓�椤癸紒');
+                return;
+            }else if((Redistribution == '' || Redistribution == null) && (null!=GotoDepartment && ''!=GotoDepartment)){
+                alert('鏈嬀閫夋椂涓嶈兘濉啓杞嚦绉戝!');
+            }else if(('' !=Redistribution && null !=Redistribution) && (null==GotoDepartment || GotoDepartment == '')){
+                alert('鍕鹃�夋椂蹇呴』濉啓杞嚦绉戝!');
+            }else if((content == '' || content == null) && (contentOther.trim() == null || contentOther.trim() == '') && (Redistribution == '' || Redistribution == null)  && (null==GotoDepartment || GotoDepartment == '') && (ProductOwner == '' || ProductOwner == null) ){
+                alert('璺熻繘鍐呭鎴栧凡杞崲蹇呴』鏈変竴涓湁鍊�');
+            }else{
+                blockme();
+                allSave();
+            }
+        }
+        function check(){
+            window.opener.location.href = "/{!Inquiryform.id}";
+            window.close();
+        }
     </script>
-	<apex:form id="allForm">
-	    <apex:actionfunction action="{!savefo}" name="allSave" onComplete="check();unblockUI();"></apex:actionfunction>
-		<apex:pageBlock id="pageBlock">
-		    <apex:pageBlockSection id="pageBlockSection">
-					<apex:inputField id="content" value="{!Inquiryform.Follow_Content__c}" />
-					<br />
-					<apex:inputField id="contentOther" value="{!Inquiryform.Follow_Content_Other__c}" style="width: 150px"/>
-					<br />
-			</apex:pageBlockSection>
+    <apex:form id="allForm">
+        <apex:actionfunction action="{!savefo}" name="allSave" onComplete="check();unblockUI();"></apex:actionfunction>
+        <apex:pageBlock id="pageBlock">
+            <apex:pageBlockSection id="pageBlockSection">  
+                   <apex:pageBlockSectionItem ><font color="red">澶囨敞锛氶渶鏈汉瀵瑰簲锛岃鍦ㄦ杩涜鎿嶄綔銆�</font></apex:pageBlockSectionItem><br /><br />
+                    <apex:inputField id="content" value="{!Inquiryform.Follow_Content__c}" />
+                    <br />
+                    <apex:inputField id="contentOther" value="{!Inquiryform.Follow_Content_Other__c}" style="width: 150px"/>
+                    <br />
+                    <apex:pageBlockSectionItem ><font color="red">澶囨敞锛氶潪鏈汉瀵瑰簲锛岃鍦ㄦ閫夋嫨闇�瀵瑰簲鐨勬垬鐣ョ瀹わ紝杩涜杞垎閰嶃��</font></apex:pageBlockSectionItem><br /><br />
+                    <apex:inputField id="Redistribution" value="{!Inquiryform.Redistribution__c}" />
+                    <br />
+                    <apex:inputField id="GotoDepartment" value="{!Inquiryform.GotoDepartment__c}" style="width: 150px"/>
+                    <br />
+                    <apex:inputField id="ProductOwner" value="{!Inquiryform.Product_Owner__c}"/>
+                    <br />
+            </apex:pageBlockSection>
 
-			<apex:pageblockbuttons location="bottom">
-				<apex:commandButton onclick="save();return false;" value="淇濆瓨"></apex:commandButton>
-			</apex:pageblockbuttons>
-		</apex:pageBlock>
-	</apex:form>
+            <apex:pageblockbuttons location="bottom">
+                <apex:commandButton onclick="save();return false;" value="淇濆瓨"></apex:commandButton>
+            </apex:pageblockbuttons>
+        </apex:pageBlock>
+    </apex:form>
 </apex:page>
\ No newline at end of file

--
Gitblit v1.9.1