| | |
| | | |
| | | global Database.QueryLocator start(Database.BatchableContext bc) { |
| | | String query = 'SELECT Id,IsBid__c,NotBidApprovalStatus__c,IsReactionOpp__c,Hospital__c,Hospital1__c,Hospital2__c,Hospital3__c,Hospital4__c, '; |
| | | query += 'Hospital__r.DepartmentChanges__c,Hospital1__r.DepartmentChanges__c,Hospital2__r.DepartmentChanges__c,Hospital3__r.DepartmentChanges__c,Hospital4__r.DepartmentChanges__c '; |
| | | query += 'Hospital__r.Assume_Change__c,Hospital1__r.Assume_Change__c,Hospital2__r.Assume_Change__c,Hospital3__r.Assume_Change__c,Hospital4__r.Assume_Change__c '; |
| | | query += 'FROM Tender_information__c '; |
| | | if(IsOnlyTrue){ |
| | | query += 'WHERE ((IsReactionOpp__c = true ) '; |
| | | //2021-07-29 mzy update 当医院发生变化/招投标项目OCSM省发生变化时,空更新一下招投标 start |
| | | query += 'OR (BiddingOCSMAdministration__c = true) OR (Hospital__r.DepartmentChanges__c = true) '; |
| | | query += 'OR (Hospital1__r.DepartmentChanges__c = true) OR (Hospital2__r.DepartmentChanges__c = true) '; |
| | | query += 'OR (Hospital3__r.DepartmentChanges__c = true) OR (Hospital4__r.DepartmentChanges__c = true) )'; |
| | | // 2022-04-08 ssm SWAG-CC58ME 增加所有人无效的判断 start |
| | | query += 'OR (Owner.IsActive = false) '; |
| | | // 2022-04-08 ssm SWAG-CC58ME end |
| | | query += 'OR (BiddingOCSMAdministration__c = true) OR (Hospital__r.Assume_Change__c = true) '; |
| | | query += 'OR (Hospital1__r.Assume_Change__c = true) OR (Hospital2__r.Assume_Change__c = true) '; |
| | | query += 'OR (Hospital3__r.Assume_Change__c = true) OR (Hospital4__r.Assume_Change__c = true) )'; |
| | | //2021-07-29 mzy update 当医院发生变化/招投标项目OCSM省发生变化时,空更新一下招投标 end |
| | | // DepartmentChanges__c 全部换成 Assume_Change__c |
| | | } |
| | | if(String.isNotBlank(this.tempTenderId)){ |
| | | if(IsOnlyTrue){ |
| | |
| | | //2021-07-29 mzy update 当医院发生变化/招投标项目OCSM省发生变化时,空更新一下招投标 end |
| | | } |
| | | //2021-07-29 mzy update 空更新失败的话不清空医院的标识 start |
| | | // System.debug('EmptyUpdateTenderList: ' + EmptyUpdateTenderList); |
| | | if(EmptyUpdateTenderList.size()>0){ |
| | | //空更新招投标 |
| | | // fxk 2021/9/28 Star |
| | |
| | | String faildTenderId = String.valueOf(EmptyUpdateTenderList.get(i).id).substring(0,15); |
| | | Tender_information__c faildtender = EmptyUpdateTenderMap.get(faildTenderId); |
| | | |
| | | if(faildtender.Hospital__c != null && faildtender.Hospital__r.DepartmentChanges__c == true){ |
| | | if(faildtender.Hospital__c != null && faildtender.Hospital__r.Assume_Change__c == true){ |
| | | faildHospIdSet.add(faildtender.Hospital__c); |
| | | } |
| | | if(faildtender.Hospital1__c != null && faildtender.Hospital1__r.DepartmentChanges__c == true){ |
| | | if(faildtender.Hospital1__c != null && faildtender.Hospital1__r.Assume_Change__c == true){ |
| | | faildHospIdSet.add(faildtender.Hospital1__c); |
| | | } |
| | | if(faildtender.Hospital2__c != null&& faildtender.Hospital2__r.DepartmentChanges__c == true){ |
| | | if(faildtender.Hospital2__c != null&& faildtender.Hospital2__r.Assume_Change__c == true){ |
| | | faildHospIdSet.add(faildtender.Hospital2__c); |
| | | } |
| | | if(faildtender.Hospital3__c != null&& faildtender.Hospital3__r.DepartmentChanges__c == true){ |
| | | if(faildtender.Hospital3__c != null&& faildtender.Hospital3__r.Assume_Change__c == true){ |
| | | faildHospIdSet.add(faildtender.Hospital3__c); |
| | | } |
| | | if(faildtender.Hospital4__c != null&& faildtender.Hospital4__r.DepartmentChanges__c == true){ |
| | | if(faildtender.Hospital4__c != null&& faildtender.Hospital4__r.Assume_Change__c == true){ |
| | | faildHospIdSet.add(faildtender.Hospital4__c); |
| | | } |
| | | } |
| | |
| | | Tender_information__c tender = EmptyUpdateTenderMap.get(tenderId); |
| | | |
| | | //如果失败的Set里没有这个医院,则清空这个医院的标识 |
| | | if(tender.Hospital__c != null && tender.Hospital__r.DepartmentChanges__c == true |
| | | if(tender.Hospital__c != null && tender.Hospital__r.Assume_Change__c == true |
| | | && (!faildHospIdSet.contains(tender.Hospital__c)) ){ |
| | | HospitalId.add(tender.Hospital__c); |
| | | } |
| | | if(tender.Hospital1__c != null && tender.Hospital1__r.DepartmentChanges__c == true |
| | | if(tender.Hospital1__c != null && tender.Hospital1__r.Assume_Change__c == true |
| | | && (!faildHospIdSet.contains(tender.Hospital1__c)) ){ |
| | | HospitalId.add(tender.Hospital1__c); |
| | | } |
| | | if(tender.Hospital2__c != null && tender.Hospital2__r.DepartmentChanges__c == true |
| | | if(tender.Hospital2__c != null && tender.Hospital2__r.Assume_Change__c == true |
| | | && (!faildHospIdSet.contains(tender.Hospital2__c)) ){ |
| | | HospitalId.add(tender.Hospital2__c); |
| | | } |
| | | if(tender.Hospital3__c != null && tender.Hospital3__r.DepartmentChanges__c == true |
| | | if(tender.Hospital3__c != null && tender.Hospital3__r.Assume_Change__c == true |
| | | && (!faildHospIdSet.contains(tender.Hospital3__c)) ){ |
| | | HospitalId.add(tender.Hospital3__c); |
| | | } |
| | | if(tender.Hospital4__c != null && tender.Hospital4__r.DepartmentChanges__c == true |
| | | if(tender.Hospital4__c != null && tender.Hospital4__r.Assume_Change__c == true |
| | | && (!faildHospIdSet.contains(tender.Hospital4__c)) ){ |
| | | HospitalId.add(tender.Hospital4__c); |
| | | } |
| | |
| | | while(HospitalIds.hasNext()){ |
| | | Account acc = new Account(); |
| | | acc.id = HospitalIds.next(); |
| | | acc.DepartmentChanges__c = false; |
| | | acc.Assume_Change__c = false; |
| | | needUpdateHPList.add(acc); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | //询价流程改善 fy start |
| | | System.debug('batch2开始'); |
| | | Id execBTId = Database.executeBatch(new UpdateTenderInformationBatch2(TenderIdList),100); |
| | | System.debug('batch2结束'); |
| | | //询价流程改善 fy end |
| | | |
| | | }catch(NullPointerException ex){ |
| | | system.debug('aa1:'+ex.getMessage()); |
| | |
| | | List<Tender_information__c> updateTenderNumList = [SELECT Id, Hospital__c, Hospital1__c, |
| | | Hospital2__c, Hospital3__c, Hospital4__c, OwnerId, IsRelateProject__c, IsBid__c, department__c, |
| | | subDepartment1__c, subDepartment2__c, subDepartment3__c, subDepartment4__c, NotBidApprovalStatus__c, |
| | | OpportunityNum__c, OpportunityStatus__c FROM Tender_information__c WHERE Id IN :tenders]; |
| | | OpportunityNum__c, OpportunityStatus__c |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start |
| | | ,OlyNumberHosts__c, RivalHostsNumber__c, TotalNumberHosts__c |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end |
| | | FROM Tender_information__c WHERE Id IN :tenders]; |
| | | // 招标-询价关联修改 20210817 end |
| | | |
| | | return updateTenderNumList; |
| | |
| | | Integer WinNum = 0; |
| | | //失单 num |
| | | Integer SHDNum = 0; |
| | | //XLIU-CG98L5【委托】【评估】新需求-招标项目/询价对应流标、废标改善 fy start |
| | | //取消 num |
| | | Integer QuxNum = 0; |
| | | //XLIU-CG98L5【委托】【评估】新需求-招标项目/询价对应流标、废标改善 fy end |
| | | //中标 2022-6-29 yjk |
| | | Integer bidNum = 0; |
| | | //对手中标 2022-6-29 yjk |
| | | Integer loseNum = 0; |
| | | |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start |
| | | tempTender.OlyNumberHosts__c = 0; |
| | | tempTender.RivalHostsNumber__c = 0; |
| | | tempTender.TotalNumberHosts__c = 0; |
| | | |
| | | Decimal OlyNum = 0; |
| | | Decimal RivalNum = 0; |
| | | Decimal TotalNum = 0; |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end |
| | | |
| | | //获取当前key的List |
| | | for(Opportunity tempOp :BiddingDownOppList){ |
| | | |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start |
| | | System.debug('lt123---------------------------------------'); |
| | | |
| | | if(tempOp.OlyNumberHosts__c == null){ |
| | | tempOp.OlyNumberHosts__c = 0; |
| | | } |
| | | if(tempOp.RivalHostsNumber__c == null){ |
| | | tempOp.RivalHostsNumber__c = 0; |
| | | } |
| | | |
| | | OlyNum += tempOp.OlyNumberHosts__c; |
| | | RivalNum += tempOp.RivalHostsNumber__c; |
| | | TotalNum += tempOp.InquireNumberHosts__c; |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end |
| | | |
| | | // 李慧娟备注 : 这里请替换成<SAP上传(WIN)>标识判断 |
| | | //<!--询价状态--> |
| | | if(tempOp.SAP_Send_OK__c){ |
| | | if(tempOp.SAP_Send_OK__c || '完毕'.equals(tempOp.StageName__c)){ // 2022-6-2 yjk SWAG-CEP9G8 |
| | | //win |
| | | WinNum += 1; |
| | | }else if(tempOp.StageName__c.equals('失单')){ |
| | | //失单 |
| | | SHDNum += 1; |
| | | } |
| | | //XLIU-CG98L5【委托】【评估】新需求-招标项目/询价对应流标、废标改善 fy start |
| | | // else if(tempOp.StageName__c.equals('失单') || tempOp.StageName__c.equals('取消')){ //2022-5-23 yjk SWAG-CEP9G8 |
| | | // //失单 |
| | | // SHDNum += 1; |
| | | // } |
| | | else if(tempOp.StageName__c.equals('失单')){ //2022-5-23 yjk SWAG-CEP9G8 |
| | | //失单 |
| | | SHDNum += 1; |
| | | } |
| | | else if(tempOp.StageName__c.equals('取消')){ //2022-5-23 yjk SWAG-CEP9G8 |
| | | //失单 |
| | | QuxNum += 1; |
| | | } |
| | | //XLIU-CG98L5【委托】【评估】新需求-招标项目/询价对应流标、废标改善 fy end |
| | | //获取询价的医院(相关性时用) |
| | | if(!OppHospitalList.contains(tempOp.Hospital__c)&&tempOp.Hospital__c!=null){ |
| | | OppHospitalList.add(tempOp.Hospital__c); |
| | | } |
| | | |
| | | //2022-6-29 yjk 中标确认赋值 start |
| | | if('OLY中标'.equals(tempOp.ConfirmationofAward__c)){ |
| | | bidNum++; |
| | | }else if('竞争对手中标'.equals(tempOp.ConfirmationofAward__c)){ |
| | | loseNum++; |
| | | } |
| | | //2022-6-29 yjk 中标确认赋值 end |
| | | |
| | | } |
| | | |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start |
| | | tempTender.OlyNumberHosts__c = OlyNum; |
| | | tempTender.RivalHostsNumber__c = RivalNum; |
| | | tempTender.TotalNumberHosts__c = TotalNum; |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end |
| | | |
| | | //<!--询价状态--> |
| | | if(WinNum == BiddingDownOppList.size()){ |
| | |
| | | }else if(WinNum>0&&SHDNum>0&&(WinNum + SHDNum) == BiddingDownOppList.size() ){ |
| | | //部分Win,部分失单时, 状态为 部分成交 |
| | | tempTender.OpportunityStatus__c = '部分成交'; |
| | | }else if(tempTender.OpportunityNum__c > 0){ |
| | | } |
| | | //XLIU-CG98L5【委托】【评估】新需求-招标项目/询价对应流标、废标改善 fy start |
| | | else if(QuxNum == BiddingDownOppList.size()){ |
| | | //全部为取消.状态为 取消 |
| | | tempTender.OpportunityStatus__c = '取消'; |
| | | } |
| | | //XLIU-CG98L5【委托】【评估】新需求-招标项目/询价对应流标、废标改善 fy end |
| | | else if(tempTender.OpportunityNum__c > 0){ |
| | | //如果询价数量大于0的话就是 跟进中 |
| | | tempTender.OpportunityStatus__c = '跟进中'; |
| | | }else{ |
| | |
| | | tempTender.OpportunityStatus__c = ''; |
| | | } |
| | | //<!---- 询价状态 end ---> |
| | | |
| | | //2022-6-29 yjk 中标确认赋值 start |
| | | if(bidNum > 0 && loseNum == 0){ |
| | | tempTender.ConfirmationofAward__c = 'OLY中标'; |
| | | }else if(loseNum > 0 && bidNum == 0){ |
| | | tempTender.ConfirmationofAward__c = '竞争对手中标'; |
| | | }else if(bidNum > 0 && loseNum > 0){ |
| | | tempTender.ConfirmationofAward__c = '部分OLY中标'; |
| | | }else{ |
| | | //DB202304056706 you 20230406 清空 |
| | | tempTender.ConfirmationofAward__c = ''; |
| | | } |
| | | |
| | | |
| | | //2022-6-29 yjk 中标确认赋值 end |
| | | |
| | | //<!------ 相关性 信息 start ----> |
| | | //定义Map存放当前招投标项目的五个医院 |
| | |
| | | }else { |
| | | //清空 |
| | | tempTender.OpportunityStatus__c = ''; |
| | | //DB202304056706 you 20230406 清空 |
| | | tempTender.ConfirmationofAward__c = ''; |
| | | } |
| | | updateTenderList.add(tempTender); |
| | | } |
| | |
| | | oppIds.add(link.Opportunity__c); |
| | | } |
| | | List<Opportunity> allRelativeOppList = [SELECT Id ,AccountId,Hospital__c,Department_Class__c,SAP_Send_OK__c,CreatedDate, Whether_Bidding__c, |
| | | Old_BiddingProject_Bid__c, OwnerId, StageName__c, Bidding_Project_Name_Bid__c FROM Opportunity WHERE Id in :oppIds ORDER By createdDate ASC]; |
| | | Old_BiddingProject_Bid__c, OwnerId, StageName__c, Bidding_Project_Name_Bid__c, ConfirmationofAward__c |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start |
| | | ,OlyNumberHosts__c, RivalHostsNumber__c, InquireNumberHosts__c |
| | | //20221010 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end |
| | | FROM Opportunity WHERE Id in :oppIds ORDER By createdDate ASC]; |
| | | // List<Opportunity> allRelativeOppList = [SELECT Id ,AccountId,Hospital__c,Department_Class__c,SAP_Send_OK__c,CreatedDate, Whether_Bidding__c, |
| | | // Old_BiddingProject_Bid__c,Bidding_Project_Name_Bid__c ,StageName__c ,Bidding_Project_Name_Bid__r.Hospital__c,Bidding_Project_Name_Bid__r.Hospital1__c, |
| | | // Bidding_Project_Name_Bid__r.Hospital2__c,Bidding_Project_Name_Bid__r.Hospital3__c,Bidding_Project_Name_Bid__r.Hospital4__c, |
| | |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | } |
| | | } |