| | |
| | | public integer topNum {get; set;} |
| | | public integer secondNum {get; set;} |
| | | // add tcm 20211122 end |
| | | |
| | | |
| | | |
| | | public Decimal InclusionUltrasound {get; set;} //20230506 lt DB202304618804 包含超声 add |
| | | |
| | | |
| | | // 竞争对手对照关系表,key是品牌名字,value是ID |
| | | public map<string,id> CompetitionMap; |
| | | public PCLLostReportController(ApexPages.StandardController controller) { |
| | | this(); |
| | | this(); |
| | | } |
| | | public PCLLostReportController(){ |
| | | oppId = |
| | | ApexPages.currentPage().getParameters().get('oppId') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('oppId'); |
| | | lostReportId = |
| | | ApexPages.currentPage().getParameters().get('Id') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('Id'); |
| | | pageStatus = |
| | | ApexPages.currentPage().getParameters().get('pageStatus') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('pageStatus'); |
| | | lostType = |
| | | ApexPages.currentPage().getParameters().get('lostType') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('lostType'); |
| | | submitFlag = ApexPages.currentPage().getParameters().get('submitFlag') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('submitFlag'); |
| | | |
| | | oppId = |
| | | ApexPages.currentPage().getParameters().get('oppId') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('oppId'); |
| | | lostReportId = |
| | | ApexPages.currentPage().getParameters().get('Id') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('Id'); |
| | | pageStatus = |
| | | ApexPages.currentPage().getParameters().get('pageStatus') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('pageStatus'); |
| | | lostType = |
| | | ApexPages.currentPage().getParameters().get('lostType') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('lostType'); |
| | | submitFlag = ApexPages.currentPage().getParameters().get('submitFlag') == null ? '' |
| | | : ApexPages.currentPage().getParameters().get('submitFlag'); |
| | | |
| | | } |
| | | // 初始化 |
| | | public void init(){ |
| | | if(string.isblank(pageStatus)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '页面出错,请刷新后重试!')); |
| | | // 这里需要报错没有传参数 |
| | | return; |
| | | if(string.isblank(pageStatus)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '页面出错,请刷新后重试!')); |
| | | // 这里需要报错没有传参数 |
| | | return; |
| | | } |
| | | else if(pageStatus.equals('Create')) { |
| | | if(string.isBlank(oppId)) { |
| | | // 这里报错创建时候必须有询价 |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '创建失单报告时,请重询价页面创建')); |
| | | return; |
| | | } |
| | | else if(pageStatus.equals('Create')) { |
| | | if(string.isBlank(oppId)) { |
| | | // 这里报错创建时候必须有询价 |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '创建失单报告时,请重询价页面创建')); |
| | | return; |
| | | } |
| | | list<opportunity> opplist = |
| | | [select id,Name, |
| | | Sales_assistant_ID__c, |
| | | Sales_manager_departmentID__c,Sales_owner_buchangID__c |
| | | from opportunity |
| | | where id =: oppId |
| | | limit 1]; |
| | | if( opplist.size() == 0) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您没有询价的查看权限,无法创建失单报告!')); |
| | | pageStatus = null; |
| | | return; |
| | | } |
| | | Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe(); |
| | | if( !s.isCreateable()) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您不能创建失单/部分失单报告!')); |
| | | return; |
| | | } |
| | | Lost_cancel_report__c tempLostReport = |
| | | new Lost_cancel_report__c(LostType__c= lostType, |
| | | Opportunity__c = oppId, |
| | | Sales_assistant__c = opplist[0].Sales_assistant_ID__c, |
| | | Manager_sales__c = opplist[0].Sales_manager_departmentID__c, |
| | | Buchang_sales__c = opplist[0].Sales_owner_buchangID__c, |
| | | Submit_Day__c = date.today(), |
| | | Report_Status__c = '草案'); |
| | | LostReport = new LostReport(tempLostReport); |
| | | brandCount = 1; |
| | | list<opportunity> opplist = |
| | | [select id,Name, |
| | | Sales_assistant_ID__c, |
| | | Sales_manager_departmentID__c,Sales_owner_buchangID__c |
| | | from opportunity |
| | | where id =: oppId |
| | | limit 1]; |
| | | if( opplist.size() == 0) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您没有询价的查看权限,无法创建失单报告!')); |
| | | pageStatus = null; |
| | | return; |
| | | } |
| | | else if(pageStatus.equals('View') || pageStatus.equals('Edit')) { |
| | | system.debug('edit1'); |
| | | if(string.isBlank(lostReportId)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您没有查看这个失单/部分失单报告的权限!')); |
| | | pageStatus = null; |
| | | return; |
| | | } |
| | | system.debug('edit2'); |
| | | list<Lost_cancel_report__c> lostReportList = |
| | | [select id,of_lost_system_processor__c, |
| | | Lost_reason_main__c, |
| | | Lost_Reason_Sub__c,Lost_By_Company__c, |
| | | LostTotalAmount__c,LostType__c, |
| | | Report_Status__c,Sales_assistant__c, |
| | | Opportunity__c, Opportunity__r.Sales_assistant_ID__c, |
| | | Opportunity__r.Sales_manager_departmentID__c, |
| | | Manager_sales__c,recordtypeid,recordtype.DeveloperName |
| | | from Lost_cancel_report__c |
| | | where id =: lostReportId limit 1]; |
| | | |
| | | if(lostReportList.size() == 0) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您没有查看这个失单/部分失单报告的权限!')); |
| | | pageStatus = null; |
| | | return; |
| | | } |
| | | lostReportList[0].Sales_assistant__c = |
| | | lostReportList[0].Opportunity__r.Sales_assistant_ID__c; |
| | | lostReportList[0].Manager_sales__c = |
| | | lostReportList[0].Opportunity__r.Sales_manager_departmentID__c; |
| | | if(lostReportList[0].recordtype.DeveloperName.equals('PCL_Lost_report')) { |
| | | lostReportList[0].LostType__c ='失单'; |
| | | |
| | | }else if(lostReportList[0].recordtype.DeveloperName.equals('PCL_PartLost_report')) { |
| | | lostReportList[0].LostType__c ='部分失单'; |
| | | } |
| | | // 权限,如果当前状态不是草案中,那么需要跳转到只读页面 |
| | | if(!'草案'.equals(lostReportList[0].Report_Status__c) && userinfo.getProfileId() != (ID) '00e10000000Y3o5AAC') { |
| | | pageStatus = 'View'; |
| | | } |
| | | oppId = lostReportList[0].Opportunity__c; |
| | | system.debug('edit3'); |
| | | list<PCLLostBrand__c> selectlostBrandList = |
| | | [ |
| | | select id, LostPrice__c, Lost_By_Company__c, |
| | | Lost_reason_main__c,Lost_Reason_Sub__c,Name,Agency__c, AgencyMannual__c, |
| | | // ProductCategory__c,ProductClass__c, |
| | | Lost_cancel_report__c,Lost_By_Company_Mannual__c, |
| | | ( select id,PCLLostBrand__c,LostProduct__c, |
| | | LostProductMannual__c, //SWAG-C6P9PX lt 20210913 add |
| | | ProductCategory__c,ProductClass__c, //add tcm 20211123 |
| | | Quantity__c,Name, LostBrandName__c |
| | | from PCLLostBrand__c.PCLLostBrandProduct__r) |
| | | from PCLLostBrand__c |
| | | where Lost_cancel_report__c =: lostReportId |
| | | ]; |
| | | if(selectlostBrandList.size() == 0 ) { |
| | | LostReport = new LostReport(lostReportList[0]); |
| | | brandCount = 1; |
| | | }else{ |
| | | system.debug('edit4:'+selectlostBrandList[0]); |
| | | brandCount = 0; |
| | | list<LostBrand> LostBrandList = new list<LostBrand>(); |
| | | for(PCLLostBrand__c templostBrand : selectlostBrandList) { |
| | | list<PCLLostProducts> tempProductList = new list<PCLLostProducts>(); |
| | | integer productCount = 0; |
| | | system.debug('check products:'+ (templostBrand.PCLLostBrandProduct__r != null) + '|' + (templostBrand.PCLLostBrandProduct__r.size() > 0)); |
| | | if (templostBrand.PCLLostBrandProduct__r != null && templostBrand.PCLLostBrandProduct__r.size() > 0) { |
| | | for( PCLLostProduct__c tempProduct: templostBrand.PCLLostBrandProduct__r) { |
| | | |
| | | tempProductList.add(new PCLLostProducts(productCount,tempProduct)); |
| | | productCount++; |
| | | } |
| | | } else { |
| | | PCLLostProducts newProduct = new PCLLostProducts(); |
| | | if ('其他'.equals(templostBrand.Lost_By_Company__c) && |
| | | templostBrand.Lost_By_Company_Mannual__c != null && |
| | | !''.equals(templostBrand.Lost_By_Company_Mannual__c)) { |
| | | newProduct.LostProductss.LostBrandName__c = templostBrand.Lost_By_Company_Mannual__c; |
| | | } else { |
| | | newProduct.LostProductss.LostBrandName__c = templostBrand.Lost_By_Company__c; |
| | | } |
| | | system.debug('aaa4+++'+templostBrand.Lost_By_Company_Mannual__c); |
| | | tempProductList.add(newProduct); |
| | | productCount++; |
| | | } |
| | | LostBrandList.add( new LostBrand(brandCount,tempProductList, templostBrand)); |
| | | brandCount++; |
| | | Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe(); |
| | | if( !s.isCreateable()) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您不能创建失单/部分失单报告!')); |
| | | return; |
| | | } |
| | | Lost_cancel_report__c tempLostReport = |
| | | new Lost_cancel_report__c(LostType__c= lostType, |
| | | Opportunity__c = oppId, |
| | | Sales_assistant__c = opplist[0].Sales_assistant_ID__c, |
| | | Manager_sales__c = opplist[0].Sales_manager_departmentID__c, |
| | | Buchang_sales__c = opplist[0].Sales_owner_buchangID__c, |
| | | Submit_Day__c = date.today(), |
| | | Report_Status__c = '草案'); |
| | | LostReport = new LostReport(tempLostReport); |
| | | brandCount = 1; |
| | | } |
| | | else if(pageStatus.equals('View') || pageStatus.equals('Edit')) { |
| | | system.debug('edit1'); |
| | | if(string.isBlank(lostReportId)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您没有查看这个失单/部分失单报告的权限!')); |
| | | pageStatus = null; |
| | | return; |
| | | } |
| | | system.debug('edit2'); |
| | | list<Lost_cancel_report__c> lostReportList = |
| | | [select id,of_lost_system_processor__c, |
| | | Lost_reason_main__c, |
| | | Lost_Reason_Sub__c,Lost_By_Company__c, |
| | | LostTotalAmount__c,LostType__c, |
| | | TotalAmountLost__c, //20230215 lt DB202302247719 |
| | | InclusionUltrasound__c, //20230506 lt DB202304618804 包含超声 |
| | | ModifyAfterApproval__c,Approved_Day__c,//20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 add |
| | | Report_Status__c,Sales_assistant__c, |
| | | Opportunity__c, Opportunity__r.Sales_assistant_ID__c, |
| | | Opportunity__r.Sales_manager_departmentID__c, |
| | | Manager_sales__c,recordtypeid,recordtype.DeveloperName |
| | | from Lost_cancel_report__c |
| | | where id =: lostReportId limit 1]; |
| | | |
| | | if(lostReportList.size() == 0) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '您没有查看这个失单/部分失单报告的权限!')); |
| | | pageStatus = null; |
| | | return; |
| | | } |
| | | |
| | | InclusionUltrasound = lostReportList[0].InclusionUltrasound__c; //20230506 lt DB202304618804 包含超声 |
| | | |
| | | lostReportList[0].Sales_assistant__c = |
| | | lostReportList[0].Opportunity__r.Sales_assistant_ID__c; |
| | | lostReportList[0].Manager_sales__c = |
| | | lostReportList[0].Opportunity__r.Sales_manager_departmentID__c; |
| | | if(lostReportList[0].recordtype.DeveloperName.equals('PCL_Lost_report')) { |
| | | lostReportList[0].LostType__c ='失单'; |
| | | |
| | | }else if(lostReportList[0].recordtype.DeveloperName.equals('PCL_PartLost_report')) { |
| | | lostReportList[0].LostType__c ='部分失单'; |
| | | } |
| | | // 权限,如果当前状态不是草案中,那么需要跳转到只读页面 |
| | | // 20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 strat 改if条件 |
| | | //原:!'草案'.equals(lostReportList[0].Report_Status__c) && userinfo.getProfileId() != (ID) '00e10000000Y3o5AAC' |
| | | if( |
| | | !('草案'.equals(lostReportList[0].Report_Status__c) |
| | | || userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC' |
| | | ||('批准'.equals(lostReportList[0].Report_Status__c) && |
| | | System.Label.PCLReportProfileId.contains(userinfo.getProfileId())) |
| | | ) |
| | | ) { |
| | | // 20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 end 改if条件 |
| | | pageStatus = 'View'; |
| | | } |
| | | oppId = lostReportList[0].Opportunity__c; |
| | | system.debug('edit3'); |
| | | list<PCLLostBrand__c> selectlostBrandList = |
| | | [ |
| | | select id, LostPrice__c, Lost_By_Company__c, |
| | | LostPrices_ThousandY__c, //20230215 lt DB202302247719 |
| | | Lost_reason_main__c,Lost_Reason_Sub__c,Name,Agency__c, AgencyMannual__c, |
| | | // ProductCategory__c,ProductClass__c, |
| | | Lost_cancel_report__c,Lost_By_Company_Mannual__c, |
| | | ( select id,PCLLostBrand__c,LostProduct__c, |
| | | LostProductMannual__c, //SWAG-C6P9PX lt 20210913 add |
| | | ProductCategory__c,ProductClass__c, //add tcm 20211123 |
| | | Quantity__c,Name, LostBrandName__c |
| | | from PCLLostBrand__c.PCLLostBrandProduct__r) |
| | | from PCLLostBrand__c |
| | | where Lost_cancel_report__c =: lostReportId |
| | | ]; |
| | | if(selectlostBrandList.size() == 0 ) { |
| | | LostReport = new LostReport(lostReportList[0]); |
| | | brandCount = 1; |
| | | }else{ |
| | | system.debug('edit4:'+selectlostBrandList[0]); |
| | | brandCount = 0; |
| | | list<LostBrand> LostBrandList = new list<LostBrand>(); |
| | | for(PCLLostBrand__c templostBrand : selectlostBrandList) { |
| | | list<PCLLostProducts> tempProductList = new list<PCLLostProducts>(); |
| | | integer productCount = 0; |
| | | system.debug('check products:'+ (templostBrand.PCLLostBrandProduct__r != null) + '|' + (templostBrand.PCLLostBrandProduct__r.size() > 0)); |
| | | if (templostBrand.PCLLostBrandProduct__r != null && templostBrand.PCLLostBrandProduct__r.size() > 0) { |
| | | for( PCLLostProduct__c tempProduct: templostBrand.PCLLostBrandProduct__r) { |
| | | tempProductList.add(new PCLLostProducts(productCount,tempProduct)); |
| | | productCount++; |
| | | } |
| | | } else { |
| | | PCLLostProducts newProduct = new PCLLostProducts(); |
| | | if ('其他'.equals(templostBrand.Lost_By_Company__c) && |
| | | templostBrand.Lost_By_Company_Mannual__c != null && |
| | | !''.equals(templostBrand.Lost_By_Company_Mannual__c)) { |
| | | newProduct.LostProductss.LostBrandName__c = templostBrand.Lost_By_Company_Mannual__c; |
| | | } else { |
| | | newProduct.LostProductss.LostBrandName__c = templostBrand.Lost_By_Company__c; |
| | | } |
| | | |
| | | LostReport = new LostReport(lostReportList[0],LostBrandList); |
| | | system.debug('LostReport.LostBrands:'+LostReport.LostBrands); |
| | | system.debug('aaa4+++'+templostBrand.Lost_By_Company_Mannual__c); |
| | | tempProductList.add(newProduct); |
| | | productCount++; |
| | | } |
| | | LostBrandList.add( new LostBrand(brandCount,tempProductList, templostBrand)); |
| | | brandCount++; |
| | | } |
| | | |
| | | LostReport = new LostReport(lostReportList[0],LostBrandList); |
| | | system.debug('LostReport.LostBrands:'+LostReport.LostBrands); |
| | | } |
| | | brandNo = 0; |
| | | // 读取竞争对手品牌 |
| | | // BrandmapSet(); |
| | | if(string.isNotEmpty(submitFlag)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM, |
| | | '提交成功!')); |
| | | |
| | | } |
| | | } |
| | | brandNo = 0; |
| | | // 读取竞争对手品牌 |
| | | // BrandmapSet(); |
| | | if(string.isNotEmpty(submitFlag)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM, |
| | | '提交成功!')); |
| | | |
| | | } |
| | | } |
| | | // 编辑 只有系统管理员或者草案中可以编辑 |
| | | public PageReference edit2(){ |
| | | if( userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC' || |
| | | '草案'.equals(LostReport.LostReport.Report_Status__c) |
| | | ) { |
| | | pageStatus = 'Edit'; |
| | | init(); |
| | | } |
| | | else{ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '只有在草案中才能进行编辑!')); |
| | | } |
| | | return null; |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 start |
| | | if( userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC' || |
| | | '草案'.equals(LostReport.LostReport.Report_Status__c) || |
| | | ('批准'.equals(LostReport.LostReport.Report_Status__c) && |
| | | System.Label.PCLReportProfileId.contains(userinfo.getProfileId()) |
| | | ) |
| | | ) { |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 end |
| | | pageStatus = 'Edit'; |
| | | init(); |
| | | } |
| | | else{ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '只有在草案中才能进行编辑!')); |
| | | } |
| | | return null; |
| | | } |
| | | // 设置品牌 |
| | | public void setBrand(){ |
| | | list<LostBrand> LostBrandlist = LostReport.LostBrands; |
| | | LostBrand tempBrand = LostBrandlist.get(setBrandNo); |
| | | string brandName = tempBrand.lostBrand.Lost_By_Company__c; |
| | | // fy SWAG-CCC6F6 start |
| | | if(!'其他'.equals(tempBrand.lostBrand.Lost_By_Company_Mannual__c)){ |
| | | tempBrand.lostBrand.Lost_By_Company_Mannual__c = null; |
| | | } |
| | | system.debug('aaa5+++'+tempBrand.lostBrand.Lost_By_Company_Mannual__c); |
| | | // fy SWAG-CCC6F6 end |
| | | // ID compID = CompetitionMap.get(brandName); |
| | | for(PCLLostProducts tempLostProduct : tempBrand.LostProducts ) { |
| | | // test |
| | | // tempLostProduct.LostProductss.Competitor__c = compID; |
| | | tempLostProduct.LostProductss.LostBrandName__c = brandName; |
| | | tempLostProduct.LostProductss.LostProduct__c = null; |
| | | tempLostProduct.LostProductss.LostProductMannual__c = null; |
| | | tempLostProduct.LostProductss.Quantity__c = null; |
| | | tempLostProduct.LostProductss.ProductClass__c = null; |
| | | tempLostProduct.LostProductss.ProductCategory__c = null; |
| | | tempLostProduct.bool=false; |
| | | } |
| | | list<LostBrand> LostBrandlist = LostReport.LostBrands; |
| | | LostBrand tempBrand = LostBrandlist.get(setBrandNo); |
| | | string brandName = tempBrand.lostBrand.Lost_By_Company__c; |
| | | // fy SWAG-CCC6F6 start |
| | | if(!'其他'.equals(tempBrand.lostBrand.Lost_By_Company_Mannual__c)){ |
| | | tempBrand.lostBrand.Lost_By_Company_Mannual__c = null; |
| | | } |
| | | system.debug('aaa5+++'+tempBrand.lostBrand.Lost_By_Company_Mannual__c); |
| | | // fy SWAG-CCC6F6 end |
| | | // ID compID = CompetitionMap.get(brandName); |
| | | for(PCLLostProducts tempLostProduct : tempBrand.LostProducts ) { |
| | | // test |
| | | // tempLostProduct.LostProductss.Competitor__c = compID; |
| | | tempLostProduct.LostProductss.LostBrandName__c = brandName; |
| | | tempLostProduct.LostProductss.LostProduct__c = null; |
| | | tempLostProduct.LostProductss.LostProductMannual__c = null; |
| | | tempLostProduct.LostProductss.Quantity__c = null; |
| | | tempLostProduct.LostProductss.ProductClass__c = null; |
| | | tempLostProduct.LostProductss.ProductCategory__c = null; |
| | | tempLostProduct.bool=false; |
| | | } |
| | | } |
| | | // 设置品牌 |
| | | public void setbrandmannual(){ |
| | | list<LostBrand> LostBrandlist = LostReport.LostBrands; |
| | | LostBrand tempBrand = LostBrandlist.get(setBrandNo); |
| | | string brandName = tempBrand.lostBrand.Lost_By_Company__c; |
| | | String brandNameMannual = tempBrand.lostBrand.Lost_By_Company_Mannual__c; |
| | | // ID compID = CompetitionMap.get(brandName); |
| | | for(PCLLostProducts tempLostProduct : tempBrand.LostProducts ) { |
| | | // test |
| | | // tempLostProduct.LostProductss.Competitor__c = compID; |
| | | system.debug('aaaa3++'+brandNameMannual); |
| | | if ('其他'.equals(brandName) && brandNameMannual != null && !''.equals(brandNameMannual)) { |
| | | tempLostProduct.LostProductss.LostBrandName__c = brandNameMannual; |
| | | // tempLostProduct.LostProductss.LostProduct__c = null; |
| | | // tempLostProduct.LostProductss.LostProductMannual__c = null; |
| | | // tempLostProduct.LostProductss.Quantity__c = null; |
| | | // tempLostProduct.LostProductss.ProductClass__c = null; |
| | | // tempLostProduct.LostProductss.ProductCategory__c = null; |
| | | // tempLostProduct.bool=false; |
| | | } |
| | | list<LostBrand> LostBrandlist = LostReport.LostBrands; |
| | | LostBrand tempBrand = LostBrandlist.get(setBrandNo); |
| | | string brandName = tempBrand.lostBrand.Lost_By_Company__c; |
| | | String brandNameMannual = tempBrand.lostBrand.Lost_By_Company_Mannual__c; |
| | | // ID compID = CompetitionMap.get(brandName); |
| | | for(PCLLostProducts tempLostProduct : tempBrand.LostProducts ) { |
| | | // test |
| | | // tempLostProduct.LostProductss.Competitor__c = compID; |
| | | system.debug('aaaa3++'+brandNameMannual); |
| | | if ('其他'.equals(brandName) && brandNameMannual != null && !''.equals(brandNameMannual)) { |
| | | tempLostProduct.LostProductss.LostBrandName__c = brandNameMannual; |
| | | // tempLostProduct.LostProductss.LostProduct__c = null; |
| | | // tempLostProduct.LostProductss.LostProductMannual__c = null; |
| | | // tempLostProduct.LostProductss.Quantity__c = null; |
| | | // tempLostProduct.LostProductss.ProductClass__c = null; |
| | | // tempLostProduct.LostProductss.ProductCategory__c = null; |
| | | // tempLostProduct.bool=false; |
| | | } |
| | | } |
| | | } |
| | | // 保存 |
| | | public PageReference save(){ |
| | | |
| | | if(!DataCheck()) { |
| | | return null; |
| | | } |
| | | if(!dataEntry()) { |
| | | return null; |
| | | } |
| | | |
| | | brandCount = LostReport.LostBrands.size(); |
| | | pageStatus = 'View'; |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM, '保存成功!')); |
| | | |
| | | |
| | | if(!DataCheck()) { |
| | | return null; |
| | | } |
| | | if(!dataEntry()) { |
| | | return null; |
| | | } |
| | | |
| | | brandCount = LostReport.LostBrands.size(); |
| | | pageStatus = 'View'; |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM, '保存成功!')); |
| | | |
| | | return null; |
| | | } |
| | | //读取并构建竞争对手品牌 |
| | | // public void BrandmapSet(){ |
| | | // CompetitionMap = new map<string, id>(); |
| | | // list <Competition_Company__c> competitionList |
| | | // = [select id,name from Competition_Company__c]; |
| | | // for(Competition_Company__c tempComp : competitionList ) { |
| | | // CompetitionMap.put(tempComp.name, tempComp.id); |
| | | // } |
| | | |
| | | // CompetitionMap = new map<string, id>(); |
| | | // list <Competition_Company__c> competitionList |
| | | // = [select id,name from Competition_Company__c]; |
| | | // for(Competition_Company__c tempComp : competitionList ) { |
| | | // CompetitionMap.put(tempComp.name, tempComp.id); |
| | | // } |
| | | |
| | | // } |
| | | // 数据检查 |
| | | public boolean DataCheck(){ |
| | | boolean dataCheck = true; |
| | | if(string.isBlank(LostReport.LostReport.LostType__c)) |
| | | { |
| | | LostReport.LostReport.LostType__c.addError('必须填写失单类型!'); |
| | | boolean dataCheck = true; |
| | | if(string.isBlank(LostReport.LostReport.LostType__c)) |
| | | { |
| | | LostReport.LostReport.LostType__c.addError('必须填写失单类型!'); |
| | | dataCheck = false; |
| | | } |
| | | for(LostBrand tempLostBrand : LostReport.LostBrands ) { |
| | | system.debug('aaaa1++'+tempLostBrand.lostBrand.Lost_By_Company_Mannual__c); |
| | | if(string.isblank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | tempLostBrand.lostBrand.Lost_By_Company__c.addError('请填写失单品牌!'); |
| | | dataCheck = false; |
| | | }// fy SWAG-CCC6F6 start |
| | | else if('其他'.equals(tempLostBrand.lostBrand.Lost_By_Company__c)&&string.isblank(tempLostBrand.lostBrand.Lost_By_Company_Mannual__c)){ |
| | | tempLostBrand.lostBrand.Lost_By_Company_Mannual__c.addError('请填写失单品牌(手动)!'); |
| | | dataCheck = false; |
| | | }// fy SWAG-CCC6F6 end |
| | | system.debug('aaaa2++'+tempLostBrand.lostBrand.Lost_By_Company_Mannual__c); |
| | | if(tempLostBrand.lostBrand.LostPrice__c == null) { |
| | | tempLostBrand.lostBrand.LostPrice__c.addError('失单金额必填!'); |
| | | dataCheck = false; |
| | | } |
| | | if(string.isblank(tempLostBrand.lostBrand.Lost_reason_main__c )) { |
| | | tempLostBrand.lostBrand.Lost_reason_main__c.addError('失单理由(主)必填!'); |
| | | dataCheck = false; |
| | | } |
| | | if(string.isblank(tempLostBrand.lostBrand.Agency__c )) { |
| | | tempLostBrand.lostBrand.Agency__c.addError('中标经销商必填!'); |
| | | dataCheck = false; |
| | | } |
| | | // 检查是否有超过1个有数的产品 |
| | | integer productCount = 0; |
| | | for( PCLLostProducts temlostProduct : tempLostBrand.LostProducts) { |
| | | if (temlostProduct.LostProductss.LostProduct__c != null || temlostProduct.LostProductss.LostProductMannual__c != null) { |
| | | System.debug('失单型号' + temlostProduct.LostProductss.LostProduct__c); |
| | | System.debug('失单型号手动' + temlostProduct.LostProductss.LostProductMannual__c); |
| | | productCount ++; |
| | | } |
| | | // update tcm 20211123 start |
| | | if((temlostProduct.LostProductss.LostProduct__c!=null || temlostProduct.LostProductss.LostProductMannual__c!=null)&&(temlostProduct.LostProductss.Quantity__c==null || temlostProduct.LostProductss.Quantity__c ==0)) { |
| | | temlostProduct.LostProductss.Quantity__c.addError('请填写失单数量!'); |
| | | dataCheck = false; |
| | | } |
| | | if((temlostProduct.LostProductss.LostProduct__c!=null || temlostProduct.LostProductss.LostProductMannual__c!=null)&&temlostProduct.LostProductss.ProductCategory__c==null) { |
| | | if (temlostProduct.LostProductss.ProductClass__c==null) { |
| | | temlostProduct.LostProductss.ProductClass__c.addError('失单产品类别必填!'); |
| | | temlostProduct.LostProductss.ProductCategory__c.addError('失单产品必填!'); |
| | | }else { |
| | | temlostProduct.LostProductss.ProductCategory__c.addError('失单产品必填!'); |
| | | } |
| | | dataCheck = false; |
| | | } |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start |
| | | if ((temlostProduct.LostProductss.LostProduct__c==null && temlostProduct.LostProductss.LostProductMannual__c==null)&&(temlostProduct.LostProductss.ProductCategory__c!=null||temlostProduct.LostProductss.Quantity__c!=null)) { |
| | | if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){ |
| | | temlostProduct.LostProductss.LostProduct__c.addError('失单对手型号或失单对手型号(手动)必填!'); |
| | | } else{ |
| | | temlostProduct.LostProductss.LostProductMannual__c.addError('失单对手型号或失单对手型号(手动)必填!'); |
| | | } |
| | | dataCheck = false; |
| | | } |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end |
| | | // update tcm 20211123 end |
| | | // 20230418 ljh DB202304320022 start |
| | | String LostBrandNameS = tempLostBrand.lostBrand.Lost_By_Company__c != '其他'?tempLostBrand.lostBrand.Lost_By_Company__c:tempLostBrand.lostBrand.Lost_By_Company_Mannual__c; |
| | | String LostBrandName = temlostProduct.LostProductss.LostBrandName__c; |
| | | if(LostBrandNameS != LostBrandName){ |
| | | temlostProduct.LostProductss.LostBrandName__c.addError('失单品牌名不一致,请确认'); |
| | | dataCheck = false; |
| | | } |
| | | // 20230418 ljh DB202304320022 end |
| | | |
| | | } |
| | | for(LostBrand tempLostBrand : LostReport.LostBrands ) { |
| | | system.debug('aaaa1++'+tempLostBrand.lostBrand.Lost_By_Company_Mannual__c); |
| | | if(string.isblank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | tempLostBrand.lostBrand.Lost_By_Company__c.addError('请填写失单品牌!'); |
| | | dataCheck = false; |
| | | }// fy SWAG-CCC6F6 start |
| | | else if('其他'.equals(tempLostBrand.lostBrand.Lost_By_Company__c)&&string.isblank(tempLostBrand.lostBrand.Lost_By_Company_Mannual__c)){ |
| | | tempLostBrand.lostBrand.Lost_By_Company_Mannual__c.addError('请填写失单品牌(手动)!'); |
| | | dataCheck = false; |
| | | }// fy SWAG-CCC6F6 end |
| | | system.debug('aaaa2++'+tempLostBrand.lostBrand.Lost_By_Company_Mannual__c); |
| | | if(tempLostBrand.lostBrand.LostPrice__c == null) { |
| | | tempLostBrand.lostBrand.LostPrice__c.addError('失单金额必填!'); |
| | | dataCheck = false; |
| | | } |
| | | if(string.isblank(tempLostBrand.lostBrand.Lost_reason_main__c )) { |
| | | tempLostBrand.lostBrand.Lost_reason_main__c.addError('失单理由(主)必填!'); |
| | | dataCheck = false; |
| | | } |
| | | if(string.isblank(tempLostBrand.lostBrand.Agency__c )) { |
| | | tempLostBrand.lostBrand.Agency__c.addError('中标经销商必填!'); |
| | | dataCheck = false; |
| | | } |
| | | // 检查是否有超过1个有数的产品 |
| | | integer productCount = 0; |
| | | for( PCLLostProducts temlostProduct : tempLostBrand.LostProducts) { |
| | | if (temlostProduct.LostProductss.LostProduct__c != null || temlostProduct.LostProductss.LostProductMannual__c != null) { |
| | | System.debug('失单型号' + temlostProduct.LostProductss.LostProduct__c); |
| | | System.debug('失单型号手动' + temlostProduct.LostProductss.LostProductMannual__c); |
| | | productCount ++; |
| | | } |
| | | // update tcm 20211123 start |
| | | if((temlostProduct.LostProductss.LostProduct__c!=null || temlostProduct.LostProductss.LostProductMannual__c!=null)&&(temlostProduct.LostProductss.Quantity__c==null || temlostProduct.LostProductss.Quantity__c ==0)) { |
| | | temlostProduct.LostProductss.Quantity__c.addError('请填写失单数量!'); |
| | | dataCheck = false; |
| | | } |
| | | if((temlostProduct.LostProductss.LostProduct__c!=null || temlostProduct.LostProductss.LostProductMannual__c!=null)&&temlostProduct.LostProductss.ProductCategory__c==null) { |
| | | if (temlostProduct.LostProductss.ProductClass__c==null) { |
| | | temlostProduct.LostProductss.ProductClass__c.addError('失单产品类别必填!'); |
| | | temlostProduct.LostProductss.ProductCategory__c.addError('失单产品必填!'); |
| | | }else { |
| | | temlostProduct.LostProductss.ProductCategory__c.addError('失单产品必填!'); |
| | | } |
| | | dataCheck = false; |
| | | } |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start |
| | | if ((temlostProduct.LostProductss.LostProduct__c==null && temlostProduct.LostProductss.LostProductMannual__c==null)&&(temlostProduct.LostProductss.ProductCategory__c!=null||temlostProduct.LostProductss.Quantity__c!=null)) { |
| | | if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){ |
| | | temlostProduct.LostProductss.LostProduct__c.addError('失单对手型号或失单对手型号(手动)必填!'); |
| | | } else{ |
| | | temlostProduct.LostProductss.LostProductMannual__c.addError('失单对手型号或失单对手型号(手动)必填!'); |
| | | } |
| | | dataCheck = false; |
| | | } |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end |
| | | // update tcm 20211123 end |
| | | } |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start |
| | | if (productCount == 0 && tempLostBrand.LostProducts != null && tempLostBrand.LostProducts.size() > 0) { |
| | | if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){ |
| | | tempLostBrand.LostProducts[0].LostProductss.LostProduct__c.addError('至少录入1条失单对手型号信息!'); |
| | | }else{ |
| | | tempLostBrand.LostProducts[0].LostProductss.LostProductMannual__c.addError('至少录入1条失单对手型号信息!'); |
| | | } |
| | | dataCheck = false; |
| | | } |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start |
| | | if (productCount == 0 && tempLostBrand.LostProducts != null && tempLostBrand.LostProducts.size() > 0) { |
| | | if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){ |
| | | tempLostBrand.LostProducts[0].LostProductss.LostProduct__c.addError('至少录入1条失单对手型号信息!'); |
| | | }else{ |
| | | tempLostBrand.LostProducts[0].LostProductss.LostProductMannual__c.addError('至少录入1条失单对手型号信息!'); |
| | | } |
| | | dataCheck = false; |
| | | } |
| | | |
| | | return dataCheck; |
| | | // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end |
| | | } |
| | | |
| | | return dataCheck; |
| | | } |
| | | public list<LostBrand> brandcopy(){ |
| | | list<LostBrand> tempbrands = new list<LostBrand>(); |
| | | for(LostBrand tempbrand: LostReport.LostBrands) { |
| | | LostBrand LostBrand = |
| | | new LostBrand(tempbrand.lineNo,tempbrand.LostProducts ); |
| | | LostBrand.lostBrand = tempbrand.lostBrand.clone(); |
| | | LostBrand.lostBrand.id = tempbrand.lostBrand.id; |
| | | tempbrands.add(LostBrand); |
| | | } |
| | | return tempbrands; |
| | | list<LostBrand> tempbrands = new list<LostBrand>(); |
| | | for(LostBrand tempbrand: LostReport.LostBrands) { |
| | | LostBrand LostBrand = |
| | | new LostBrand(tempbrand.lineNo,tempbrand.LostProducts ); |
| | | LostBrand.lostBrand = tempbrand.lostBrand.clone(); |
| | | LostBrand.lostBrand.id = tempbrand.lostBrand.id; |
| | | tempbrands.add(LostBrand); |
| | | } |
| | | return tempbrands; |
| | | } |
| | | // 数据录入 |
| | | public boolean dataEntry(){ |
| | | system.debug('save---start:'); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | Lost_cancel_report__c templostReport = LostReport.lostReport.clone(); |
| | | templostReport.id = LostReport.lostReport.id; |
| | | list<LostBrand> tempBrands = brandcopy(); |
| | | try{ |
| | | // 待完成,这里需要把第一个品牌的信息赋值到这个失单报告上去,还有需要把各个品牌金额汇总加起来; |
| | | //system.debug('LostReport.LostBrands:'+LostReport.LostBrands); |
| | | // 设置记录类型 |
| | | LostReport.lostReport.recordTypeID = LostReport.lostReport.LostType__c== '失单'?Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByDeveloperName().get('PCL_Lost_report').getRecordTypeId() : Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByDeveloperName().get('PCL_PartLost_report').getRecordTypeId(); |
| | | LostReport.lostReport.LostTotalAmount__c = 0; |
| | | LostReport.lostReport.of_lost_system_processor__c = 0; |
| | | LostReport.lostReport.Lost_reason_main__c = null; |
| | | LostReport.lostReport.Lost_Reason_Sub__c = null; |
| | | LostReport.lostReport.Lost_By_Company__c = null; |
| | | for(LostBrand tempLostBrand : LostReport.LostBrands) { |
| | | if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | LostReport.lostReport.LostTotalAmount__c += tempLostBrand.lostBrand.LostPrice__c; |
| | | LostReport.lostReport.Lost_reason_main__c = |
| | | LostReport.lostReport.Lost_reason_main__c == null |
| | | ? tempLostBrand.lostBrand.Lost_reason_main__c |
| | | : LostReport.lostReport.Lost_reason_main__c; |
| | | LostReport.lostReport.Lost_Reason_Sub__c = |
| | | LostReport.lostReport.Lost_Reason_Sub__c == null |
| | | ? tempLostBrand.lostBrand.Lost_Reason_Sub__c |
| | | : LostReport.lostReport.Lost_Reason_Sub__c; |
| | | LostReport.lostReport.Lost_By_Company__c = |
| | | LostReport.lostReport.Lost_By_Company__c == null |
| | | ? tempLostBrand.lostBrand.Lost_By_Company__c |
| | | : LostReport.lostReport.Lost_By_Company__c; |
| | | |
| | | for( PCLLostProducts tempLostProduct : tempLostBrand.LostProducts) { |
| | | if(tempLostProduct.LostProductss.Quantity__c !=null && tempLostProduct.LostProductss.Quantity__c >0) { |
| | | LostReport.lostReport.of_lost_system_processor__c += tempLostProduct.LostProductss.Quantity__c; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | upsert LostReport.lostReport; |
| | | // 需要插入更新的失单品牌 |
| | | map<integer,PCLLostBrand__c> upsertLostBrandMap = new map<integer,PCLLostBrand__c>(); |
| | | // 需要删掉的失单品牌 |
| | | map<integer,PCLLostBrand__c> deleteLostBrandMap = new map<integer,PCLLostBrand__c>(); |
| | | // 需要插入更新的失单型号,key是品牌编号+型号编号,value是需要更新的失单型号 |
| | | map<string,PCLLostProduct__c> upsertLostProductMap = new map<string,PCLLostProduct__c>(); |
| | | // 需要删掉的失单品牌 |
| | | list<PCLLostProduct__c> deleteLostProductList = new list<PCLLostProduct__c>(); |
| | | for(LostBrand tempLostBrand : LostReport.LostBrands ) { |
| | | // 如果有失单品牌,那么就要插入更新; |
| | | system.debug('tempLostBrand.lostBrand.Lost_By_Company__c:'+tempLostBrand.lostBrand.Lost_By_Company__c); |
| | | if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | upsertLostBrandMap.put(tempLostBrand.lineNo,tempLostBrand.lostBrand); |
| | | tempLostBrand.lostBrand.Lost_cancel_report__c = LostReport.lostReport.id; |
| | | tempLostBrand.lostBrand.Name = tempLostBrand.lostBrand.Lost_By_Company__c; |
| | | integer tempNo = 0; |
| | | for( PCLLostProducts tempLostProduct : tempLostBrand.LostProducts) { |
| | | system.debug('Name:'+ tempLostProduct.LostProductss.Name ); |
| | | if(tempLostProduct.LostProductss.Quantity__c !=null && tempLostProduct.LostProductss.Quantity__c >0) { |
| | | tempLostProduct.LostProductss.Name = tempLostBrand.lostBrand.Name + tempLostProduct.LostProductss.Quantity__c; |
| | | upsertLostProductMap.put(tempLostBrand.lineNo +':'+ tempNo,tempLostProduct.LostProductss); |
| | | }else if(string.isNotBlank(tempLostProduct.LostProductss.id)) { |
| | | deleteLostProductList.add(tempLostProduct.LostProductss); |
| | | } |
| | | tempNo++; |
| | | } |
| | | } |
| | | // 如果没有品牌,但是有id, 这样数据需要删除 |
| | | else if(string.isNotBlank(tempLostBrand.lostBrand.id)) { |
| | | deleteLostBrandMap.put(tempLostBrand.lineNo,tempLostBrand.lostBrand); |
| | | // 这里可能需要也判断一下失单型号有没有需要删掉 |
| | | } |
| | | } |
| | | if(upsertLostBrandMap.size()>0) { |
| | | upsert upsertLostBrandMap.values(); |
| | | } |
| | | for( string productNo :upsertLostProductMap.keyset()) { |
| | | PCLLostProduct__c tempLostProduct = upsertLostProductMap.get(productNo); |
| | | integer brandNo = integer.valueof(productNo.split(':')[0]); |
| | | tempLostProduct.PCLLostBrand__c = upsertLostBrandMap.get(brandNo).id; |
| | | } |
| | | if(upsertLostProductMap.size()>0) { |
| | | upsert upsertLostProductMap.values(); |
| | | } |
| | | if(deleteLostBrandMap.size()>0) { |
| | | delete deleteLostBrandMap.values(); |
| | | for(PCLLostBrand__c pcl: deleteLostBrandMap.values()) { |
| | | pcl.id = null; |
| | | } |
| | | } |
| | | if(deleteLostProductList.size()>0) { |
| | | delete deleteLostProductList; |
| | | for(PCLLostProduct__c pclp: deleteLostProductList) { |
| | | pclp.id = null; |
| | | } |
| | | } |
| | | if(deleteBrandIDSet.size() > 0) { |
| | | list<id> tempdeleteIDlist = new list<id>(); |
| | | tempdeleteIDlist.addall(deleteBrandIDSet); |
| | | database.delete(tempdeleteIDlist); |
| | | |
| | | } |
| | | |
| | | for(integer brandNumber =0; brandNumber< LostReport.LostBrands.size(); brandNumber++) { |
| | | |
| | | LostBrand tempLostBrand = LostReport.LostBrands.get(brandNumber); |
| | | if(tempLostBrand.lostBrand.Id == null) { |
| | | LostReport.LostBrands.remove(brandNumber); |
| | | brandNumber--; |
| | | continue; |
| | | } |
| | | for(integer productNumber = 0; productNumber< tempLostBrand.LostProducts.size(); productNumber++) { |
| | | PCLLostProducts tempLostProduct = tempLostBrand.LostProducts.get(productNumber); |
| | | if(tempLostProduct.LostProductss.Id == null) { |
| | | tempLostBrand.LostProducts.remove(productNumber); |
| | | productNumber--; |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | lostReportId = LostReport.lostReport.id; |
| | | system.debug('save---end:'); |
| | | }catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | LostReport.lostReport = templostReport; |
| | | LostReport.LostBrands = tempBrands; |
| | | // 这里需要写一些报错信息 |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,ex.getMessage())); |
| | | return false; |
| | | system.debug('save---start:'); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | Lost_cancel_report__c templostReport = LostReport.lostReport.clone(); |
| | | templostReport.id = LostReport.lostReport.id; |
| | | list<LostBrand> tempBrands = brandcopy(); |
| | | try{ |
| | | // 待完成,这里需要把第一个品牌的信息赋值到这个失单报告上去,还有需要把各个品牌金额汇总加起来; |
| | | //system.debug('LostReport.LostBrands:'+LostReport.LostBrands); |
| | | // 设置记录类型 |
| | | LostReport.lostReport.recordTypeID = LostReport.lostReport.LostType__c== '失单'?Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByDeveloperName().get('PCL_Lost_report').getRecordTypeId() : Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByDeveloperName().get('PCL_PartLost_report').getRecordTypeId(); |
| | | LostReport.lostReport.LostTotalAmount__c = 0; |
| | | LostReport.lostReport.TotalAmountLost__c = 0; //20230215 lt DB202302247719 |
| | | LostReport.lostReport.of_lost_system_processor__c = 0; |
| | | LostReport.lostReport.Lost_reason_main__c = null; |
| | | LostReport.lostReport.Lost_Reason_Sub__c = null; |
| | | LostReport.lostReport.Lost_By_Company__c = null; |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 start |
| | | //批准日不为空时给修改后再批准赋值 |
| | | if(LostReport.lostReport.Approved_Day__c != null){ |
| | | LostReport.lostReport.ModifyAfterApproval__c = true; |
| | | } |
| | | return true; |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 end |
| | | for(LostBrand tempLostBrand : LostReport.LostBrands) { |
| | | if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | LostReport.lostReport.LostTotalAmount__c += tempLostBrand.lostBrand.LostPrice__c; |
| | | //20230215 lt DB202302247719 start |
| | | Decimal med = tempLostBrand.lostBrand.LostPrice__c/1.13/1000; |
| | | Decimal med1 = med.setScale(2); |
| | | // System.debug('---lt123不含税数值(人工)Decimal---'+med); |
| | | // System.debug('---lt123不含税数值(人工)Decimal两位小数---'+med1); |
| | | LostReport.lostReport.TotalAmountLost__c += med1; |
| | | //LostReport.lostReport.TotalAmountLost__c += tempLostBrand.lostBrand.LostPrices_ThousandY__c; //20230215 lt DB202302247719 |
| | | // LostReport.lostReport.TotalAmountLost__c += tempLostBrand.lostBrand.LostPrice__c/1.13/1000; //20230215 lt DB202302247719 |
| | | //20230215 lt DB202302247719 en |
| | | |
| | | LostReport.lostReport.Lost_reason_main__c = |
| | | LostReport.lostReport.Lost_reason_main__c == null |
| | | ? tempLostBrand.lostBrand.Lost_reason_main__c |
| | | : LostReport.lostReport.Lost_reason_main__c; |
| | | LostReport.lostReport.Lost_Reason_Sub__c = |
| | | LostReport.lostReport.Lost_Reason_Sub__c == null |
| | | ? tempLostBrand.lostBrand.Lost_Reason_Sub__c |
| | | : LostReport.lostReport.Lost_Reason_Sub__c; |
| | | LostReport.lostReport.Lost_By_Company__c = |
| | | LostReport.lostReport.Lost_By_Company__c == null |
| | | ? tempLostBrand.lostBrand.Lost_By_Company__c |
| | | : LostReport.lostReport.Lost_By_Company__c; |
| | | |
| | | for( PCLLostProducts tempLostProduct : tempLostBrand.LostProducts) { |
| | | if(tempLostProduct.LostProductss.Quantity__c !=null && tempLostProduct.LostProductss.Quantity__c >0) { |
| | | LostReport.lostReport.of_lost_system_processor__c += tempLostProduct.LostProductss.Quantity__c; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | upsert LostReport.lostReport; |
| | | // 需要插入更新的失单品牌 |
| | | map<integer,PCLLostBrand__c> upsertLostBrandMap = new map<integer,PCLLostBrand__c>(); |
| | | // 需要删掉的失单品牌 |
| | | map<integer,PCLLostBrand__c> deleteLostBrandMap = new map<integer,PCLLostBrand__c>(); |
| | | // 需要插入更新的失单型号,key是品牌编号+型号编号,value是需要更新的失单型号 |
| | | map<string,PCLLostProduct__c> upsertLostProductMap = new map<string,PCLLostProduct__c>(); |
| | | // 需要删掉的失单品牌 |
| | | list<PCLLostProduct__c> deleteLostProductList = new list<PCLLostProduct__c>(); |
| | | for(LostBrand tempLostBrand : LostReport.LostBrands ) { |
| | | // 如果有失单品牌,那么就要插入更新; |
| | | system.debug('tempLostBrand.lostBrand.Lost_By_Company__c:'+tempLostBrand.lostBrand.Lost_By_Company__c); |
| | | if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | upsertLostBrandMap.put(tempLostBrand.lineNo,tempLostBrand.lostBrand); |
| | | tempLostBrand.lostBrand.Lost_cancel_report__c = LostReport.lostReport.id; |
| | | tempLostBrand.lostBrand.Name = tempLostBrand.lostBrand.Lost_By_Company__c; |
| | | integer tempNo = 0; |
| | | for( PCLLostProducts tempLostProduct : tempLostBrand.LostProducts) { |
| | | system.debug('Name:'+ tempLostProduct.LostProductss.Name ); |
| | | if(tempLostProduct.LostProductss.Quantity__c !=null && tempLostProduct.LostProductss.Quantity__c >0) { |
| | | tempLostProduct.LostProductss.Name = tempLostBrand.lostBrand.Name + tempLostProduct.LostProductss.Quantity__c; |
| | | upsertLostProductMap.put(tempLostBrand.lineNo +':'+ tempNo,tempLostProduct.LostProductss); |
| | | }else if(string.isNotBlank(tempLostProduct.LostProductss.id)) { |
| | | deleteLostProductList.add(tempLostProduct.LostProductss); |
| | | } |
| | | tempNo++; |
| | | } |
| | | } |
| | | // 如果没有品牌,但是有id, 这样数据需要删除 |
| | | else if(string.isNotBlank(tempLostBrand.lostBrand.id)) { |
| | | deleteLostBrandMap.put(tempLostBrand.lineNo,tempLostBrand.lostBrand); |
| | | // 这里可能需要也判断一下失单型号有没有需要删掉 |
| | | } |
| | | } |
| | | if(upsertLostBrandMap.size()>0) { |
| | | upsert upsertLostBrandMap.values(); |
| | | } |
| | | for( string productNo :upsertLostProductMap.keyset()) { |
| | | PCLLostProduct__c tempLostProduct = upsertLostProductMap.get(productNo); |
| | | integer brandNo = integer.valueof(productNo.split(':')[0]); |
| | | tempLostProduct.PCLLostBrand__c = upsertLostBrandMap.get(brandNo).id; |
| | | } |
| | | if(upsertLostProductMap.size()>0) { |
| | | upsert upsertLostProductMap.values(); |
| | | } |
| | | if(deleteLostBrandMap.size()>0) { |
| | | delete deleteLostBrandMap.values(); |
| | | for(PCLLostBrand__c pcl: deleteLostBrandMap.values()) { |
| | | pcl.id = null; |
| | | } |
| | | } |
| | | if(deleteLostProductList.size()>0) { |
| | | delete deleteLostProductList; |
| | | for(PCLLostProduct__c pclp: deleteLostProductList) { |
| | | pclp.id = null; |
| | | } |
| | | } |
| | | if(deleteBrandIDSet.size() > 0) { |
| | | list<id> tempdeleteIDlist = new list<id>(); |
| | | tempdeleteIDlist.addall(deleteBrandIDSet); |
| | | database.delete(tempdeleteIDlist); |
| | | |
| | | } |
| | | |
| | | for(integer brandNumber =0; brandNumber< LostReport.LostBrands.size(); brandNumber++) { |
| | | |
| | | LostBrand tempLostBrand = LostReport.LostBrands.get(brandNumber); |
| | | if(tempLostBrand.lostBrand.Id == null) { |
| | | LostReport.LostBrands.remove(brandNumber); |
| | | brandNumber--; |
| | | continue; |
| | | } |
| | | for(integer productNumber = 0; productNumber< tempLostBrand.LostProducts.size(); productNumber++) { |
| | | PCLLostProducts tempLostProduct = tempLostBrand.LostProducts.get(productNumber); |
| | | if(tempLostProduct.LostProductss.Id == null) { |
| | | tempLostBrand.LostProducts.remove(productNumber); |
| | | productNumber--; |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | lostReportId = LostReport.lostReport.id; |
| | | system.debug('save---end:'); |
| | | }catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | LostReport.lostReport = templostReport; |
| | | LostReport.LostBrands = tempBrands; |
| | | // 这里需要写一些报错信息 |
| | | System.debug('---lt123---'+ex.getLineNumber()); |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,ex.getMessage())); |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | // 取消 |
| | | public PageReference cancel(){ |
| | | PageReference page = new PageReference('/'+oppId); |
| | | page.setRedirect(true); |
| | | return page; |
| | | PageReference page = new PageReference('/'+oppId); |
| | | page.setRedirect(true); |
| | | return page; |
| | | } |
| | | // 提交 |
| | | public PageReference submit(){ |
| | | if(!'草案'.equals(LostReport.LostReport.Report_Status__c) ) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '只有在草案中才能提交申请!')); |
| | | return null; |
| | | } |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 update |
| | | //&& LostReport.LostReport.ModifyAfterApproval__c == false |
| | | if(!'草案'.equals(LostReport.LostReport.Report_Status__c) && LostReport.LostReport.ModifyAfterApproval__c == false) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '只有在草案中才能提交申请!')); |
| | | return null; |
| | | } |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try{ |
| | | LostReport.lostReport.Report_Status__c = '提交'; |
| | | update LostReport.lostReport; |
| | | Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); |
| | | psr.setObjectId(lostReportId); |
| | | Approval.ProcessResult submitResult = Approval.process(psr); |
| | | PageReference page = new PageReference('/apex/PCLLostReportPage'); |
| | | page.getParameters().put('Id', lostReportId); |
| | | page.getParameters().put('pageStatus', 'View'); |
| | | page.getParameters().put('submitFlag', '1'); |
| | | |
| | | page.setRedirect(true); |
| | | return page; |
| | | }catch(exception ex) { |
| | | Database.rollback(sp); |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,ex.getMessage())); |
| | | return null; |
| | | } |
| | | // 20230629 wkx DB202306242764 start |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 add lcrlist1 |
| | | //DB202308068183 add (不等于当前失单报告,批准后再修改用) |
| | | list<Lost_cancel_report__c> lcrlist1=[select id,Opportunity__c from Lost_cancel_report__c where Opportunity__c=:oppid and id!=:lostReportId limit 1]; |
| | | list<opportunity> opplist1=[select id,cnt_lost_cancel_report__c,cnt_lost_cancel_draft__c from Opportunity where id=:oppid limit 1]; |
| | | if (opplist1[0].cnt_lost_cancel_report__c - opplist1[0].cnt_lost_cancel_draft__c > 0 && lcrlist1.size() > 0) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '已存在 询价失单/取消 报告!')); |
| | | return null; |
| | | } |
| | | // 20230629 wkx DB202306242764 end |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try{ |
| | | LostReport.lostReport.Report_Status__c = '提交'; |
| | | update LostReport.lostReport; |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 start 注释 |
| | | //DB202308068183 进 进程生成器 |
| | | // Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); |
| | | // psr.setObjectId(lostReportId); |
| | | // Approval.ProcessResult submitResult = Approval.process(psr); |
| | | //20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 end 注释 |
| | | PageReference page = new PageReference('/apex/PCLLostReportPage'); |
| | | page.getParameters().put('Id', lostReportId); |
| | | page.getParameters().put('pageStatus', 'View'); |
| | | page.getParameters().put('submitFlag', '1'); |
| | | |
| | | page.setRedirect(true); |
| | | return page; |
| | | }catch(exception ex) { |
| | | Database.rollback(sp); |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,ex.getMessage())); |
| | | return null; |
| | | } |
| | | } |
| | | // 添加品牌 |
| | | public PageReference addBrand(){ |
| | | LostReport.LostBrands.add(new LostBrand(LostReport.LostBrands.size())); |
| | | brandCount = LostReport.LostBrands.size(); |
| | | return null; |
| | | LostReport.LostBrands.add(new LostBrand(LostReport.LostBrands.size())); |
| | | brandCount = LostReport.LostBrands.size(); |
| | | return null; |
| | | } |
| | | // 删除品牌 这个有参数brandNo,才知道是删除那个品牌 |
| | | public PageReference Remove(){ |
| | | system.debug('RemoveBrandNo:'+RemoveBrandNo); |
| | | list<LostBrand> tempLostBrands = new List<lostBrand>(); |
| | | Integer i = 0; |
| | | for(integer j = 0; j< LostReport.LostBrands.size(); j++ ) { |
| | | LostBrand templostBrand = LostReport.LostBrands.get(j); |
| | | if(j != RemoveBrandNo) { |
| | | templostBrand.lineNo = i; |
| | | tempLostBrands.add(templostBrand); |
| | | i++; |
| | | }else if(!string.isBlank(templostBrand.lostBrand.id)) { |
| | | deleteBrandIDSet.add(templostBrand.lostBrand.id); |
| | | } |
| | | system.debug('RemoveBrandNo:'+RemoveBrandNo); |
| | | list<LostBrand> tempLostBrands = new List<lostBrand>(); |
| | | Integer i = 0; |
| | | for(integer j = 0; j< LostReport.LostBrands.size(); j++ ) { |
| | | LostBrand templostBrand = LostReport.LostBrands.get(j); |
| | | if(j != RemoveBrandNo) { |
| | | templostBrand.lineNo = i; |
| | | tempLostBrands.add(templostBrand); |
| | | i++; |
| | | }else if(!string.isBlank(templostBrand.lostBrand.id)) { |
| | | deleteBrandIDSet.add(templostBrand.lostBrand.id); |
| | | } |
| | | |
| | | LostReport.LostBrands = tempLostBrands; |
| | | |
| | | brandCount = LostReport.LostBrands.size(); |
| | | return null; |
| | | } |
| | | |
| | | LostReport.LostBrands = tempLostBrands; |
| | | |
| | | brandCount = LostReport.LostBrands.size(); |
| | | return null; |
| | | } |
| | | // 添加型号, 这个有参数brandNo,才知道是添加到那个品牌 |
| | | // update tcm 20211125 添加型号时自动带出品牌 start |
| | | public PageReference addProduct(){ |
| | | system.debug('brandNo:'+brandNo); |
| | | LostBrand tempLostBrand = LostReport.LostBrands.get(brandNo); |
| | | // PCLLostProduct__c plp = new PCLLostProduct__c(Competitor__c=CompetitionMap.get(LostReport.LostBrands[brandNo].lostBrand.Lost_By_Company__c)); |
| | | string brandName = tempLostBrand.lostBrand.Lost_By_Company__c; |
| | | PCLLostProduct__c plp = new PCLLostProduct__c(); |
| | | plp.LostBrandName__c = brandName; |
| | | tempLostBrand.LostProducts.add(new PCLLostProducts(tempLostBrand.LostProducts.size(),plp)); |
| | | tempLostBrand.ProductSize = tempLostBrand.LostProducts.size(); |
| | | return null; |
| | | system.debug('brandNo:'+brandNo); |
| | | LostBrand tempLostBrand = LostReport.LostBrands.get(brandNo); |
| | | // PCLLostProduct__c plp = new PCLLostProduct__c(Competitor__c=CompetitionMap.get(LostReport.LostBrands[brandNo].lostBrand.Lost_By_Company__c)); |
| | | // 20230418 ljh DB202304320022 start |
| | | // string brandName = tempLostBrand.lostBrand.Lost_By_Company__c; |
| | | string brandName = tempLostBrand.lostBrand.Lost_By_Company__c != '其他'?tempLostBrand.lostBrand.Lost_By_Company__c:tempLostBrand.lostBrand.Lost_By_Company_Mannual__c; |
| | | // 20230418 ljh DB202304320022 end |
| | | PCLLostProduct__c plp = new PCLLostProduct__c(); |
| | | plp.LostBrandName__c = brandName; |
| | | tempLostBrand.LostProducts.add(new PCLLostProducts(tempLostBrand.LostProducts.size(),plp)); |
| | | tempLostBrand.ProductSize = tempLostBrand.LostProducts.size(); |
| | | return null; |
| | | } |
| | | // update tcm 20211125 添加型号时自动带出品牌 end |
| | | // 页面的数据结构 |
| | | public class LostReport { |
| | | public Lost_cancel_report__c lostReport { get; set; } |
| | | public list<LostBrand> LostBrands { get; set; } |
| | | public LostReport(){ |
| | | lostReport = new Lost_cancel_report__c(); |
| | | LostBrands = new list<LostBrand> {new LostBrand(0)}; |
| | | } |
| | | public LostReport(Lost_cancel_report__c lostReport){ |
| | | this.lostReport = lostReport; |
| | | LostBrands = new list<LostBrand> {new LostBrand(0)}; |
| | | } |
| | | public LostReport(Lost_cancel_report__c lostReport, list<LostBrand> LostBrands){ |
| | | this.lostReport = lostReport; |
| | | this.LostBrands = LostBrands; |
| | | } |
| | | public Lost_cancel_report__c lostReport { get; set; } |
| | | public list<LostBrand> LostBrands { get; set; } |
| | | public LostReport(){ |
| | | lostReport = new Lost_cancel_report__c(); |
| | | LostBrands = new list<LostBrand> {new LostBrand(0)}; |
| | | } |
| | | public LostReport(Lost_cancel_report__c lostReport){ |
| | | this.lostReport = lostReport; |
| | | LostBrands = new list<LostBrand> {new LostBrand(0)}; |
| | | } |
| | | public LostReport(Lost_cancel_report__c lostReport, list<LostBrand> LostBrands){ |
| | | this.lostReport = lostReport; |
| | | this.LostBrands = LostBrands; |
| | | } |
| | | } |
| | | |
| | | |
| | | public class LostBrand { |
| | | public PCLLostBrand__c lostBrand { get; set; } |
| | | public Integer lineNo { get; set; } |
| | | public list<PCLLostProducts> LostProducts { get; set; } |
| | | public Integer ProductSize {get; set;} |
| | | public LostBrand( integer lineNo ){ |
| | | lostBrand = new PCLLostBrand__c(); |
| | | this.lineNo = lineNo; |
| | | LostProducts = new list<PCLLostProducts> {new PCLLostProducts()}; |
| | | ProductSize = 1; |
| | | lostBrand = new PCLLostBrand__c(); |
| | | } |
| | | public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts ){ |
| | | lostBrand = new PCLLostBrand__c(); |
| | | this.lineNo = lineNo; |
| | | this.LostProducts = LostProducts; |
| | | ProductSize = LostProducts.size(); |
| | | } |
| | | public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts, PCLLostBrand__c lostBrand){ |
| | | this.lostBrand = lostBrand; |
| | | this.lineNo = lineNo; |
| | | this.LostProducts = LostProducts; |
| | | ProductSize = LostProducts.size(); |
| | | } |
| | | public PCLLostBrand__c lostBrand { get; set; } |
| | | public Integer lineNo { get; set; } |
| | | public list<PCLLostProducts> LostProducts { get; set; } |
| | | public Integer ProductSize {get; set;} |
| | | public LostBrand( integer lineNo ){ |
| | | lostBrand = new PCLLostBrand__c(); |
| | | this.lineNo = lineNo; |
| | | LostProducts = new list<PCLLostProducts> {new PCLLostProducts()}; |
| | | ProductSize = 1; |
| | | lostBrand = new PCLLostBrand__c(); |
| | | } |
| | | public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts ){ |
| | | lostBrand = new PCLLostBrand__c(); |
| | | this.lineNo = lineNo; |
| | | this.LostProducts = LostProducts; |
| | | ProductSize = LostProducts.size(); |
| | | } |
| | | public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts, PCLLostBrand__c lostBrand){ |
| | | this.lostBrand = lostBrand; |
| | | this.lineNo = lineNo; |
| | | this.LostProducts = LostProducts; |
| | | ProductSize = LostProducts.size(); |
| | | } |
| | | } |
| | | // add tcm 20211119 start |
| | | public class PCLLostProducts { |
| | | public Integer lineNo2 { get; set; } |
| | | public PCLLostProduct__c LostProductss { get; set; } |
| | | public Boolean bool { get; set; } |
| | | |
| | | public PCLLostProducts() { |
| | | this.lineNo2 = 0; |
| | | this.LostProductss=new PCLLostProduct__c(); |
| | | public Integer lineNo2 { get; set; } |
| | | public PCLLostProduct__c LostProductss { get; set; } |
| | | public Boolean bool { get; set; } |
| | | |
| | | public PCLLostProducts() { |
| | | this.lineNo2 = 0; |
| | | this.LostProductss=new PCLLostProduct__c(); |
| | | } |
| | | |
| | | public PCLLostProducts(Integer lineNo2) { |
| | | this.lineNo2 = lineNo2; |
| | | this.LostProductss=new PCLLostProduct__c(); |
| | | } |
| | | |
| | | public PCLLostProducts(Integer lineNo2,PCLLostProduct__c LostProductss) { |
| | | this.lineNo2 = lineNo2; |
| | | this.LostProductss=LostProductss; |
| | | if (LostProductss.LostProduct__c != null) { |
| | | this.bool = true; |
| | | } |
| | | |
| | | public PCLLostProducts(Integer lineNo2) { |
| | | this.lineNo2 = lineNo2; |
| | | this.LostProductss=new PCLLostProduct__c(); |
| | | } |
| | | |
| | | public PCLLostProducts(Integer lineNo2,PCLLostProduct__c LostProductss) { |
| | | this.lineNo2 = lineNo2; |
| | | this.LostProductss=LostProductss; |
| | | if (LostProductss.LostProduct__c != null) { |
| | | this.bool = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // add tcm 20211119 end |
| | | |
| | | |
| | | // add tcm 20211118 start |
| | | public void search() { |
| | | if (LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) { |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; |
| | | |
| | | if (LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) { |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; |
| | | |
| | | }else { |
| | | Product2 prd = [select Id,ProductClass__c, ProductCategory__c from Product2 where Id =:LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c]; |
| | | if (prd.ProductCategory__c!=null) { |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].bool=true; |
| | | }else { |
| | | Product2 prd = [select Id,ProductClass__c, ProductCategory__c from Product2 where Id =:LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c]; |
| | | if (prd.ProductCategory__c!=null) { |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].bool=true; |
| | | }else { |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; |
| | | |
| | | } |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; |
| | | LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; |
| | | |
| | | } |
| | | } |
| | | } |
| | | // add tcm 20211118 end |
| | | } |
| | | } |