From 8eeae5a9d806731411df1e542f201573d50bc92b Mon Sep 17 00:00:00 2001
From: 游畅 <youchang@prec-tech.com>
Date: 星期五, 22 四月 2022 18:20:05 +0800
Subject: [PATCH] 运行4月1日起新入职人员和离职人员信息

---
 force-app/main/default/classes/OdsToUserHandler.cls     |   42 ++++++++------
 force-app/main/default/classes/OdsToUserHandlerTest.cls |  131 ++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 144 insertions(+), 29 deletions(-)

diff --git a/force-app/main/default/classes/OdsToUserHandler.cls b/force-app/main/default/classes/OdsToUserHandler.cls
index a4b28bc..beb8d51 100644
--- a/force-app/main/default/classes/OdsToUserHandler.cls
+++ b/force-app/main/default/classes/OdsToUserHandler.cls
@@ -43,7 +43,9 @@
             List<String> employeeNoList = new List<String>();
             for (ODS__c os : newList) {
                 //20220407 LLIU-CCY9TA you 涓存椂鏇存柊鍑犱釜user
+                /** 20220422 杩愯4鏈�1鏃ヨ捣鏂板叆鑱屼汉鍛樺拰绂昏亴浜哄憳淇℃伅 you ,鎵�浠ユ敞閲婃帀 鏀瑰湪涓嬮潰鍔爄f浜�
                 if(String.isNotBlank(os.Employee_No__c) && System.Label.OdsToUserEmployee_No.contains(os.Employee_No__c)){
+                **/
                    if(String.isNotBlank(os.Employee_No__c) && os.Job_Type__c != '鍔冲姟-娲鹃仯' && os.Job_Type__c != '鍔冲姟-涓存椂' && os.Job_Type__c != '鏃�' && String.isNotBlank(os.Job_Type__c) && String.isNotBlank(os.Stay_or_not__c) && String.isNotBlank(os.Email__c))
                    {
                         //鍒ゆ柇email銆佸憳宸ョ紪鐮併�佸悕绉般�丼tay_or_not鍜屽叆鑱屾棩鏈熸槸鍚︿负绌�
@@ -52,24 +54,28 @@
                             //濡傛灉涓簎pdate锛岄偅涔堝垽鏂�兼槸鍚﹀彂鐢熷彉鍖�
                             //鍒ゆ柇鍊兼暟鎹彂鐢熷彉鍖�
                             if(Trigger.isUpdate){
-                                //缁熸嫭鏈儴銆佹湰閮ㄣ�侀儴銆佽銆佸憳宸ョ紪鐮併�佸叆鑱屾棩鏈熴�佺數瀛愰偖浠躲�佹墜鏈哄彿鐮併�佽亴浣嶃�佽亴绉嶃�佽礋璐d骇鍝侊紙涓伙級銆侀攢鍞伐浣滃唴瀹广�佸伐浣滃湴銆佸湪鑱�/宸茬鑱屻�佺鑱屾棩鏈�
-                                //浠ヤ笂瀛楁鐨勫�兼槸鍚﹀彂鐢熷彉鎹�
-                                //濡傛灉鍙戠敓鍙樺寲锛岄偅涔堟洿鏂皍ser琛ㄦ暟鎹紝user琛ㄦ洿鏂癱ontact琛ㄦ暟鎹�
-                                if(os.Category3__c != oldMap.get(os.id).Category3__c || os.Category4__c != oldMap.get(os.id).Category4__c 
-                                    || os.Category5__c != oldMap.get(os.id).Category5__c || os.Category6__c != oldMap.get(os.id).Category6__c 
-                                    || os.Employee_No__c != oldMap.get(os.id).Employee_No__c || os.Hire_Date__c != oldMap.get(os.id).Hire_Date__c 
-                                    || os.Email__c != oldMap.get(os.id).Email__c || os.MobilePhone__c != oldMap.get(os.id).MobilePhone__c 
-                                    || os.Post__c != oldMap.get(os.id).Post__c || os.Job_Category__c != oldMap.get(os.id).Job_Category__c 
-                                    || os.Product_specialist_incharge_product__c != oldMap.get(os.id).Product_specialist_incharge_product__c 
-                                    || os.Sales_Speciality__c != oldMap.get(os.id).Sales_Speciality__c || os.Work_Location__c != oldMap.get(os.id).Work_Location__c
-                                    || os.Stay_or_not__c != oldMap.get(os.id).Stay_or_not__c || os.LeaveDate__c != oldMap.get(os.id).LeaveDate__c 
-                                    || os.Name__c != oldMap.get(os.Id).Name__c || os.Null_Update__c != oldMap.get(os.Id).Null_Update__c
-                                    // SWAG-CBP5DY鐨勫巻鍙叉暟鎹娇鐢ㄧ┖鏇存柊澶勭悊 thh 20220224 start
-                                    || (System.Label.onlyupdate == '1' && UserInfo.getUserId() == '00510000005sEEMAA2'))
-                                    // SWAG-CBP5DY鐨勫巻鍙叉暟鎹娇鐢ㄧ┖鏇存柊澶勭悊 thh 20220224 end
-                                    {
-                                    employeeNoList.add(os.Employee_No__c.trim());
+                                //涓嬮潰寰梚f鏄柊澧炲緱 20220422 you LLIU-CCY9TA 鏇存柊寰楁椂鍊欏彧鏈夊叆鑱屾棩鏈熷拰绂昏亴鏃ユ湡鏈夋洿鏂板湪鏇存柊锛屽叾浣欎竴寰嬩笉鏇存柊
+                                if(os.LeaveDate__c != oldMap.get(os.id).LeaveDate__c || os.Hire_Date__c != oldMap.get(os.id).Hire_Date__c ){
+                                    //缁熸嫭鏈儴銆佹湰閮ㄣ�侀儴銆佽銆佸憳宸ョ紪鐮併�佸叆鑱屾棩鏈熴�佺數瀛愰偖浠躲�佹墜鏈哄彿鐮併�佽亴浣嶃�佽亴绉嶃�佽礋璐d骇鍝侊紙涓伙級銆侀攢鍞伐浣滃唴瀹广�佸伐浣滃湴銆佸湪鑱�/宸茬鑱屻�佺鑱屾棩鏈�
+                                    //浠ヤ笂瀛楁鐨勫�兼槸鍚﹀彂鐢熷彉鎹�
+                                    //濡傛灉鍙戠敓鍙樺寲锛岄偅涔堟洿鏂皍ser琛ㄦ暟鎹紝user琛ㄦ洿鏂癱ontact琛ㄦ暟鎹�
+                                    if(os.Category3__c != oldMap.get(os.id).Category3__c || os.Category4__c != oldMap.get(os.id).Category4__c 
+                                        || os.Category5__c != oldMap.get(os.id).Category5__c || os.Category6__c != oldMap.get(os.id).Category6__c 
+                                        || os.Employee_No__c != oldMap.get(os.id).Employee_No__c || os.Hire_Date__c != oldMap.get(os.id).Hire_Date__c 
+                                        || os.Email__c != oldMap.get(os.id).Email__c || os.MobilePhone__c != oldMap.get(os.id).MobilePhone__c 
+                                        || os.Post__c != oldMap.get(os.id).Post__c || os.Job_Category__c != oldMap.get(os.id).Job_Category__c 
+                                        || os.Product_specialist_incharge_product__c != oldMap.get(os.id).Product_specialist_incharge_product__c 
+                                        || os.Sales_Speciality__c != oldMap.get(os.id).Sales_Speciality__c || os.Work_Location__c != oldMap.get(os.id).Work_Location__c
+                                        || os.Stay_or_not__c != oldMap.get(os.id).Stay_or_not__c || os.LeaveDate__c != oldMap.get(os.id).LeaveDate__c 
+                                        || os.Name__c != oldMap.get(os.Id).Name__c || os.Null_Update__c != oldMap.get(os.Id).Null_Update__c
+                                        // SWAG-CBP5DY鐨勫巻鍙叉暟鎹娇鐢ㄧ┖鏇存柊澶勭悊 thh 20220224 start
+                                        || (System.Label.onlyupdate == '1' && UserInfo.getUserId() == '00510000005sEEMAA2'))
+                                        // SWAG-CBP5DY鐨勫巻鍙叉暟鎹娇鐢ㄧ┖鏇存柊澶勭悊 thh 20220224 end
+                                        {
+                                        employeeNoList.add(os.Employee_No__c.trim());
+                                    }
                                 }
+                                
                             }else{
                                 employeeNoList.add(os.Employee_No__c.trim());
                             }
@@ -77,7 +83,7 @@
                             System.debug('--------------Email__c:'+os+'----Employee_No__c:'+os.Employee_No__c+'-----Stay_or_not__c:'+os.Stay_or_not__c+'-------Name__c:'+os.Name__c+'--------Hire_Date__c:'+os.Hire_Date__c+' 涓虹┖');
                         }
                    }
-                }
+               /** }**/
                 
             }
 
