0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

カスタム一括更新ボタン処理

Posted at

リストビューにカスタムボタンをクリックして、選択したレコードを一括処理を実施する。

1.処理成功した場合、正常メッセージ出す・
2.レコードを選択されてなかった場合、レコードを選択してくださいというメッセージ出す。
3.権限ない人がボタンをクリックした場合、権限がない、管理者に問い合わせくださいというメッセージを出す。
image.png

-------開発-------:

1.カスタムボタンの設定

image.png

2.ボタン押下後、メッセージを出す画面の開発
<!--本部長承認(代理入力)ボタンアクション画面 -->
<apex:page standardController="ContractRenewReport_M__c" recordSetVar="objs" extensions="Y15_BulkApproveCtrl" action="{!bulkApprove}" tabStyle="ContractRenewReport_M__c" title="本部長承認(代理入力)">
    <apex:form id="form">
        <apex:pageBlock id="block">
            <apex:pageBlockButtons id="buttons">
                <apex:commandButton value="戻る" title="戻る" action="{!list}"/>
            </apex:pageBlockButtons>
          <apex:pageBlockSection title="情報" showHeader="false" columns="1">
            <apex:pageMessages id="msg"/>
          </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>
3.apexの開発

public class Y15_BulkApproveCtrl {
    
    
    public User loginUser;     // ログインユーザー情報
    public Set<ID> Ids;        //選択したレコードIDセット
    
    public List<ContractRenewReport_M__c> contractRenewReportMList; //契約更新報告書
    public List<ContractRenewReport_3__c> contractRenewReport3List; //【3年前】契約更新報告書
    public List<ContractRenewReport_2__c> contractRenewReport2List; //【2年前】契約更新報告書
    public List<ContractRenewReport_1__c> contractRenewReport1List; //【1年前】契約更新報告書
    public List<ContractRenewReport_H__c> contractRenewReportHList; //【6ヶ月前】契約更新報告書
    
    public Boolean isOPSStaff = false;          //OPS部担当フラグ
    public Boolean isOPSMgr = false;            //OPS部Mgrフラグ
    public Boolean isOPDeputyOfficer = false;   //OP副本部長フラグ
    public Boolean isOPOfficer = false;         //OP本部長フラグ
    public Boolean hasError = false;            //本部長承認(代理入力)時エラーフラグ
    
    public Boolean isDM = false;                //DMフラグ テスト用
    
    /**
     * コンストラクタ
     */
    public Y15_BulkApproveCtrl(ApexPages.StandardSetController stdSetController) {
		
        try{
            contractRenewReportMList = new List<ContractRenewReport_M__c>();
            contractRenewReport3List = new List<ContractRenewReport_3__c>();
            contractRenewReport2List = new List<ContractRenewReport_2__c>();
            contractRenewReport1List = new List<ContractRenewReport_1__c>();
            contractRenewReportHList = new List<ContractRenewReport_H__c>();
            
            //選択したレコードIDセットを取得
            Ids = new Map<ID, ContractRenewReport_M__c>((List<ContractRenewReport_M__c>)stdSetController.getSelected()).keySet();
            
            //ログインユーザ情報取得
			this.getUserInfo();
            
            //役割フラグ設定
            this.setDisplayButtonFlag();
            
            //契約更新報告書リストを取得
            this.getContractRenewReportM();
            //【3年前】契約更新報告書リストを取得
            this.getContractRenewReport3();
            //【2年前】契約更新報告書リストを取得
            this.getContractRenewReport2();
            //【1年前】契約更新報告書リストを取得
            this.getContractRenewReport1();
            //【6ヶ月前】契約更新報告書リストを取得
            this.getContractRenewReporth();


        }catch(exception e){
            //エラーメッセージを出力する
            ApexPages.addMessage(
                new ApexPages.Message(ApexPages.Severity.FATAL,CommonConst.MESSAGE_ERROR_UNEXPECTE));
            ApexPages.addMessages(e);
        }
        
    }
    
    
    
