| | |
| | | public static integer secondNum {get; set;} |
| | | // add tcm 20211122 end |
| | | |
| | | |
| | | @AuraEnabled(cacheable=true) |
| | | public static Id getUserProfileId() { |
| | | Id profileId = [SELECT ProfileId FROM User WHERE Id = :UserInfo.getUserId()].ProfileId; |
| | | return profileId; |
| | | } |
| | | @AuraEnabled |
| | | public static String getPickList(String objectName, String fieldName) { |
| | | List<Map<String, String>> lstPickvals = new List<Map<String, String>>(); |
| | |
| | | Map<string,List<Map<String, String>>> pickList = new Map<string,List<Map<String, String>>>(); |
| | | List<Map<String, String>> zhuji = new List<Map<String, String>>(); |
| | | List<Map<String, String>> jingzi = new List<Map<String, String>>(); |
| | | List<Map<String, String>> xixiaoji = new List<Map<String, String>>(); |
| | | List<Map<String, String>> guangyuan = new List<Map<String, String>>(); |
| | | List<Map<String, String>> xiaojingzhong = new List<Map<String, String>>(); |
| | | List<Map<String, String>> nengliang = new List<Map<String, String>>(); |
| | | List<Map<String, String>> qita = new List<Map<String, String>>(); |
| | |
| | | nengliang.add(empty); |
| | | qita.add(empty); |
| | | for (Integer i = 0; i < lstPickvals.size(); i++) { |
| | | if ((i >= 0 && i <= 6) || i == 36) { |
| | | if ((i >= 0 && i <= 6) || i == 38) { |
| | | zhuji.add(lstPickvals[i]); |
| | | } |
| | | if ((i >= 7 && i <= 23) || i == 36) { |
| | | if ((i >= 7 && i <= 23) || i == 38) { |
| | | jingzi.add(lstPickvals[i]); |
| | | } |
| | | if ((i >= 24 && i <= 29) || i == 35) { |
| | | if ((i >= 24 && i <= 29) || i == 35|| i == 38) { |
| | | xiaojingzhong.add(lstPickvals[i]); |
| | | } |
| | | if ((i >= 30 && i <= 34) || i == 36) { |
| | | if ((i >= 30 && i <= 34) || i == 38) { |
| | | nengliang.add(lstPickvals[i]); |
| | | } |
| | | if (i == 36) { |
| | | guangyuan.add(lstPickvals[i]); |
| | | } |
| | | if (i == 37) { |
| | | xixiaoji.add(lstPickvals[i]); |
| | | } |
| | | if (i == 38) { |
| | | qita.add(lstPickvals[i]); |
| | | } |
| | | } |
| | |
| | | pickList.put('镜子', jingzi); |
| | | pickList.put('小镜种', xiaojingzhong); |
| | | pickList.put('能量', nengliang); |
| | | pickList.put('洗消机', xixiaoji); |
| | | pickList.put('光源', guangyuan); |
| | | pickList.put('其他', qita); |
| | | return JSON.serialize(pickList); |
| | | } |
| | |
| | | Lost_Reason_Sub__c,Lost_By_Company__c, |
| | | LostTotalAmount__c,LostType__c, |
| | | Report_Status__c,Sales_assistant__c, |
| | | TotalAmountLost__c, |
| | | InclusionUltrasound__c, //20230506 lt DB202304618804 包含超声 |
| | | ModifyAfterApproval__c,Approved_Day__c,//20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 add |
| | | 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]; |
| | | |
| | | System.debug('chenjingwu' + lostReportList); |
| | | if(lostReportList.size() == 0) { |
| | | pageStatus = null; |
| | | maps.put('message', '您没有查看这个失单/部分失单报告的权限!'); |
| | |
| | | lostReportList[0].LostType__c ='部分失单'; |
| | | } |
| | | // 权限,如果当前状态不是草案中,那么需要跳转到只读页面 |
| | | if(!'草案'.equals(lostReportList[0].Report_Status__c) && userinfo.getProfileId() != (ID) '00e10000000Y3o5AAC') { |
| | | //原:!'草案'.equals(lostReportList[0].Report_Status__c) && userinfo.getProfileId() != (ID) '00e10000000Y3o5AAC' |
| | | |
| | | // 20230814 lt DB202308068183 失单报告审批节点增加助理审批节点 end 改if条件 |
| | | if( |
| | | !('草案'.equals(lostReportList[0].Report_Status__c) |
| | | || userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC' |
| | | ||('批准'.equals(lostReportList[0].Report_Status__c) && |
| | | (userinfo.getProfileId() == (ID) '00e10000000xnp2AAA' || |
| | | userinfo.getProfileId() == (ID) '00e10000000xnpRAAQ' || |
| | | userinfo.getProfileId() == (ID) '00e10000000xnpHAAQ')) |
| | | ) |
| | | ){ |
| | | pageStatus = 'View'; |
| | | } |
| | | oppId = lostReportList[0].Opportunity__c; |
| | |
| | | [ |
| | | 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, |
| | | Lost_cancel_report__c,Lost_By_Company_Mannual__c,ChannelSpecificReasons__c, |
| | | ( select id,PCLLostBrand__c,LostProduct__c, |
| | | LostProduct__r.Name, |
| | | LostProductMannual__c, //SWAG-C6P9PX lt 20210913 add |
| | | ProductCategory__c,ProductClass__c, //add tcm 20211123 |
| | | ProductCategory__c, |
| | | ProductClass__c, //add tcm 20211123 |
| | | Quantity__c,Name, LostBrandName__c |
| | | from PCLLostBrand__c.PCLLostBrandProduct__r) |
| | | from PCLLostBrand__c |
| | |
| | | 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)); |
| | | PCLLostProducts pro = new PCLLostProducts(productCount,tempProduct); |
| | | if(tempProduct.LostProduct__r.Name != null){ |
| | | pro.productName = tempProduct.LostProduct__r.Name; |
| | | } |
| | | tempProductList.add(pro); |
| | | productCount++; |
| | | } |
| | | } 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)); |
| | | LostBrand br = new LostBrand(brandCount,tempProductList, templostBrand); |
| | | if(tempLostBrand.ChannelSpecificReasons__c != null){ |
| | | br.reasonFlag = true; |
| | | } |
| | | LostBrandList.add(br); |
| | | brandCount++; |
| | | } |
| | | |
| | |
| | | brandNo = 0; |
| | | // 读取竞争对手品牌 |
| | | // BrandmapSet(); |
| | | |
| | | if (lostReportId != null) { |
| | | // List<ProcessInstance> pros = [ |
| | | // SELECT |
| | | // ProcessDefinition.Name, |
| | | // ( |
| | | // SELECT |
| | | // Id, |
| | | // StepStatus, |
| | | // IsPending, |
| | | // Comments, |
| | | // CreatedDate, |
| | | // Actor.Name, |
| | | // OriginalActor.Name, |
| | | // ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC |
| | | // ) |
| | | // FROM ProcessInstance where TargetObjectId =:LostReport.lostReport.id order by CreatedDate DESC |
| | | // ]; |
| | | // List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>(); |
| | | // for(ProcessInstance pro: pros){ |
| | | // items.add(pro.StepsAndWorkitems); |
| | | // } |
| | | // LostReport.approvalHistorys = items; |
| | | List<ProcessInstance> pros = [ |
| | | SELECT |
| | | ProcessDefinition.Name, |
| | | ( |
| | | SELECT |
| | | Id, |
| | | StepStatus, |
| | | IsPending, |
| | | Comments, |
| | | CreatedDate, |
| | | Actor.Name, |
| | | OriginalActor.Name, |
| | | ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC |
| | | ) |
| | | FROM ProcessInstance where TargetObjectId =:LostReport.lostReport.id order by CreatedDate DESC |
| | | ]; |
| | | if(pros.size() > 0){ |
| | | |
| | | List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>(); |
| | | maps.put('allowUserId',pros[0].StepsAndWorkitems[0].OriginalActor.Id); |
| | | maps.put('userProfileId',UserInfo.getProfileId()); |
| | | for(ProcessInstance pro: pros){ |
| | | items.addAll(pro.StepsAndWorkitems); |
| | | } |
| | | for(ProcessInstanceHistory pro: pros[0].StepsAndWorkitems){ |
| | | if(pro.StepStatus == 'Started'){ |
| | | maps.put('submitUserId',pro.OriginalActorId); |
| | | } |
| | | } |
| | | LostReport.approvalHistorys = items; |
| | | }else{ |
| | | List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>(); |
| | | LostReport.approvalHistorys = items; |
| | | } |
| | | |
| | | }else{ |
| | | List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>(); |
| | | LostReport.approvalHistorys = items; |
| | | } |
| | | if(string.isNotEmpty(submitFlag)) { |
| | | maps.put('message', '提交成功!'); |
| | | maps.put('LostReport', LostReport); |
| | |
| | | // Map<String,String> ele = new Map<String,String>(); |
| | | // LostReport.LostBrands[0].columns.add(); |
| | | maps.put('LostReport', LostReport); |
| | | maps.put('userId',UserInfo.getUserId()); |
| | | return maps; |
| | | } |
| | | @AuraEnabled |
| | |
| | | String jsonStr = JSON.serialize(lstPickvals); |
| | | return jsonStr; |
| | | } |
| | | @AuraEnabled |
| | | public static string searchBatchIfForProduct(String productName){ |
| | | try { |
| | | List<BatchIF_Transfer__c> transfer = [select |
| | | Internal_value__c |
| | | from BatchIF_Transfer__c |
| | | where Dropped_Flag__c = false |
| | | and Table__c = 'PCLLostBrand__c' and Column__c = 'Lost_By_Company__c' and External_value__c =: productName]; |
| | | if(transfer.size() > 0){ |
| | | return transfer[0].Internal_value__c; |
| | | }else{ |
| | | return null; |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | } |
| | | // 数据录入 |
| | | @AuraEnabled |
| | | public static Map<String,String> dataEntry(String report1,List<Id> deleteBrandIdList,List<Id> deleteProductIdList){ |
| | | // LostReport report = (LostReport)JSON.deserializeUntyped(report1, LostReport.class); |
| | | LostReport report = (LostReport)JSON.deserialize(report1, LostReport.class); |
| | | Map<String,String> messageMap = new Map <String,String>(); |
| | | system.debug('save---start:'); |
| | |
| | | report.lostReport.recordTypeID = report.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(); |
| | | report.lostReport.LostTotalAmount__c = 0; |
| | | report.lostReport.of_lost_system_processor__c = 0; |
| | | report.lostReport.TotalAmountLost__c = 0; |
| | | report.lostReport.Lost_reason_main__c = null; |
| | | report.lostReport.Lost_Reason_Sub__c = null; |
| | | report.lostReport.Lost_By_Company__c = null; |
| | | //批准日不为空时给修改后再批准赋值 |
| | | if(report.lostReport.Approved_Day__c != null){ |
| | | report.lostReport.ModifyAfterApproval__c = true; |
| | | } |
| | | for(LostBrand tempLostBrand : report.LostBrands) { |
| | | if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) { |
| | | report.lostReport.LostTotalAmount__c += tempLostBrand.lostBrand.LostPrice__c; |
| | | Decimal med = tempLostBrand.lostBrand.LostPrice__c/1.13/1000; |
| | | Decimal med1 = med.setScale(2); |
| | | // System.debug('---lt123不含税数值(人工)Decimal---'+med); |
| | | // System.debug('---lt123不含税数值(人工)Decimal两位小数---'+med1); |
| | | report.lostReport.TotalAmountLost__c += med1; |
| | | report.lostReport.Lost_reason_main__c = |
| | | report.lostReport.Lost_reason_main__c == null |
| | | ? tempLostBrand.lostBrand.Lost_reason_main__c |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<ProcessInstance> pros = [ |
| | | SELECT |
| | | ProcessDefinition.Name, |
| | | ( |
| | | SELECT |
| | | Id, |
| | | StepStatus, |
| | | IsPending, |
| | | Comments, |
| | | CreatedDate, |
| | | Actor.Name, |
| | | OriginalActor.Name, |
| | | ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC |
| | | ) |
| | | FROM ProcessInstance where TargetObjectId =:reportId order by CreatedDate DESC |
| | | ]; |
| | | List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>(); |
| | | for(ProcessInstance pro: pros){ |
| | | items.addAll(pro.StepsAndWorkitems); |
| | | } |
| | | if(items.size() > 0){ |
| | | report.approvalHistorys = items; |
| | | }else{ |
| | | List<ProcessInstanceHistory> items1 = new List<ProcessInstanceHistory>(); |
| | | report.approvalHistorys = items1; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | // lostReportId = report.lostReport.id; |
| | | system.debug('save---end:'); |
| | | messageMap.put('LostReport',JSON.serialize(report)); |
| | | }catch (Exception ex) { |
| | | }catch (Exception e) { |
| | | Database.rollback(sp); |
| | | // 这里需要写一些报错信息 |
| | | messageMap.put('error', ex.getMessage()); |
| | | // if (e.getMessage().contains(',')) { |
| | | // System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | // String exc = '' + e.getMessage(); |
| | | // Integer left = exc.indexOf(':') + 1; |
| | | // Integer right = exc.lastIndexOf(':'); |
| | | // String str = exc.substring(left,right); |
| | | // left = str.indexOf(',') + 1; |
| | | // String newStr = str.substring(left); |
| | | // messageMap.put('error', ''+ newStr); |
| | | // }else { |
| | | // messageMap.put('error', ''+ e.getMessage()); |
| | | // } |
| | | |
| | | messageMap.put('error', ''+ e.getMessage()); |
| | | return messageMap; |
| | | } |
| | | return messageMap; |
| | |
| | | |
| | | // 提交 |
| | | @AuraEnabled |
| | | public static Map<string,Object> submit(String report1,String reportId){ |
| | | LostReport report = (LostReport)JSON.deserialize(report1, LostReport.class); |
| | | public static Map<string,Object> submit(String reportStatus,Boolean modifyAfterApproval,String reportId){ |
| | | // LostReport report = (LostReport)JSON.deserialize(report1, LostReport.class); |
| | | Map<string,string> messages = new Map<string,string>(); |
| | | if(!'草案'.equals(report.lostReport.Report_Status__c) ) { |
| | | if(!'草案'.equals(reportStatus) && modifyAfterApproval == false) { |
| | | messages.put('error', '只有在草案中才能提交申请!'); |
| | | return messages; |
| | | } |
| | | Map<string,Object> objs = new Map<string,Object>(); |
| | | Lost_cancel_report__c report = new Lost_cancel_report__c(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try{ |
| | | report.lostReport.Id = reportId; |
| | | report.lostReport.Report_Status__c = '提交'; |
| | | update report.lostReport; |
| | | Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); |
| | | psr.setObjectId(reportId); |
| | | Approval.ProcessResult submitResult = Approval.process(psr); |
| | | report.Id = reportId; |
| | | report.Report_Status__c = '提交'; |
| | | update report; |
| | | // Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); |
| | | // psr.setObjectId(reportId); |
| | | // Approval.ProcessResult submitResult = Approval.process(psr); |
| | | objs.put('uri', '/apex/PCLLostReportPage'); |
| | | objs.put('Id', reportId); |
| | | objs.put('pageStatus', 'View'); |
| | | objs.put('submitFlag', '1'); |
| | | List<ProcessInstance> pros = [ |
| | | SELECT |
| | | ProcessDefinition.Name, |
| | | ( |
| | | SELECT |
| | | Id, |
| | | StepStatus, |
| | | IsPending, |
| | | Comments, |
| | | CreatedDate, |
| | | Actor.Name, |
| | | OriginalActor.Name, |
| | | ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC |
| | | ) |
| | | FROM ProcessInstance where TargetObjectId =:reportId order by CreatedDate DESC |
| | | ]; |
| | | |
| | | List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>(); |
| | | for(ProcessInstance pro:pros){ |
| | | items.addAll(pro.StepsAndWorkitems); |
| | | } |
| | | |
| | | objs.put('approvalHistorys',items); |
| | | return objs; |
| | | }catch(exception ex) { |
| | | }catch(exception e) { |
| | | Database.rollback(sp); |
| | | messages.put('error', ex.getMessage()); |
| | | return messages; |
| | | if (e.getMessage().contains(',')) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | String exc = '' + e.getMessage(); |
| | | Integer left = exc.indexOf(':') + 1; |
| | | Integer right = exc.lastIndexOf(':'); |
| | | String str = exc.substring(left,right); |
| | | left = str.indexOf(',') + 1; |
| | | String newStr = str.substring(left); |
| | | objs.put('error', ''+ newStr); |
| | | }else { |
| | | objs.put('error', ''+ e.getMessage()); |
| | | } |
| | | return objs; |
| | | } |
| | | } |
| | | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| | |
| | | return lostBrand; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static PCLLostProducts getNewLostProduct(Integer lineNo2){ |
| | | PCLLostProducts pro = null; |
| | | try { |
| | | pro = new PCLLostProducts(lineNo2); |
| | | } catch (Exception e) { |
| | | System.debug(e.getMessage()); |
| | | } |
| | | return pro; |
| | | } |
| | | |
| | | // update tcm 20211125 添加型号时自动带出品牌 end |
| | | // 页面的数据结构 |
| | | public class LostReport { |
| | |
| | | public Lost_cancel_report__c lostReport { get; set; } |
| | | @AuraEnabled |
| | | public list<LostBrand> LostBrands { get; set; } |
| | | @AuraEnabled |
| | | public list<ProcessInstanceHistory> approvalHistorys { get; set; } |
| | | public LostReport(){ |
| | | lostReport = new Lost_cancel_report__c(); |
| | | LostBrands = new list<LostBrand> {new LostBrand(0)}; |
| | | approvalHistorys = new list<ProcessInstanceHistory>(); |
| | | } |
| | | public LostReport(Lost_cancel_report__c lostReport){ |
| | | this.lostReport = lostReport; |
| | | LostBrands = new list<LostBrand> {new LostBrand(0)}; |
| | | approvalHistorys = new list<ProcessInstanceHistory>(); |
| | | } |
| | | public LostReport(Lost_cancel_report__c lostReport, list<LostBrand> LostBrands){ |
| | | this.lostReport = lostReport; |
| | | this.LostBrands = LostBrands; |
| | | approvalHistorys = new list<ProcessInstanceHistory>(); |
| | | } |
| | | } |
| | | |
| | |
| | | public list<PCLLostProducts> LostProducts; |
| | | @AuraEnabled |
| | | public Integer ProductSize; |
| | | @AuraEnabled |
| | | public Boolean reasonFlag = false; |
| | | @AuraEnabled |
| | | public String brandTitle; |
| | | public LostBrand( integer lineNo ){ |
| | | lostBrand = new PCLLostBrand__c(); |
| | | this.lineNo = lineNo; |
| | | this.brandTitle = '失单品牌' + (lineNo + 1); |
| | | 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.brandTitle = '失单品牌' + (lineNo + 1); |
| | | this.LostProducts = LostProducts; |
| | | ProductSize = LostProducts.size(); |
| | | } |
| | | public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts, PCLLostBrand__c lostBrand){ |
| | | this.lostBrand = lostBrand; |
| | | this.lineNo = lineNo; |
| | | this.brandTitle = '失单品牌' + (lineNo + 1); |
| | | this.LostProducts = LostProducts; |
| | | ProductSize = LostProducts.size(); |
| | | } |
| | |
| | | public static 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; |
| | | |
| | | }else { |
| | | Product2 prd = [select Id,ProductClass__c, ProductCategory__c from Product2 where Id =:LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c]; |
| | | 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; |
| | |
| | | public static string searchProduct(String lostProduct){ |
| | | Product2 prd = null; |
| | | try { |
| | | prd = [select Id,ProductClass__c, ProductCategory__c from Product2 where Id =:lostProduct]; |
| | | prd = [select Id |
| | | ,ProductClass__c |
| | | , ProductCategory__c |
| | | from Product2 where Id =:lostProduct]; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | |
| | | |
| | | // add tcm 20211118 end |
| | | |
| | | @AuraEnabled |
| | | public static String submitForApproval(String recordId, String comments,String action){ |
| | | try { |
| | | List<ProcessInstanceWorkitem> workItems = [ |
| | | SELECT Id, ProcessInstanceId |
| | | FROM ProcessInstanceWorkitem |
| | | WHERE ProcessInstance.TargetObjectId = :recordId |
| | | ]; |
| | | Approval.ProcessWorkitemRequest req = new Approval.ProcessWorkitemRequest(); |
| | | req.setWorkitemId(workItems.get(0).Id); |
| | | req.setAction(action); |
| | | req.setComments(comments); |
| | | |
| | | |
| | | Approval.ProcessResult result = Approval.process(req); |
| | | return null; |
| | | } catch (Exception e) { |
| | | return e.getMessage(); |
| | | } |
| | | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static String reassignStep(String recordId, String newActorId ){ |
| | | try { |
| | | List<ProcessInstanceWorkItem> workItemList = [SELECT ActorId FROM ProcessInstanceWorkitem WHERE ProcessInstance.TargetObjectId = : recordId]; |
| | | ApprovalHistoryUtil.reassignStep(workItemList, newActorId); |
| | | return null; |
| | | } catch (Exception e) { |
| | | return e.getMessage(); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |