| | |
| | | , Rental_Apply_Equipment_Set__r.Shippment_loaner_time2__c |
| | | , Rental_Apply__r.Status__c //20210519 ljh add 1829 end |
| | | , Rental_Apply__r.Request_approval_time__c //20220309 SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | , Add_Request_approval_time__c //20220309 SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | , Add_Request_approval_time__c //20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | , Rental_Num__c |
| | | , Rental_Start_Date__c |
| | | , Select_Time__c |
| | |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '没有明细,不能发货!')); |
| | | return; |
| | | } |
| | | Map<String,String> tes = new Map<String,String>(); |
| | | Map<String, List<Rental_Apply_Equipment_Set_Detail__c>> approvalMap = new Map<String, List<Rental_Apply_Equipment_Set_Detail__c>>();// 20220309 SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | Map<String, List<Rental_Apply_Equipment_Set_Detail__c>> approvalMap = new Map<String, List<Rental_Apply_Equipment_Set_Detail__c>>();// 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | for(EsdInfo esd:esdList) { |
| | | if(!raesdMap.containsKey(esd.rec.Id)) { |
| | | continue; |
| | |
| | | raesd.Inspection_result__c = 'OK'; |
| | | // 发货前检测时间和检测人在trigger里设 |
| | | raesd.Shippment_loaner_time__c = now; |
| | | // 20220309 SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 start |
| | | // 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 start |
| | | Datetime keyDt = raesd.Add_Request_approval_time__c != null?raesd.Add_Request_approval_time__c:raesd.Rental_Apply__r.Request_approval_time__c; |
| | | List<Rental_Apply_Equipment_Set_Detail__c> tempRaesdL; |
| | | if(approvalMap.containsKey(keyDt.format())){ |
| | |
| | | } |
| | | tempRaesdL.add(raesd); |
| | | approvalMap.put(keyDt.format(),tempRaesdL); |
| | | // 20220309 SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 end |
| | | // 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 end |
| | | updateRaesdList.add(raesd); |
| | | } |
| | | else { |
| | |
| | | raesd.DeliverySlip__c = slip.Id; |
| | | } |
| | | } |
| | | // 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 start |
| | | map<String,Decimal> ApplyToShipmentMap = new map<String,Decimal>(); |
| | | if(approvalMap.size() > 0 ){ |
| | | // dtList[0] 第一个就是最小时间 |
| | | List<String> dtList = new List<String>(approvalMap.keySet()); |
| | | Date startDateSOQL = date.newinstance(Datetime.valueOf(dtList[0]).year(), Datetime.valueOf(dtList[0]).month(), Datetime.valueOf(dtList[0]).day()); |
| | | List<OlympusCalendar__c> ocList = [SELECT Id, Date__c,IsWorkDay__c |
| | | FROM OlympusCalendar__c |
| | | WHERE Date__c >= :startDateSOQL |
| | | AND Date__c <= :Date.today() |
| | | ORDER BY Date__c ASC]; |
| | | for(String dt:dtList){ |
| | | Boolean startFlag = false; |
| | | Boolean endFlag = false; |
| | | Datetime startTime = Datetime.valueOf(dt); |
| | | Date startDate = Date.newInstance(startTime.year(),startTime.month(),startTime.day()); |
| | | Datetime endTime = Datetime.now(); |
| | | Date endDate = Date.today(); |
| | | // 审批时间是非奥林巴斯工作日 |
| | | if(ocList[0].IsWorkDay__c == 0){ |
| | | for(OlympusCalendar__c oc:ocList){ |
| | | if(oc.IsWorkDay__c == 1){ |
| | | startTime = oc.Date__c; |
| | | startDate = oc.Date__c; |
| | | startFlag = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | // 发货时间是非奥林巴斯工作日 |
| | | if(ocList[ocList.size() - 1].IsWorkDay__c == 0){ |
| | | for(Integer i = ocList.size() - 1; i <= 0;i--){ |
| | | if(ocList[i].IsWorkDay__c == 1){ |
| | | endTime = ocList[i].Date__c.addDays(1); |
| | | endDate = ocList[i].Date__c.addDays(1); |
| | | endFlag = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | Decimal timeDifLast; |
| | | if(ocList[0].IsWorkDay__c == 0 && ocList[ocList.size() - 1].IsWorkDay__c == 0 && !startFlag && !endFlag){ |
| | | timeDifLast = 0; |
| | | }else{ |
| | | Long startL = startTime.getTime(); |
| | | Long tendL = endTime.getTime(); |
| | | Long timeDif = tendL - startL; |
| | | Decimal time11 = timeDif*1.00; |
| | | Decimal time12 = 24*3600*1000*1.00; |
| | | timeDifLast = time11/time12; |
| | | Integer tempWeek = 0; |
| | | for(OlympusCalendar__c oc:ocList){ |
| | | if(startDate < oc.Date__c && oc.Date__c < endDate){ |
| | | tempWeek++; |
| | | } |
| | | } |
| | | timeDifLast = timeDifLast - tempWeek; |
| | | } |
| | | // dtestLast 四舍五入 保留1位小数 |
| | | for(Rental_Apply_Equipment_Set_Detail__c raesd00:approvalMap.get(dt)){ |
| | | ApplyToShipmentMap.put(raesd00.Id,timeDifLast.setScale(1)); |
| | | } |
| | | } |
| | | } |
| | | // 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 end |
| | | FixtureUtil.withoutUpdate(updateRaesdList); |
| | | // 20210624 ljh update SFDC-C448GR start |
| | | // Rental_Apply__c ra = new Rental_Apply__c(Id=parentObj.Id, DeliverySlip__c = slip.Id, Delivery_Agency__c = parentObj.Delivery_Agency__c, Agency_Address_Id__c = addressId ); |