From edb984edf95f9bb40d580d2a311c45f6ed9dd56d Mon Sep 17 00:00:00 2001
From: Thhto <997058689@qq.com>
Date: 星期五, 11 三月 2022 17:50:40 +0800
Subject: [PATCH] OBPM页面修改和测试类

---
 force-app/main/default/classes/CampaignCreateController.cls |  208 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 199 insertions(+), 9 deletions(-)

diff --git a/force-app/main/default/classes/CampaignCreateController.cls b/force-app/main/default/classes/CampaignCreateController.cls
index 6f30f50..4be57ec 100644
--- a/force-app/main/default/classes/CampaignCreateController.cls
+++ b/force-app/main/default/classes/CampaignCreateController.cls
@@ -1,21 +1,211 @@
 public with sharing class CampaignCreateController {
-    public List<AdjudicationData> AdjudicationDataList{ get; set; }
+    // public List<AdjudicationData> AdjudicationDataList{ get; set; }
+    public AdjudicationData AdjudicationDataobj{ get; set; }
+    public boolean hasError { get; set; }
+    public String MeetingApprovedName{ get; set; }
+    public String flag{ get; set; }
+    public String CampaignTheme{ get; set; }
+    private String RecordTypeId{ get; set; }
+    private String CMRT{ get; set; }
+    private String retURL{ get; set; }
+    private String p8{ get; set; }
+    private String CF00N10000002DIsr{ get; set; }
+    private String ent{ get; set; }
+    private String CF00N10000002DIsr_lkid{ get; set; }
 
     public CampaignCreateController(ApexPages.StandardController controller) {
-
+        RecordTypeId = ApexPages.currentPage().getParameters().get('RecordType');
+        CMRT = ApexPages.currentPage().getParameters().get('CMRT');
+        retURL = ApexPages.currentPage().getParameters().get('retURL');
+        p8 = ApexPages.currentPage().getParameters().get('p8');
+        CF00N10000002DIsr = ApexPages.currentPage().getParameters().get('CF00N10000002DIsr');
+        ent = ApexPages.currentPage().getParameters().get('ent');
+        CF00N10000002DIsr_lkid = ApexPages.currentPage().getParameters().get('CF00N10000002DIsr_lkid');
     }
 
-    public void init(){
-        AdjudicationDataList = new List<AdjudicationData>();
-        AdjudicationData ad = new AdjudicationData();
-        AdjudicationDataList.add(ad);
+    public Pagereference init(){
+        hasError = false;
+        RecordType recordType = [select Id, Name, DeveloperName from RecordType where IsActive = true and id = :RecordTypeId];
+        String RecordTypeName = recordType.DeveloperName;
+        //璁板綍绫诲瀷涓�1.瀛︿細/浼氳鎴栬��6.钀ヤ笟閮ㄤ笓鐢ㄤ細璁殑鏃跺�欐墠璺宠浆灏忛〉闈�
+        if(RecordTypeName == 'Society' || RecordTypeName == 'BusinessTraining'){
+            // AdjudicationDataList = new List<AdjudicationData>();
+            AdjudicationData ad = new AdjudicationData();
+            ad.cam = new Campaign();
+            // 榛樿閫変腑
+            ad.cam.IF_Approved__c = true;
+            // AdjudicationDataList.add(ad);
+            AdjudicationDataobj = ad;
+            return null;
+        } else{
+            String buildUrl = skipBuildPage();
+            PageReference pg = new PageReference(buildUrl);
+            pg.setRedirect(true);
+            return pg;
+        }
+    }
+
+    //鏍囧噯椤甸潰璺宠浆鏂板缓瀛︿細椤甸潰
+    public String skipBuildPage(){
+        String str = '/701/e?cpn1=*';
+        if(RecordTypeId != null){
+            str += '&RecordType=' + RecordTypeId;
+        }
+        if(CMRT != null){
+            str += '&CMRT=' + CMRT;
+        }
+        if(retURL != null){
+            str += '&retURL=' + retURL;
+        }
+        if(p8 != null){
+            str += '&p8=' + p8;
+        }
+        if(CF00N10000002DIsr != null){
+            str += '&CF00N10000002DIsr=' + CF00N10000002DIsr;
+        }
+        if(ent != null){
+            str += '&ent=' + ent;
+        }
+        if(CF00N10000002DIsr_lkid != null){
+            str += '&CF00N10000002DIsr_lkid=' + CF00N10000002DIsr_lkid;
+        }
+        str += '&nooverride=1';
+        return str;
+    }
+    public void changeCheckboxs(){
+        System.debug('flag++++'+flag);
+        if(flag=='0'){
+            AdjudicationDataobj.cam.IF_Approved__c=false;
+        }else if(flag=='1'){
+            AdjudicationDataobj.cam.IF_Approved__c=true;
+        }
+    }
+    //灏忛〉闈㈣烦杞浼氭柊寤洪〉闈�
+    public Pagereference skipPage(){
+        List<String> MeetingApprovedIdList = new List<String>();
+        Map<String, Application_for_Conference_Adjudication__c> MeetingApprovedMap = new Map<String, Application_for_Conference_Adjudication__c>();
+        // for(AdjudicationData ad : AdjudicationDataList){
+            // if(String.isNotBlank(ad.cam.Meeting_Approved_No__c)){
+            //     MeetingApprovedIdList.add(ad.cam.Meeting_Approved_No__c);
+            // }
+        // }
+        if(String.isNotBlank(AdjudicationDataobj.cam.Meeting_Approved_No__c)){
+            MeetingApprovedIdList.add(AdjudicationDataobj.cam.Meeting_Approved_No__c);
+        }
+        List<Application_for_Conference_Adjudication__c> MeetingApprovedList = 
+            [select Id, Name, StartDate__c, EndDate__c, BudgetType__c, OfficeCategory__c, MeetingType__c, WorkshopPlace__c,
+                HostName__c, CooperatorCompany__c, ConveningParticipantsNum__c, ExpectedOlympusAttendance__c,ExpectedHcpAttendance__c,
+                SponsorshipCategory__c, IsPaidToSponsor__c, ActivityTypeName__c, Type_of_adjudication_meeting__c 
+                from Application_for_Conference_Adjudication__c where Id = :MeetingApprovedIdList];
+                
+        for(Application_for_Conference_Adjudication__c afca : MeetingApprovedList){
+            MeetingApprovedMap.put(afca.Id, afca);
+        }
+        String url = skipBuildPage();
+        // for(AdjudicationData ad : AdjudicationDataList){
+            system.debug('123321+++++++===='+AdjudicationDataobj.cam.IF_Approved__c);
+            if(AdjudicationDataobj.cam != null){ 
+                if(AdjudicationDataobj.cam.IF_Approved__c || String.isNotBlank(AdjudicationDataobj.cam.Meeting_Approved_No__c)){
+                    url += '&00N1m000005tHDi=1';
+                }else{
+                    url += '&00N1m000005tHDi=0';
+                }
+            }
+            if(AdjudicationDataobj.cam != null && String.isNotBlank(AdjudicationDataobj.cam.Meeting_Approved_No__c)){
+                Application_for_Conference_Adjudication__c mam = MeetingApprovedMap.get(AdjudicationDataobj.cam.Meeting_Approved_No__c);
+                //浼氳鍐宠缂栫爜鐨凬ame,鏌ユ壘瀛楁璧嬪�糔ame鍜孖D閮借璧嬪��
+                if(String.isNotBlank(mam.Name)){
+                    url += '&CF00N1m000006G5NG=' + mam.Name;
+                }
+                //浼氳鍐宠缂栫爜鐨処D,濡傛灉鏍规嵁鍚嶅瓧鎵惧埌澶氫釜,灏辨牴鎹甀D纭畾鍞竴鐨勪竴涓��
+                url += '&CF00N1m000006G5NG_lkid=' + AdjudicationDataobj.cam.Meeting_Approved_No__c;
+                //寮�濮嬫棩鏈熴�佺粨鏉熸棩鏈熴�佹椿鍔ㄦ�ц川銆佺瀹ゅ垎绫汇�佷細璁被鍨嬨�佷細鍦哄湴鐐广�佷細璁富鍔炴柟銆佷細璁壙鍔炴柟銆佸弬鍔犱汉鏁帮紙鍙紑锛夈�侀璁″弬浼歄lympus浜烘暟
+                if(String.isNotBlank(String.valueOf(mam.StartDate__c))){
+                    url += '&cpn5=' + String.valueOf(mam.StartDate__c).replace('-','/');
+                }
+                if(String.isNotBlank(String.valueOf(mam.EndDate__c))){
+                    url += '&cpn6=' + String.valueOf(mam.EndDate__c).replace('-','/');
+                }
+                if(String.isNotBlank(mam.BudgetType__c)){
+                    url += '&00N100000098OEy=' + mam.BudgetType__c;
+                }
+                if(String.isNotBlank(mam.OfficeCategory__c)){
+                    url += '&00N10000006pwAg=' + mam.OfficeCategory__c;
+                }
+                if(String.isNotBlank(mam.MeetingType__c)){
+                    url += '&00N100000072rGE=' + mam.MeetingType__c;
+                }
+                if(String.isNotBlank(mam.WorkshopPlace__c)){
+                    url += '&00N10000002DGF0=' + mam.WorkshopPlace__c;
+                }
+                if(String.isNotBlank(mam.HostName__c)){
+                    url += '&00N10000008qcCO=' + mam.HostName__c;
+                }
+                if(String.isNotBlank(mam.CooperatorCompany__c)){
+                    url += '&00N10000008qcCT=' + mam.CooperatorCompany__c;
+                }
+                if(String.isNotBlank(String.valueOf(mam.ConveningParticipantsNum__c))){
+                    url += '&00N10000008ptmP=' + mam.ConveningParticipantsNum__c;
+                }
+                if(String.isNotBlank(String.valueOf(mam.ExpectedOlympusAttendance__c))){
+                    url += '&00N1m00000652oO=' + mam.ExpectedOlympusAttendance__c;
+                }
+                //棰勮鍙備細HCP浜烘暟銆佽禐鍔╃被鍒�佽禐鍔╂椤规槸鍚︽敮浠樼粰涓诲姙鏂广�佹椿鍔ㄥ舰寮�
+                if(String.isNotBlank(String.valueOf(mam.ExpectedHcpAttendance__c))){
+                    url += '&00N1m00000652oT=' + mam.ExpectedHcpAttendance__c;
+                }
+                if(String.isNotBlank(mam.SponsorshipCategory__c)){
+                    url += '&00N1m000006fdGn=' + mam.SponsorshipCategory__c;
+                }
+                if(String.isNotBlank(mam.IsPaidToSponsor__c)){
+                    url += '&00N1m000006fcjJ=' + mam.IsPaidToSponsor__c;
+                }
+                if(String.isNotBlank(mam.Type_of_adjudication_meeting__c)){
+                    url += '&00N1m00000652jY=' + mam.Type_of_adjudication_meeting__c;
+                }
+            }
+        // }
+        PageReference pg = new PageReference(url);
+        pg.setRedirect(true);
+        return pg;
+    }
+
+    //璺宠浆鍥炲浼氫富椤甸潰
+    public Pagereference returnPage(){
+        PageReference pg = new PageReference('/701/o');
+        pg.setRedirect(true);
+        return pg;
+    }
+
+    //杩斿洖浼氳瑁佸喅涓婚
+    public void displayDecisionTheme(){
+        Savepoint sp = Database.setSavepoint();
+        try {
+            String aid = '';
+            // for(AdjudicationData ad : AdjudicationDataList){
+            //     if(String.isNotBlank(ad.cam.Meeting_Approved_No__c)){
+            //         aid = ad.cam.Meeting_Approved_No__c;
+            //         break;
+            //     }
+            // }
+            if(String.isNotBlank(AdjudicationDataobj.cam.Meeting_Approved_No__c)){
+                aid = AdjudicationDataobj.cam.Meeting_Approved_No__c;
+                AdjudicationDataobj.cam.IF_Approved__c = true;
+            }
+            
+            Application_for_Conference_Adjudication__c afca = [select Id, CampaignTheme__c from Application_for_Conference_Adjudication__c
+                                                                where id = :aid];
+            //鏌ュ嚭鏉ュ搴旂殑浼氳涓婚浼犵粰鍏ㄥ眬鍙橀噺锛屽墠鍙版樉绀�
+            CampaignTheme = afca.CampaignTheme__c;
+        } catch (System.Exception e) {
+            Database.rollback(sp);
+            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage()));
+            hasError = true;
+        }
     }
 
     public class AdjudicationData{
         public Boolean isAdjudication{ get; set; }
-        public String MeetingReport{ get; set; }
         public Campaign cam{ get; set; }
-        public String MeetingApprovedNo{ get; set; }
-        public String MeetingApprovedNoText{ get; set; }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1