From 2d4a8d2dcad5a17127d2c73c48ddc4b67ec79448 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期三, 06 四月 2022 11:51:58 +0800 Subject: [PATCH] PIPLDeploy0405 --- force-app/main/default/classes/LeadIntentionController.cls | 3891 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 1,943 insertions(+), 1,948 deletions(-) diff --git a/force-app/main/default/classes/LeadIntentionController.cls b/force-app/main/default/classes/LeadIntentionController.cls index c21db34..3d0a451 100644 --- a/force-app/main/default/classes/LeadIntentionController.cls +++ b/force-app/main/default/classes/LeadIntentionController.cls @@ -1,2003 +1,1998 @@ public without sharing class LeadIntentionController { - public List<PCLInfo> pclInfos { get; set; } + public List<PCLInfo> pclInfos { get; set; } + +/*****************妞滅储鐢�******************/ + +//妫�绱㈡棩鏈� +public Contact con1 { get; set; } +public Contact con2 { get; set; } + +//妫�绱� 涓や釜椤甸潰涓婃柟鐨勫瓧娈� +public String accSearch { get; set; } +public String ownerSearch { get; set; } + +public List<SelectOption> dateOpts { get; private set; } +public List<SelectOption> textOpts { get; private set; } +public List<SelectOption> equalOpts { get; private set; } +public List<SelectOption> textOpts2 { get; private set; } +public List<SelectOption> equalOpts2 { get; private set; } +public List<SelectOption> textOpts3 { get; private set; } +public List<SelectOption> equalOpts3 { get; private set; } +public List<SelectOption> limitOpts { get; private set; } + +//鍘熷洜閫夐」 +public List<SelectOption> reasonOpts { get; private set; } + +// public String dateField { get; set; } + +public String text { get; set; } +public String condition { get; set; } +public String value { get; set; } + +public String text2 { get; set; } +public String condition2 { get; set; } +public String value2 { get; set; } + +public String text3 { get; set; } +public String condition3 { get; set; } +public String value3 { get; set; } + +public Boolean onlyOpp { get; set; } + +public String limits { get; set; } + +//鍘熷洜閫夐」 +public String reasons { get;set; } +public String inquiryformId { get;set; } +public String reason { get;set; } +public String opp_ID { get;set; } +// public String Opp_Name_Search_Id { get;set; } +public String batchReason { get;set; } + +//鐘舵�佹湭璺熻繘 +public String leadStatus { get; set; } +//鎴樼暐绉戝鏈夋晥 +public String isActiveFormula { get; set; } + +/*****************鐢婚潰琛ㄧずBean******************/ +public Integer pclCount { get; set; } +public String saveType { get; set; } + +public String sortKey { get; set; } +public String preSortKey { get; set; } +public Boolean sortOrderAsc { get; set; } +public String[] sortOrder { get; set; } +public String[] columus = new String[]{'Contact_Name__c', 'Hospital_Name__c', 'Department_Class__c', 'Company__c', 'Status__c' + ,'Request1__c', 'Inquiry_No__c', 'Phone__c', 'Email__c', 'Cancel_Reason__c' + ,'Opp_Name_Search__c', 'Opportunity_Division__c', 'LeadSource__c', 'Campaign__c' + ,'Urgent__c', 'Request_Detail__c','Contact_Id__c','Hospital_ID__c','Department_ID__c','Opp_Name_Search_ID__c' + ,'Campaign_ID__c','Id','Name','Family_Name__c','Last_Name__c','Reasons_options__c','Product1__c' + }; +private String soqlWithoutSort = null; +private String soqlForMoneyWithoutSort = null; + +private static Integer searchLimit = 1000; +public String staticResource {get; set;} +public String awsDataIds {get; set;} +public LeadIntentionController() { + + pclInfos = new List<PCLInfo>(); + + con1 = new Contact(); + con2 = new Contact(); + + dateOpts = new List<SelectOption>(); + + textOpts = new List<SelectOption>(); + textOpts.add(new SelectOption('','--鏃�--')); + textOpts.add(new SelectOption('S:Name', Schema.SObjectType.Inquiry_form__c.fields.Name.label)); + textOpts.add(new SelectOption('S:Hospital_Name__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Hospital_Name__c.label)); + textOpts.add(new SelectOption('S:Department_Class__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Department_Class__c.label)); + textOpts.add(new SelectOption('S:Status__c', Schema.SObjectType.Inquiry_form__c.fields.Status__c.label)); + textOpts.add(new SelectOption('S:Request1__c', Schema.SObjectType.Inquiry_form__c.fields.Request1__c.label)); + textOpts.add(new SelectOption('S:Product1__c', Schema.SObjectType.Inquiry_form__c.fields.Product1__c.label)); + textOpts.add(new SelectOption('S:Phone__c', Schema.SObjectType.Inquiry_form__c.fields.Phone__c.label)); + textOpts.add(new SelectOption('S:Email__c', Schema.SObjectType.Inquiry_form__c.fields.Email__c.label)); + textOpts.add(new SelectOption('S:Cancel_Reason__c', Schema.SObjectType.Inquiry_form__c.fields.Cancel_Reason__c.label)); + textOpts.add(new SelectOption('S:Opp_Name_Search__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Opp_Name_Search__c.label)); + textOpts.add(new SelectOption('S:Opportunity_Division__c', Schema.SObjectType.Inquiry_form__c.fields.Opportunity_Division__c.label)); + textOpts.add(new SelectOption('S:LeadSource__c', Schema.SObjectType.Inquiry_form__c.fields.LeadSource__c.label)); + textOpts.add(new SelectOption('S:Campaign__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Campaign__c.label)); + textOpts.add(new SelectOption('S:Request_Detail__c', Schema.SObjectType.Inquiry_form__c.fields.Request_Detail__c.label)); + + textOpts2 = textOpts; + textOpts3 = textOpts; + + equalOpts = new List<SelectOption>(); + equalOpts.add(new SelectOption('equals','绛変簬')); + equalOpts.add(new SelectOption('notequals','涓嶇瓑浜�')); + equalOpts.add(new SelectOption('contains','鍖呭惈')); + equalOpts.add(new SelectOption('notcontains','涓嶅寘鍚�')); + equalOpts.add(new SelectOption('starts with','璧峰瀛楃')); - /*****************妞滅储鐢�******************/ + equalOpts2 = equalOpts; + equalOpts3 = equalOpts; + + limitOpts = new List<SelectOption>(); + // limitOpts.add(new SelectOption('5','5')); + limitOpts.add(new SelectOption('20','20')); + limitOpts.add(new SelectOption('50','50')); + limitOpts.add(new SelectOption('100','100')); + limitOpts.add(new SelectOption('200','200')); + limitOpts.add(new SelectOption('500','500')); + limitOpts.add(new SelectOption('' + (searchLimit + 1), '鍏ㄩ儴')); - //妫�绱㈡棩鏈� - public Contact con1 { get; set; } - public Contact con2 { get; set; } + limits = '50'; + + reasonOpts = new List<SelectOption>(); + reasonOpts.add(new SelectOption('宸茬粡鏈夎浠�','宸茬粡鏈夎浠�')); + reasonOpts.add(new SelectOption('瀹㈡埛涓嶉渶瑕�','瀹㈡埛涓嶉渶瑕�')); + reasonOpts.add(new SelectOption('瀹㈡埛涓嶅瓨鍦�','瀹㈡埛涓嶅瓨鍦�')); - //妫�绱� 涓や釜椤甸潰涓婃柟鐨勫瓧娈� - public String accSearch { get; set; } - public String ownerSearch { get; set; } - - public List<SelectOption> dateOpts { get; private set; } - public List<SelectOption> textOpts { get; private set; } - public List<SelectOption> equalOpts { get; private set; } - public List<SelectOption> textOpts2 { get; private set; } - public List<SelectOption> equalOpts2 { get; private set; } - public List<SelectOption> textOpts3 { get; private set; } - public List<SelectOption> equalOpts3 { get; private set; } - public List<SelectOption> limitOpts { get; private set; } - //鍘熷洜閫夐」 - public List<SelectOption> reasonOpts { get; private set; } + reasons = '鍘熷洜閫夐」'; - // public String dateField { get; set; } - - public String text { get; set; } - public String condition { get; set; } - public String value { get; set; } - - public String text2 { get; set; } - public String condition2 { get; set; } - public String value2 { get; set; } - - public String text3 { get; set; } - public String condition3 { get; set; } - public String value3 { get; set; } - - public Boolean onlyOpp { get; set; } - - public String limits { get; set; } + leadStatus = '01.鏈窡杩�'; - //鍘熷洜閫夐」 - public String reasons { get;set; } - public String inquiryformId { get;set; } - public String reason { get;set; } - public String opp_ID { get;set; } - // public String Opp_Name_Search_Id { get;set; } - public String batchReason { get;set; } + isActiveFormula = '鏈夋晥'; - //鐘舵�佹湭璺熻繘 - public String leadStatus { get; set; } - //鎴樼暐绉戝鏈夋晥 - public String isActiveFormula { get; set; } - - /*****************鐢婚潰琛ㄧずBean******************/ - public Integer pclCount { get; set; } - public String saveType { get; set; } + staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Inquiry_form__c')); - public String sortKey { get; set; } - public String preSortKey { get; set; } - public Boolean sortOrderAsc { get; set; } - public String[] sortOrder { get; set; } - public String[] columus = new String[]{'Contact_Name__c', 'Hospital_Name__c', 'Department_Class__c', 'Company__c', 'Status__c' - ,'Request1__c', 'Inquiry_No__c', 'Phone__c', 'Email__c', 'Cancel_Reason__c' - ,'Opp_Name_Search__c', 'Opportunity_Division__c', 'LeadSource__c', 'Campaign__c' - ,'Urgent__c', 'Request_Detail__c','Contact_Id__c','Hospital_ID__c','Department_ID__c','Opp_Name_Search_ID__c' - ,'Campaign_ID__c','Id','Name','Family_Name__c','Last_Name__c','Reasons_options__c','Product1__c' - }; - private String soqlWithoutSort = null; - private String soqlForMoneyWithoutSort = null; +} - private static Integer searchLimit = 1000; - public String staticResource {get; set;} - public String awsDataIds {get; set;} - public LeadIntentionController() { - - pclInfos = new List<PCLInfo>(); - - con1 = new Contact(); - con2 = new Contact(); - - dateOpts = new List<SelectOption>(); - - textOpts = new List<SelectOption>(); - textOpts.add(new SelectOption('','--鏃�--')); - textOpts.add(new SelectOption('S:Name', Schema.SObjectType.Inquiry_form__c.fields.Name.label)); - textOpts.add(new SelectOption('S:Hospital_Name__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Hospital_Name__c.label)); - textOpts.add(new SelectOption('S:Department_Class__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Department_Class__c.label)); - textOpts.add(new SelectOption('S:Status__c', Schema.SObjectType.Inquiry_form__c.fields.Status__c.label)); - textOpts.add(new SelectOption('S:Request1__c', Schema.SObjectType.Inquiry_form__c.fields.Request1__c.label)); - textOpts.add(new SelectOption('S:Product1__c', Schema.SObjectType.Inquiry_form__c.fields.Product1__c.label)); - textOpts.add(new SelectOption('S:Phone__c', Schema.SObjectType.Inquiry_form__c.fields.Phone__c.label)); - textOpts.add(new SelectOption('S:Email__c', Schema.SObjectType.Inquiry_form__c.fields.Email__c.label)); - textOpts.add(new SelectOption('S:Cancel_Reason__c', Schema.SObjectType.Inquiry_form__c.fields.Cancel_Reason__c.label)); - textOpts.add(new SelectOption('S:Opp_Name_Search__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Opp_Name_Search__c.label)); - textOpts.add(new SelectOption('S:Opportunity_Division__c', Schema.SObjectType.Inquiry_form__c.fields.Opportunity_Division__c.label)); - textOpts.add(new SelectOption('S:LeadSource__c', Schema.SObjectType.Inquiry_form__c.fields.LeadSource__c.label)); - textOpts.add(new SelectOption('S:Campaign__r.Name', Schema.SObjectType.Inquiry_form__c.fields.Campaign__c.label)); - textOpts.add(new SelectOption('S:Request_Detail__c', Schema.SObjectType.Inquiry_form__c.fields.Request_Detail__c.label)); - - textOpts2 = textOpts; - textOpts3 = textOpts; - - equalOpts = new List<SelectOption>(); - equalOpts.add(new SelectOption('equals','绛変簬')); - equalOpts.add(new SelectOption('notequals','涓嶇瓑浜�')); - equalOpts.add(new SelectOption('contains','鍖呭惈')); - equalOpts.add(new SelectOption('notcontains','涓嶅寘鍚�')); - equalOpts.add(new SelectOption('starts with','璧峰瀛楃')); - - equalOpts2 = equalOpts; - equalOpts3 = equalOpts; - - limitOpts = new List<SelectOption>(); - // limitOpts.add(new SelectOption('5','5')); - limitOpts.add(new SelectOption('20','20')); - limitOpts.add(new SelectOption('50','50')); - limitOpts.add(new SelectOption('100','100')); - limitOpts.add(new SelectOption('200','200')); - limitOpts.add(new SelectOption('500','500')); - limitOpts.add(new SelectOption('' + (searchLimit + 1), '鍏ㄩ儴')); - - limits = '50'; - - reasonOpts = new List<SelectOption>(); - reasonOpts.add(new SelectOption('宸茬粡鏈夎浠�','宸茬粡鏈夎浠�')); - reasonOpts.add(new SelectOption('瀹㈡埛涓嶉渶瑕�','瀹㈡埛涓嶉渶瑕�')); - reasonOpts.add(new SelectOption('瀹㈡埛涓嶅瓨鍦�','瀹㈡埛涓嶅瓨鍦�')); - - - reasons = '鍘熷洜閫夐」'; - - leadStatus = '01.鏈窡杩�'; - - isActiveFormula = '鏈夋晥'; - - staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Inquiry_form__c')); - +public PageReference init() { + system.debug('test:12345'); + onlyOpp = false; + String uidParam = System.currentPageReference().getParameters().get('uid'); + if (uidParam != null){ + User u = [select Id, FirstName, LastName from User where Id = :uidParam]; + ownerSearch = u.LastName + ' ' + u.FirstName; } - - public PageReference init() { - system.debug('test:12345'); - onlyOpp = false; - String uidParam = System.currentPageReference().getParameters().get('uid'); - if (uidParam != null){ - User u = [select Id, FirstName, LastName from User where Id = :uidParam]; - ownerSearch = u.LastName + ' ' + u.FirstName; + String hpidParam = System.currentPageReference().getParameters().get('hpid'); + if(hpidParam != null){ + List<Account> hpAcc = ControllerUtil.selectAccountForTrigger(new String[] {hpidParam}); + if (hpAcc.size() > 0) { + accSearch = hpAcc[0].name; } - String hpidParam = System.currentPageReference().getParameters().get('hpid'); - if(hpidParam != null){ - List<Account> hpAcc = ControllerUtil.selectAccountForTrigger(new String[] {hpidParam}); - if (hpAcc.size() > 0) { - accSearch = hpAcc[0].name; - } - } - soqlWithoutSort = this.makeSoql(false, accSearch, ownerSearch, - text, condition, value, text2, condition2, value2, text3, condition3, value3); - String soql = soqlWithoutSort + ' order by CreatedDate desc limit ' + Integer.valueOf(limits); - - soqlForMoneyWithoutSort = this.makeSoql(true, accSearch, ownerSearch, - text, condition, value, text2, condition2, value2, text3, condition3, value3); - String soqlForMoney = soqlForMoneyWithoutSort + ' order by CreatedDate desc limit ' + Integer.valueOf(System.Label.TotalLimit); - System.debug('soqlWithoutSort:' + soqlWithoutSort); - system.debug('aaaaaaaaaa'+soql); - system.debug('bbbbbbb:'+soqlForMoney); - List<Inquiry_form__c> queryList = Database.query(soql); - List<Inquiry_form__c> queryListForMoney = Database.query(soqlForMoney); - system.debug('ppppppppp:'+queryList); - system.debug('ooooooooo:'+queryListForMoney); - system.debug('ppppppppp鐨剆ize():'+queryList.size()); - system.debug('ooooooooo鐨剆ize():'+queryListForMoney.size()); + } + soqlWithoutSort = this.makeSoql(false, accSearch, ownerSearch, + text, condition, value, text2, condition2, value2, text3, condition3, value3); + String soql = soqlWithoutSort + ' order by CreatedDate desc limit ' + Integer.valueOf(limits); + + soqlForMoneyWithoutSort = this.makeSoql(true, accSearch, ownerSearch, + text, condition, value, text2, condition2, value2, text3, condition3, value3); + String soqlForMoney = soqlForMoneyWithoutSort + ' order by CreatedDate desc limit ' + Integer.valueOf(System.Label.TotalLimit); + System.debug('soqlWithoutSort:' + soqlWithoutSort); + system.debug('aaaaaaaaaa'+soql); + system.debug('bbbbbbb:'+soqlForMoney); + List<Inquiry_form__c> queryList = Database.query(soql); + List<Inquiry_form__c> queryListForMoney = Database.query(soqlForMoney); + system.debug('ppppppppp:'+queryList); + system.debug('ooooooooo:'+queryListForMoney); + system.debug('ppppppppp鐨剆ize():'+queryList.size()); + system.debug('ooooooooo鐨剆ize():'+queryListForMoney.size()); - BatchIF_Log__c iflog = new BatchIF_Log__c(); - iflog.Type__c = 'TestTaskManage'; + this.makeOppRecordsForView(queryList, queryListForMoney); + + this.sortKey = '0'; + this.preSortKey = '0'; + this.sortOrderAsc = true; + this.sortOrder = new String[columus.size()]; + for (Integer i = 0; i < columus.size(); i++) this.sortOrder[i] = '銆�'; + + System.debug('鏈�鍚庡彇寰�:'+pclInfos.size()); + pclCount = pclInfos.size(); + + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '鍙栧緱鏈�杩戠殑 ' + pclCount + ' 鏉℃暟鎹�')); - iflog.Log__c = '杩涘叆浜唅nit鏂规硶: queryListForMoney sql: '+soqlWithoutSort; - insert iflog; - this.makeOppRecordsForView(queryList, queryListForMoney); - - this.sortKey = '0'; - this.preSortKey = '0'; + List<String> a = new List<String>(); + for(Inquiry_form__c ifc : queryList){ + a.add(ifc.AWS_Data_Id__c); + } + awsDataIds = JSON.serialize(a); + return null; +} + +public PageReference searchOpp() { + pclInfos = new List<PCLInfo>(); + + String soql = this.makeSoql(false, accSearch, ownerSearch, text, condition, value, text2, condition2, value2, text3, condition3, value3)+ ' order by CreatedDate desc limit ' + Integer.valueOf(limits); + // soql += ' order by Name limit ' + Integer.valueOf(limits); + + String soqlForMoney = this.makeSoql(true, accSearch, ownerSearch, text, condition, value, text2, condition2, value2, text3, condition3, value3)+ ' order by CreatedDate desc limit ' + Integer.valueOf(System.Label.TotalLimit); + // soqlForMoney += ' order by Name limit ' + Integer.valueOf(System.Label.TotalLimit); + this.sortOrder[0] = '鈫�'; + + system.debug('soql锛�'+soql); + system.debug('soqlForMoney锛�'+soqlForMoney); + List<Inquiry_form__c> queryList = Database.query(soql); + List<Inquiry_form__c> queryListForMoney = Database.query(soqlForMoney); + + this.makeOppRecordsForView(queryList, queryListForMoney); + + pclCount = pclInfos.size(); + if (pclCount > searchLimit) { + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'The search returned more than the maximum number of rows (' + searchLimit + ')')); + } else { + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '鍏辨湁 ' + pclCount + ' 鏉℃暟鎹�')); + } + return null; +} + +public PageReference sortTable() { + pclInfos = new List<PCLInfo>(); + + if (this.sortKey == this.preSortKey) { + this.sortOrderAsc = !this.sortOrderAsc; + this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true ? '鈫�' : '鈫�'); + } else { this.sortOrderAsc = true; - this.sortOrder = new String[columus.size()]; - for (Integer i = 0; i < columus.size(); i++) this.sortOrder[i] = '銆�'; - - System.debug('鏈�鍚庡彇寰�:'+pclInfos.size()); - pclCount = pclInfos.size(); - - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '鍙栧緱鏈�杩戠殑 ' + pclCount + ' 鏉℃暟鎹�')); - - List<String> a = new List<String>(); - for(Inquiry_form__c ifc : queryList){ - a.add(ifc.AWS_Data_Id__c); - } - awsDataIds = JSON.serialize(a); - return null; + this.sortOrder[Integer.valueOf(this.preSortKey)] = '銆�'; + this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true ? '鈫�' : '鈫�'); } - public PageReference searchOpp() { - pclInfos = new List<PCLInfo>(); - - String soql = this.makeSoql(false, accSearch, ownerSearch, text, condition, value, text2, condition2, value2, text3, condition3, value3)+ ' order by CreatedDate desc limit ' + Integer.valueOf(limits); - // soql += ' order by Name limit ' + Integer.valueOf(limits); - - String soqlForMoney = this.makeSoql(true, accSearch, ownerSearch, text, condition, value, text2, condition2, value2, text3, condition3, value3)+ ' order by CreatedDate desc limit ' + Integer.valueOf(System.Label.TotalLimit); - // soqlForMoney += ' order by Name limit ' + Integer.valueOf(System.Label.TotalLimit); - this.sortOrder[0] = '鈫�'; - - system.debug('soql锛�'+soql); - system.debug('soqlForMoney锛�'+soqlForMoney); - List<Inquiry_form__c> queryList = Database.query(soql); - List<Inquiry_form__c> queryListForMoney = Database.query(soqlForMoney); - - this.makeOppRecordsForView(queryList, queryListForMoney); - - pclCount = pclInfos.size(); - if (pclCount > searchLimit) { - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'The search returned more than the maximum number of rows (' + searchLimit + ')')); - } else { - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '鍏辨湁 ' + pclCount + ' 鏉℃暟鎹�')); - } - return null; - } - - public PageReference sortTable() { - pclInfos = new List<PCLInfo>(); - - if (this.sortKey == this.preSortKey) { - this.sortOrderAsc = !this.sortOrderAsc; - this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true ? '鈫�' : '鈫�'); - } else { - this.sortOrderAsc = true; - this.sortOrder[Integer.valueOf(this.preSortKey)] = '銆�'; - this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true ? '鈫�' : '鈫�'); - } - - system.debug(this.sortKey); - this.preSortKey = this.sortKey; - - String soql = soqlWithoutSort - + ' order by ' + this.columus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + ' limit ' + Integer.valueOf(limits); + system.debug(this.sortKey); + this.preSortKey = this.sortKey; + + String soql = soqlWithoutSort + + ' order by ' + this.columus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + ' limit ' + Integer.valueOf(limits); system.debug('sort:::::'+ soql); - List<Inquiry_form__c> queryList = Database.query(soql); - String soqlForMoney = soqlForMoneyWithoutSort - + ' order by ' + this.columus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last')+ ' limit ' + Integer.valueOf(System.Label.TotalLimit) ; + List<Inquiry_form__c> queryList = Database.query(soql); + String soqlForMoney = soqlForMoneyWithoutSort + + ' order by ' + this.columus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last')+ ' limit ' + Integer.valueOf(System.Label.TotalLimit) ; system.debug('sort:::::'+ soqlForMoney); - List<Inquiry_form__c> queryListForMoney = Database.query(soqlForMoney); - - - this.makeOppRecordsForView(queryList, queryListForMoney); - pclCount = pclInfos.size(); - if (pclCount > searchLimit) { - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'The search returned more than the maximum number of rows (' + searchLimit + ')')); - } else { - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '鍏辨湁 ' + pclCount + ' 鏉℃暟鎹�')); - } - return null; + List<Inquiry_form__c> queryListForMoney = Database.query(soqlForMoney); + + + this.makeOppRecordsForView(queryList, queryListForMoney); + pclCount = pclInfos.size(); + if (pclCount > searchLimit) { + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'The search returned more than the maximum number of rows (' + searchLimit + ')')); + } else { + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '鍏辨湁 ' + pclCount + ' 鏉℃暟鎹�')); } - //淇敼璇㈤棶鍗曠姸鎬佷负涓嶈 骞朵繚瀛樺師鍥� - public PageReference saveInquiryform() { + return null; +} +//淇敼璇㈤棶鍗曠姸鎬佷负涓嶈 骞朵繚瀛樺師鍥� +public PageReference saveInquiryform() { + //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '66666666666___'+ Id)); + system.debug('aaaaaaaaa'+inquiryformId+'bbbbbbbb'+reason); + if (String.isNotBlank(inquiryformId)){ + List<Inquiry_form__c> updateInquiryform = new List<Inquiry_form__c>(); + Inquiry_form__c inquiryForm = new Inquiry_form__c(); + inquiryForm.Id = inquiryformId; + inquiryForm.Status__c = '02.涓嶉渶瑕�'; + //涓嶉渶瑕佺殑鏃跺�� 鐨勭‘璁ゆ棩鏈� + system.debug('ccccccc:'+opp_ID); + inquiryForm.Confirmation_Date__c = Date.toDay(); + inquiryForm.Reasons_options__c = reason; + inquiryForm.Cancel_Reason__c = reason; + if(reason == '宸茬粡鏈夎浠�'){ + inquiryForm.Opp_Name_Search__c = opp_ID; + } + updateInquiryform.add(inquiryForm); + + if (updateInquiryform.size() > 0) { + update updateInquiryform; + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '璇㈤棶鍗曠姸鎬佹洿鏂板畬姣�,宸蹭繚瀛�,璇锋墜鍔ㄥ埛鏂伴〉闈€��')); + } + inquiryformId = ''; + } + + return loadPage(); +} + + public PageReference loadPage() { + PageReference ref = new PageReference('/apex/LeadIntention'); + ref.setRedirect(true); + return ref; +} +//鎵归噺鏇存柊 璇㈤棶鍗曠姸鎬� +public PageReference saveInquiryOpts() { //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '66666666666___'+ Id)); - system.debug('aaaaaaaaa'+inquiryformId+'bbbbbbbb'+reason); - if (String.isNotBlank(inquiryformId)){ - List<Inquiry_form__c> updateInquiryform = new List<Inquiry_form__c>(); - Inquiry_form__c inquiryForm = new Inquiry_form__c(); - inquiryForm.Id = inquiryformId; - inquiryForm.Status__c = '02.涓嶉渶瑕�'; - //涓嶉渶瑕佺殑鏃跺�� 鐨勭‘璁ゆ棩鏈� - system.debug('ccccccc:'+opp_ID); - inquiryForm.Confirmation_Date__c = Date.toDay(); - inquiryForm.Reasons_options__c = reason; - inquiryForm.Cancel_Reason__c = reason; - if(reason == '宸茬粡鏈夎浠�'){ - inquiryForm.Opp_Name_Search__c = opp_ID; - } - updateInquiryform.add(inquiryForm); - if (updateInquiryform.size() > 0) { - update updateInquiryform; - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '璇㈤棶鍗曠姸鎬佹洿鏂板畬姣�,宸蹭繚瀛�,璇锋墜鍔ㄥ埛鏂伴〉闈€��')); - } - inquiryformId = ''; - } + try { + system.debug('ccccccc'+batchReason); + List<Inquiry_form__c> updSAs = new List<Inquiry_form__c>(); - return loadPage(); + for (PCLInfo oi : pclInfos) { + system.debug('杈撳嚭鐨勫�间负锛�'+oi.reasonFlg); + if (oi.reasonFlg == '1') { + oi.reasonFlg = '0'; + oi.rec.Status__c = '02.涓嶉渶瑕�'; + oi.rec.Reasons_options__c=batchReason; + oi.rec.Cancel_Reason__c = batchReason; + oi.rec.Confirmation_Date__c = Date.toDay(); + updSAs.add(oi.rec); + system.debug('鏇存柊鐨勫瓧娈典负锛�'+oi.rec); + } + + } + system.debug(updSAs); + if (updSAs.size() > 0) update updSAs; + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'Save Completed')); + }catch (Exception ex) { + ApexPages.addMessages(ex); + return null; + } + + return null; } + +public PageReference save() { + try { - public PageReference loadPage() { - PageReference ref = new PageReference('/apex/LeadIntention'); - ref.setRedirect(true); - return ref; - } - //鎵归噺鏇存柊 璇㈤棶鍗曠姸鎬� - public PageReference saveInquiryOpts() { - //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '66666666666___'+ Id)); - - try { - system.debug('ccccccc'+batchReason); List<Inquiry_form__c> updSAs = new List<Inquiry_form__c>(); - - for (PCLInfo oi : pclInfos) { - system.debug('杈撳嚭鐨勫�间负锛�'+oi.reasonFlg); - if (oi.reasonFlg == '1') { - oi.reasonFlg = '0'; - oi.rec.Status__c = '02.涓嶉渶瑕�'; - oi.rec.Reasons_options__c=batchReason; - oi.rec.Cancel_Reason__c = batchReason; - oi.rec.Confirmation_Date__c = Date.toDay(); - updSAs.add(oi.rec); - system.debug('鏇存柊鐨勫瓧娈典负锛�'+oi.rec); - } - + system.debug('杈撳嚭鐨勫�间负锛�'+pclInfos); + for (PCLInfo oi : pclInfos) { + if (oi.changeFlg == '1') { + oi.changeFlg = '0'; + updSAs.add(oi.rec); + system.debug('鏇存柊鐨勫瓧娈典负锛�'+oi.rec); } - system.debug(updSAs); + + + } + if (updSAs.size() > 0) update updSAs; - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'Save Completed')); - }catch (Exception ex) { - ApexPages.addMessages(ex); - return null; - } - - return null; - } - - public PageReference save() { - try { - - List<Inquiry_form__c> updSAs = new List<Inquiry_form__c>(); - system.debug('杈撳嚭鐨勫�间负锛�'+pclInfos); - for (PCLInfo oi : pclInfos) { - if (oi.changeFlg == '1') { - oi.changeFlg = '0'; - updSAs.add(oi.rec); - system.debug('鏇存柊鐨勫瓧娈典负锛�'+oi.rec); - } - - - } - - if (updSAs.size() > 0) update updSAs; - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'Save Completed')); - } catch (Exception ex) { - ApexPages.addMessages(ex); - return null; - } - - if (saveType == '1') { - searchOpp(); - saveType = ''; - } else if (saveType == '2') { - sortTable(); - saveType = ''; - } else { - } + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'Save Completed')); + } catch (Exception ex) { + ApexPages.addMessages(ex); return null; } - - public PageReference cancel() { - return new PageReference('/home/home.jsp'); + + if (saveType == '1') { + searchOpp(); + saveType = ''; + } else if (saveType == '2') { + sortTable(); + saveType = ''; + } else { } + return null; +} - private String makeSoql(Boolean isforMoneyFlg, String accStr, String ownerStr, //String dept, String rank, Boolean consumable, - String txt, String con, String val, - String txt2, String con2, String val2, - String txt3, String con3, String val3) { - String soql =''; - soql += 'select Id, Contact_Name__c, Hospital_Name__r.Name, Department_Class__c, Company__c, Request1__c,' - + ' Inquiry_No__c, Phone__c, Email__c, Cancel_Reason__c,Status__c,' - + ' Opp_Name_Search__c, Opportunity_Division__c, LeadSource__c, Campaign__c,' - + ' Urgent__c, Request_Detail__c ,Contact_Id__c,Hospital_ID__c,Department_ID__c,Opp_Name_Search_ID__c,' - + 'Campaign_ID__c,Last_Name__c,Family_Name__c,Name,Reasons_options__c,' - + 'Product1__c,Confirmation_Date__c,AWS_Data_Id__c' - //,Lead_link__c - + ' from Inquiry_form__c where Id != null '; - //2021-11-24 mzy 鍏遍�氬钩鍙伴」鐩�-棣栭〉淇敼 start - //鍙煡璇㈡墍鏈変汉鏄綋鍓嶇敤鎴风殑浜у搧鍜ㄨ鍗� - //+ ' And OwnerId = \''+UserInfo.getUserId()+'\'' - //2021-11-24 mzy 鍏遍�氬钩鍙伴」鐩�-棣栭〉淇敼 end +public PageReference cancel() { + return new PageReference('/home/home.jsp'); +} - //鐘舵�佸彧鏄剧ず鏈窡杩� - if (!String.isBlank(leadStatus)) { - String[] vals = leadStatus.split(' '); - for (String v : vals) { - soql += ' and Status__c = \'' + v + '\'' ; - } - } - if(!String.isBlank(isActiveFormula)){ - String[] vals = isActiveFormula.split(' '); - for (String v : vals) { - soql += ' and Department_Class__r.Is_Active_Formula__c = \'' + v + '\'' ; - } - } - if (!String.isBlank(accStr)) { - String[] vals = accStr.split(' '); - for (String v : vals) { - soql += ' and Hospital_Name__r.Name like \'%' + v + '%\''; - } - } - if (!String.isBlank(ownerStr)) { - String[] vals = ownerStr.split(' '); - for (String v : vals) { - soql += ' and Name like \'%' + v + '%\''; - } - } - - soql += this.makeTextSql(txt, con, val); - soql += this.makeTextSql(txt2, con2, val2); - soql += this.makeTextSql(txt3, con3, val3); - - system.debug('sssssss:'+soql); - return soql; +private String makeSoql(Boolean isforMoneyFlg, String accStr, String ownerStr, //String dept, String rank, Boolean consumable, + String txt, String con, String val, + String txt2, String con2, String val2, + String txt3, String con3, String val3) { + String soql =''; + soql += 'select Id, Contact_Name__c, Hospital_Name__r.Name, Department_Class__c, Company__c, Request1__c,' + + ' Inquiry_No__c, Phone__c, Email__c, Cancel_Reason__c,Status__c,' + + ' Opp_Name_Search__c, Opportunity_Division__c, LeadSource__c, Campaign__c,' + + ' Urgent__c, Request_Detail__c ,Contact_Id__c,Hospital_ID__c,Department_ID__c,Opp_Name_Search_ID__c,' + + 'Campaign_ID__c,Last_Name__c,Family_Name__c,Name,Reasons_options__c,' + + 'Product1__c,Confirmation_Date__c,AWS_Data_Id__c' + //,Lead_link__c + + ' from Inquiry_form__c where Id != null '; + //2021-11-24 mzy 鍏遍�氬钩鍙伴」鐩�-棣栭〉淇敼 start + //鍙煡璇㈡墍鏈変汉鏄綋鍓嶇敤鎴风殑浜у搧鍜ㄨ鍗� + //+ ' And OwnerId = \''+UserInfo.getUserId()+'\'' + //2021-11-24 mzy 鍏遍�氬钩鍙伴」鐩�-棣栭〉淇敼 end + + //鐘舵�佸彧鏄剧ず鏈窡杩� + if (!String.isBlank(leadStatus)) { + String[] vals = leadStatus.split(' '); + for (String v : vals) { + soql += ' and Status__c = \'' + v + '\'' ; + } } + if(!String.isBlank(isActiveFormula)){ + String[] vals = isActiveFormula.split(' '); + for (String v : vals) { + soql += ' and Department_Class__r.Is_Active_Formula__c = \'' + v + '\'' ; + } + } + if (!String.isBlank(accStr)) { + String[] vals = accStr.split(' '); + for (String v : vals) { + soql += ' and Hospital_Name__r.Name like \'%' + v + '%\''; + } + } + if (!String.isBlank(ownerStr)) { + String[] vals = ownerStr.split(' '); + for (String v : vals) { + soql += ' and Name like \'%' + v + '%\''; + } + } + + soql += this.makeTextSql(txt, con, val); + soql += this.makeTextSql(txt2, con2, val2); + soql += this.makeTextSql(txt3, con3, val3); + + system.debug('sssssss:'+soql); + return soql; +} - private void makeOppRecordsForView(List<Inquiry_form__c> queryList, List<Inquiry_form__c> queryListForMoney) { - Savepoint sp = Database.setSavepoint(); - Database.SaveResult[] results = Database.update(queryList, false); - Database.rollback(sp); - system.debug('llllllllll:'+queryListForMoney.size()); - for (Integer i = 0; i < queryListForMoney.size(); i++) { - system.debug('vvvvvvvvvv:'+queryList); - if(i<queryList.size()){ - if (i == searchLimit + 1) { - continue; - } - pclInfos.add(new PCLInfo(queryList[i])); - pclInfos[pclInfos.size() - 1].lineNo = pclInfos.size() - 1; - //鎷兼帴 澶嶉�夋鐨刬d鍊� - pclInfos[pclInfos.size() - 1].chk = 'chk'+ pclInfos[pclInfos.size() - 1].lineNo; - if (!results[i].isSuccess()) { - pclInfos[pclInfos.size() - 1].canEdit = false; - if (results[i].getErrors()[0].getStatusCode() != null) { - if (String.valueOf(results[i].getErrors()[0].getStatusCode()) == 'INSUFFICIENT_ACCESS_OR_READONLY') { - pclInfos[pclInfos.size() - 1].hasError = true; - } else { - pclInfos[pclInfos.size() - 1].hasFieldError = true; - } +private void makeOppRecordsForView(List<Inquiry_form__c> queryList, List<Inquiry_form__c> queryListForMoney) { + Savepoint sp = Database.setSavepoint(); + Database.SaveResult[] results = Database.update(queryList, false); + Database.rollback(sp); + system.debug('llllllllll:'+queryListForMoney.size()); + for (Integer i = 0; i < queryListForMoney.size(); i++) { + system.debug('vvvvvvvvvv:'+queryList); + if(i<queryList.size()){ + if (i == searchLimit + 1) { + continue; + } + pclInfos.add(new PCLInfo(queryList[i])); + pclInfos[pclInfos.size() - 1].lineNo = pclInfos.size() - 1; + //鎷兼帴 澶嶉�夋鐨刬d鍊� + pclInfos[pclInfos.size() - 1].chk = 'chk'+ pclInfos[pclInfos.size() - 1].lineNo; + if (!results[i].isSuccess()) { + pclInfos[pclInfos.size() - 1].canEdit = false; + if (results[i].getErrors()[0].getStatusCode() != null) { + if (String.valueOf(results[i].getErrors()[0].getStatusCode()) == 'INSUFFICIENT_ACCESS_OR_READONLY') { + pclInfos[pclInfos.size() - 1].hasError = true; + } else { + pclInfos[pclInfos.size() - 1].hasFieldError = true; } } } - } + } +} private String makeTextSql(String txt1, String con, String val) { - system.debug('绗竴涓弬鏁帮細'+txt1+'绗簩涓弬鏁帮細'+con+'绗笁涓弬鏁帮細'+val); - String soql = ''; - if (!String.isBlank(txt1)) { - if ((con == 'contains' || con == 'notcontains') && val.contains(' ')) { - String[] vals = val.split(' '); - String cSql = ''; +system.debug('绗竴涓弬鏁帮細'+txt1+'绗簩涓弬鏁帮細'+con+'绗笁涓弬鏁帮細'+val); + String soql = ''; + if (!String.isBlank(txt1)) { + if ((con == 'contains' || con == 'notcontains') && val.contains(' ')) { + String[] vals = val.split(' '); + String cSql = ''; + for (String v : vals) { + cSql += this.makeTextSqlStr(txt1, con, v); + } + if (con == 'contains') { + soql += cSql; + } else { + cSql = cSql.replaceAll(' and ', ') and (NOT '); + soql += cSql.substring(1) + ') '; + } + } else if ((con == 'equals' || con == 'notequals') && val.contains(',')) { + String[] vals = val.split(','); + if (vals.size() > 0) { + String txt = txt1.substring(2); + soql += ' and ( '; for (String v : vals) { - cSql += this.makeTextSqlStr(txt1, con, v); - } - if (con == 'contains') { - soql += cSql; - } else { - cSql = cSql.replaceAll(' and ', ') and (NOT '); - soql += cSql.substring(1) + ') '; - } - } else if ((con == 'equals' || con == 'notequals') && val.contains(',')) { - String[] vals = val.split(','); - if (vals.size() > 0) { - String txt = txt1.substring(2); - soql += ' and ( '; - for (String v : vals) { - if (con == 'equals') { - soql += txt + ' = \'' + v + '\' or '; - system.debug('wwwwwwwwwwww :'+soql); - } else { - // notequals - soql += txt + ' <> \'' + v + '\' and '; - } + if (con == 'equals') { + soql += txt + ' = \'' + v + '\' or '; + system.debug('wwwwwwwwwwww :'+soql); + } else { + // notequals + soql += txt + ' <> \'' + v + '\' and '; } - soql = soql.substring(0, soql.length() - 4); - soql += ')'; } + soql = soql.substring(0, soql.length() - 4); + soql += ')'; + } + } else { + String cSql = this.makeTextSqlStr(txt1, con, val); + if (con != 'notcontains') { + soql += this.makeTextSqlStr(txt1, con, val); } else { - String cSql = this.makeTextSqlStr(txt1, con, val); - if (con != 'notcontains') { - soql += this.makeTextSqlStr(txt1, con, val); + // notcontains + cSql = cSql.substring(5); + soql += ' and (NOT ' + cSql + ') '; + } + } + } + return soql; +} +private String makeTextSqlStr(String txt1, String con, String val) { + String soql = ''; + system.debug('绗竴涓弬鏁帮細'+txt1+'绗簩涓弬鏁帮細'+con+'绗笁涓弬鏁帮細'+val); + if (!String.isBlank(txt1)) { + String txt = txt1.substring(2); + String colType = txt1.substring(0, 2); + String tmpVal = val; + if (String.isBlank(tmpVal)) { + if (con == 'equals') { + soql += ' and ' + txt + ' = null'; + } else if (con == 'notequals') { + soql += ' and ' + txt + ' <> null'; + } else { + } + } else { + soql += ' and ' + txt; + if (con == 'equals') { + if (colType == 'S:') { + soql += ' = \'' + tmpVal + '\''; } else { - // notcontains - cSql = cSql.substring(5); - soql += ' and (NOT ' + cSql + ') '; + soql += ' = ' + tmpVal + ' '; + } + } else if (con == 'notequals') { + if (colType == 'S:') { + soql += ' <> \'' + tmpVal + '\''; + } else { + soql += ' <> ' + tmpVal + ' '; + } + } else if (con == 'contains' || con == 'notcontains') { + soql += ' like \'%' + tmpVal + '%\''; + } else if (con == 'starts with') { + soql += ' like \'' + tmpVal + '%\''; + } else { + if (colType == 'S:') { + soql += ' ' + con + '\'' + tmpVal + '\''; + } else { + soql += ' ' + con + ' ' + tmpVal + ' '; } } } - return soql; } - private String makeTextSqlStr(String txt1, String con, String val) { - String soql = ''; - system.debug('绗竴涓弬鏁帮細'+txt1+'绗簩涓弬鏁帮細'+con+'绗笁涓弬鏁帮細'+val); - if (!String.isBlank(txt1)) { - String txt = txt1.substring(2); - String colType = txt1.substring(0, 2); - String tmpVal = val; - if (String.isBlank(tmpVal)) { - if (con == 'equals') { - soql += ' and ' + txt + ' = null'; - } else if (con == 'notequals') { - soql += ' and ' + txt + ' <> null'; - } else { - } - } else { - soql += ' and ' + txt; - if (con == 'equals') { - if (colType == 'S:') { - soql += ' = \'' + tmpVal + '\''; - } else { - soql += ' = ' + tmpVal + ' '; - } - } else if (con == 'notequals') { - if (colType == 'S:') { - soql += ' <> \'' + tmpVal + '\''; - } else { - soql += ' <> ' + tmpVal + ' '; - } - } else if (con == 'contains' || con == 'notcontains') { - soql += ' like \'%' + tmpVal + '%\''; - } else if (con == 'starts with') { - soql += ' like \'' + tmpVal + '%\''; - } else { - if (colType == 'S:') { - soql += ' ' + con + '\'' + tmpVal + '\''; - } else { - soql += ' ' + con + ' ' + tmpVal + ' '; - } - } - } - } - return soql; + return soql; +} + + class PCLInfo { + public Inquiry_form__c rec { get; set; } + public Boolean canEdit { get; private set; } + public Boolean hasError { get; private set; } + public Boolean hasFieldError { get; private set; } + public Integer lineNo { get; private set; } + public String changeFlg { get; set; } + public String reasonFlg { get; set; } + //澶嶉�夋id鍊� + public String chk { get;set; } + + public PCLInfo(Inquiry_form__c record) { + rec = record; + canEdit = true; + hasError = false; + hasFieldError = false; + lineNo = 0; + changeFlg = '0'; + reasonFlg = '0'; + chk = 'chk'+lineNo; } - class PCLInfo { - public Inquiry_form__c rec { get; set; } - public Boolean canEdit { get; private set; } - public Boolean hasError { get; private set; } - public Boolean hasFieldError { get; private set; } - public Integer lineNo { get; private set; } - public String changeFlg { get; set; } - public String reasonFlg { get; set; } - //澶嶉�夋id鍊� - public String chk { get;set; } - - public PCLInfo(Inquiry_form__c record) { - rec = record; - canEdit = true; - hasError = false; - hasFieldError = false; - lineNo = 0; - changeFlg = '0'; - reasonFlg = '0'; - chk = 'chk'+lineNo; - } +} - } - - public static void forTest(){ - 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++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - i++; - } +public static void forTest(){ + 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++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; +} } \ No newline at end of file -- Gitblit v1.9.1