public class TenderingButtonController {
    @AuraEnabled
    public static InitData initTenderingController(String recordId) {
        InitData res = new initData();
        try{
            Tender_information__c report = [SELECT 	OpportunityNum__c,OwnerId,Id,status__c,Name,IsRelateProject__c,TerminateApprovalStatus__c FROM Tender_information__c WHERE Id = :recordId LIMIT 1];
            List<AggregateResult> AccQuery = [SELECT count(id) total_cnt, sum(Opp_StageName_Check__c) stage_cnt, sum(Opp_StatusF_Check__c) statusf_cnt FROM Tender_Opportunity_Link__c WHERE Tender_information__c = :report.Id];
            res.AccSize = AccQuery;
            res.OwnerId = report.OwnerId;
            res.Id = report.Id;
            res.status = report.status__c;
            res.name = report.Name;
            // res.opportunityNum = String.valueOf(report.OpportunityNum__c);
            res.opportunityNum = Integer.valueOf(report.OpportunityNum__c);
            res.isRelateProject = report.IsRelateProject__c;
            res.profileId = UserInfo.getProfileId();
            res.systemProfileId = getProfileIdByName(LightingButtonConstant.SYSTEM_PROFILE_NAME);
            res.TwoS1_Sales_Hospital = getProfileIdByName(LightingButtonConstant.TwoS1_Sales_Hospital);
            res.TwoS1_Sales_Hospital_Non_Singleton = getProfileIdByName(LightingButtonConstant.TwoS1_Sales_Hospital_Non_Singleton );
            res.TwoS2_Sales_Product = getProfileIdByName(LightingButtonConstant.TwoS2_Sales_Product);
            res.TwoS4_Sales_Manager = getProfileIdByName(LightingButtonConstant.TwoS4_Sales_Manager);
            res.TwoS4_Sales_Manager_Non_Singleton  = getProfileIdByName(LightingButtonConstant.TwoS4_Sales_Manager_Non_Singleton);
            res.TwoS4_Sales_Manager_Majordomo  = getProfileIdByName(LightingButtonConstant.TwoS4_Sales_Manager_Majordomo);
            res.TwoS6_Trade_Assistant = getProfileIdByName(LightingButtonConstant.TwoS6_Trade_Assistant);
            res.TwoS6_Sales_Headquarters = getProfileIdByName(LightingButtonConstant.TwoS6_Sales_Headquarters);
            res.TwoS7_Sales_Headquarters = getProfileIdByName(LightingButtonConstant.TwoS7_Sales_Headquarters);
            res.TwoS8_Sales_Administrative_Assistant = getProfileIdByName(LightingButtonConstant.TwoS8_Sales_Administrative_Assistant);
            res.TwoS8_Sales_Administrative_Assistant_Plan = getProfileIdByName(LightingButtonConstant.TwoS8_Sales_Administrative_Assistant_Plan);
            res.TwoS9_Spare = getProfileIdByName(LightingButtonConstant.TwoS9_Spare);
            res.OBA1_Tenderee = getProfileIdByName(LightingButtonConstant.OBA1_Tenderee);
            res.OBA7_Enquiry_Tenderee = getProfileIdByName(LightingButtonConstant.OBA7_Enquiry_Tenderee);
            res.TwoM4_Marketplace_Manager = getProfileIdByName(LightingButtonConstant.TwoM4_Marketplace_Manager);
            res.TerminateApprovalStatus = report.TerminateApprovalStatus__c;
            res.Environment_Url = System.Label.Environment_Url;
            res.NewDaily_Report = Schema.SObjectType.Lead.getRecordTypeInfosByDeveloperName().get('NewDaily_Report').getRecordTypeId();
            
            System.debug(LoggingLevel.INFO, '*** xu: ' + res);
        }catch(Exception e){
            System.debug(LoggingLevel.INFO, '*** xu: ' + e);
        }
        return res;
    }

    @AuraEnabled
    public static string getProfileIdByName(String name){
        Profile profile = null;
        try {
            profile = [select Id from Profile where Name =:name];
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return profile.Id;
    }
    // var sql = "select id from Tender_Opportunity_Link__c where Tender_information__c='" + '{!Tender_information__c.Id}'+ "'";
    // var sqlResult = sforce.connection.query(sql);
    @AuraEnabled
    public static List<Tender_Opportunity_Link__c> sqlResult (String id) {
        try { 
            List<Tender_Opportunity_Link__c> TenderOpportunityLink = [SELECT id FROM Tender_Opportunity_Link__c WHERE Tender_information__c = :id];
            System.debug(LoggingLevel.INFO, '*** xu1: ' + TenderOpportunityLink);
            return TenderOpportunityLink;
        } catch (exception e) {
            System.debug(LoggingLevel.INFO, '*** xu1111111: ' + e);
            throw new AuraHandledException(e.getMessage());
        }
    }

    //招标项目 项目重启
    @AuraEnabled
    public static String projectRestart(String recordId) {
        String messageText = '';
        try {
        Tender_information__c tender = [SELECT 	Id,IsTerminate__c,TerminateApprovalStatus__c,TerminateApprovalTime__c,ProjectRestartFLG__c FROM Tender_information__c WHERE Id = :recordId LIMIT 1];
        // var tender = new sforce.SObject("Tender_information__c");
        tender.Id = tender.Id;
        tender.IsTerminate__c= null;
        tender.TerminateApprovalStatus__c= null;
        tender.TerminateApprovalTime__c= null;
        tender.ProjectRestartFLG__c= true;
        messageText = '1';
        update tender;
        return messageText;
        } catch (Exception ex) {
        System.debug(LoggingLevel.INFO, '*** cancelXu: ' + ex);
        messageText = ex.getMessage();
        return messageText;
        }
    }

    public class InitData{
        @AuraEnabled
        public String Id;
        @AuraEnabled
        public String OwnerId;
        @AuraEnabled
        public String status;
        @AuraEnabled
        public String name;
        @AuraEnabled
        public Integer opportunityNum;
        @AuraEnabled
        public String isRelateProject;
        @AuraEnabled
        public String profileId;
        @AuraEnabled
        public String systemProfileId;
        @AuraEnabled
        public String TwoS1_Sales_Hospital;
        @AuraEnabled
        public String TwoS1_Sales_Hospital_Non_Singleton;
        @AuraEnabled
        public String TwoS2_Sales_Product;
        @AuraEnabled
        public String TwoS4_Sales_Manager;
        @AuraEnabled
        public String TwoS4_Sales_Manager_Non_Singleton;
        @AuraEnabled
        public String TwoS4_Sales_Manager_Majordomo;
        @AuraEnabled
        public String TwoS6_Trade_Assistant;
        @AuraEnabled
        public String TwoS6_Sales_Headquarters;
        @AuraEnabled
        public String TwoS7_Sales_Headquarters;
        @AuraEnabled
        public String TwoS8_Sales_Administrative_Assistant;
        @AuraEnabled
        public String TwoS8_Sales_Administrative_Assistant_Plan;
        @AuraEnabled
        public String TwoS9_Spare;
        @AuraEnabled
        public String OBA1_Tenderee;
        @AuraEnabled
        public String OBA7_Enquiry_Tenderee;
        @AuraEnabled
        public String TwoM4_Marketplace_Manager;
        @AuraEnabled
        public String SalesMarketplaceId;
        @AuraEnabled
        public String Environment_Url;
        @AuraEnabled
        public String NewDaily_Report;
        @AuraEnabled
        public String TerminateApprovalStatus;
        @AuraEnabled
        public List<AggregateResult> AccSize;
    }
}