| | |
| | | + ', Loaner_cancel_request__c'//20210707 SFDC-C448KZ you |
| | | + ', Equipment_Type_F__c' //20210508 LJH ADD 1672 |
| | | + ', Wei_Assigned_Cnt__c' // 20210624 ljh add SFDC-C448GR start |
| | | + ', Campaign__c, Campaign__r.IF_Approved__c, Campaign__r.Meeting_Approved_No__c' |
| | | + ', Campaign__r.Meeting_Approved_No__r.ProcessState__c' |
| | | + ', Campaign__r.Meeting_Approved_No__r.MeetingApprovedNo__c' //20220217 sx add 备品借出申请-决裁控制 |
| | | + ', Campaign__r.Meeting_Approved_No__c' // 20220315 ljh add |
| | | + ', Campaign__r.Approved_Status__c' // 20220315 ljh add |
| | | + ' FROM Rental_Apply__c' |
| | | + ' WHERE Id=\'' + taId + '\''; |
| | | List<Rental_Apply__c> raList = (List<Rental_Apply__c>) Consum_ApplyUtil.withoutQueryList(rasql); |
| | |
| | | , Rental_Apply_Equipment_Set__r.Irreplaceable_flag__c //20210519 ljh add 1829 start |
| | | , Rental_Apply_Equipment_Set__r.canDelete__c //20210519 ljh add 1829 start |
| | | , Rental_Apply_Equipment_Set__r.Substitute_flag__c //20210526 ljh 1829 add |
| | | ,Rental_Apply_Equipment_Set__r.RAES_Status__c |
| | | ,Rental_Apply_Equipment_Set__r.Shippment_loaner_time2__c |
| | | ,Rental_Apply__r.Status__c |
| | | //20210519 ljh add 1829 end |
| | | , Rental_Apply_Equipment_Set__r.RAES_Status__c |
| | | , 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 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | , ApplyToShipmentWorkTime__c //20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 |
| | | , Rental_Num__c |
| | | , Rental_Start_Date__c |
| | | , Select_Time__c |
| | |
| | | } |
| | | } |
| | | private Boolean isRaStatusOK() { |
| | | |
| | | List<String> statusList = System.Label.StatusProcessState.split(','); |
| | | |
| | | //检查是否可以继续 |
| | | // 20210809 ljh SFDC-C5HDC7 update start |
| | | List<Rental_Apply__c> RaTarList = [ |
| | | SELECT Campaign__c |
| | | , Repair__c |
| | | , Campaign__r.Status |
| | | , Campaign__r.IF_Approved__c |
| | | , Campaign__r.Meeting_Approved_No__c |
| | | , Campaign__r.Approved_Status__c //20220315 sx obpm备品决裁状态相关修改 |
| | | // ,repair__r.Return_Without_Repair_Date__c |
| | | , Return_Without_Repair_Date_F__c |
| | | // , Repair__r.Repair_Final_Inspection_Date__c |
| | | ,Repair_Final_Inspection_Date_F__c |
| | | , Repair_Final_Inspection_Date_F__c |
| | | // , Repair__r.Repair_Shipped_Date__c |
| | | , RC_return_to_office__c |
| | | , demo_purpose2__c //1822 yc 20211025 已购待货目的,新品已有发货日不能出库 |
| | |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '索赔QIS目的,QIS已有新品发货日,不能继续了')); |
| | | return false; |
| | | }//1822 yc 20211108 end |
| | | //20220225 sx start obpm 办事处增加判断:是否申请决裁勾着没有决裁编号不能进行操作 |
| | | else if(RaTar.Campaign__c != null && RaTar.Campaign__r.IF_Approved__c && RaTar.Campaign__r.Meeting_Approved_No__c == null){ |
| | | ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error, '已申请决裁但决裁编码为空')); |
| | | return false; |
| | | } |
| | | //20220225 sx end obpm 办事处增加判断:是否申请决裁勾着没有决裁编号不能进行操作 |
| | | //20220315 sx obpm备品决裁状态相关修改 add start |
| | | else if(RaTar.Campaign__c != null && RaTar.Campaign__r.IF_Approved__c && RaTar.Campaign__r.Meeting_Approved_No__c != null && statusList.contains(RaTar.Campaign__r.Approved_Status__c)){ |
| | | ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error, '已申请决裁但决裁编码状态不符合需求')); |
| | | return false; |
| | | } |
| | | //20220315 sx obpm备品决裁状态相关修改 add end |
| | | } |
| | | return true; |
| | | } |
| | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | //20210519 ljh add 1829 |
| | | // 扫一扫按钮 |
| | | public void scanAndMatch() { |
| | |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '没有明细,不能发货!')); |
| | | return; |
| | | } |
| | | Map<Datetime, List<Rental_Apply_Equipment_Set_Detail__c>> approvalMap = new Map<Datetime, 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 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)){ |
| | | tempRaesdL = approvalMap.get(keyDt); |
| | | }else{ |
| | | tempRaesdL = new List<Rental_Apply_Equipment_Set_Detail__c>(); |
| | | } |
| | | tempRaesdL.add(raesd); |
| | | approvalMap.put(keyDt,tempRaesdL); |
| | | // 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 end |
| | | updateRaesdList.add(raesd); |
| | | } |
| | | else { |
| | |
| | | return; |
| | | } |
| | | //20201209 ljh update end |
| | | |
| | | //20220217 sx add 备品借出申请-决裁控制 |
| | | if (String.isNotBlank(parentObj.Campaign__c) && parentObj.Campaign__r.IF_Approved__c) { |
| | | if (String.isBlank(parentObj.Campaign__r.Meeting_Approved_No__c) |
| | | || String.isBlank(parentObj.Campaign__r.Meeting_Approved_No__r.MeetingApprovedNo__c)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '该申请单已申请决裁但决裁编码为空,不能发货!')); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | // 删除link |
| | | if(!mainIdList.isEmpty()) { |
| | | Oly_TriggerHandler.bypass(AssetHandlerCheck.class.getName()); |
| | |
| | | if(!updateRaesdList.isEmpty()) { |
| | | slip.Shippment_loaner_time__c = now; |
| | | FixtureUtil.withoutUpsertObjects(new List<FixtureDeliverySlip__c> {slip}); |
| | | // 20220309 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 start |
| | | map<String,Decimal> ApplyToShipmentMap = new map<String,Decimal>(); |
| | | if(approvalMap.size() > 0 ){ |
| | | // dtList[0] 第一个就是最小时间 |
| | | List<Datetime> dtList = new List<Datetime>(approvalMap.keySet()); |
| | | Date startDateSOQL = date.newinstance(dtList[0].year(), dtList[0].month(), 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(Datetime dt:dtList){ |
| | | Boolean startFlag = false; |
| | | Boolean endFlag = false; |
| | | Datetime startTime = 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(oc.IsWorkDay__c == 0 && 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 |
| | | // 明细和申请连到发货单上 |
| | | for(Rental_Apply_Equipment_Set_Detail__c raesd: updateRaesdList) { |
| | | if(!raesd.Cancel_Select__c) { |
| | | raesd.DeliverySlip__c = slip.Id; |
| | | } |
| | | // 20220315 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 start |
| | | if(ApplyToShipmentMap.containsKey(raesd.Id)){ |
| | | raesd.ApplyToShipmentWorkTime__c = ApplyToShipmentMap.get(raesd.Id); |
| | | } |
| | | // 20220315 ljh SFDC-CC6CLJ phase5上线课题131 提交申请到备品出库时长 end |
| | | } |
| | | FixtureUtil.withoutUpdate(updateRaesdList); |
| | | // 20210624 ljh update SFDC-C448GR start |
| | |
| | | |
| | | //20220217 sx add 备品借出申请-决裁控制 No.4 出库成功时,把此时点的决裁编号和决裁状态写到决裁编号(出库)和决裁状态(出库)上 |
| | | if (String.isNotBlank(parentObj.Campaign__c) && parentObj.Campaign__r.IF_Approved__c){ |
| | | ra.ApprovedNo_Delivery__c = parentObj.Campaign__r.Meeting_Approved_No__r.MeetingApprovedNo__c; |
| | | ra.Approved_State_Delivery__c = parentObj.Campaign__r.Meeting_Approved_No__r.ProcessState__c; |
| | | // ra.ApprovedNo_Delivery__c = parentObj.Campaign__r.Meeting_Approved_No__r.MeetingApprovedNo__c; |
| | | // ra.Approved_State_Delivery__c = parentObj.Campaign__r.Meeting_Approved_No__r.ProcessState__c; |
| | | ra.ApprovedNo_Delivery__c = parentObj.Campaign__r.Meeting_Approved_No__c; |
| | | ra.Approved_State_Delivery__c = parentObj.Campaign__r.Approved_Status__c; |
| | | } |
| | | FixtureUtil.withoutUpdate(new List<Rental_Apply__c> {ra}); |
| | | } |