/**
 * wangweipeng    2021/08/04
 * 打印点检计划报告书 筛选条件
 */
public with sharing class PrintInspectupReportController {
    //维修合同id
    public String maintenanceContractId{get;set;}

    //是否空白单据
    public String isResultShow{get;set;}
    //是否空白单据 下拉内容
    public static List<SelectOption> isResultShowLOption{get;set;}

    //根据保有设备查询合同
    public String selectAssetType{get;set;}
    //保有设备的下拉内容
    public static List<SelectOption> selectAssetTypeOption{get;set;}

    //战略科室的下拉内容
    public List<CustomData> strategyDepartment{get;set;}
    //科室的下拉内容
    public List<CustomData> department{get;set;}
    //设备的装机地点
    public List<CustomData> installationSite{get;set;}
    //是否分页
    public Boolean isPaging{get;set;}
    
    static {
        isResultShowLOption = new List<SelectOption>();
        isResultShowLOption.add(new SelectOption('', '--无--'));
        isResultShowLOption.add(new SelectOption('1', '空白单据'));
        isResultShowLOption.add(new SelectOption('2', '合同全部'));

        selectAssetTypeOption = new List<SelectOption>();
        selectAssetTypeOption.add(new SelectOption('', '--无--'));
        selectAssetTypeOption.add(new SelectOption('1', '战略科室'));
        selectAssetTypeOption.add(new SelectOption('2', '科室'));
        selectAssetTypeOption.add(new SelectOption('3', '装机地点'));
        selectAssetTypeOption.add(new SelectOption('4', '机身号'));
    }
    public String produceText{get;set;}
    //洗消信息
    public Boolean activeOn { get; set; }
    //点检数据
    public List<Inspectup_Plan__c>  inspectupPlanList{get;set;}
    //条件参数
    public String parameter{get;set;}

    public PrintInspectupReportController() {
        parameter = '';
        produceText = '';
        activeOn = true;
        //是否分页  默认为false
        isPaging = false;
        inspectupPlanList = new List<Inspectup_Plan__c>();
        maintenanceContractId = System.currentPageReference().getParameters().get('id');
    }

    public PageReference init(){
        getAssetType();
        getInspectupPlan();
        return null;
    }

    //获取修理合同上的保有设备都是那个战略科室和科室
    public void getAssetType(){
        String assetTypeSQl = makeTextDepSQl();
        try{
            List<Maintenance_Contract_Asset__c> assetTypeList = Database.query(assetTypeSQl);
            if(assetTypeList != null && assetTypeList.size() > 0){
                //临时字符串
                String strategyDepartmentStr = '';
                String departmentStr = '';
                String installationSiteStr = '';
                //战略科室存放处
                strategyDepartment = new List<CustomData>();
                department = new List<CustomData>();
                installationSite = new List<CustomData>();
                for(Maintenance_Contract_Asset__c mca : assetTypeList){
                    //所有的战略科室
                    if(strategyDepartmentStr.indexOf(mca.Asset__r.Strategic_department_Class_Name__c) == -1){
                        strategyDepartmentStr += mca.Asset__r.Strategic_department_Class_Name__c;
                        strategyDepartment.add(new CustomData(mca.Asset__r.Department_Class__c,mca.Asset__r.Acc_Department_Class_Name__c));
                    }
                    //科室
                    if(departmentStr.indexOf(mca.Asset__r.Account.Name) == -1){
                        departmentStr += mca.Asset__r.Account.Name;
                        department.add(new CustomData(mca.Asset__r.Account.Id,mca.Asset__r.Department_Name__c));
                    }
                    //装机地点
                    if(mca.Asset__r.Installation_Site__c != null && mca.Asset__r.Installation_Site__c != ''){
                        if(installationSiteStr.indexOf(mca.Asset__r.Installation_Site__c) == -1){
                            installationSiteStr += mca.Asset__r.Installation_Site__c;
                            installationSite.add(new CustomData(mca.Asset__r.Installation_Site__c,mca.Asset__r.Installation_Site__c));
                        }
                    }
                }
            }
        }catch(exception e){
            //失败提示
            ApexPages.addMessages(e);
        }
    }
    //获取所有的点检数据
    public void getInspectupPlan(){
        String InspectupPlanSQL = makeTextInspectupPlanSQl();
        try{
            inspectupPlanList = Database.query(InspectupPlanSQL);
        }catch(exception e){
            //失败提示
            ApexPages.addMessages(e);
        }
    }
    //查询点检报告书的pdf
    public String makeTextInspectupPlanSQl(){
        String InspectupPlanSQL = 'SELECT ID,NAME,Execution_End_Date__c,Chack_Plan_NO__c FROM Inspectup_Plan__c WHERE Maintenance_Contract__c = \''+maintenanceContractId+'\' '
                                + ' order by Maintenance_Contract__c desc';

        return InspectupPlanSQL;
    }

    //查询修理合同里面保有设备都是那些科室和战略科室
    public String makeTextDepSQl(){
        String depSQl = 'select id,name,Asset__c,Asset__r.name,Asset__r.SerialNumber,Asset__r.Strategic_department_Class_Name__c,Asset__r.Department_Class__c,Asset__r.Acc_Department_Class_Name__c,'
                    +' Asset__r.Department_Name__c,Asset__r.Account.Id,Asset__r.Account.Name,Asset__r.Installation_Site__c '
                    +' from Maintenance_Contract_Asset__c '
                    //+' where Check_object__c = true and Maintenance_Contract__c = \''+maintenanceContractId+'\' '
                    +' where Maintenance_Contract__c = \''+maintenanceContractId+'\' and isdianjian__c != 0 '
                    +' order by Asset__r.Acc_Department_Class_Name__c,Asset__r.Account.Name';
        return depSQl;
    }



    /**
     * 为了方便前段table获取值
     */
    class CustomData {
        //id
        public String parameterId { get; private set; }
        //name
        public String parameterName { get; private set; }  

        public CustomData(String accountId,String accountName){
            parameterId = accountId;
            parameterName = accountName;
        }    
    }
    public void testMock(){
        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++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
    }
}