force-app/main/default/classes/RentalApplyWebService.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/classes/RentalApplyWebServiceTest.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
force-app/main/default/classes/RentalApplyWebService.cls
@@ -1188,7 +1188,7 @@ return '已申请决裁但决裁编码为空'; }//20220301 sx obpm修改 else if(Ra.Campaign__r.IF_Approved__c && Ra.Campaign__r.Meeting_Approved_No__c != null && statusList.contains(Ra.Campaign__r.Approved_Status__c)){ return '已申请决裁但决裁编码状态不符合需求'; return '已申请决裁但决裁状态不符合条件'; }//20220315 sx obpm备品决裁状态相关修改 else{ return 'Fin'; @@ -1721,74 +1721,99 @@ /** * 注残申请备品的管控 */ WebService static String RentalApplyCheckForSAoneEle(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 '销售渠道未知,不能新建'; } } WebService static String RentalApplyCheckForSAoneEle(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, Backorder_complete_day__c, DeliveryStatus__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') ){ //modify by lyh 20220606 start 已购待货逻辑调整 //客户GIR订单,注残状态2是“12付全款-14已发货“这个区间且发货状态为”未交付、和部分交付“时,自付款日起第31天未生成”客户订单最终发货日“时,方可以提交”已购待货“目的的备品申请 //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){ if((Sac.Status_2_Formula__c == '12 已订货・付全款' || Sac.Status_2_Formula__c == '13 待发货' || Sac.Status_2_Formula__c == '14 已发货') && (Sac.DeliveryStatus__c == '未交付' || Sac.DeliveryStatus__c == '部分交付')) { if((Date.today().addDays(-30) > Sac.Deposit_In_Full_Day__c) && Sac.Backorder_complete_day__c == null) { //modify by lyh 20220606 end 已购待货逻辑调整 return 'Fin'; } else { return '经销商内科订单不在申请期内,不能申请备品'; } }else{ return '经销商内科订单状态不符合备品申请资格,不能申请备品'; } }else if(Sac.Opp_Number__c.contains('SP')){ //modify by lyh 20220606 start 已购待货逻辑调整 //客户SP订单,注残状态2是“11付定金-14已发货“这个区间且发货状态为”未交付、和部分交付“时,自付款日起第61天未生成”客户订单最终发货日“时,方可以提交”已购待货“目的的备品申请 //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){ if((Sac.Status_2_Formula__c == '11 已订货・付订金'||Sac.Status_2_Formula__c == '12 已订货・付全款'||Sac.Status_2_Formula__c == '13 待发货'||Sac.Status_2_Formula__c=='14 已发货') && (Sac.DeliveryStatus__c == '未交付' || Sac.DeliveryStatus__c == '部分交付')) { if((Date.today().addDays(-60) > Sac.X30_Deposit_Day__c ) && Sac.Backorder_complete_day__c == null){ //modify by lyh 20220606 end 已购待货逻辑调整 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')){ //modify by lyh 20220606 start 已购待货逻辑调整 //注残状态2是“9已录订单未付款-14已发货“这个区间且发货状态为”未交付、和部分交付“且“销售渠道为直销时”,GIR订单自订单录入日起第31天/未生成”客户订单最终发货日“时,方可以提交”已购待货“目的的备品申请 //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){ if((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 待发货'||Sac.Status_2_Formula__c=='14 已发货') && (Sac.DeliveryStatus__c == '未交付' || Sac.DeliveryStatus__c == '部分交付')){ if((Date.today().addDays(-30) > Sac.FirstApproveDate__c ) && Sac.Backorder_complete_day__c == null) { //modify by lyh 20220606 end 已购待货逻辑调整 return 'Fin'; }else{ return 'OCM直销内科订单不在申请期内,不能申请备品'; } }else{ return 'OCM直销内科订单状态不符合备品申请资格,不能申请备品'; } }else if(Sac.Opp_Number__c.contains('SP')){ //modify by lyh 20220606 start 已购待货逻辑调整 //注残状态2是“9已录订单未付款-14已发货“这个区间且发货状态为”未交付、和部分交付“且“销售渠道为直销时”,SP订单61天未生成”客户订单最终发货日“时,方可以提交”已购待货“目的的备品申请 //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){ if((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 待发货'||Sac.Status_2_Formula__c=='14 已发货') && (Sac.DeliveryStatus__c == '未交付' || Sac.DeliveryStatus__c == '部分交付')) { if((Date.today().addDays(-60) > Sac.FirstApproveDate__c ) && Sac.Backorder_complete_day__c == null) { //modify by lyh 20220606 end 已购待货逻辑调整 return 'Fin'; }else{ return 'OCM直销SP订单不在申请期内,不能申请备品'; } }else{ return 'OCM直销SP订单状态不符合备品申请资格,不能申请备品'; } }else{ return '注残销售渠道类别不在可申请备品范围内。'; } }else{ return '销售渠道未知,不能新建'; } } //bp2 //public static String RentalApplyCheckForSA(String raid,String SaID) { force-app/main/default/classes/RentalApplyWebServiceTest.cls
@@ -3,6 +3,15 @@ // 备品借出时间check static testMethod void testMethodApprovalCheck() { ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(Product2Handler.Class.getName()); Oly_TriggerHandler.bypass(AssetHandler.Class.getName()); Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); CreateRelationListPagingCmpCtrl cmp; PageReference ref; List<Rental_Apply__c> raObjs; @@ -28,6 +37,16 @@ // 备品借出时间check static testMethod void testMethodApprovalCheck1() { ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(Product2Handler.Class.getName()); Oly_TriggerHandler.bypass(AssetHandler.Class.getName()); Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); CreateRelationListPagingCmpCtrl cmp; PageReference ref; List<Rental_Apply__c> raObjs; @@ -53,6 +72,15 @@ // 备品借出时间check static testMethod void testMethodApprovalCheck2() { ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(Product2Handler.Class.getName()); Oly_TriggerHandler.bypass(AssetHandler.Class.getName()); Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); List<Rental_Apply__c> raObjs; //Rental_Apply__c raObj; @@ -100,6 +128,16 @@ } // 20210812 ljh SFDC-C5HDC7 add start static testMethod void testExtension_approval_processCheck() { ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(Product2Handler.Class.getName()); Oly_TriggerHandler.bypass(AssetHandler.Class.getName()); Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); List<Rental_Apply__c> raObjs; system.runAs(getUser()) { setupTestData1(); @@ -405,6 +443,17 @@ // 取消申请单 借出备品配套一览状态即时更新 static testMethod void testMethodRefreshStatus() { ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(Product2Handler.Class.getName()); Oly_TriggerHandler.bypass(AssetHandler.Class.getName()); Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); CreateRelationListPagingCmpCtrl cmp; PageReference ref; List<Rental_Apply__c> raObjs; @@ -449,6 +498,17 @@ // 分配验证 static testMethod void testMethodAssignBtn() { ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(Product2Handler.Class.getName()); Oly_TriggerHandler.bypass(AssetHandler.Class.getName()); Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); CreateRelationListPagingCmpCtrl cmp; PageReference ref; List<Rental_Apply__c> raObjs; @@ -618,7 +678,9 @@ Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); // 省 Address_Level__c al = new Address_Level__c(); al.Name = '東京'; @@ -635,6 +697,7 @@ al2.Level2_Sys_No__c = '9999999'; al2.Address_Level__c = al.id; insert al2; // 病院を作る Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; @@ -650,6 +713,7 @@ hospital.Town__c = '东京'; insert hospital; StaticParameter.EscapeAccountTrigger = true; // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; @@ -971,6 +1035,7 @@ Name='testOpp1', StageName='引合', CloseDate=Date.today(), Close_Forecasted_Date__c=Date.today().addDays(-2), AccountId=dep.Id, Sales_Root__c = '販売店', Competitor__c ='A', @@ -982,6 +1047,7 @@ Name='testOpp1', StageName='引合', CloseDate=Date.today(), Close_Forecasted_Date__c=Date.today().addDays(-2), AccountId=dep.Id, Sales_Root__c = '販売店', Competitor__c ='A', @@ -1094,6 +1160,7 @@ Name='testOpp1', StageName='引合', CloseDate=Date.today(), Close_Forecasted_Date__c=Date.today().addDays(-2), AccountId=dep.Id, Competitor__c ='A', Click_Close_Date__c = null, @@ -1105,6 +1172,7 @@ Name='testOpp1', StageName='引合', CloseDate=Date.today(), Close_Forecasted_Date__c=Date.today().addDays(-2), AccountId=dep.Id, Sales_Root__c = 'OCM直接販売', Competitor__c ='A', @@ -1152,6 +1220,8 @@ Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName()); Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName()); Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName()); Oly_TriggerHandler.bypass('AssetTrigger'); // 省 Address_Level__c al = new Address_Level__c(); @@ -1487,6 +1557,13 @@ //raObj3.Campaign__c = cam.Id; raObj3.SupplementCreated__c = true; raObj3.Root_Rental_Apply__c = raObj2.Id; raObj3.Hospital__c = hospital.Id; raObj3.Strategic_dept__c = strategicDep[0].Id; raObj3.Account__c = dep.Id; raObj3.Hope_Lonaer_date_Num__c = 1; // 希望借用天数 raObj3.Request_return_day__c = Date.toDay().addDays(10); raObj3.Loaner_medical_Staff__c = contact2.Id; raObj3.Assign_Person__c = Userinfo.getUserId(); insert raObj3; // 备品配套 @@ -1548,7 +1625,7 @@ //备品借出申请 Rental_Apply__c raObj4 = new Rental_Apply__c(); raObj4.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Rental_Apply__c' and DeveloperName = 'AgencyRequest'].id; /*raObj4.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Rental_Apply__c' and DeveloperName = 'AgencyRequest'].id; raObj4.Name = 'testra'; raObj4.Product_category__c = 'GI'; raObj4.Demo_purpose1__c = '维修代用'; @@ -1559,8 +1636,30 @@ raObj4.direct_shippment_address__c = '北京市'; raObj4.Request_shipping_day__c = Date.toDay(); // 希望到货日 raObj4.Phone_number__c = '1234567890'; raObj4.Repair__c=; //raObj4.Campaign__c = cam.Id; raObj4.SupplementCreated__c = true;*/ raObj4.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Rental_Apply__c' and DeveloperName = 'AgencyRequest'].id; raObj4.Name = 'testra'; raObj4.Product_category__c = 'GI'; raObj4.Demo_purpose1__c = '产品试用'; raObj4.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia'); raObj4.direct_send__c = '医疗机构'; raObj4.Loaner_received_staff__c = '王五'; raObj4.Loaner_received_staff_phone__c = '110'; raObj4.direct_shippment_address__c = '北京市'; raObj4.Request_shipping_day__c = Date.toDay(); // 希望到货日 raObj4.Phone_number__c = '1234567890'; //raObj3.Campaign__c = cam.Id; raObj4.SupplementCreated__c = true; raObj4.Root_Rental_Apply__c = raObj2.Id; raObj4.Hospital__c = hospital.Id; raObj4.Strategic_dept__c = strategicDep[0].Id; raObj4.Account__c = dep.Id; raObj4.Hope_Lonaer_date_Num__c = 1; // 希望借用天数 raObj4.Request_return_day__c = Date.toDay().addDays(10); raObj4.Loaner_medical_Staff__c = contact2.Id; raObj4.Assign_Person__c = Userinfo.getUserId(); insert raObj4; Oly_TriggerHandler.clearAllBypasses();