force-app/main/default/classes/LexConInvoiceViewController.cls
@@ -1175,9 +1175,9 @@ FROM Consumable_Orderdetails__c WHERE Consumable_order__c IN :orderIdList ]; for (Integer i = 0; i < existLinkinfo.size(); i++) { ordermx1defaultMap.put(existLinkinfo[i].Consumable_order__c + existLinkinfo[i].Asset_Model_No__c, 0); } // for (Integer i = 0; i < existLinkinfo.size(); i++) { // ordermx1defaultMap.put(existLinkinfo[i].Consumable_order__c + existLinkinfo[i].Asset_Model_No__c, 0); // } } public static void deleteOutboundorder(Map<String, String> deleteMap, String value) { force-app/main/default/classes/LexConsumableAccountController.cls
@@ -148,62 +148,20 @@ System.debug('fiscalYear = ' + fiscalYear); if (fiscalYear == 'thisYear') { AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime ]; AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime); topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); arList = [ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]; arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime); } else if (fiscalYear == 'lastYear') { AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :thisDatetime2 ]; AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2); topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); arList = [ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :thisDatetime2 AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]; arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2); } else { AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :nextDatetime ]; AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime); topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); arList = [ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]; arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime); } //查询客户信息(名称,省,县) @@ -287,62 +245,20 @@ System.debug('fiscalYear = ' + fiscalYear); if (fiscalYear == 'thisYear') { AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime ]; AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime); topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); arList = [ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]; arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime); } else if (fiscalYear == 'lastYear') { AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :thisDatetime2 ]; AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2); topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); arList = [ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :thisDatetime2 AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]; arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2); } else { AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :nextDatetime ]; AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime); topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); arList = [ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :lastDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]; arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime); } //查询客户信息(名称,省,县) List<String> accountList = new List<String>(); force-app/main/default/classes/LexConsumableAccountSOQL.cls
New file @@ -0,0 +1,27 @@ public with sharing class LexConsumableAccountSOQL { public static AggregateResult[] getAccountBySales(Datetime thisDatetime ,Datetime nextDatetime){ AggregateResult[] arList = new List<AggregateResult>([ SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != '' GROUP BY Consumable_order__r.Order_ForHospital__r.Name ORDER BY sum(Sale_amount__c) DESC LIMIT 10 ]); return arList; } public static AggregateResult[] getAccountTotalSales(Datetime thisDatetime ,Datetime nextDatetime){ AggregateResult[] saleAmountList = [ SELECT sum(Sale_amount__c) saleAmount FROM Consumable_Orderdetails__c WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime ]; return saleAmountList; } } force-app/main/default/classes/LexConsumableAccountSOQL.cls-meta.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>57.0</apiVersion> <status>Active</status> </ApexClass> force-app/main/default/classes/LexDealerInquiryModifyStateController.cls
@@ -20,10 +20,16 @@ public static String limits { get; set; }//日期03 public static List<SelectOption> dateOpts { get; private set; } public static List<CusOption> textCusOpts; public static List<SelectOption> textOpts { get; private set; } public static List<CusOption> timeCusOpts; public static List<SelectOption> timeOpts { get; private set; } public static List<CusOption> equalCusOpts; public static List<SelectOption> equalOpts { get; private set; } public static List<SelectOption> timeequalOpts { get; private set; } public static List<CusOption> limitCusOpts; public static List<SelectOption> limitOpts { get; private set; } /*****************画面表示Bean******************/ @@ -54,7 +60,22 @@ @TestVisible private static String accTypeForSort = null; private static Integer oppLimit = 500; // page public static Integer pagesize { get; set; } public static Integer pageToken { get; set; } public static String sortField { get; set; } // public static String sortOrder { get; set; } public static Integer totalcount { get; set; } public LexDealerInquiryModifyStateController() { } @AuraEnabled public static Results init(Integer pageSizeLWC,Integer pageTokenLWC) { pageSize = pageSizeLWC; pageToken = pageTokenLWC; Results results = new Results(); oppRecords = new List<OpportunityInfo>(); //dateOpts = new List<SelectOption>(); @@ -63,46 +84,83 @@ //dateOpts.add(new SelectOption('Ban_On_Use_Date__c', '禁用日期')); //数据字段下拉列表 textOpts = new List<SelectOption>(); textOpts.add(new SelectOption('', '--无--')); textOpts.add(new SelectOption('Agency_Opportunity_No__c', '经销商询价编码')); textOpts.add(new SelectOption('Agency__r.Name', '经销商')); textOpts.add(new SelectOption('Agency_Hospital__r.Name', '经销商医院')); textOpts.add(new SelectOption('Department_Cateogy__c', '科室分类')); textOpts.add(new SelectOption('Change_To_Opportunity_T__c', '询价名称')); // textOpts.add(new SelectOption('Name', '询价名称')); // textOpts = new List<SelectOption>(); // textOpts.add(new SelectOption('', '--无--')); // textOpts.add(new SelectOption('Agency_Opportunity_No__c', '经销商询价编码')); // textOpts.add(new SelectOption('Agency__r.Name', '经销商')); // textOpts.add(new SelectOption('Agency_Hospital__r.Name', '经销商医院')); // textOpts.add(new SelectOption('Department_Cateogy__c', '科室分类')); // textOpts.add(new SelectOption('Change_To_Opportunity_T__c', '询价名称')); // // textOpts.add(new SelectOption('Name', '询价名称')); // textOpts.add(new SelectOption('StageName__c', '询价阶段')); // textOpts.add(new SelectOption('Oly_Inquiry_Status1__c', '状态1')); // //精琢科技 zxk 2021-08-25 start // // textOpts.add(new SelectOption('Oly_Inquiry_Status2__c', '状态2')); // textOpts.add(new SelectOption('Oly_Inquiry_Stage__c', 'Oly询价阶段')); // //精琢科技 zxk 2021-08-25 end // textOpts.add(new SelectOption('Hospital_City_Master__c', '市')); textOpts.add(new SelectOption('StageName__c', '询价阶段')); textOpts.add(new SelectOption('Oly_Inquiry_Status1__c', '状态1')); //精琢科技 zxk 2021-08-25 start // textOpts.add(new SelectOption('Oly_Inquiry_Status2__c', '状态2')); textOpts.add(new SelectOption('Oly_Inquiry_Stage__c', 'Oly询价阶段')); //精琢科技 zxk 2021-08-25 end textOpts.add(new SelectOption('Hospital_City_Master__c', '市')); //custom option textCusOpts = new List<CusOption>(); textCusOpts.add(new CusOption('', '--无--')); textCusOpts.add(new CusOption('Agency_Opportunity_No__c', '经销商询价编码')); textCusOpts.add(new CusOption('Agency__r.Name', '经销商')); textCusOpts.add(new CusOption('Agency_Hospital__r.Name', '经销商医院')); textCusOpts.add(new CusOption('Department_Cateogy__c', '科室分类')); textCusOpts.add(new CusOption('Change_To_Opportunity_T__c', '询价名称')); textCusOpts.add(new CusOption('StageName__c', '询价阶段')); textCusOpts.add(new CusOption('Oly_Inquiry_Status1__c', '状态1')); textCusOpts.add(new CusOption('Oly_Inquiry_Stage__c', 'Oly询价阶段')); textCusOpts.add(new CusOption('Hospital_City_Master__c', '市')); // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.Salesdepartment_HP__c', '销售本部')); // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.State_Master__r.Name', '省')); // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.City_Master__r.Name', '市')); //日期字段下拉列表 timeOpts = new List<SelectOption>(); timeOpts.add(new SelectOption('', '--无--')); timeOpts.add(new SelectOption('Created_Day__c', '创建日')); timeOpts.add(new SelectOption('Bid_Planned_Date__c', '预测招标日')); timeOpts.add(new SelectOption('Forecasted_Bid_Date__c', '预测中标日')); timeOpts.add(new SelectOption('Close_Forecasted_Date__c', '预测与OLY签约日')); timeOpts.add(new SelectOption('Lost_Opportunity_Date__c', '失单日期')); timeOpts.add(new SelectOption('Deleted_Reason_Date__c', '取消日期')); // timeOpts = new List<SelectOption>(); // timeOpts.add(new SelectOption('', '--无--')); // timeOpts.add(new SelectOption('Created_Day__c', '创建日')); // timeOpts.add(new SelectOption('Bid_Planned_Date__c', '预测招标日')); // timeOpts.add(new SelectOption('Forecasted_Bid_Date__c', '预测中标日')); // timeOpts.add(new SelectOption('Close_Forecasted_Date__c', '预测与OLY签约日')); // timeOpts.add(new SelectOption('Lost_Opportunity_Date__c', '失单日期')); // timeOpts.add(new SelectOption('Deleted_Reason_Date__c', '取消日期')); timeCusOpts = new List<CusOption>(); timeCusOpts.add(new CusOption('', '--无--')); timeCusOpts.add(new CusOption('Created_Day__c', '创建日')); timeCusOpts.add(new CusOption('Bid_Planned_Date__c', '预测招标日')); timeCusOpts.add(new CusOption('Forecasted_Bid_Date__c', '预测中标日')); timeCusOpts.add(new CusOption('Close_Forecasted_Date__c', '预测与OLY签约日')); timeCusOpts.add(new CusOption('Lost_Opportunity_Date__c', '失单日期')); timeCusOpts.add(new CusOption('Deleted_Reason_Date__c', '取消日期')); //数据字段中间连接符号 equalOpts = new List<SelectOption>(); equalOpts.add(new SelectOption('=', '等于')); equalOpts.add(new SelectOption('<>', '不等于')); equalOpts.add(new SelectOption('<', '<')); equalOpts.add(new SelectOption('>', '>')); equalOpts.add(new SelectOption('<=', '<=')); equalOpts.add(new SelectOption('>=', '>=')); equalOpts.add(new SelectOption('contains', '包含')); equalOpts.add(new SelectOption('notcontains', '不包含')); equalOpts.add(new SelectOption('starts with', '起始字符')); // equalOpts = new List<SelectOption>(); // equalOpts.add(new SelectOption('=', '等于')); // equalOpts.add(new SelectOption('<>', '不等于')); // equalOpts.add(new SelectOption('<', '<')); // equalOpts.add(new SelectOption('>', '>')); // equalOpts.add(new SelectOption('<=', '<=')); // equalOpts.add(new SelectOption('>=', '>=')); // equalOpts.add(new SelectOption('contains', '包含')); // equalOpts.add(new SelectOption('notcontains', '不包含')); // equalOpts.add(new SelectOption('starts with', '起始字符')); equalCusOpts = new List<CusOption>(); equalCusOpts.add(new CusOption('=', '等于')); equalCusOpts.add(new CusOption('<>', '不等于')); equalCusOpts.add(new CusOption('<', '<')); equalCusOpts.add(new CusOption('>', '>')); equalCusOpts.add(new CusOption('<=', '<=')); equalCusOpts.add(new CusOption('>=', '>=')); equalCusOpts.add(new CusOption('contains', '包含')); equalCusOpts.add(new CusOption('notcontains', '不包含')); equalCusOpts.add(new CusOption('starts with', '起始字符')); //日期字段连接符号 //timeequalOpts = new List<SelectOption>(); //timeequalOpts.add(new SelectOption('=', '等于')); @@ -112,19 +170,23 @@ //timeequalOpts.add(new SelectOption('<=', '<=')); //timeequalOpts.add(new SelectOption('>=', '>=')); //数据显示条数 limitOpts = new List<SelectOption>(); limitOpts.add(new SelectOption('10', '10')); limitOpts.add(new SelectOption('20', '20')); limitOpts.add(new SelectOption('50', '50')); limitOpts.add(new SelectOption('100', '100')); limitOpts.add(new SelectOption('200', '200')); limitOpts.add(new SelectOption('1000', '全部')); // limitOpts = new List<SelectOption>(); // limitOpts.add(new SelectOption('10', '10')); // limitOpts.add(new SelectOption('20', '20')); // limitOpts.add(new SelectOption('50', '50')); // limitOpts.add(new SelectOption('100', '100')); // limitOpts.add(new SelectOption('200', '200')); // limitOpts.add(new SelectOption('1000', '全部')); //数据显示默认条数 limits = '20'; } @AuraEnabled public static Results init() { Results results = new Results(); limitCusOpts = new List<CusOption>(); limitCusOpts.add(new CusOption('10', '10')); limitCusOpts.add(new CusOption('20', '20')); limitCusOpts.add(new CusOption('50', '50')); limitCusOpts.add(new CusOption('100', '100')); limitCusOpts.add(new CusOption('200', '200')); limitCusOpts.add(new CusOption('1000', '全部')); try{ PartnerSoapSforceCom.Soap soap = new PartnerSoapSforceCom.Soap(); soap.SessionHeader = new PartnerSoapSforceCom.SessionHeader_element(); @@ -193,13 +255,54 @@ tmpAO = new Agency_Opportunity__c(); tmpBO = new Agency_Opportunity__c(); setLayoutRWInfo(); searchOppInner(); searchOppInner(strColumus,strRtColumus,accSearch,aooSearch,numtext,numtext1,numtext2,sortKey); System.debug('limitCusOpts==>'+limitCusOpts); System.debug('searchOppInner==>'+ searchOppInner(strColumus,strRtColumus,accSearch,aooSearch,numtext,numtext1,numtext2,sortKey)); LexDealerInquiryModifyStateController.Results returnList = searchOppInner(strColumus,strRtColumus,accSearch,aooSearch,numtext,numtext1,numtext2,sortKey); System.debug('returnList==>'+ returnList); //分页 PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); totalCount = oppRecords.size(); paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null; paginatedAccounts.recordStart = pageToken + 1; paginatedAccounts.pageNumber = pageToken / pageSize + 1; Integer recordEnd = pageSize * paginatedAccounts.pageNumber; paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; paginatedAccounts.totalRecords = totalCount; Integer startIdx; Integer endIdx; List<OpportunityInfo> pageoppRecords = new List<OpportunityInfo>(); startIdx = pageToken; endIdx = startIdx + pageSize; if (endIdx > oppRecords.size()) { endIdx = oppRecords.size(); } for (Integer i = startIdx; i < endIdx; i++) { pageoppRecords.add(oppRecords.get(i)); } //end //回传参数 results.result = 'Success'; results.oppRecords = oppRecords; results.timeCusOpts = timeCusOpts; results.equalCusOpts = equalCusOpts; results.limitCusOpts = limitCusOpts; results.textCusOpts = textCusOpts; results.limits = limits; results.strColumus = strColumus; results.strRtColumus = strRtColumus; results.paginatedAccounts = paginatedAccounts; results.pageoppRecords = pageoppRecords; results.Msg = returnList.Msg; System.debug('results==>'+results); }catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber()+'---'+e.getMessage(); results.Msg = e.getLineNumber()+'---'+e.getMessage(); } // return null; @@ -299,7 +402,11 @@ } } //用于拼接SOQL语句 根据不同检索条件拼接不同SOQL语句。 public static void searchOppInner() { @AuraEnabled public static Results searchOppInner(String strColumus,String strRtColumus,String accSearch,String aooSearch,String numtext,String numtext1,String numtext2,String sortKeyLWC) { Results results = new Results(); sortKey = sortKeyLWC; //SOQL:拼接检索条件以及经销商询价的SOQL语句 // List<User> userlist2 = [select id,name from user where Contactid in (select id from Contact)]; // String querySoql = ''; @@ -388,16 +495,56 @@ oppCount = oppRecords.size(); //显示提示操作信息 if (String.isBlank(saveType) && String.isBlank(sortKey)) { ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '取得最近的 ' + oppCount + ' 条数据')); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '取得最近的 ' + oppCount + ' 条数据')); results.result = 'Success'; results.Msg = '取得最近的 ' + oppCount + ' 条数据'; return results; } else if (!String.isBlank(sortKey)) { if (oppCount > oppLimit) { ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件')); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件')); results.result = 'Success'; results.Msg = '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件'; } else { ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '共有 ' + oppCount + ' 条数据')); results.result = 'Success'; results.Msg = '共有 ' + oppCount + ' 条数据'; // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '共有 ' + oppCount + ' 条数据')); } } else { ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '共有 ' + oppCount + ' 条数据')); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '共有 ' + oppCount + ' 条数据')); results.result = 'Success'; results.Msg = '共有 ' + oppCount + ' 条数据'; } // //分页 // PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); // totalCount = oppRecords.size(); // paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null; // paginatedAccounts.recordStart = pageToken + 1; // paginatedAccounts.pageNumber = pageToken / pageSize + 1; // Integer recordEnd = pageSize * paginatedAccounts.pageNumber; // paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; // paginatedAccounts.totalRecords = totalCount; // Integer startIdx; // Integer endIdx; // List<OpportunityInfo> pageoppRecords = new List<OpportunityInfo>(); // startIdx = pageToken; // endIdx = startIdx + pageSize; // if (endIdx > oppRecords.size()) { // endIdx = oppRecords.size(); // } // for (Integer i = startIdx; i < endIdx; i++) { // pageoppRecords.add(oppRecords.get(i)); // } // //end //回传参数 results.result = 'Success'; results.oppRecords = oppRecords; return results; } //检索条件:数据字段1,数据字段2,数据字段3均满足进入此方法 判断多种情况 private static String makeTextSql(String textOpts, String equalOpts, String numtext) { @@ -553,14 +700,17 @@ } //检索按钮:点击检索按钮触发此方法; public static PageReference chick() { setLayoutRWInfo(); searchOppInner(); return null; } // public static PageReference chick() { // setLayoutRWInfo(); // searchOppInner(strColumus,strRtColumus,accSearch,aooSearch,numtext,numtext1,numtext2,sortKey,pageSizeLWC,pageTokenLWC); // return null; // } //页面内容有修改时,页面判断后传值给changeFlg以及changeFlgRt属性,点击保存时调用此方法,进行保存。 public static PageReference save() { @AuraEnabled public static Results save(List<OpportunityInfo> oppRecordsLWC) { //system.debug('oppRecords[1].opp:' + oppRecords[1].opp +' oppRecords[1].AgcOpp:' + oppRecords[1].AgcOpp ); Results results = new Results(); oppRecords = oppRecordsLWC; try { List<Agency_Opportunity__c> updTarget = new List<Agency_Opportunity__c>(); // List<Opportunity> updOpps = new List<Opportunity>(); @@ -582,12 +732,15 @@ // if (updOpps.size() > 0) { // update updOpps; // } ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '保存完了')); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '保存完了')); results.result = 'Success'; results.Msg = '保存完了'; return results; } catch (Exception e) { //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '请确定科室分类和产品区分的关系')); } if (saveType == '1') { searchOppInner(); searchOppInner(strColumus,strRtColumus,accSearch,aooSearch,numtext,numtext1,numtext2,sortKey); saveType = ''; } else if (saveType == '2') { sortTable(); @@ -615,8 +768,21 @@ preSortKey = sortKey; setLayoutRWInfo(); searchOppInner(); searchOppInner(strColumus,strRtColumus,accSearch,aooSearch,numtext,numtext1,numtext2,sortKey); return null; } //分页Bean public class PaginatedAccounts { @AuraEnabled public Integer nextPageToken; @AuraEnabled public Integer pageNumber { get; set; } @AuraEnabled public Integer totalRecords { get; set; } @AuraEnabled public Integer recordStart { get; set; } @AuraEnabled public Integer recordEnd { get; set; } } //自定义类OpportunityInfo,用于创建虚拟字段,合并输出。 @@ -657,8 +823,44 @@ @AuraEnabled public String result; @AuraEnabled public String errorMsg; public String Msg; @AuraEnabled public List<OpportunityInfo> oppRecords; @AuraEnabled public Integer oppCount ; @AuraEnabled public List<CusOption> timeCusOpts; @AuraEnabled public List<CusOption> textCusOpts; @AuraEnabled public List<CusOption> equalCusOpts; @AuraEnabled public List<CusOption> limitCusOpts; @AuraEnabled public String limits; @AuraEnabled public String strColumus; @AuraEnabled public String strRtColumus; @AuraEnabled public List<OpportunityInfo> pageoppRecords; @AuraEnabled public PaginatedAccounts paginatedAccounts; @AuraEnabled public Boolean canEdit; @AuraEnabled public String changeFlg; } public class CusOption { CusOption(String value,String label) { this.label = label; this.value = value; } @AuraEnabled public String label; @AuraEnabled public String value; } } force-app/main/default/classes/LexInventoryController.cls
@@ -20,7 +20,7 @@ public static Boolean done { get; set; } /*****************画面表示Bean******************/ //页面主数据显示用 private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords { get; set; } //盘点到的产品 public static List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); public static List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>(); @@ -183,6 +183,7 @@ AND Product_Type__c like : sqlagencyProType AND Arrive_Owner_Work_Location__c =: userWorkLocation AND Dealer_Info_text__c = :accountName]; System.debug('ProductCount_Res==>'+ProductCount_Res); //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res ' + ProductCount_Res.size())); for(Integer i = 0 ; i< ProductCount_Res.size();i++){ //然后循环CountDel做Box和piece2个map @@ -371,6 +372,7 @@ AND Arrive_Owner_Work_Location__c =: userWorkLocation AND Dealer_Info_text__c = :accountName ]; reFindProduct.clear(); System.debug('ProductCount_Res==>'+ProductCount_Res); Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String,ConsumableorderdetailsInfo>(); //barCodeListLoseMap.clear(); Set<String> carCodeListLose = new Set<String>(); @@ -421,6 +423,7 @@ AND Bar_Code__c in :carCodeListLose AND Dealer_Info_text__c = :accountName ORDER BY Name ]; System.debug('reSet1==>'+reSet1); Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>(); for(Consumable_order_details2__c cod2 :reSet1){ needreturnMap.put(cod2.Bar_Code__c,cod2); @@ -560,17 +563,18 @@ //end data.put('codPageRecords',JSON.serialize(codPageRecords)); data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview)); data.put('pandiandetailsMap',pandiandetailsMap); System.debug('iSinventory===>'+iSinventory); System.debug('codPageRecords===>'+codPageRecords); data.put('iSinventory',JSON.serialize(iSinventory)); data.put('reSet1',JSON.serialize(reSet1)); data.put('reSet1',reSet1); System.debug('reSet1===>'+reSet1); res.code = 200; res.status = 'Success1'; // res.msg = 'barcode为空'; return res; // return; } force-app/main/default/classes/LexInventoryListController.cls
@@ -33,6 +33,7 @@ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); List<Consumable_order__c> qs = New List<Consumable_order__c>(); qs = [select Name,Inventory_date__c,Order_date__c From Consumable_order__c Where Id =:ESetId]; System.debug('qs===>'+qs); if (qs.size()>0){ coc = qs[0]; } force-app/main/default/classes/LexInventoryViewController.cls
@@ -49,7 +49,7 @@ public static String category1 { get; set; } public static Boolean editAble { get; set; } // 经销商在库产品ID public static List<String> orderDetZaikuList = new List<String>(); public static List<String> orderDetZaikuList{set;get;} // 产品 ID public static String ESetId { get; set; } public static String idCheck { get; set; } @@ -69,6 +69,7 @@ // add by rentx 2021-3-10 public LexInventoryViewController() { orderDetZaikuList = new List<String>(); consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>(); editAble = false; @@ -83,12 +84,6 @@ // pagesize = Integer.valueof(system.label.orderdetLimitsize); // currentpage = 0; } @AuraEnabled public static ResponseBodyLWC init2(Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC) { return new ResponseBodyLWC('Error', 500, '测试 init2', ''); } @AuraEnabled public static ResponseBodyLWC init(Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC) { pageSize = pageSizeLWC; @@ -153,7 +148,7 @@ for (AggregateResult zaikuId : orderDetZaiku) { orderDetZaikuList.add(String.valueOf(zaikuId.get('Consumable_Product__c'))); } System.debug('orderDetZaikuList = ' + orderDetZaikuList); System.debug('orderDetZaikuListinit = ' + orderDetZaikuList); List<Consumable_order_details2__c> CountDel = [ SELECT Id, @@ -179,9 +174,7 @@ AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c = :userWorkLocation ]; System.debug('MidMap = ' + MidMap); System.debug('CountDel111 = ' + CountDel); System.debug('orderDetZaikuList = ' + orderDetZaikuList); List<Product2__c> product2Selected = [ SELECT Id, @@ -537,10 +530,12 @@ String sortOrderLWC ) { try { System.debug('orderDetZaikuListLWC检索===>'+orderDetZaikuListLWC); pageSize = pageSizeLWC; pageToken = pageTokenLWC; sortField = sortFieldLWC; sortOrder = sortOrderLWC; orderDetZaikuList = new List<String>(); orderDetZaikuList = orderDetZaikuListLWC; sqlagencyProType = '%' + agencyProType + '%'; @@ -939,6 +934,7 @@ //检索sql文做成 private static String makeSoql(String CateName, String CateCode, String Category3, String Category4, String Category5) { System.debug('orderDetZaikuList = ' + orderDetZaikuList); String sqlTail = '(\''; for (Integer i = 0; i < orderDetZaikuList.size(); i++) { if (i < orderDetZaikuList.size() - 1) { @@ -1054,6 +1050,7 @@ } // Data Bean @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Consumable_order_details2__c esd { get; set; } @@ -1086,6 +1083,7 @@ @AuraEnabled public Boolean hospitalSpecialOffer { get; set; } @TestVisible public ConsumableorderdetailsInfo(Product2__c e) { esd = new Consumable_order_details2__c(); Prod = e; force-app/main/default/classes/LexOverdueStockController.cls
@@ -147,11 +147,12 @@ } // return; System.debug('overduePageRecords = ' + overduePageRecords); System.debug('overdueList = ' + overdueList); data.put('overduePageRecords',JSON.serialize(overduePageRecords)); data.put('codPageRecords',JSON.serialize(codPageRecords)); data.put('iSinventory',iSinventory); data.put('overdueList',overdueList); res.status = 'Success'; res.status = 'Success1'; res.code = 200; // res.msg = '请输入BarCode号'; System.debug('res = ' + res); force-app/main/default/classes/LexProductLimitEditController.cls
@@ -23,6 +23,8 @@ } @AuraEnabled public static ResponseBodyLWC init(String accountid,string userPro_Type) { System.debug('userPro_Type==>'+userPro_Type); System.debug('accountid==>'+accountid); ResponseBodyLWC res = new ResponseBodyLWC(); Map<String,object> data = new Map<String,object>(); res.entity = data; force-app/main/default/classes/LookupSearchResult.cls
@@ -55,6 +55,7 @@ /** * Allow to sort search results based on title */ @TestVisible public Integer compareTo(Object compareTo) { LookupSearchResult other = (LookupSearchResult) compareTo; if (this.getTitle() == null) { force-app/main/default/labels/CustomLabels.labels-meta.xml
Diff too large force-app/main/default/lwc/commonToast/__tests__/commonToast.test.js
File was deleted force-app/main/default/lwc/customUnitComp/customUnitComp.html
@@ -16,7 +16,7 @@ data-field="selectUnit" options={unitOptions} class="inputFont" disabled={isDisabled} ></lightning-combobox> </div> </template> force-app/main/default/lwc/customUnitComp/customUnitComp.js
@@ -4,8 +4,12 @@ @api unitValue; @api unitOptions; @api recordId; @api isDisabled; connectedCallback(){ if(this.isDisabled == null){ this.isDisabled = false; } } handleDataChange(event){ force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html
@@ -527,7 +527,7 @@ <div draggable="false"> <lightning-datatable key-field="Id" data={outboundData} columns={outboundColumns} hide-checkbox-column={hideCheckbox} onrowselection={getSelectedRows} selected-rows={selectedRows} class="wrapped-header-datatable"> selected-rows={selectedRows} class="wrapped-header-datatable" data-field="outbound"> </lightning-datatable> <lightning-datatable key-field="id" data={outboundDataSumPrice} columns={outboundColumns} hide-checkbox-column hide-table-header force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
@@ -96,6 +96,7 @@ hideDefaultActions: true, wrapText: true, cellAttributes: { alignment: 'right' }, type: "number", typeAttributes: { minimumFractionDigits: 2, @@ -160,6 +161,7 @@ label: "产品型号", fieldName: "esdAssetModelNo", hideDefaultActions: true, wrapText: true, }, { label: "规格", @@ -211,13 +213,13 @@ }, { label: "开票单位", //fieldName: "esdInvoiceUnit", hideDefaultActions: true, type: "customUnit", typeAttributes: { unitValue: { fieldName: "unitValue" }, unitOptions: { fieldName: "unitOptions" }, recordId: { fieldName: "recordId" }, isDisabled: { fieldName: "isDisabled" }, }, }, { @@ -247,6 +249,7 @@ fieldName: "invoiceAllprice", hideDefaultActions: true, type: "number", initialWidth: 150, typeAttributes: { minimumFractionDigits: 2, }, @@ -497,8 +500,14 @@ this.detailsData[i]['esdInvoicedProcount'] = this.detailsData[i].esd.Invoiced_Procount__c; this.detailsData[i]['esdInvoiceProNotCount'] = this.detailsData[i].esd.InvoiceProNot_count__c; //开票单位 this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c; //this.detailsData[i].esd.Box_Piece__c //this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c; this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Box_Piece__c; console.log('unitValue = ' + this.detailsData[i]['unitValue']); this.detailsData[i]['recordId'] = this.detailsData[i].esd.Id; //disabled="{!IF(records.esd.Box_Piece__c =='个' || (records.esd.Box_Piece__c =='盒' && records.Packing_list_manual ==1),true,false)}" //this.detailsData[i]['isDisabled'] = (this.detailsData[i].esd.Box_Piece__c == '个' || (this.detailsData[i].esd.Box_Piece__c =='盒' && this.detailsData[i].Packing_list_manual ==1)) ? true:false; this.detailsData[i]['isDisabled'] = true; let unitOptions = []; for (var key in this.detailsData[i].Invoice_UnitOptsMap) { let unitOption = {}; @@ -585,6 +594,7 @@ this.isChange = r.entity.isChange; this.ExistOutbound = r.entity.ExistOutbound; this.outboundData = r.entity.invoiceOrderRecoeds; console.log('this.outboundData = ' + JSON.stringify(this.outboundData)) this.done = r.entity.done; this.accountid = r.entity.accountid; this.userWorkLocation = r.entity.userWorkLocation; @@ -949,7 +959,22 @@ SaveJs() { this.isShowSpinner = true; let cloneData = this.outboundData debugger const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows(); console.log('selectedRows = ' + JSON.stringify(selectedRows)); for (var i in cloneData) { let b = false; for (var j in selectedRows) { if (cloneData[i].esd.Id == selectedRows[j].esd.Id) { b = true; cloneData[i].check = true; } } if(!b){ cloneData[i].check = false; } delete cloneData[i].esdOutboundDate; delete cloneData[i].esdNameUrl; delete cloneData[i].esdName; @@ -1210,8 +1235,21 @@ InvoiceorderSearchJs() { this.isShowSpinner = true; debugger let cloneData = this.outboundData const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows(); console.log('selectedRows ' + JSON.stringify(selectedRows)); for (var i in cloneData) { let b = false; for (var j in selectedRows) { if (cloneData[i].esd.Id == selectedRows[j].esd.Id) { b = true; cloneData[i].check = true; } } if(!b){ cloneData[i].check = false; } delete cloneData[i].esdOutboundDate; delete cloneData[i].esdNameUrl; delete cloneData[i].esdName; @@ -1231,6 +1269,7 @@ console.log('this.HospitalInfo = ' + this.HospitalInfo); console.log('SecondDealer = ' + this.secondaryDistributor); console.log('invoiceOrderRecoedsLwc = ' + JSON.stringify(cloneData)); InvoiceorderSearch({ cocLwc: this.coc, invoiceIdLwc: this.invoiceId, @@ -1245,8 +1284,14 @@ console.log("r = " + JSON.stringify(r)); if (r.status == "Success") { this.outboundData = r.entity.invoiceOrderRecoeds; console.log('this.outboundData = ' + JSON.stringify(this.outboundData)); let index = 0; this.selectedRows = []; for (var i in this.outboundData) { if(this.outboundData[i].check) this.selectedRows.push(this.outboundData[i].esd.Id) this.outboundData[i].Id = this.outboundData[i].esd.Id; this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c; this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id; this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name; @@ -1292,6 +1337,7 @@ //计算发票票面金额 this.sumPrice += this.outboundData[i].needInvoiceCount; } console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows)) this.isShowSpinner = false; } else { this.showMyToast('搜索失败', r.msg, 'Error'); @@ -1303,20 +1349,20 @@ } getSelectedRows(event) { console.log("getSelectedRows "); for (var i in this.outboundData) { this.outboundData[i].check = false; } const selectedRows = event.detail.selectedRows; for (var i in this.outboundData) { for (var j in selectedRows) { if (this.outboundData[i].esd.Id == selectedRows[j].esd.Id) { //this.outboundData[i].check = !this.outboundData[i].check; this.outboundData[i].check = true; } } } console.log('this.outboundData = ' + JSON.stringify(this.outboundData)); // console.log("getSelectedRows "); // for (var i in this.outboundData) { // this.outboundData[i].check = false; // } // const selectedRows = event.detail.selectedRows; // for (var i in this.outboundData) { // for (var j in selectedRows) { // if (this.outboundData[i].esd.Id == selectedRows[j].esd.Id) { // //this.outboundData[i].check = !this.outboundData[i].check; // this.outboundData[i].check = true; // } // } // } // console.log('this.outboundData = ' + JSON.stringify(this.outboundData)); } deleteButtonJs() { @@ -1705,7 +1751,7 @@ contentVersionId: recordId }).then(result => { if (result.result == 'Success') { this.showMyToast('成功', '删除成功', 'Success'); this.showMyToast('删除成功', '', 'Success'); if (this.fileData.length == 1) window.location.reload(); else force-app/main/default/lwc/lexConsumable/lexConsumable.js
@@ -143,10 +143,10 @@ get cols(){ var cols = []; cols.push({label:'消耗品名称',fieldName:'prodName',wrapText:true,hideDefaultActions: true,sortable: true}); cols.push({label:'规格',fieldName:'packing_list',hideDefaultActions: true,initialWidth:50,cellAttributes: { alignment: "right" }}); cols.push({label:'CFDA状态',fieldName:'prodSFDAStatus',hideDefaultActions: true,initialWidth:97}); cols.push({label:'规格',fieldName:'packing_list',wrapText:true,hideDefaultActions: true,initialWidth:50,cellAttributes: { alignment: "right" }}); cols.push({label:'CFDA状态',fieldName:'prodSFDAStatus',wrapText:true,hideDefaultActions: true,initialWidth:97}); cols.push({label:'注册证编码号',fieldName:'approbation_No',wrapText:true,hideDefaultActions: true,initialWidth:120}); cols.push({label:'注册证效期',fieldName:'expiration_Date',hideDefaultActions: true,initialWidth:105}); cols.push({label:'注册证效期',fieldName:'expiration_Date',wrapText:true,hideDefaultActions: true,initialWidth:105}); cols.push({label:'第3分类',fieldName:'prodCategory3',wrapText:true,hideDefaultActions: true,initialWidth:78,sortable: true}); cols.push({label:'第4分类',fieldName:'prodCategory4',wrapText:true,hideDefaultActions: true,initialWidth:107,sortable: true}); cols.push({label:'第5分类',fieldName:'prodCategory5',wrapText:true,hideDefaultActions: true,initialWidth:80,sortable: true}); @@ -1122,7 +1122,7 @@ //打开合同检索弹窗并初始化 showSearchCon(){ initContract({ctype:this.agencyProType}) initContract({ctype:this.agencyProType1}) .then(result=>{ if(result.result == 'Success'){ this.showConPop = true; force-app/main/default/lwc/lexCustomLightningDatatable/customMyDrCheckBox.html
New file @@ -0,0 +1,10 @@ <!-- sldsValidatorIgnore --> <!-- sldsValidatorIgnore --> <template> <c-custom-mydr-comp record-id={typeAttributes.recordId} is-checked-my-dr={typeAttributes.isCheckedMyDr} onunitchange={handleDataChange} > </c-custom-mydr-comp> </template> force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html
@@ -5,6 +5,7 @@ unit-value={typeAttributes.unitValue} unit-options={typeAttributes.unitOptions} record-id={typeAttributes.recordId} is-disabled={typeAttributes.isDisabled} onunitchange={handleDataChange} > </c-custom-unit-comp> force-app/main/default/lwc/lexCustomLightningDatatable/customdeleteReason.html
New file @@ -0,0 +1,8 @@ <!-- sldsValidatorIgnore --> <!-- sldsValidatorIgnore --> <template> <c-custom-delete-reason-comp record-id={typeAttributes.recordId} > </c-custom-delete-reason-comp> </template> force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
@@ -13,6 +13,8 @@ import customOutboundCountTemplate from './customOutboundCount.html'; import customWeeklyReportTemplate from './customWeeklyReport.html'; import customAgencyOppInputTemplate from './customAgencyOppInput.html'; import customMyDrCheckBoxTemplate from './customMyDrCheckBox.html'; import customdeleteReasonTemplate from './customdeleteReason.html'; import { loadStyle} from 'lightning/platformResourceLoader'; import LexCustomDataTable from '@salesforce/resourceUrl/LexCustomDataTable'; @@ -20,7 +22,7 @@ static customTypes = { customUnit: { template: customUnitTemplate, typeAttributes: ['unitValue','unitOptions','recordId'], typeAttributes: ['unitValue','unitOptions','recordId','isDisabled'], }, customShipment: { template: customShipmentNumberTemplate, @@ -73,7 +75,15 @@ agencyOppInput:{ template: customAgencyOppInputTemplate, typeAttributes:['inputValue','recordId','fieldName','showType'], } }, MyDrCheckBox:{ template: customMyDrCheckBoxTemplate, typeAttributes:['recordId','isCheckedMyDr'], }, deleteReason:{ template: customdeleteReasonTemplate, typeAttributes:['recordId'], }, }; constructor() { super(); force-app/main/default/lwc/lexInventory/lexInventory.js
@@ -393,10 +393,10 @@ } } if(this.barcode == ''||this.barcode == null){ this.showMyToast('获取失败','请输入BarCode号','error'); // if(this.barcode == ''||this.barcode == null){ // this.showMyToast('获取失败','请输入BarCode号','error'); } // } console.log('this.data--->'+JSON.stringify(this.data)); console.log('this.currentPageToken'+this.currentPageToken); this.selectedRows = []; @@ -450,7 +450,7 @@ } this.iSinventory = result.entity.iSinventory; this.pandiandetailsMap = result.entity.pandiandetailsMap; this.reSet = result.entity.reSet; this.reSet = result.entity.reSet1; console.log("iSinventory:" + this.iSinventory); this.showTable = true; this.showbutton = true; @@ -518,19 +518,19 @@ this.barcode = value; } // getSelectedRows(event) { // let selectedRowsEvent = event.detail.selectedRows; // this.selectedRows = []; // for (var i in selectedRowsEvent) { // this.selectedRows.push(selectedRowsEvent[i].ProdId+this.data[i]["boxPiece"]); // } // const selectedRows = event.detail.selectedRows; // console.log("this.selectedRows = " + JSON.stringify(selectedRows)); // for (var i in selectedRows) { // this.selectedRows.push(selectedRows[i].ProdId+this.data[i]["boxPiece"]); // } getSelectedRows(event) { let selectedRowsEvent = event.detail.selectedRows; this.selectedRows = []; for (var i in selectedRowsEvent) { this.selectedRows.push(selectedRowsEvent[i].ProdId+this.data[i]["boxPiece"]); } const selectedRows = event.detail.selectedRows; console.log("this.selectedRows = " + JSON.stringify(selectedRows)); for (var i in selectedRows) { this.selectedRows.push(selectedRows[i].ProdId+this.data[i]["boxPiece"]); } // } } //导出为csv exportData() { @@ -593,13 +593,34 @@ console.log('reSet' + this.reSet); this.showSpinner = true; console.log('pandiandetailsMap' + this.pandiandetailsMap); var el = this.template.querySelector("c-lex-custom-lightning-datatable"); var selected = el.getSelectedRows(); this.selectedData = selected; console.log("选中数据" + JSON.stringify(this.selectedData)); //查询有哪些选择了的然后check const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows(); console.log('selectedRows========> ' + JSON.stringify(selectedRows)); for (var i in this.data) { this.data[i]["check"] = false; } for (var i in this.data) { for (var j in selectedRows) { if (this.data[i].ProdId+this.data[i]["boxPiece"] == selectedRows[j].ProdId+ selectedRows[j]["boxPiece"]) { this.data[i]["check"] = true; } // console.log('this.data[i].ProdId+this.data[i]["boxPiece"]'+this.data[i].ProdId+this.data[i]["boxPiece"]); console.log('selectedRows[j].ProdId+this.data[i]["boxPiece"]'+selectedRows[j].ProdId+selectedRows[j]["boxPiece"]); } } // var el = this.template.querySelector("c-lex-custom-lightning-datatable"); // var selected = el.getSelectedRows(); // this.selectedData = selected; // console.log("选中数据" + JSON.stringify(this.selectedData)); // console.log("reset" + JSON.stringify(this.reSet)); // console.log("reset1" + JSON.stringify(this.reSet1)); // console.log("r" + JSON.stringify(this.reSet1)); save({ iSinventory: this.iSinventory, consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData), consumableorderdetailsRecordsLWC:JSON.stringify(this.data), accountid: this.accountid, agencyProType: this.agencyProType, reSet: this.reSet, @@ -611,7 +632,7 @@ console.log("111111"); if (result.status == "Success") { let url = "/lexInventory?ESetid=" + result.entity.eSetId; let url = "/lexinventory?ESetid=" + result.entity.eSetId; this[NavigationMixin.Navigate]({ type: "standard__webPage", attributes: { force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html
@@ -75,7 +75,7 @@ <!-- <div style="height: 300px;"> --> <template if:true={showTable}> <c-lex-custom-lightning-datatable key-field="prodid" data={data} columns={columns} <c-lex-custom-lightning-datatable key-field="key" data={data} columns={columns} onrowselection={getSelectedRows} selected-rows={selectedRows} class="wrapped-header-datatable"> </c-lex-custom-lightning-datatable> @@ -114,7 +114,7 @@ <lightning-datatable key-field="id" data={overduePageRecords} columns={column} onrowselection={getSelectedRows} hide-checkbox-column="true" selected-rows={selectedRows} class="wrapped-header-datatable"> selected-rows={selectedRows} class="wrapped-header-datatable " style="word-wrap:break-word; word-break:break-all; "> </lightning-datatable> </div> force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js
@@ -150,6 +150,9 @@ this.accountName = result.entity.accountName; this.agencyProType = result.entity.agencyProType; this.userWorkLocation = result.entity.userWorkLocation; for (var i in this.data) { this.data[i]["key"] = this.data[i]["prodid"] + this.data[i]["boxPiece"]; } this.showTable = true; // this.casesSpinner = false; this.showSpinner = false; @@ -168,17 +171,34 @@ console.log('code'+this.barcode); console.log(' this.accountName'+ this.accountName); console.log(' this.barcode'+ this.barcode); if(this.barcode == ''||this.barcode==null){ this.showMyToast('获取失败','请输入BarCode号','error'); this.showSpinner = false; const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows(); console.log('selectedRows========> ' + JSON.stringify(selectedRows)); for (var i in this.data) { this.data[i]["check"] = false; } for (var i in this.data) { for (var j in selectedRows) { if (this.data[i].prodid + this.data[i]["boxPiece"] == selectedRows[j].prodid + selectedRows[j]["boxPiece"]) { this.data[i]["check"] = true; } // console.log('this.data[i].ProdId+this.data[i]["boxPiece"]'+this.data[i].ProdId+this.data[i]["boxPiece"]); console.log('selectedRows[j].prodid+this.data[i]["boxPiece"]' + selectedRows[j].prodid + selectedRows[j]["boxPiece"]); } console.log('data===>'+ JSON.stringify(this.data)); } // this.selectedRows = []; // if(this.barcode == ''||this.barcode==null){ // this.showMyToast('获取失败','请输入BarCode号','error'); // this.showSpinner = false; // } barcodeEntry({ accountNameLWC: this.accountName, agencyProTypeLWC: this.agencyProType, userWorkLocationLWC:this.userWorkLocation, barcodeLWC:this.barcode, codPageRecordsLWC:this.codPageRecordsLWC codPageRecordsLWC: JSON.stringify(this.data) }).then((result)=>{ result = JSON.parse(JSON.stringify(result)); if (result.status == 'Success') { @@ -199,17 +219,56 @@ this.data = JSON.parse(result.entity.codPageRecords); console.log(' this.data'+ JSON.stringify(this.data)); for (var i in this.data) { this.data[i]["key"] = this.data[i]["prodid"] + this.data[i]["boxPiece"]; } for (var i in this.data) { if (this.data[i]['check']) { this.selectedRows.push(this.data[i].prodid); console.log('selectedRows:' + this.selectedRows); this.selectedRows.push(this.data[i].prodid + this.data[i]["boxPiece"]); console.log("selectedRows:" + this.selectedRows); } } this.showSpinner = false; // this.showTables = true; this.showTable = true; }else{ this.showMyToast('获取失败',result.msg,'error'); if (result.status == 'Success1') { this.overduePageRecords = JSON.parse(result.entity.overduePageRecords); this.overdueList = result.entity.overdueList; this.iSinventory = result.entity.iSinventory; console.log('result录入' + JSON.stringify(result)); console.log('overdueList==>' + JSON.stringify(this.overdueList)); for (let i in this.overduePageRecords) { if (this.overduePageRecords[i].Prod != null) { this.overduePageRecords[i]['Name__c'] = this.overduePageRecords[i].Prod.Name__c; } this.overduePageRecords[i]['Bar_Code__c'] = this.overduePageRecords[i].orderdetails2.Bar_Code__c; this.overduePageRecords[i]['Box_Piece__c'] = this.overduePageRecords[i].orderdetails2.Box_Piece__c; this.overduePageRecords[i]['Sterilization_limit__c'] = this.overduePageRecords[i].orderdetails2.Sterilization_limit__c; } this.data = JSON.parse(result.entity.codPageRecords); console.log(' this.data' + JSON.stringify(this.data)); for (var i in this.data) { this.data[i]["key"] = this.data[i]["prodid"] + this.data[i]["boxPiece"]; } for (var i in this.data) { if (this.data[i]['check']) { this.selectedRows.push(this.data[i].prodid + this.data[i]["boxPiece"]); console.log("selectedRows:" + this.selectedRows); } } this.showSpinner = false; // this.showTables = true; this.showTable = true; }else { console.log('Error:' + result.msg); this.showMyToast(result.msg,'','error'); this.showSpinner = false; this.showTable = true; } // this.showMyToast('获取失败', result.msg, 'error'); // this.showSpinner = false; } }).catch((error) => { @@ -225,34 +284,42 @@ console.log('this.barcode'+this.barcode); } getSelectedRows(event) { console.log('打勾'); const selectedRows = event.detail.selectedRows; console.log('this.selectedRows = ' + this.selectedRows); for (var i in this.data) { this.data[i]['check'] = false; let selectedRowsEvent = event.detail.selectedRows; this.selectedRows = []; for (var i in selectedRowsEvent) { this.selectedRows.push(selectedRowsEvent[i].prodid+this.data[i]["boxPiece"]); } for (var i in this.data) { for (var j in selectedRows) { console.log('this.selectedRows111 = ' + selectedRows[j].prodid); console.log('this.selectedRows1112 = ' + this.data[i].prodid ); if (this.data[i].prodid == selectedRows[j].prodid) { this.data[i]['check'] = true; } } } console.log('this.selectedRows==>'+this.selectedRows); } //保存 saveConfirm() { console.log('进入销存确认'); this.showSpinner = true; var el = this.template.querySelector('c-lex-custom-lightning-datatable'); var selected = el.getSelectedRows(); this.selectedData = selected; console.log('选中数据' + JSON.stringify(this.selectedData)); console.log('this.overdueList'+this.overdueList); //查询有哪些选择了的然后check const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows(); console.log('selectedRows========> ' + JSON.stringify(selectedRows)); for (var i in this.data) { this.data[i]["check"] = false; } for (var i in this.data) { for (var j in selectedRows) { if (this.data[i].prodid+this.data[i]["boxPiece"] == selectedRows[j].prodid+ selectedRows[j]["boxPiece"]) { this.data[i]["check"] = true; } // console.log('this.data[i].ProdId+this.data[i]["boxPiece"]'+this.data[i].ProdId+this.data[i]["boxPiece"]); console.log('selectedRows[j].prodid+this.data[i]["boxPiece"]'+selectedRows[j].prodid+selectedRows[j]["boxPiece"]); } } // var el = this.template.querySelector('c-lex-custom-lightning-datatable'); // var selected = el.getSelectedRows(); // this.selectedData = selected; // console.log('选中数据' + JSON.stringify(this.selectedData)); // console.log('this.overdueList' + this.overdueList); save({ iSinventory: this.iSinventory, saveCodPageRecords: JSON.stringify(this.selectedData), saveCodPageRecords: JSON.stringify(this.data), // saveoverdueList:JSON.stringify(this.overdueList) saveoverdueList:this.overdueList }).then((result) => { force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
@@ -632,7 +632,7 @@ <div lwc:dom="manual" class="resultDiv"></div> <div draggable="false"> <lightning-layout multiple-rows> <lightning-layout-item padding="around-small" flexibility="auto"> <lightning-layout-item style="padding: 10px;" flexibility="auto"> <div class="slds-grid slds-grid_vertical-align-center"> <div class="slds-form-element__label">消耗品名称</div> <lightning-input type="text" name="consumableName" label="消耗品名称" @@ -641,7 +641,7 @@ </div> </lightning-layout-item> <lightning-layout-item padding="around-small" flexibility="auto"> <lightning-layout-item style="padding: 10px;" flexibility="auto"> <div class="slds-grid slds-grid_vertical-align-center"> <div class="slds-form-element__label" style="width:80px">第3分类</div> <lightning-combobox name="progress" label="第3分类" value={Category3} @@ -650,7 +650,7 @@ class="inputFont"></lightning-combobox> </div> </lightning-layout-item> <lightning-layout-item padding="around-small" flexibility="auto"> <lightning-layout-item style="padding: 10px;" flexibility="auto"> <div class="slds-grid slds-grid_vertical-align-center"> <div class="slds-form-element__label" style="width:80px">第4分类</div> <lightning-combobox name="progress" label="第4分类" value={Category4} @@ -660,7 +660,7 @@ </div> </lightning-layout-item> <lightning-layout-item padding="around-small" flexibility="auto"> <lightning-layout-item style="padding: 10px;" flexibility="auto"> <div class="slds-grid slds-grid_vertical-align-center"> <div class="slds-form-element__label" style="width:80px">第5分类</div> <lightning-combobox name="progress" label="第5分类" value={Category5} @@ -671,7 +671,7 @@ </lightning-layout-item> <template if:true={hasHosPro}> <lightning-layout-item padding="around-small" flexibility="auto"> <lightning-layout-item style="padding: 10px;" flexibility="auto"> <div class="slds-grid slds-grid_vertical-align-center"> <div class="slds-form-element__label">医院特价</div> <lightning-combobox name="progress" label="医院特价" value={outOutPattern} force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
@@ -25,7 +25,13 @@ import { loadStyle } from "lightning/platformResourceLoader"; import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; import ConsumableOutboundReportId from '@salesforce/label/c.ConsumableOutboundReportId'; const customLabel = { ConsumableOutboundReportId } export default class LexSummonsCreat extends NavigationMixin(LightningElement) { @track label = customLabel; @track isShowSpinner = true; @track isEditShowSpinner = false; @track showResults = true; @@ -1774,7 +1780,9 @@ var reportId = this.ESetid; reportId = reportId.substring(0, 15); let reportFilters = '[{"operator":"equals","value":"' + reportId + '","column":"FK_CUSTENT_ID"}]'; let url = "/report/00O0l000000zZtpEAE?reportFilters=" + encodeURIComponent(reportFilters); let reportUrl = this.label.ConsumableOutboundReportId; console.log("reportUrl = " + reportUrl); let url = "/report/" + reportUrl + "?reportFilters=" + encodeURIComponent(reportFilters); console.log("url = " + url); this[NavigationMixin.Navigate]({ type: "standard__webPage", force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
@@ -442,7 +442,7 @@ this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url: '/lexInventory' url: '/lexinventory' } }); } @@ -452,7 +452,7 @@ this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url: '/lexoverdueStock' url: '/lexoverduestock' } }); @@ -470,7 +470,7 @@ this[NavigationMixin.Navigate]({ type: 'standard__webPage', attributes: { url: '/lexCancelRemoveBox' url: '/lexcancelremovebox' } }); force-app/main/default/permissionsets/Community_LEX_PS.permissionset-meta.xml
New file @@ -0,0 +1,315 @@ <?xml version="1.0" encoding="UTF-8"?> <PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata"> <classAccesses> <apexClass>LexArriveGoodsController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexArriveGoodsMainController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexArriveGsDetailsController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexBTReportController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexCancelRemoveBoxController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexCancelRemoveBoxControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConInvoiceList</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConInvoiceViewController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConInvoicedetailsController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumApply_FromQISCtl</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumableAccountController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumableAccountInfoController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumableAccountSOQL</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumableController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumableGoodsInfo</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexConsumableOrderManageController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexContractAuthorizeController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexDealerInquiryModifyStateController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexEquipmentRentalApply_FromQISCtl</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryHeaderClearStatusController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryHeaderController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryListController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryListControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryListTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryViewController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryViewControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexInventoryViewTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexLicenceReminderController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexLicenceReminderControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexLostSubmitApprovalController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexMeetingCostsController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexNewAndEditBasePIPLController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexNewAndEditContactPIPLController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexNewAndEditLeadPIPLController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexNewAndEditReportPIPLController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexNewSICustomNewController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexNoReportApplicationController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexOutboundorderImportController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexOverdueStockController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexPaymentPlanLoadController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexPrintInspectupReportController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexProductLimitEditController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexProductLimitEditControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexProductLimitEditTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexRemoveBoxController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexRemoveBoxControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexRentalApplySetSelectSubstitute</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSIAbortBtnController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSINewQuoteEntryController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSISearchSetProductController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSaleAndDeliveryController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSaleOrderController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchAgencyHospitalTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchContractController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchHospitalController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchProductController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchProductCsController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchProductIraiController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSearchSetProductController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexStockCancelController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexSummonsCreatController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexTopPageController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexTopPageControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexTransferApplyController</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexUpAccountProLimit</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexUpAccountProLimitControllerTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexUpAccountProLimitTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexUtility</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexUtilityTest</apexClass> <enabled>true</enabled> </classAccesses> <classAccesses> <apexClass>LexVisitReportCancelController</apexClass> <enabled>true</enabled> </classAccesses> <hasActivationRequired>false</hasActivationRequired> <label>Community LEX PS</label> <objectPermissions> <allowCreate>true</allowCreate> <allowDelete>false</allowDelete> <allowEdit>false</allowEdit> <allowRead>true</allowRead> <modifyAllRecords>false</modifyAllRecords> <object>Agency_Report_Header__c</object> <viewAllRecords>false</viewAllRecords> </objectPermissions> <objectPermissions> <allowCreate>true</allowCreate> <allowDelete>false</allowDelete> <allowEdit>false</allowEdit> <allowRead>true</allowRead> <modifyAllRecords>false</modifyAllRecords> <object>Agency_Report__c</object> <viewAllRecords>false</viewAllRecords> </objectPermissions> <userPermissions> <enabled>true</enabled> <name>ChatterEnabledForUser</name> </userPermissions> <userPermissions> <enabled>true</enabled> <name>ViewContent</name> </userPermissions> </PermissionSet>