| | |
| | | public class ConsumApplyCancelController { |
| | | global without sharing class ConsumApplyWebService { |
| | | // TODO please use public okStatus |
| | | public final static Integer okStatus = 99; |
| | | |
| | | /*--------- private ---------*/ |
| | | private Id objId {get; set;} |
| | | // 备品借出时间check |
| | | WebService static String approvalCheck(String ConsumApplyId) { |
| | | try { |
| | | // check结果 |
| | | String returnStr = ''; |
| | | |
| | | /*--------- public ---------*/ |
| | | public Consum_Apply__c ra {get; set;} |
| | | public String saveStatus {get; set;} |
| | | //备品借出申请 |
| | | Consum_Apply__c[] ConsumApply = [select Id |
| | | //,repair__r.Repair_Final_Inspection_Date__c |
| | | ,Bollow_Date__c |
| | | //,repair__r.Return_Without_Repair_Date__c |
| | | ,CreatedDate |
| | | ,Consum_Apply_Equipment_Set_Detail_Cnt__c |
| | | //,Prepare_Day__c |
| | | from Consum_Apply__c |
| | | where Id = :ConsumApplyId]; |
| | | if (ConsumApply.size() == 0) { |
| | | returnStr = '没有备品借出申请,请确认。'; |
| | | return returnStr; |
| | | } |
| | | Consum_Apply__c ra = ConsumApply[0]; |
| | | if (ra.Consum_Apply_Equipment_Set_Detail_Cnt__c <= 0) { |
| | | returnStr = '没有耗材一览,请确认。'; |
| | | return returnStr; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description ConsumApplyCancelController Class的构造函数 |
| | | * @param objId 申请书ID |
| | | **/ |
| | | public ConsumApplyCancelController() { |
| | | this.objId = ApexPages.currentPage().getParameters().get('objId'); |
| | | } |
| | | |
| | | /** |
| | | * @description ConsumApplyCancelController 初始化方法 |
| | | **/ |
| | | public void init() { |
| | | try{ |
| | | if (String.isBlank(this.objId)) { |
| | | throw new ControllerUtil.myException('请设置耗材借出申请的Id'); |
| | | } |
| | | if (String.isNotBlank(this.objId)) { |
| | | List<Consum_Apply__c> ras = getRas(this.objId); |
| | | if (ras.size() == 0) { |
| | | throw new ControllerUtil.myException('没有检索出耗材申请'); |
| | | } |
| | | this.ra = ras[0]; |
| | | } |
| | | String message = ''; |
| | | List<Consum_Apply_Equipment_Set_Detail__c> caesdList = [SELECT Id |
| | | , Asset__c |
| | | , Consum_Can_Request_approval_Date__c |
| | | , Fixture_Model_No_F__c |
| | | FROM Consum_Apply_Equipment_Set_Detail__c |
| | | WHERE Consum_Apply__c = :ConsumApplyId |
| | | AND Cancel_Select__c = false |
| | | ORDER BY Id]; |
| | | for (Consum_Apply_Equipment_Set_Detail__c caesd : caesdList) { |
| | | caesd.InputCheck__c = true; |
| | | if (String.isBlank(caesd.Asset__c)) { |
| | | return '有没有暂定分配的明细,不能提交申请'; |
| | | } |
| | | message += caesd.Fixture_Model_No_F__c + '\n'; |
| | | } |
| | | message = message.removeEnd('\n'); |
| | | update caesdList; |
| | | ra.Consum_Apply_Detail_ForEmail__c = message; |
| | | if (Trigger.isExecuting == false) { |
| | | update ra; |
| | | } |
| | | else { |
| | | return '1' + message; |
| | | } |
| | | } |
| | | catch (Exception e) { |
| | | System.debug(e.getStackTraceString()); |
| | | ApexPages.addMessages(e); |
| | | return; |
| | | return e.getMessage(); |
| | | } |
| | | |
| | | return '1'; |
| | | } |
| | | |
| | | WebService static String getwkDate(String date1, String number1) { |
| | | if (String.isBlank(date1)) { |
| | | return '没有时间,无法检测工作日'; |
| | | } |
| | | else { |
| | | date1 = date1.replaceAll('/', '-'); |
| | | } |
| | | Date d = Date.valueOf(date1); |
| | | Map<Date, OlympusCalendar__c> calendarMap = Consum_ApplyUtil.getOlympusCalendarMAp(d, d); |
| | | OlympusCalendar__c can = calendarMap.get(d); |
| | | Integer num = Integer.valueOf(number1); |
| | | Integer num1 = 1; |
| | | String key = 'After'; |
| | | if (num < 0) { |
| | | key = 'Before'; |
| | | num1 = -1; |
| | | } |
| | | String api = key + '_' + (num * num1) + '_WorkDay__c'; |
| | | if (can.get(api) != null) { |
| | | return ((Date)can.get(api)).format(); |
| | | } |
| | | else { |
| | | return Consum_ApplyUtil.getWD_addday(d, num).format(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 保存取消状态 |
| | | **/ |
| | | public void saveCancel() { |
| | | // 分配验证 |
| | | Webservice static String AssignBtn(String Rid){ |
| | | List<Consum_Apply__c> raList = [select Id |
| | | //,repair__r.Repair_Final_Inspection_Date__c |
| | | //,repair__r.Return_Without_Repair_Date__c |
| | | from Consum_Apply__c |
| | | where id = :Rid]; |
| | | if(raList.size()>0){ |
| | | //Consum_Apply__c Ra = raList[0]; |
| | | //if(Ra.repair__r.Repair_Final_Inspection_Date__c!=null){ |
| | | // return '修理最终检测日不为空,不能分配'; |
| | | //}else if(Ra.repair__r.Return_Without_Repair_Date__c !=null){ |
| | | // return '未修理归还日不为空,不能分配'; |
| | | //}else{ |
| | | return 'Fin'; |
| | | //} |
| | | }else{ |
| | | return '该借出申请不存在'; |
| | | } |
| | | } |
| | | |
| | | Webservice static String postponeCheck(String endDate, Integer d) { |
| | | Date before5day = getWD_addday(date.parse(endDate), d); |
| | | if (Date.today() > before5day) { |
| | | return System.Label.EquipmentRentalPostponeOverDeadline; |
| | | } |
| | | return 'OK'; |
| | | } |
| | | |
| | | // FIXME 仇yj please use public |
| | | public static Date getWD_now(Date d) { |
| | | List<OlympusCalendar__c> workday = [ |
| | | select Id, Date__c, IsWorkDay__c |
| | | from OlympusCalendar__c |
| | | where Date__c >= :d |
| | | and IsWorkDay__c = 1 |
| | | order by Date__c |
| | | limit 1]; |
| | | Date selectDate = workday[0].Date__c; |
| | | return selectDate; |
| | | } |
| | | |
| | | // FIXME 仇yj please use public |
| | | public static Date getWD_addday(Date d, Integer i) { |
| | | if (d == Date.valueOf('4000-12-31')) { |
| | | return d; |
| | | } |
| | | if (i >= 0) { |
| | | List<OlympusCalendar__c> workday = [ |
| | | select Id, Date__c, IsWorkDay__c |
| | | from OlympusCalendar__c |
| | | where Date__c >= :d |
| | | and IsWorkDay__c = 1 |
| | | order by Date__c |
| | | limit :(i+1)]; |
| | | Date selectDate = workday[i].Date__c; |
| | | return selectDate; |
| | | } else { |
| | | i = Math.abs(i); |
| | | List<OlympusCalendar__c> workday = [ |
| | | select Id, Date__c, IsWorkDay__c |
| | | from OlympusCalendar__c |
| | | where Date__c <= :d |
| | | and IsWorkDay__c = 1 |
| | | order by Date__c desc |
| | | limit :(i+1)]; |
| | | Date selectDate = workday[i].Date__c; |
| | | return selectDate; |
| | | } |
| | | } |
| | | |
| | | // pd:0代表当天,1代表第二天 |
| | | public Map<Date, Map<String, String>> getDateMap(Date sd, Date ed, Integer pd) { |
| | | Map<Date, Map<String, String>> returnMap = new Map<Date, Map<String, String>>(); |
| | | List<OlympusCalendar__c> workdayList = [ |
| | | select Id, Date__c, IsWorkDay__c |
| | | from OlympusCalendar__c |
| | | where Date__c >= :sd |
| | | and Date__c <= :ed.addDays(15 + pd) // +15 的目的是、为了取得ed の 下一个工作日 |
| | | order by Date__c]; |
| | | for (Integer i = 0; i < workdayList.size(); i++) { |
| | | OlympusCalendar__c wd = workdayList[i]; |
| | | if (wd.Date__c > ed) break; |
| | | Integer nextWordDays = 0; |
| | | Map<String, String> valueMap = new Map<String, String>(); |
| | | valueMap.put('WorkDay', String.valueOf(wd.IsWorkDay__c)); |
| | | Integer maxJ = 15 + i + pd; |
| | | if (maxJ > workdayList.size()) maxJ = workdayList.size(); |
| | | for (Integer j = i; j < maxJ; j++) { |
| | | OlympusCalendar__c oc = workdayList[j]; |
| | | if (oc.IsWorkDay__c == 1) { |
| | | nextWordDays++; |
| | | if (nextWordDays == pd + 1) { |
| | | valueMap.put('Next', String.valueOf(oc.Date__c)); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | returnMap.put(wd.Date__c, valueMap); |
| | | } |
| | | return returnMap; |
| | | } |
| | | |
| | | WebService static String ConsumApplyCancel(String raid, Boolean autoCancel) { |
| | | List<Consum_Apply__c> raList = [select id |
| | | , Shipment_request_Cnt__c |
| | | , Status__c |
| | | , RA_Status__c |
| | | //, Shippment_loaner_cnt__c |
| | | , Loaner_cancel_request__c |
| | | , Arrival_wh_cnt__c |
| | | , Cancel_Reason__c |
| | | from Consum_Apply__c |
| | | where id = :raid]; |
| | | List<Consum_Apply_Equipment_Set__c> raesList = [select id |
| | | //, StockDown_time__c |
| | | from Consum_Apply_Equipment_Set__c |
| | | where Consum_Apply__c = :raid |
| | | and Cancel_Select__c = false]; |
| | | |
| | | List<Consum_Apply_Equipment_Set__c> updList = new List<Consum_Apply_Equipment_Set__c>(); |
| | | // List<Consum_Apply_Equipment_Set_Detail__c> delList = new List<Consum_Apply_Equipment_Set_Detail__c>(); |
| | | Set<Id> esIdSet = new Set<Id>(); |
| | | |
| | | if (raList.size() <= 0) { |
| | | return '备品申请书不存在。'; |
| | | } |
| | | Consum_Apply__c ra = raList[0]; |
| | | if (ra.Status__c == '取消') { |
| | | return '备品申请书已经取消。'; |
| | | } |
| | | if (ra.Status__c == '删除') { |
| | | return '备品申请书已经删除。'; |
| | | } |
| | | if (ra.RA_Status__c == FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Chu_Ku.ordinal()) || ra.Arrival_wh_cnt__c > 0) { |
| | | return '备品已经出库,不能取消。'; |
| | | } |
| | | |
| | | User loginUser = [Select Id, Name, ProfileId From User where Id = :Userinfo.getUserId()]; |
| | | if(loginUser.ProfileId != System.Label.ProfileId_SystemAdmin |
| | | && loginUser.ProfileId != System.Label.ProfileId_EquipmentCenter |
| | | && !System.Label.ProfileId_EquCenCheckAndDepot.contains(loginUser.ProfileId) |
| | | && !System.Label.ProfileId_EquCenAdmin.contains(loginUser.ProfileId) |
| | | && loginUser.ProfileId != System.Label.ProfileId_IThelp |
| | | && ra.Shipment_request_Cnt__c > 0 |
| | | ){ |
| | | return '不能取消申请,请联系备品中心窗口取消。'; |
| | | } |
| | | |
| | | if (autoCancel == false && String.isBlank(ra.Cancel_Reason__c)) { |
| | | return '必须输入取消理由。'; |
| | | } |
| | | |
| | | if (autoCancel) { |
| | | if (ra.Status__c == '申请中') { |
| | | List<Approval.ProcessWorkitemRequest> requests = new List<Approval.ProcessWorkitemRequest> (); |
| | | Map<ID,ProcessInstance> piMap = New Map<ID,ProcessInstance>([Select Id from ProcessInstance where TargetObjectId = :ra.Id]); |
| | | for(ProcessInstanceWorkItem wi : [Select Id from ProcessInstanceWorkItem where ProcessInstanceId IN :piMap.keySet()]){ |
| | | Approval.ProcessWorkitemRequest req2 = new Approval.ProcessWorkitemRequest(); |
| | | req2.setAction('Removed'); |
| | | req2.setWorkitemId(wi.Id); |
| | | requests.add(req2); |
| | | } |
| | | if (requests.size() > 0) { |
| | | Approval.ProcessResult[] processResults = null; |
| | | processResults = Approval.process(requests, true); |
| | | } |
| | | } |
| | | ra.Cancel_Reason__c = '主动取消'; |
| | | ra.Loaner_cancel_request__c = '本申请审批超时自动关闭申请单'; |
| | | } |
| | | ra.Status__c = '取消'; |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | // SWAG-BFV6G4 start |
| | | StaticParameter.rentalApplyIsRunning = true; |
| | | // SWAG-BFV6G4 end |
| | | if (String.isBlank(this.ra.Cancel_Reason__c)) { |
| | | throw new ControllerUtil.myException('请输入取消理由'); |
| | | Set<Id> selectAssetIdSet = new Set<Id>(); |
| | | for (Consum_Apply_Equipment_Set_Detail__c caesd : [SELECT Id, Asset__c |
| | | FROM Consum_Apply_Equipment_Set_Detail__c |
| | | WHERE Consum_Apply__c = :raid] |
| | | ) { |
| | | if (String.isNotBlank(caesd.Asset__c)) { |
| | | selectAssetIdSet.add(caesd.Asset__c); |
| | | } |
| | | } |
| | | if (String.isBlank(this.ra.Loaner_cancel_request__c)) { |
| | | throw new ControllerUtil.myException('备品申请取消理由备注'); |
| | | if (selectAssetIdSet.size() > 0) { |
| | | List<Asset> assList = [SELECT Id |
| | | FROM Asset |
| | | WHERE Id = :selectAssetIdSet FOR UPDATE]; |
| | | } |
| | | FixtureUtil.withoutUpdate(new Consum_Apply__c[]{this.ra}); |
| | | String statusMessage; |
| | | statusMessage = ConsumApplyWebService.ConsumApplyCancel(objId, false); |
| | | if (statusMessage != '1') { |
| | | throw new ControllerUtil.myException(statusMessage); |
| | | update ra; |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | return ex.getMessage(); |
| | | } |
| | | |
| | | return '1'; |
| | | } |
| | | |
| | | // 一覧単位 |
| | | WebService static String setRaesShipment_request(String raesid) { |
| | | return setShipment_requests(null, raesid); |
| | | } |
| | | |
| | | // 申請書単位 |
| | | WebService static String setShipment_request(String raid) { |
| | | System.debug(raid); |
| | | return setShipment_requests(raid, null); |
| | | } |
| | | |
| | | //出库指示按钮js一次最多更新200条,所以改在WebService做出库指示 |
| | | WebService static String setShipment_requests(String raid, String raesid) { |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | System.debug(raid); |
| | | //一览情况下检索一览对应的申请书Id,soql子查询不能和主查询是同一个表,单独检索一次 |
| | | if (String.isBlank(raid)) { |
| | | List<Consum_Apply_Equipment_Set__c> raesList = [select Id, Consum_Apply__c from Consum_Apply_Equipment_Set__c where id = :raesid]; |
| | | if (raesList.size() > 0) { |
| | | raid = raesList[0].Consum_Apply__c; |
| | | } else { |
| | | //应该不会到这里 |
| | | return '没有可以出库指示的一览'; |
| | | } |
| | | saveStatus = 'ok'; |
| | | } |
| | | //String soql = 'SELECT Id, Wei_Assigned_Cnt__c, Yi_Assigned_Cnt__c' |
| | | // + ' FROM Consum_Apply_Equipment_Set__c ' |
| | | // + ' WHERE Shippment_loaner_time2__c <> null ' |
| | | // + ' AND Consum_Apply__c = :raid ' |
| | | // + ' ORDER BY Id' ; |
| | | //List<Consum_Apply_Equipment_Set__c> shippedRaesList = Database.query(soql); |
| | | //String raesStrShipped = ''; |
| | | //for (Consum_Apply_Equipment_Set__c raes : shippedRaesList) { |
| | | // raesStrShipped += raes.Id; |
| | | // if (raes.Wei_Assigned_Cnt__c > 0 || raes.Yi_Assigned_Cnt__c == 0) { |
| | | // return '不能做出库指示,需要分单后再操作'; |
| | | // } |
| | | //} |
| | | |
| | | //Srring soql = "SELECT Id FROM Consum_Apply_Equipment_Set_Detail__c WHERE Consum_Apply__c = '{!Consum_Apply__c.Id}' AND Cancel_Select__c = false AND Consum_Num__c > 0 AND Consum_Apply_Equipment_Set__r.Wei_Assigned_Cnt__c = 0 AND Consum_Apply_Equipment_Set__r.Yi_Assigned_Cnt__c > 0 AND Shipment_request__c = false"; |
| | | String soql = 'SELECT Id, Consum_Apply__c, Consum_Apply_Equipment_Set__c, Asset__c, Select_Time__c' |
| | | + ' FROM Consum_Apply_Equipment_Set_Detail__c ' |
| | | + ' WHERE ' + (String.isNotBlank(raesid) ? 'Consum_Apply_Equipment_Set__c = :raesid ' : 'Consum_Apply__c = :raid ') |
| | | + ' AND Cancel_Select__c = false ' |
| | | // + ' AND Consum_Num__c > 0 ' |
| | | //+ ' AND Consum_Apply_Equipment_Set__r.Wei_Assigned_Cnt__c = 0 ' |
| | | //+ ' AND Consum_Apply_Equipment_Set__r.Yi_Assigned_Cnt__c > 0 ' |
| | | + ' AND Shipment_request__c = false' |
| | | + ' ORDER BY Consum_Apply_Equipment_Set__c, Id'; |
| | | System.debug(soql); |
| | | System.debug(raesid); |
| | | System.debug(raid); |
| | | List<Consum_Apply_Equipment_Set_Detail__c> raesds = Database.query(soql); |
| | | |
| | | Map<Id, List<String>> Consum_Asset_SerialNumberMap = new Map<Id, List<String>>(); |
| | | |
| | | if (raesds.size() < 1) { |
| | | return '没有可以出库指示的明细'; |
| | | } else { |
| | | //Set<Id> raesSet = new Set<Id>(); |
| | | //String raesStrRequest = ''; |
| | | for (Consum_Apply_Equipment_Set_Detail__c raesd : raesds) { |
| | | //if (false == raesSet.contains(raesd.Consum_Apply_Equipment_Set__c)) { |
| | | // raesSet.add(raesd.Consum_Apply_Equipment_Set__c); |
| | | // raesStrRequest += raesd.Consum_Apply_Equipment_Set__c; |
| | | //} |
| | | if(raesd.Asset__c == null || raesd.Select_Time__c == null){ |
| | | return '申请单内存在未分配的耗材,请分配或分割申请单'; |
| | | } |
| | | raesd.Shipment_request_time2__c = Datetime.now(); |
| | | raesd.Shipment_request__c = true; |
| | | } |
| | | // 出库后, 再次做出库指示的一览, 一定要个出过库的一览一样 |
| | | //if (false == String.isBlank(raesStrShipped) && raesStrRequest != raesStrShipped) { |
| | | // return '不能做出库指示,需要分单后再操作'; |
| | | //} |
| | | } |
| | | |
| | | Consum_Apply__c ra = new Consum_Apply__c(Id = raesds[0].Consum_Apply__c, Status__c = '已出库指示'); |
| | | update ra; |
| | | Database.SaveResult[] results = Database.update(raesds); |
| | | Database.SaveResult dmlResult = results[0]; |
| | | if (dmlResult.isSuccess()) { |
| | | //明细更新成功后才更新一览的Consum_Asset_SerialNumber__c |
| | | soql = 'SELECT Id, SerialNumber_text__c, Consum_Apply_Equipment_Set__c ' |
| | | +'FROM Consum_Apply_Equipment_Set_Detail__c ' |
| | | +'WHERE Consum_Apply__c = \'' + raesds[0].Consum_Apply__c + '\'' |
| | | +'AND Shipment_request_time2__c != null ' |
| | | +'AND Shipment_request__c = true ' |
| | | +'AND SerialNumber_text__c != null ' |
| | | +'ORDER BY Consum_Apply_Equipment_Set__c '; |
| | | |
| | | |
| | | List<Consum_Apply_Equipment_Set_Detail__c> raesdSerialNumbers = Database.query(soql); |
| | | |
| | | for (Consum_Apply_Equipment_Set_Detail__c raesd : raesdSerialNumbers) { |
| | | |
| | | if (!Consum_Asset_SerialNumberMap.containsKey(raesd.Consum_Apply_Equipment_Set__c)) { |
| | | // Asset__r.SerialNumber + ',' |
| | | Consum_Asset_SerialNumberMap.put(raesd.Consum_Apply_Equipment_Set__c, new List<String>()); |
| | | } |
| | | Consum_Asset_SerialNumberMap.get(raesd.Consum_Apply_Equipment_Set__c).add(raesd.SerialNumber_text__c); |
| | | } |
| | | |
| | | List<Consum_Apply_Equipment_Set__c> raess = new List<Consum_Apply_Equipment_Set__c>(); |
| | | for (Id key : Consum_Asset_SerialNumberMap.keySet()) { |
| | | raess.add(new Consum_Apply_Equipment_Set__c(Id = key, |
| | | Consum_Asset_SerialNumber__c = ',' + String.join(Consum_Asset_SerialNumberMap.get(key), ',') + ',')); |
| | | } |
| | | if (!raess.isEmpty()) { |
| | | update raess; |
| | | } |
| | | return '状态更新到已出库指示'; |
| | | } else { |
| | | Database.rollback(sp); |
| | | Database.Error emsg = dmlResult.getErrors()[0]; |
| | | return 'failed to update:' + emsg.getFields() + ' ' + emsg.getMessage(); |
| | | } |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | return ex.getMessage(); |
| | | }} |
| | | |
| | | /** |
| | | * 注残申请备品的管控 |
| | | */ |
| | | WebService static String ConsumApplyCheckForSAoneEle(String SaID) { |
| | | Statu_Achievements__c Sac = [select id, |
| | | SalesChannel__c, |
| | | Opportunity__r.Sales_Root__c, |
| | | Status_1__c, |
| | | Status_2_Formula__c, |
| | | Opp_Number__c, |
| | | ContractNO__c, |
| | | FirstApproveDate__c, |
| | | CreatedDate, |
| | | X30_Deposit_Day__c, |
| | | Deposit_In_Full_Day__c, |
| | | DeliveryDate__c |
| | | from Statu_Achievements__c where id = :SaID]; |
| | | if(Sac.Opportunity__r.Sales_Root__c == '販売店'){ |
| | | if(Sac.Opp_Number__c.contains('GI')||Sac.Opp_Number__c.contains('BF')||Sac.Opp_Number__c.contains('ET') ){ |
| | | if(Sac.Status_1__c == '注残' && (Sac.Status_2_Formula__c == '12 已订货・付全款'||Sac.Status_2_Formula__c == '13 待发货')){ |
| | | if((Date.today().addDays(-30)>Sac.Deposit_In_Full_Day__c)&&Sac.DeliveryDate__c == null){ |
| | | return 'Fin'; |
| | | }else{ |
| | | return '经销商内科订单不在申请期内,不能申请备品'; |
| | | } |
| | | }else{ |
| | | return '经销商内科订单状态不符合备品申请资格,不能申请备品'; |
| | | } |
| | | }else if(Sac.Opp_Number__c.contains('SP')){ |
| | | if(Sac.Status_1__c == '注残' && (Sac.Status_2_Formula__c == '11 已订货・付订金'||Sac.Status_2_Formula__c == '12 已订货・付全款'||Sac.Status_2_Formula__c == '13 待发货')){ |
| | | if((Date.today().addDays(-60)>Sac.X30_Deposit_Day__c )&&Sac.DeliveryDate__c == null){ |
| | | return 'Fin'; |
| | | }else{ |
| | | return '经销商SP订单不在申请期内,不能申请备品'; |
| | | } |
| | | }else{ |
| | | return '经销商SP订单状态不符合备品申请资格,不能申请备品'; |
| | | } |
| | | }else{ |
| | | return '注残销售渠道类别不在可申请备品范围内'; |
| | | } |
| | | }else if(Sac.Opportunity__r.Sales_Root__c == 'OCM直接販売'){ |
| | | if(Sac.Opp_Number__c.contains('GI')||Sac.Opp_Number__c.contains('BF')||Sac.Opp_Number__c.contains('ET')){ |
| | | if(Sac.Status_1__c == '注残' && (Sac.Status_2_Formula__c == '09 已录入订单未付款'||Sac.Status_2_Formula__c == '10 库存已预留・未付款'||Sac.Status_2_Formula__c == '11 已订货・付订金'||Sac.Status_2_Formula__c == '12 已订货・付全款'||Sac.Status_2_Formula__c == '13 待发货')){ |
| | | if((Date.today().addDays(-30)>Sac.FirstApproveDate__c )&&Sac.DeliveryDate__c == null){ |
| | | return 'Fin'; |
| | | }else{ |
| | | return 'OCM直销内科订单不在申请期内,不能申请备品'; |
| | | } |
| | | }else{ |
| | | return 'OCM直销内科订单状态不符合备品申请资格,不能申请备品'; |
| | | } |
| | | }else if(Sac.Opp_Number__c.contains('SP')){ |
| | | if(Sac.Status_1__c == '注残' && (Sac.Status_2_Formula__c == '09 已录入订单未付款'||Sac.Status_2_Formula__c == '10 库存已预留・未付款'||Sac.Status_2_Formula__c == '11 已订货・付订金'||Sac.Status_2_Formula__c == '12 已订货・付全款'||Sac.Status_2_Formula__c == '13 待发货')){ |
| | | if((Date.today().addDays(-60)>Sac.FirstApproveDate__c )&&Sac.DeliveryDate__c == null){ |
| | | return 'Fin'; |
| | | }else{ |
| | | return 'OCM直销SP订单不在申请期内,不能申请备品'; |
| | | } |
| | | }else{ |
| | | return 'OCM直销SP订单状态不符合备品申请资格,不能申请备品'; |
| | | } |
| | | }else{ |
| | | return '注残销售渠道类别不在可申请备品范围内。'; |
| | | } |
| | | }else{ |
| | | return '销售渠道未知,不能新建'; |
| | | } |
| | | } |
| | | |
| | | @AuraEnabled |
| | | Webservice static String all_received_fse(String caId) { |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | List<Consum_Apply_Equipment_Set_Detail__c> caesdList = [SELECT Id |
| | | , RAESD_Status__c |
| | | , Loaner_received_time__c |
| | | , Consum_Apply__r.Loaner_received_ng_num__c |
| | | FROM Consum_Apply_Equipment_Set_Detail__c |
| | | WHERE DeliverySlip__c !=null |
| | | AND Cancel_Select__c = false |
| | | AND Consum_Apply__c = :caId]; |
| | | if (caesdList.size() == 0) { |
| | | return '未发货'; |
| | | } |
| | | else if (caesdList[0].Consum_Apply__r.Loaner_received_ng_num__c == 0) { |
| | | return '现场已经全部收到实物了'; |
| | | } |
| | | else { |
| | | List<Consum_Apply_Equipment_Set_Detail__c> caesdL = new List<Consum_Apply_Equipment_Set_Detail__c>(); |
| | | for (Consum_Apply_Equipment_Set_Detail__c caesd : caesdList) { |
| | | if (caesd.Loaner_received_time__c == null && caesd.RAESD_Status__c=='已出库') { |
| | | Consum_Apply_Equipment_Set_Detail__c caesd1 = new Consum_Apply_Equipment_Set_Detail__c(); |
| | | caesd1.Id = caesd.Id; |
| | | caesd1.Received_Confirm__c = 'OK'; |
| | | caesdL.add(caesd1); |
| | | } |
| | | } |
| | | if (caesdL.size() > 0) { |
| | | update caesdL; |
| | | } |
| | | return '现场已全部收货'; |
| | | } |
| | | } |
| | | catch (Exception e) { |
| | | Database.rollback(sp); |
| | | System.debug(e.getStackTraceString()); |
| | | ApexPages.addMessages(e); |
| | | saveStatus = 'ng'; |
| | | return; |
| | | return e.getMessage(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 备品借出申请取得 |
| | | **/ |
| | | private List<Consum_Apply__c> getRas(Id raId) { |
| | | return [SELECT Id |
| | | , Name |
| | | , OwnerId |
| | | , Status__c |
| | | , RA_Status__c |
| | | , Cancel_Reason__c |
| | | , Loaner_cancel_request__c |
| | | //, StockDown_ng_num__c |
| | | , Consum_Apply_Equipment_Set_Detail_Cnt__c |
| | | FROM Consum_Apply__c |
| | | WHERE Id = :raId]; |
| | | @TestVisible private static void test() { |
| | | if (false == Test.isRunningTest()) return; |
| | | 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++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | |
| | | } |
| | | } |