diff --git a/force-app/main/default/classes/OdsToUserHandlerTest.cls b/force-app/main/default/classes/OdsToUserHandlerTest.cls
index 0e27d92..39209cf 100644
--- a/force-app/main/default/classes/OdsToUserHandlerTest.cls
+++ b/force-app/main/default/classes/OdsToUserHandlerTest.cls
@@ -5,6 +5,100 @@
  */
 @isTest
 private class OdsToUserHandlerTest {
+// AWSServiceTool2娌′笂绾垮氨鎶婅繖閮ㄥ垎娉ㄩ噴 start 20220408
+   @TestSetup
+    static void setup(){
+        TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Agency_Contact__c','Contact'});
+    } 
+    
+  @isTest
+    static void Test1(){
+        Test.setMock(HttpCalloutMock.class, new HttpMock());
+
+        List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
+        lra.add(new Agency_Contact__c(
+        ));
+        insert lra;
+        Test.startTest();
+        //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
+        AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
+        AWSServiceTool2.EncryptPushFuture(null,null);
+        Test.stopTest();
+    }
+
+  @isTest
+    static void Test2(){
+        Test.setMock(HttpCalloutMock.class, new HttpMock());
+
+        List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
+        lra.add(new Agency_Contact__c(
+            Aws_Data_Id__c = '123456'
+        ));
+        insert lra;
+        Test.startTest();
+        //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
+        AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
+        Test.stopTest();
+    }
+
+    @isTest
+    static void Test3(){
+        Test.setMock(HttpCalloutMock.class, new HttpMock());
+
+
+        Test.startTest();
+        AWSServiceTool2.EncryptPushData(new string[]{'0031000000O4Cff'});
+
+        Test.stopTest();
+    }
+
+  //@isTest
+  //  static void Test2(){
+  //      Test.setMock(HttpCalloutMock.class, new HttpMock());
+
+  //      List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
+  //      lra.add(new Agency_Contact__c(
+  //          Id = 'a2R1m0000007BPD',
+  //          Aws_Data_Id__c = '123456'
+  //      ));
+  //      Test.startTest();
+  //      //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
+  //      AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
+  //      Test.stopTest();
+  //  }
+    
+    class HttpMock implements HttpCalloutMock{
+        
+        public HTTPResponse respond(HTTPRequest request) {
+        // 鍒涘缓涓�涓亣鐨勫洖搴�
+        System.debug('------------------------------------------------------');
+        HttpResponse response = new HttpResponse();
+        string body = '';
+        system.debug(request.getEndpoint());
+        if(request.getEndpoint().contains('token')){
+            system.debug('url=token');
+            response.setHeader('Content-Type', 'application/json');
+      body='{ "message": "", "object": "freqfewqfewewfewfew", "status": "", "success": true, "timestamp": 0, "txId": "" }';          
+        } else if(request.getEndpoint().contains('insert')){
+            system.debug('url=Insert');
+            response.setHeader('Content-Type', 'application/json');
+      body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }';          
+        } else if(request.getEndpoint().contains('update')){
+            system.debug('url=update');
+            response.setHeader('Content-Type', 'application/json');
+      body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }';          
+        } else{
+          
+        }
+        
+        response.setBody(body);
+        response.setStatus('OK');
+        response.setStatusCode(200);
+        return response;
+        // }
+    }
+    }
+// AWSServiceTool2娌′笂绾垮氨鎶婅繖閮ㄥ垎娉ㄩ噴 end
     static testMethod void testMethod1() {
         // 鐪�
         Address_Level__c al = new Address_Level__c();
@@ -49,14 +143,14 @@
         dep.Department_Class__c = strategicDep[0].Id;
         dep.Hospital__c = hospital.Id;
         insert dep;
-
-        Contact contact2 = new Contact();
-        contact2.AccountId = dep.Id;
-        contact2.FirstName = '璨换鑰�';
-        contact2.LastName = 'test1缁忛攢鍟�';
-        contact2.Employee_No_manual__c = 'om003901';
-        insert contact2;
-
+// AWSServiceTool2娌′笂绾垮氨鎶婅繖閮ㄥ垎鏀惧紑 start  20220408
+        //Contact contact2 = new Contact();
+        //contact2.AccountId = dep.Id;
+        //contact2.FirstName = '璨换鑰�';
+        //contact2.LastName = 'test1缁忛攢鍟�';
+        //contact2.Employee_No_manual__c = 'om003901';
+        //insert contact2;
+// AWSServiceTool2娌′笂绾垮氨鎶婅繖閮ㄥ垎鏀惧紑 end
         ODS__c ods = new ODS__c();
         ods.ALIAS__C = 'om003901';
         ods.BRANCH__C = '';
@@ -81,9 +175,24 @@
         ods.Stay_or_not__c = '鍦ㄨ亴';
         ods.LeaveDate__c = Date.today();
 
-        insert ods;
+        Test.startTest();
+        try{
+            insert ods;
+            // AWSServiceTool2娌′笂绾垮氨鎶婅繖閮ㄥ垎娉ㄩ噴 start
+            Test.setMock(HttpCalloutMock.class, new HttpMock());
 
-        ods.LeaveDate__c = Date.today();
-        update ods;
+            List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
+            lra.add(new Agency_Contact__c(
+                Id = 'a2R1m0000007BPD',
+                Aws_Data_Id__c = '123456'
+            ));
+            AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
+            // AWSServiceTool2娌′笂绾垮氨鎶婅繖閮ㄥ垎娉ㄩ噴 end
+            ods.LeaveDate__c = Date.today()+1;
+            update ods;
+        }catch(Exception e){
+            system.debug('Exception from upsert file:'+e.getmessage());
+        }
+        Test.stopTest();
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1