    /**
    * ログインユーザ情報取得
    **/
    public void getUserInfo(){
        try{
            loginUser = [select Id, IsActive, 
                         DepartmentCode__c, 
                         JobCategoryCode__c,
                         OPDeputyOfficer__c,
                         OPOfficer__c
                         from User 
                         where Id=:UserInfo.getUserId()];
        }catch(Exception e) {
            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage(), e.getStackTraceString()));
        }

        
    }
    /**
    * 契約更新報告書情報取得
    **/
    public void getContractRenewReportM(){
        contractRenewReportMList = [Select Id,
                                    Name,
                                    Division__c
                                    From ContractRenewReport_M__c
                                    where Id in :ids];
        
        System.debug('contractRenewReportMList=>:'+contractRenewReportMList);
        
    }    
    
    /**
    * 【3年前】契約更新報告書情報取得
    **/
    public void getContractRenewReport3(){
        contractRenewReport3List = [Select Id,
                                    Name,
                                    OPSConfirmDate_3__c,
                                    OPSConfirmer_3__c,
                                    OPSMgrConfirmDate_3__c,
                                    OPSMgrConfirmer_3__c,
                                    OPOfficeApprovalDate_3__c,
                                    OPOfficeApprover_3__c,
                                    OPDeputyOfficerApprovalDate_3__c,
                                    OPDeputyOfficerApprover_3__c,
                                    ApprovalStatus__c
                                    From ContractRenewReport_3__c
                                    where ContractRenewReport_M__c in :ids AND
                                    ContractRenewReport_M__r.Division__c = '3年前'];
        
        System.debug('contractRenewReport3List=>:'+contractRenewReport3List);
        
    } 
    
    /**
    * 【2年前】契約更新報告書情報取得
    **/
    public void getContractRenewReport2(){
        contractRenewReport2List = [Select Id,
                                    Name,
                                    OPSConfirmDate_2__c,
                                    OPSConfirmer_2__c,
                                    OPSMgrConfirmDate_2__c,
                                    OPSMgrConfirmer_2__c,
                                    OPOfficeApprovalDate_2__c,
                                    OPOfficeApprover_2__c,
                                    OPDeputyOfficerApprovalDate_2__c,
                                    OPDeputyOfficerApprover_2__c,
                                    ApprovalStatus__c
                                    From ContractRenewReport_2__c
                                    where ContractRenewReport_M__c in :ids AND
                                    ContractRenewReport_M__r.Division__c = '2年前'];
        
        System.debug('contractRenewReport2List=>:'+contractRenewReport2List);
        
    } 
    
    /**
    * 【1年前】契約更新報告書情報取得
    **/
    public void getContractRenewReport1(){
        contractRenewReport1List = [Select Id,
                                    Name,
                                    OPSConfirmDate_1__c,
                                    OPSConfirmer_1__c,
                                    OPSMgrConfirmDate_1__c,
                                    OPSMgrConfirmer_1__c,
                                    OPOfficeApprovalDate_1__c,
                                    OPOfficeApprover_1__c,
                                    OPDeputyOfficerApprovalDate_1__c,
                                    OPDeputyOfficerApprover_1__c,
                                    ApprovalStatus__c
                                    From ContractRenewReport_1__c
                                    where ContractRenewReport_M__c in :ids AND
                                    ContractRenewReport_M__r.Division__c = '1年前'];
        
        System.debug('contractRenewReport1List=>:'+contractRenewReport1List);
        
    } 
    
    
    /**
    * 【6ヶ月前】契約更新報告書情報取得
    **/
    public void getContractRenewReportH(){
        contractRenewReportHList = [Select Id,
                                    Name,
                                    OPSConfirmDate_H__c,
                                    OPSConfirmer_H__c,
                                    OPSMgrConfirmDate_H__c,
                                    OPSMgrConfirmer_H__c,
                                    OPOfficeApprovalDate_H__c,
                                    OPOfficeApprover_H__c,
                                    OPDeputyOfficerApprovalDate_H__c,
                                    OPDeputyOfficerApprover_H__c,
                                    ApprovalStatus__c
                                    From ContractRenewReport_H__c
                                    where ContractRenewReport_M__c in :ids AND
                                    ContractRenewReport_M__r.Division__c = '6ヶ月前'];
        
        System.debug('contractRenewReportHList=>:'+contractRenewReportHList);
    } 
    
    /**
     * 役割フラグ設定処理
     **/
    @TestVisible
    private void setDisplayButtonFlag(){
        
        
        /* ★★★★★システム管理者の場合★★★★★ */
        if(UserInfo.getProfileId().contains(system.label.ProfileSystemAdminId)){
            //this.isDM = true;
            //this.isZM = true;
            
            //0309テスト用
            
            //2022/03/08 追加 START
            //this.isAccountZOMgr = true;
            //this.isPublicRelationMgr = true;
            //this.isOPSStaff = true;
            //this.isOPSMgr = true;
            //this.isOPDeputyOfficer = true;
            //this.isOPOfficer = true;
            //this.isLegalStaff = true;
            //this.isLegalMgr = true;
            //this.isLegalGM = true;
            //this.isPublicRelationGM = true;
            //this.canApprove = true;
            //this.canRemand = true;
            //this.canConfirm = true;
            //2022/03/08 追加 END
        }
        /* ★★★★★★★★★★★★★★★★★★★★★★★★★ */
        
        
        
        if(loginUser.DepartmentCode__c == Y15_Const.DEP_CODE_949000 && loginUser.JobCategoryCode__c == Y15_Const.JOB_STAFF){
            //OPS部担当フラグを設定する
            this.isOPSStaff = true;
        }else if(loginUser.DepartmentCode__c == Y15_Const.DEP_CODE_949000 && loginUser.JobCategoryCode__c == Y15_Const.JOB_MGR){
            //OPS部Mgrフラグを設定する
            this.isOPSMgr = true;
        }else if(loginUser.OPDeputyOfficer__c){
            //OPS部Mgrフラグを設定する
            this.isOPDeputyOfficer = true;
        }else if(loginUser.OPOfficer__c){
            //OPS部Mgrフラグを設定する
            this.isOPOfficer = true;
        }
        
        //
        if(!isOPSStaff && !isOPSMgr && !isOPDeputyOfficer && !isOPOfficer){
            //エラーフラグを設定
            this.hasError = true;
        }
        
    }
    
    
    /**
    * 本部長承認(代理入力)処理
    **/
    public PageReference bulkApprove(){
        
        try{
            //本部長承認(代理入力)時エラーがtrueの場合、
            if(this.hasError){
                //その他のユーザの場合、エラーメッセージを表示
                ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, '権限が無い為、本部長承認(代理入力)できません。'));
                return null;
            }
            
            //【3年前】契約更新報告書情報更新リスト
            List<ContractRenewReport_3__c> uppdateContractRenewReport3List = new List<ContractRenewReport_3__c>();
            
            if(contractRenewReport3List.size()>0){
                for(ContractRenewReport_3__c contractRenewReport_3 :contractRenewReport3List){
					System.debug('contractRenewReport_3.ApprovalStatus__c=>:'+contractRenewReport_3.ApprovalStatus__c);
                    //「全体承認状況」が「OPS部Mgr確認済」の場合
                    if(contractRenewReport_3.ApprovalStatus__c == 'OPS部Mgr確認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReport3List.add(new ContractRenewReport_3__c(id = contractRenewReport_3.Id,
                                                                                             OPDeputyOfficerApprovalDate_3__c = system.today(),               //【3年前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_3__c = UserInfo.getName()+'(代理承認)',  //【3年前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_3__c = '確認',                           //【3年前】OP副本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        //ログインユーザがOP副本部長の場合
                        if(isOPDeputyOfficer){
                            uppdateContractRenewReport3List.add(new ContractRenewReport_3__c(id = contractRenewReport_3.Id,
                                                                                             OPDeputyOfficerApprovalDate_3__c = system.today(),               //【3年前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_3__c = UserInfo.getName(),               //【3年前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_3__c = '承認',                           //【3年前】OP副本部長区分
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        
                    }
                    //「全体承認状況」が「副本部長承認済」の場合
                    if(contractRenewReport_3.ApprovalStatus__c == '副本部長承認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReport3List.add(new ContractRenewReport_3__c(id = contractRenewReport_3.Id,
                                                                                             OPOfficeApprovalDate_3__c = system.today(),                      //【3年前】OP本部長承認日
                                                                                             OPOfficeApprover_3__c = UserInfo.getName()+'(代理承認)',         //【3年前】OP本部長承認者
                                                                                             OPOfficerDivision_3__c = '確認',                                 //【3年前】OP本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                        //ログインユーザがOP本部長の場合
                        if(isOPOfficer){
                            uppdateContractRenewReport3List.add(new ContractRenewReport_3__c(id = contractRenewReport_3.Id,
                                                                                             OPOfficeApprovalDate_3__c = system.today(),                      //【3年前】OP本部長承認日
                                                                                             OPOfficeApprover_3__c = UserInfo.getName(),                      //【3年前】OP本部長承認者
                                                                                             OPOfficerDivision_3__c = '承認',                                 //【3年前】OP本部長区分
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                    }
                }//for end
                
            }   
            //【2年前】契約更新報告書情報更新リスト
            List<ContractRenewReport_2__c> uppdateContractRenewReport2List = new List<ContractRenewReport_2__c>();
            
            if(contractRenewReport2List.size()>0){
                for(ContractRenewReport_2__c contractRenewReport_2 :contractRenewReport2List){

                    //「全体承認状況」が「OPS部Mgr確認済」の場合
                    if(contractRenewReport_2.ApprovalStatus__c == 'OPS部Mgr確認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReport2List.add(new ContractRenewReport_2__c(id = contractRenewReport_2.Id,
                                                                                             OPDeputyOfficerApprovalDate_2__c = system.today(),               //【2年前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_2__c = UserInfo.getName()+'(代理承認)',  //【2年前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_2__c = '確認',                           //【2年前】OP副本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        //ログインユーザがOP副本部長の場合
                        if(isOPDeputyOfficer){
                            uppdateContractRenewReport2List.add(new ContractRenewReport_2__c(id = contractRenewReport_2.Id,
                                                                                             OPDeputyOfficerApprovalDate_2__c = system.today(),               //【2年前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_2__c = UserInfo.getName(),               //【2年前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_2__c = '承認',                           //【2年前】OP副本部長区分
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        
                    }
                    //「全体承認状況」が「副本部長承認済」の場合
                    if(contractRenewReport_2.ApprovalStatus__c == '副本部長承認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReport2List.add(new ContractRenewReport_2__c(id = contractRenewReport_2.Id,
                                                                                             OPOfficeApprovalDate_2__c = system.today(),                      //【2年前】OP本部長承認日
                                                                                             OPOfficeApprover_2__c = UserInfo.getName()+'(代理承認)',         //【2年前】OP本部長承認者
                                                                                             OPOfficerDivision_2__c = '確認',                                 //【2年前】OP本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                        //ログインユーザがOP本部長の場合
                        if(isOPOfficer){
                            uppdateContractRenewReport2List.add(new ContractRenewReport_2__c(id = contractRenewReport_2.Id,
                                                                                             OPOfficeApprovalDate_2__c = system.today(),                      //【2年前】OP本部長承認日
                                                                                             OPOfficeApprover_2__c = UserInfo.getName(),                      //【2年前】OP本部長承認者
                                                                                             OPOfficerDivision_2__c = '承認',                                 //【2年前】OP本部長区分
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                    }
                }//for end            
            }
            //【1年前】契約更新報告書情報更新リスト
            List<ContractRenewReport_1__c> uppdateContractRenewReport1List = new List<ContractRenewReport_1__c>();
            
            if(contractRenewReport1List.size()>0){
                for(ContractRenewReport_1__c contractRenewReport_1 :contractRenewReport1List){

                    //「全体承認状況」が「OPS部Mgr確認済」の場合
                    if(contractRenewReport_1.ApprovalStatus__c == 'OPS部Mgr確認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReport1List.add(new ContractRenewReport_1__c(id = contractRenewReport_1.Id,
                                                                                             OPDeputyOfficerApprovalDate_1__c = system.today(),               //【1年前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_1__c = UserInfo.getName()+'(代理承認)',  //【1年前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_1__c = '確認',                           //【1年前】OP副本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        //ログインユーザがOP副本部長の場合
                        if(isOPDeputyOfficer){
                            uppdateContractRenewReport1List.add(new ContractRenewReport_1__c(id = contractRenewReport_1.Id,
                                                                                             OPDeputyOfficerApprovalDate_1__c = system.today(),               //【1年前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_1__c = UserInfo.getName(),               //【1年前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_1__c = '承認',                           //【1年前】OP副本部長区分
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        
                    }
                    //「全体承認状況」が「副本部長承認済」の場合
                    if(contractRenewReport_1.ApprovalStatus__c == '副本部長承認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReport1List.add(new ContractRenewReport_1__c(id = contractRenewReport_1.Id,
                                                                                             OPOfficeApprovalDate_1__c = system.today(),                      //【1年前】OP本部長承認日
                                                                                             OPOfficeApprover_1__c = UserInfo.getName()+'(代理承認)',         //【1年前】OP本部長承認者
                                                                                             OPOfficerDivision_1__c = '確認',                                 //【1年前】OP本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                        //ログインユーザがOP本部長の場合
                        if(isOPOfficer){
                            uppdateContractRenewReport1List.add(new ContractRenewReport_1__c(id = contractRenewReport_1.Id,
                                                                                             OPOfficeApprovalDate_1__c = system.today(),                      //【1年前】OP本部長承認日
                                                                                             OPOfficeApprover_1__c = UserInfo.getName(),                      //【1年前】OP本部長承認者
                                                                                             OPOfficerDivision_1__c = '承認',                                 //【1年前】OP本部長区分
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                    }
                }//for end            
            }
            
            //【6ヶ月前】契約更新報告書情報更新リスト
            List<ContractRenewReport_H__c> uppdateContractRenewReportHList = new List<ContractRenewReport_H__c>();
            
            if(contractRenewReportHList.size()>0){
                for(ContractRenewReport_H__c contractRenewReport_H :contractRenewReportHList){

                    //「全体承認状況」が「OPS部Mgr確認済」の場合
                    if(contractRenewReport_H.ApprovalStatus__c == 'OPS部Mgr確認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReportHList.add(new ContractRenewReport_H__c(id = contractRenewReport_H.Id,
                                                                                             OPDeputyOfficerApprovalDate_H__c = system.today(),               //【6ケ月前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_H__c = UserInfo.getName()+'(代理承認)',  //【6ケ月前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_H__c = '確認',                           //【6ケ月前】OP副本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        //ログインユーザがOP副本部長の場合
                        if(isOPDeputyOfficer){
                            uppdateContractRenewReportHList.add(new ContractRenewReport_H__c(id = contractRenewReport_H.Id,
                                                                                             OPDeputyOfficerApprovalDate_H__c = system.today(),               //【6ケ月前】OP副本部長承認日
                                                                                             OPDeputyOfficerApprover_H__c = UserInfo.getName(),               //【6ケ月前】OP副本部長承認者
                                                                                             OPDeputyOfficerDivision_H__c = '承認',                           //【6ケ月前】OP副本部長区分
                                                                                             ApprovalStatus__c = '副本部長承認済'));                          // 全体承認状況
                        }
                        
                    }
                    //「全体承認状況」が「副本部長承認済」の場合
                    if(contractRenewReport_H.ApprovalStatus__c == '副本部長承認済'){
                        //ログインユーザがOPS部担当 or ログインユーザがOPS部Mgrの場合
                        if(isOPSStaff || isOPSMgr){
                            uppdateContractRenewReportHList.add(new ContractRenewReport_H__c(id = contractRenewReport_H.Id,
                                                                                             OPOfficeApprovalDate_H__c = system.today(),                      //【6ケ月前】OP本部長承認日
                                                                                             OPOfficeApprover_H__c = UserInfo.getName()+'(代理承認)',         //【6ケ月前】OP本部長承認者
                                                                                             OPOfficerDivision_H__c = '確認',                                 //【6ケ月前】OP本部長区分
                                                                                             SurrogateOPSFlag__c = true,                                      // 代理OPSフラグ
                                                                                             SurrogateFlag__c = true,                                         // 代理フラグ
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                        //ログインユーザがOP本部長の場合
                        if(isOPOfficer){
                            uppdateContractRenewReportHList.add(new ContractRenewReport_H__c(id = contractRenewReport_H.Id,
                                                                                             OPOfficeApprovalDate_H__c = system.today(),                      //【6ケ月前】OP本部長承認日
                                                                                             OPOfficeApprover_H__c = UserInfo.getName(),                      //【6ケ月前】OP本部長承認者
                                                                                             OPOfficerDivision_H__c = '承認',                                 //【6ケ月前】OP本部長区分
                                                                                             ApprovalStatus__c = '本部長承認済'));                            // 全体承認状況
                        }
                    }
                }//for end            
                
            }
            //【3年前】契約更新報告書更新を行う
            if(uppdateContractRenewReport3List.size()>0){
                update uppdateContractRenewReport3List;
            }
            //【2年前】契約更新報告書更新を行う
            if(uppdateContractRenewReport2List.size()>0){
                update uppdateContractRenewReport2List;
            }
            //【1年前】契約更新報告書更新を行う
            if(uppdateContractRenewReport1List.size()>0){
                update uppdateContractRenewReport1List;
            }
            //【6ヶ月前】契約更新報告書更新を行う
            if(uppdateContractRenewReportHList.size()>0){
                update uppdateContractRenewReportHList;
            }
            
            if(uppdateContractRenewReport3List.size()>0 || 
               uppdateContractRenewReport2List.size()>0 || 
               uppdateContractRenewReport1List.size()>0 || 
               uppdateContractRenewReportHList.size()>0 ){
                   ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM, ' 本部長承認(代理入力)が正常に行われました。'));
               }else{
                   //更新リストにレコードが存在しない場合
                   ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, '対象データを選択してください。'));
               }
        }catch(Exception e) {
            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage(), e.getStackTraceString()));
            return null;
        }
        return null;
    }// method end
    

}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?