| | |
| | | + ', Equipment_Type_F__c' //20210508 LJH ADD 1672 |
| | | + ', Wei_Assigned_Cnt__c' // 20210624 ljh add SFDC-C448GR start |
| | | + ', Campaign__r.IF_Approved__c' // 20220315 ljh add |
| | | + ', Campaign__r.Meeting_Approved_No__c' // 20220315 ljh add |
| | | + ', Campaign__r.Meeting_Approved_No__r.Name' // 20220315 ljh add |
| | | + ', Campaign__r.Approved_Status__c' // 20220315 ljh add |
| | | + ' FROM Rental_Apply__c' |
| | | + ' WHERE Id=\'' + taId + '\''; |
| | |
| | | WHERE id =:taId |
| | | ]; |
| | | for (Rental_Apply__c RaTar : RaTarList) { |
| | | if( RaTar.Campaign__r.Status == '取消'){ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '学会已取消,不能继续操作了')); |
| | | // 20230215 ljh DB202301265636 学会取消申请也拦截 start |
| | | // if( RaTar.Campaign__r.Status == '取消'){ |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '学会已取消,不能继续操作了')); |
| | | if( RaTar.Campaign__r.Status == '取消' || RaTar.Campaign__r.Status == '取消申请中' ){ |
| | | String tempS = ''; |
| | | if(RaTar.Campaign__r.Status == '取消'){ |
| | | tempS = '已取消'; |
| | | }else{ |
| | | tempS = '申请取消中'; |
| | | } |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '学会'+tempS+',不能继续操作了')); |
| | | // 20230215 ljh DB202301265636 学会取消申请也拦截 end |
| | | return false; |
| | | } |
| | | // else if(RaTar.Repair__r.Repair_Final_Inspection_Date__c != null){ |
| | |
| | | robj.Cancel_Select__c = false; |
| | | robj.Cancel_Reason__c = ''; |
| | | robj.Rental_Start_Date__c = RentalStartDateMap.containsKey(esd.tempOldRaesIdSub)?RentalStartDateMap.get(esd.tempOldRaesIdSub):craes.Rental_Start_Date__c ; |
| | | switch on parentObj.demo_purpose2__c{ |
| | | when '试用(无询价)','试用(有询价)','新产品评价','其他','协议借用' { |
| | | robj.Rental_End_Date__c = robj.Rental_Start_Date__c + intValueOf(parentObj.Hope_Lonaer_date_Num__c); |
| | | } |
| | | when '一般用户','保修用户','市场多年保修','再修理','索赔QIS','已购待货','故障排查' { |
| | | robj.Rental_End_Date__c = robj.Rental_Start_Date__c + 30; |
| | | } |
| | | when '学会展会' { |
| | | robj.Rental_End_Date__c = parentObj.Campaign_EndDate_F__c + 5; |
| | | } |
| | | } |
| | | robj.Rental_End_Date__c = setRentalEndDate(robj.Rental_Start_Date__c, parentObj); |
| | | |
| | | //robj.Rental_End_Date__c = robj.Rental_Start_Date__c + Integer.valueOf(craes.Test_Day__c); |
| | | // 新记录 Canceled__c & Canceled_Id__c 为选中一览的Id |
| | | robj.Canceled__c = craes.canDelete__c?craes.Canceled__c:craes.Id; |
| | |
| | | if(!isRaStatusOK()) { |
| | | return; |
| | | } |
| | | |
| | | Id userId = Userinfo.getUserId(); // 20210624 ljh add SFDC-C448GR |
| | | Datetime now = System.now(); |
| | | if(isSameCity) { |
| | |
| | | if(raesd.Is_Body__c) { |
| | | mainIdList.add(raesd.Asset__c); |
| | | raesIdSet.add(esd.rec.Rental_Apply_Equipment_Set__c); |
| | | |
| | | // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 start |
| | | // 备品预计出库日应该等于今天,否则不能发货 |
| | | if( esd.rec.Rental_Apply_Equipment_Set__r.Rental_Start_Date__c != Date.today() ){ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '备品预计出货日应该等于今天,否则不能发货!')); |
| | | return; |
| | | } |
| | | // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 end |
| | | } |
| | | |
| | | // 分配时临时取消的在发货后彻底取消 |
| | | if(raesd.AgencyTempCancel__c) { |
| | | raesd.Cancel_Select__c = true; |
| | |
| | | WHERE Date__c >= :startDateSOQL |
| | | AND Date__c <= :Date.today() |
| | | ORDER BY Date__c ASC]; |
| | | Map<Date,String> ocMap = new Map<Date,String>(); |
| | | for(OlympusCalendar__c oc:ocList){ |
| | | String IsWorkDay = oc.IsWorkDay__c.format(); |
| | | ocMap.put(oc.Date__c,IsWorkDay); |
| | | } |
| | | for(Datetime dt:dtList){ |
| | | Boolean startFlag = false; |
| | | Boolean endFlag = false; |
| | |
| | | Datetime endTime = Datetime.now(); |
| | | Date endDate = Date.today(); |
| | | // 审批时间是非奥林巴斯工作日 |
| | | if(ocList[0].IsWorkDay__c == 0){ |
| | | // if(ocList[0].IsWorkDay__c == 0){ |
| | | if(ocMap.get(startDate) == '0'){ |
| | | for(OlympusCalendar__c oc:ocList){ |
| | | if(oc.IsWorkDay__c == 1){ |
| | | if(startDate < oc.Date__c && oc.IsWorkDay__c == 1){ |
| | | startTime = Datetime.newInstance(oc.Date__c.year(),oc.Date__c.month(),oc.Date__c.day(),0,0,0); |
| | | startDate = oc.Date__c; |
| | | startFlag = true; |
| | |
| | | } |
| | | // 发货时间是非奥林巴斯工作日 |
| | | if(ocList[ocList.size() - 1].IsWorkDay__c == 0){ |
| | | for(Integer i = ocList.size() - 1; i <= 0;i--){ |
| | | for(Integer i = ocList.size() - 1; i >= 0;i--){ |
| | | if(ocList[i].IsWorkDay__c == 1){ |
| | | endTime = Datetime.newInstance(ocList[i].Date__c.addDays(1).year(),ocList[i].Date__c.addDays(1).month(),ocList[i].Date__c.addDays(1).day(),0,0,0); |
| | | endDate = ocList[i].Date__c.addDays(1); |
| | |
| | | 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__c; |
| | | ra.ApprovedNo_Delivery__c = parentObj.Campaign__r.Meeting_Approved_No__r.Name; |
| | | ra.Approved_State_Delivery__c = parentObj.Campaign__r.Approved_Status__c; |
| | | } |
| | | FixtureUtil.withoutUpdate(new List<Rental_Apply__c> {ra}); |
| | |
| | | // 同城时自动收货 |
| | | if(isSameCity && !raesIdSet.isEmpty()) { |
| | | List<Rental_Apply_Equipment_Set__c> raesList = new List<Rental_Apply_Equipment_Set__c>(); |
| | | Date rentalEndDate = setRentalEndDate(Date.today(), parentObj); |
| | | for(Id raesId:raesIdSet) { |
| | | raesList.add(new Rental_Apply_Equipment_Set__c(Id=raesId, Received_Confirm__c = 'OK')); |
| | | raesList.add(new Rental_Apply_Equipment_Set__c(Id=raesId, Received_Confirm__c = 'OK', Rental_Start_Date__c = Date.today(), Rental_End_Date__c = rentalEndDate)); |
| | | } |
| | | FixtureUtil.withoutUpdate(raesList); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public Date setRentalEndDate(Date startDate, Rental_Apply__c rentalApplyObj) { |
| | | Date endDate = null; |
| | | switch on rentalApplyObj.demo_purpose2__c{ |
| | | when '试用(无询价)','试用(有询价)','新产品评价','其他','协议借用' { |
| | | endDate = startDate + intValueOf(rentalApplyObj.Hope_Lonaer_date_Num__c); |
| | | } |
| | | when '一般用户','保修用户','市场多年保修','再修理','索赔QIS','已购待货','故障排查' { |
| | | endDate = startDate + 30; |
| | | } |
| | | when '学会展会' { |
| | | endDate = rentalApplyObj.Campaign_EndDate_F__c + 5; |
| | | } |
| | | } |
| | | |
| | | return endDate; |
| | | } |
| | | |
| | | |
| | | public class EsdInfo { |
| | | public Rental_Apply_Equipment_Set_Detail__c rec { get; set; } |
| | | public Boolean checked {get;set;} |