From 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:56:14 +0800 Subject: [PATCH] lex community --- force-app/main/default/classes/LexOverdueStockController.cls | 323 +++++++++++++++++++++++++++++------------------------ 1 files changed, 175 insertions(+), 148 deletions(-) diff --git a/force-app/main/default/classes/LexOverdueStockController.cls b/force-app/main/default/classes/LexOverdueStockController.cls index adbaaa7..05fe5c6 100644 --- a/force-app/main/default/classes/LexOverdueStockController.cls +++ b/force-app/main/default/classes/LexOverdueStockController.cls @@ -1,5 +1,4 @@ public with sharing class LexOverdueStockController { - /*****************妞滅储鐢�******************/ public static String barcode { get; set; } @@ -17,19 +16,18 @@ // 缁忛攢鍟嗕俊鎭� private static Account accountInfo; - //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛� + //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛� public static Boolean iSinventory = false; public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>(); - public static Integer pageRecordsSize { + public static Integer pageRecordsSize { get { return codPageRecords == null ? 0 : codPageRecords.size(); } } public LexOverdueStockController() { - } // 鐢婚潰鍒濆鍖� @@ -42,103 +40,118 @@ codPageRecords = new List<orderBean>(); overduePageRecords = new List<orderBean>(); // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()]; + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; userWorkLocation = Useracc.Work_Location__c; agencyProType = Useracc.UserPro_Type__c; - if(String.isBlank(Useracc.UserPro_Type__c)){ + if (String.isBlank(Useracc.UserPro_Type__c)) { agencyProType = 'ET'; } sqlagencyProType = '%' + agencyProType + '%'; - accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid]; + accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid]; // 杩囨湡搴撳瓨姹囨�讳俊鎭� - List<AggregateResult> orderDetZaiku = [SELECT count(Id) countsum, - Consumable_Product__c prodid, - Consumable_Product__r.Name_Text__c prodname, - Box_Piece__c boxPiece - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Lose_Flag__c = false - AND Isoverdue__c = 0 - AND Dealer_Returned__c = false - AND Cancellation_Flag__c = false - AND Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Dealer_Info_text__c = :accountInfo.Name - AND Arrive_Owner_Work_Location__c = :userWorkLocation - group by Consumable_Product__c,Box_Piece__c,Consumable_Product__r.Name_Text__c]; + List<AggregateResult> orderDetZaiku = [ + SELECT count(Id) countsum, Consumable_Product__c prodid, Consumable_Product__r.Name_Text__c prodname, Box_Piece__c boxPiece + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Lose_Flag__c = FALSE + AND Isoverdue__c = 0 + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Dealer_Info_text__c = :accountInfo.Name + AND Arrive_Owner_Work_Location__c = :userWorkLocation + GROUP BY Consumable_Product__c, Box_Piece__c, Consumable_Product__r.Name_Text__c + ]; - for(AggregateResult overdue : orderDetZaiku){ + for (AggregateResult overdue : orderDetZaiku) { codPageRecords.add(new orderBean(overdue)); } - system.debug('codPageRecords====>'+codPageRecords); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('userWorkLocation',userWorkLocation); - data.put('accountName',accountInfo.Name); - data.put('agencyProType',agencyProType); - data.put('orderDetZaiku',JSON.serialize(orderDetZaiku)); + system.debug('codPageRecords====>' + codPageRecords); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('userWorkLocation', userWorkLocation); + data.put('accountName', accountInfo.Name); + data.put('agencyProType', agencyProType); + data.put('orderDetZaiku', JSON.serialize(orderDetZaiku)); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; - } // BarCode褰曞叆 @AuraEnabled - public static ResponseBodyLWC searchorderBean(String agencyProTypeLWC,String userWorkLocationLWC,String accountNameLWC,String barcodeLWC,String codPageRecordsLWC){ + public static ResponseBodyLWC searchorderBean( + String agencyProTypeLWC, + String userWorkLocationLWC, + String accountNameLWC, + String barcodeLWC, + String codPageRecordsLWC + ) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; - List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(codPageRecordsLWC,List<orderBean>.class); + List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(codPageRecordsLWC, List<orderBean>.class); sqlagencyProType = '%' + agencyProTypeLWC + '%'; - system.debug('sqlagencyProType==>'+ sqlagencyProType); + system.debug('sqlagencyProType==>' + sqlagencyProType); barcode = barcodeLWC; - system.debug('barcode==>'+ barcode); + system.debug('barcode==>' + barcode); userWorkLocation = userWorkLocationLWC; // add by Wang Xueqin 2023/04/12 // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()]; - accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid]; - - + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; + accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid]; + iSinventory = true; Set<String> barCodeoverdue = new Set<String>(); overduePageRecords = new List<orderBean>(); - List<String> barCodeListP = ParseBarCode( barcode ); + List<String> barCodeListP = ParseBarCode(barcode); // 椤甸潰鏄剧ず鏁版嵁鍒濆鍖� for (orderBean codPage : codPageRecords) { codPage.pandian = 0; } // 鏌ヨ鎵�鏈夎繃鏈熷簱瀛� - List<Consumable_order_details2__c> orderDetZaiku = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Info_text__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Sterilization_limit__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Lose_Flag__c = false - AND Isoverdue__c = 0 - AND Dealer_Returned__c = false - AND Cancellation_Flag__c = false - AND Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Dealer_Info_text__c = :accountInfo.Name - AND Arrive_Owner_Work_Location__c = :userWorkLocation]; + List<Consumable_order_details2__c> orderDetZaiku = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Dealer_Info_text__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Sterilization_limit__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Lose_Flag__c = FALSE + AND Isoverdue__c = 0 + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Dealer_Info_text__c = :accountInfo.Name + AND Arrive_Owner_Work_Location__c = :userWorkLocation + ]; // 娌℃湁杈撳叆鏉$爜鏃讹紝寰幆椤甸潰锛屾墍鏈夋墦閽╀骇鍝佸叏閮ㄩ攢瀛� // 鍙栧緱鎵�鏈� overdueList = new List<Consumable_order_details2__c>(); if (String.isBlank(barcode)) { System.debug('barcode绌�'); - for(orderBean codPage : codPageRecords){ + for (orderBean codPage : codPageRecords) { if (codPage.check) { - for(Consumable_order_details2__c cod2 : orderDetZaiku){ - if(cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c){ - overduePageRecords.add(new orderBean(cod2,'杩囨湡搴撳瓨閿�瀛�')); + for (Consumable_order_details2__c cod2 : orderDetZaiku) { + if (cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c) { + overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�')); overdueList.add(cod2); } } @@ -147,162 +160,175 @@ } // return; System.debug('overduePageRecords = ' + overduePageRecords); - data.put('overduePageRecords',JSON.serialize(overduePageRecords)); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('iSinventory',iSinventory); - data.put('overdueList',overdueList); - res.status = 'Success'; - res.code = 200; - // res.msg = '璇疯緭鍏arCode鍙�'; - System.debug('res = ' + res); - return res; + 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 = 'Success1'; + res.code = 200; + // res.msg = '璇疯緭鍏arCode鍙�'; + System.debug('res = ' + res); + return res; } // 杈撳叆barcode鏃� // BarCode鐨勬绱� 鎵�鏈夊湪搴� - List<Consumable_order_details2__c> reSet = [select Id,Consumable_Product__c, - Consumable_Product__r.Name__c,Box_Piece__c,Bar_Code_search__c, - Dealer_Shipment__c,Dealer_Saled__c,Lose_Flag__c,Bar_Code__c, - Cancellation_Flag__c,Isoverdue__c,Sterilization_limit__c - from Consumable_order_details2__c - where Bar_Code_search__c in :BarCodeListP - AND Dealer_Arrive__c = true - AND Cancellation_Flag__c = false - and Dealer_Returned__c = false - and Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Arrive_Owner_Work_Location__c =: userWorkLocation - AND Dealer_Info_text__c = :accountInfo.Name - order by Name]; - - System.debug('reSet===>'+reSet); + List<Consumable_order_details2__c> reSet = [ + SELECT + Id, + Consumable_Product__c, + Consumable_Product__r.Name__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Shipment__c, + Dealer_Saled__c, + Lose_Flag__c, + Bar_Code__c, + Cancellation_Flag__c, + Isoverdue__c, + Sterilization_limit__c + FROM Consumable_order_details2__c + WHERE + Bar_Code_search__c IN :BarCodeListP + AND Dealer_Arrive__c = TRUE + AND Cancellation_Flag__c = FALSE + AND Dealer_Returned__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountInfo.Name + ORDER BY Name + ]; + System.debug('reSet===>' + reSet); - for(Consumable_order_details2__c cod2 : reSet){ - if ((cod2.Dealer_Shipment__c == false && cod2.Dealer_Saled__c == false - && cod2.Lose_Flag__c == false && cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0) { + for (Consumable_order_details2__c cod2 : reSet) { + if ( + (cod2.Dealer_Shipment__c == false && + cod2.Dealer_Saled__c == false && + cod2.Lose_Flag__c == false && + cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0 + ) { for (orderBean codPage : codPageRecords) { - if(cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece){ - overduePageRecords.add(new orderBean(cod2,'杩囨湡搴撳瓨閿�瀛�')); + if (cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece) { + overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�')); overdueList.add(cod2); - codPage.pandian ++; + codPage.pandian++; codPage.check = true; } } - }else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) { - overduePageRecords.add(new orderBean(cod2,'浜у搧宸茬粡鍑哄簱')); - }else{ - overduePageRecords.add(new orderBean(cod2,'涓嶆槸杩囨湡搴撳瓨')); + } else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) { + overduePageRecords.add(new orderBean(cod2, '浜у搧宸茬粡鍑哄簱')); + } else { + overduePageRecords.add(new orderBean(cod2, '涓嶆槸杩囨湡搴撳瓨')); } } System.debug('overduePageRecords = ' + overduePageRecords); - data.put('overduePageRecords',JSON.serialize(overduePageRecords)); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('iSinventory',iSinventory); - data.put('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.code = 200; System.debug('res = ' + res); return res; } - // 淇濆瓨鎸夐挳 @AuraEnabled - public static ResponseBodyLWC save(Boolean iSinventory,string saveCodPageRecords,List<Consumable_order_details2__c> saveoverdueList) { + public static ResponseBodyLWC save(Boolean iSinventory, string saveCodPageRecords, List<Consumable_order_details2__c> saveoverdueList) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; - system.debug('saveCodPageRecords=============>'+saveCodPageRecords); - system.debug('saveoverdueList'+saveoverdueList); - overdueList = saveoverdueList; + system.debug('saveCodPageRecords=============>' + saveCodPageRecords); + system.debug('saveoverdueList' + saveoverdueList); + overdueList = saveoverdueList; // if(saveoverdueList==null){ // return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); // } - List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(saveCodPageRecords,List<orderBean>.class); + List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(saveCodPageRecords, List<orderBean>.class); // List<Consumable_order_details2__c> overdueList = (List<Consumable_order_details2__c>)JSON.deserialize(saveoverdueList,List<Consumable_order_details2__c>.class); - // add by Wang Xueqin 2023/04/12 + // add by Wang Xueqin 2023/04/12 // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()]; - accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid]; + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; + accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid]; // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂� StaticParameter.EscapeConsumableOrderDetail2Trigger = true; - if(!iSinventory){ + if (!iSinventory) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�')); - return new ResponseBodyLWC('Error',500, '璇峰厛褰曞叆BarCode', ''); + return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', ''); // return null; } integer Lo = 0; - for(orderBean header : codPageRecords){ - if(header.check==true){ + for (orderBean header : codPageRecords) { + if (header.check == true) { Lo++; } } - if(Lo == 0){ + if (Lo == 0) { iSinventory = false; // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�')); - return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); + return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); // return null; } Integer orderDetNo = 1; Savepoint sp = Database.setSavepoint(); Consumable_order__c po = new Consumable_order__c(); - po.Name ='*'; + po.Name = '*'; po.Order_status__c = '鎵瑰噯'; po.Inventory_date__c = Date.today(); po.Order_type__c = '閿�瀛�'; po.Dealer_Info__c = accountInfo.Id; po.Order_ProType__c = agencyProType; po.RecordTypeid = System.Label.RT_ConOrder_Overdue; - try{ - insert po; - Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id =:po.id]; - List<Consumable_orderdetails__c> InsList = New List<Consumable_orderdetails__c>(); - for(orderBean header : codPageRecords){ - if(header.check==true){ + try { + insert po; + Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id = :po.id]; + List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>(); + for (orderBean header : codPageRecords) { + if (header.check == true) { Consumable_orderdetails__c insPan = new Consumable_orderdetails__c(); String str = string.valueOf(orderDetNo); - if(str.length() == 1){ - str = '0' + str; + if (str.length() == 1) { + str = '0' + str; } - insPan.Name = order.Name + '-'+ str; + insPan.Name = order.Name + '-' + str; insPan.Consumable_Product__c = header.prodId; insPan.Consumable_order__c = po.Id; insPan.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�'; insPan.Overdue_count__c = header.pandian; insPan.Overdue_SUM__c = header.overlimitCount; insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory; - orderDetNo ++; + orderDetNo++; InsList.add(insPan); } } // 鐢熸垚鏄庣粏1 - if(InsList.size()>0){ + if (InsList.size() > 0) { insert InsList; } - for(Consumable_order_details2__c cod : overdueList){ + for (Consumable_order_details2__c cod : overdueList) { cod.Consumable_Inventory_order__c = po.Id; cod.Inventory_date__c = Date.today(); cod.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�'; cod.Lose_Flag__c = true; - } - if(overdueList.size()>0){ + if (overdueList.size() > 0) { ControllerUtil.updateOrderDetailsSatus(overdueList); } - - }catch (Exception ex) { + } catch (Exception ex) { Database.rollback(sp); ApexPages.addMessages(ex); return null; } // return new Pagereference('/' + po.Id); - data.put('Id',po.Id); + data.put('Id', po.Id); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); @@ -310,24 +336,25 @@ } // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist - public static List<String> ParseBarCode(String Code){ - Map<String,Integer> barcodeCountMap = new Map<String,Integer>(); - String[] Cache = new String[]{}; + public static List<String> ParseBarCode(String Code) { + Map<String, Integer> barcodeCountMap = new Map<String, Integer>(); + String[] Cache = new List<String>{}; Cache = Code.split('\n'); - List <String> Buff = new List<String>(); - for(String A : Cache){ + List<String> Buff = new List<String>(); + for (String A : Cache) { A = A.trim().toUpperCase(); - if(barcodeCountMap.containsKey(A)){ - barcodeCountMap.put(A,barcodeCountMap.get(A) + 1); - }else{ - barcodeCountMap.put(A,1); + if (barcodeCountMap.containsKey(A)) { + barcodeCountMap.put(A, barcodeCountMap.get(A) + 1); + } else { + barcodeCountMap.put(A, 1); } Buff.add(A + barcodeCountMap.get(A)); } return Buff; } - // Data Bean + // Data Bean + @TestVisible class orderBean implements Comparable { @AuraEnabled public Consumable_order_details2__c orderdetails2 { get; set; } @@ -335,7 +362,7 @@ public Product2__c Prod { get; set; } @AuraEnabled public Boolean check { get; set; } - + // 杩囨湡搴撳瓨 @AuraEnabled public Integer overlimitCount { get; set; } @@ -352,7 +379,7 @@ public String prodname { get; set; } @AuraEnabled public String prodid { get; set; } - orderBean(Consumable_order_details2__c e,string str) { + orderBean(Consumable_order_details2__c e, string str) { orderdetails2 = e; Prod = e.Consumable_Product__r; DiffReason = str; @@ -367,11 +394,11 @@ } // 鎺掑簭 public Integer compareTo(Object compareTo) { - orderBean compareToesd =(orderBean)compareTo; + orderBean compareToesd = (orderBean) compareTo; Integer returnValue = 0; - if (overlimitCount > compareToesd.overlimitCount ) { + if (overlimitCount > compareToesd.overlimitCount) { returnValue = -1; - } else if (overlimitCount < compareToesd.overlimitCount ) { + } else if (overlimitCount < compareToesd.overlimitCount) { returnValue = 1; } return returnValue; -- Gitblit v1.9.1