From af7b716a60d889acea95560abba0e46eee008b8f Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期三, 05 七月 2023 13:54:50 +0800 Subject: [PATCH] backup0705 --- force-app/main/default/classes/LexOverdueStockController.cls | 787 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 432 insertions(+), 355 deletions(-) diff --git a/force-app/main/default/classes/LexOverdueStockController.cls b/force-app/main/default/classes/LexOverdueStockController.cls index c6d0fd1..b53796f 100644 --- a/force-app/main/default/classes/LexOverdueStockController.cls +++ b/force-app/main/default/classes/LexOverdueStockController.cls @@ -1,381 +1,458 @@ public with sharing class LexOverdueStockController { + /*****************妞滅储鐢�******************/ + public static String barcode { get; set; } - /*****************妞滅储鐢�******************/ - public static String barcode { get; set; } + // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢� + public static List<orderBean> codPageRecords { get; set; } - // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢� - public static List<orderBean> codPageRecords { get; set; } + // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢� + public static List<orderBean> overduePageRecords { get; set; } - // 杩囨湡鍜岄攢瀛�,鐢婚潰鏄剧ず鐢� - public static List<orderBean> overduePageRecords { get; set; } + // 鐧诲綍鑰呭伐浣滃湴 + private static String userWorkLocation; + //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛� + private static String agencyProType; + private static String sqlagencyProType; + // 缁忛攢鍟嗕俊鎭� + private static Account accountInfo; - // 鐧诲綍鑰呭伐浣滃湴 - private static String userWorkLocation; - //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛� - private static String agencyProType; - private static String sqlagencyProType; - // 缁忛攢鍟嗕俊鎭� - private static Account accountInfo; + //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛� + public static Boolean iSinventory = false; - //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛� - public static Boolean iSinventory = false; + public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>(); - public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>(); + public static Integer pageRecordsSize { + get { + return codPageRecords == null ? 0 : codPageRecords.size(); + } + } - public static Integer pageRecordsSize { - get { - return codPageRecords == null ? 0 : codPageRecords.size(); - } + public LexOverdueStockController() { + } + + // 鐢婚潰鍒濆鍖� + @AuraEnabled + public static ResponseBodyLWC init() { + ResponseBodyLWC res = new ResponseBodyLWC(); + Map<String, object> data = new Map<String, object>(); + res.entity = data; + + codPageRecords = new List<orderBean>(); + overduePageRecords = new List<orderBean>(); + // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� + 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)) { + agencyProType = 'ET'; + } + sqlagencyProType = '%' + agencyProType + '%'; + 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 + ]; + + for (AggregateResult overdue : orderDetZaiku) { + codPageRecords.add(new orderBean(overdue)); } - public LexOverdueStockController() { + 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 + ) { + 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 + ); + sqlagencyProType = '%' + agencyProTypeLWC + '%'; + system.debug('sqlagencyProType==>' + sqlagencyProType); + barcode = barcodeLWC; + 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 + ]; + + iSinventory = true; + Set<String> barCodeoverdue = new Set<String>(); + overduePageRecords = new List<orderBean>(); + 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 + ]; + // 娌℃湁杈撳叆鏉$爜鏃讹紝寰幆椤甸潰锛屾墍鏈夋墦閽╀骇鍝佸叏閮ㄩ攢瀛� + // 鍙栧緱鎵�鏈� + overdueList = new List<Consumable_order_details2__c>(); + if (String.isBlank(barcode)) { + System.debug('barcode绌�'); + 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, '杩囨湡搴撳瓨閿�瀛�')); + overdueList.add(cod2); + } + } + codPage.pandian = codPage.overlimitCount; + } + } + // 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 = 'Success1'; + res.code = 200; + // res.msg = '璇疯緭鍏arCode鍙�'; + System.debug('res = ' + res); + return res; } - // 鐢婚潰鍒濆鍖� - @AuraEnabled - public static ResponseBodyLWC init() { - ResponseBodyLWC res = new ResponseBodyLWC(); - Map<String, object> data = new Map<String, object>(); - res.entity = data; + // 杈撳叆barcode鏃� - codPageRecords = new List<orderBean>(); - overduePageRecords = new List<orderBean>(); - // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - 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)){ - agencyProType = 'ET'; - } - sqlagencyProType = '%' + agencyProType + '%'; - 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]; + // 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 + ]; - for(AggregateResult overdue : orderDetZaiku){ - codPageRecords.add(new orderBean(overdue)); - } + System.debug('reSet===>' + reSet); - 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){ - 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); - sqlagencyProType = '%' + agencyProTypeLWC + '%'; - system.debug('sqlagencyProType==>'+ sqlagencyProType); - barcode = barcodeLWC; - 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]; - - - iSinventory = true; - Set<String> barCodeoverdue = new Set<String>(); - overduePageRecords = new List<orderBean>(); - List<String> barCodeListP = ParseBarCode( barcode ); - // 椤甸潰鏄剧ず鏁版嵁鍒濆鍖� + 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) { - codPage.pandian = 0; + if ( + cod2.Consumable_Product__c == codPage.prodid && + cod2.Box_Piece__c == codPage.boxPiece + ) { + overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�')); + overdueList.add(cod2); + codPage.pandian++; + codPage.check = true; + } } - // 鏌ヨ鎵�鏈夎繃鏈熷簱瀛� - 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){ - 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,'杩囨湡搴撳瓨閿�瀛�')); - overdueList.add(cod2); - } - } - codPage.pandian = codPage.overlimitCount; - } - } - // 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 = '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); - - - 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,'杩囨湡搴撳瓨閿�瀛�')); - overdueList.add(cod2); - 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,'涓嶆槸杩囨湡搴撳瓨')); - } - } - 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; - System.debug('res = ' + res); - return res; + } 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); + 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 + ) { + 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; + // if(saveoverdueList==null){ + // return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); - // 淇濆瓨鎸夐挳 + // } + + 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 + // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� + 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) { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�')); + return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', ''); + // return null; + } + integer Lo = 0; + for (orderBean header : codPageRecords) { + if (header.check == true) { + Lo++; + } + } + if (Lo == 0) { + iSinventory = false; + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�')); + 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.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) { + Consumable_orderdetails__c insPan = new Consumable_orderdetails__c(); + String str = string.valueOf(orderDetNo); + if (str.length() == 1) { + str = '0' + 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++; + InsList.add(insPan); + } + } + // 鐢熸垚鏄庣粏1 + if (InsList.size() > 0) { + insert InsList; + } + + 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) { + ControllerUtil.updateOrderDetailsSatus(overdueList); + } + } catch (Exception ex) { + Database.rollback(sp); + ApexPages.addMessages(ex); + return null; + } + // return new Pagereference('/' + po.Id); + data.put('Id', po.Id); + res.status = 'Success'; + res.code = 200; + System.debug('res = ' + res); + return res; + } + + // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist + 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) { + A = A.trim().toUpperCase(); + 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 + @TestVisible + class orderBean implements Comparable { @AuraEnabled - 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; - // if(saveoverdueList==null){ - // return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); + public Consumable_order_details2__c orderdetails2 { get; set; } + @AuraEnabled + public Product2__c Prod { get; set; } + @AuraEnabled + public Boolean check { get; set; } - // } - - 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 - // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - 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){ - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�')); - return new ResponseBodyLWC('Error',500, '璇峰厛鐐瑰嚮鑾峰彇鏄庣粏', ''); - // return null; - } - integer Lo = 0; - for(orderBean header : codPageRecords){ - if(header.check==true){ - Lo++; - } - } - if(Lo == 0){ - iSinventory = false; - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�')); - 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.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){ - Consumable_orderdetails__c insPan = new Consumable_orderdetails__c(); - String str = string.valueOf(orderDetNo); - if(str.length() == 1){ - str = '0' + 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 ++; - InsList.add(insPan); - } - } - // 鐢熸垚鏄庣粏1 - if(InsList.size()>0){ - insert InsList; - } - - 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){ - ControllerUtil.updateOrderDetailsSatus(overdueList); - } - - }catch (Exception ex) { - Database.rollback(sp); - ApexPages.addMessages(ex); - return null; - } - // return new Pagereference('/' + po.Id); - data.put('Id',po.Id); - res.status = 'Success'; - res.code = 200; - System.debug('res = ' + res); - return res; + // 杩囨湡搴撳瓨 + @AuraEnabled + public Integer overlimitCount { get; set; } + // 閿�瀛樻暟閲� + @AuraEnabled + public Integer pandian { get; set; } + // 閿�瀛樺師鍥� + @AuraEnabled + public String diffReason { get; set; } + // 鍗曚綅 + @AuraEnabled + public String boxPiece { get; set; } + @AuraEnabled + public String prodname { get; set; } + @AuraEnabled + public String prodid { get; set; } + orderBean(Consumable_order_details2__c e, string str) { + orderdetails2 = e; + Prod = e.Consumable_Product__r; + DiffReason = str; } - - // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist - public static List<String> ParseBarCode(String Code){ - Map<String,Integer> barcodeCountMap = new Map<String,Integer>(); - String[] Cache = new String[]{}; - Cache = Code.split('\n'); - 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); - } - Buff.add(A + barcodeCountMap.get(A)); - } - return Buff; + public orderBean(AggregateResult e) { + check = false; + overlimitCount = Integer.valueOf(e.get('countsum')); + prodname = String.valueOf(e.get('prodname')); + prodid = String.valueOf(e.get('prodid')); + boxPiece = String.valueOf(e.get('BoxPiece')); + pandian = 0; } - - // Data Bean - class orderBean implements Comparable { - @AuraEnabled - public Consumable_order_details2__c orderdetails2 { get; set; } - @AuraEnabled - public Product2__c Prod { get; set; } - @AuraEnabled - public Boolean check { get; set; } - - // 杩囨湡搴撳瓨 - @AuraEnabled - public Integer overlimitCount { get; set; } - // 閿�瀛樻暟閲� - @AuraEnabled - public Integer pandian { get; set; } - // 閿�瀛樺師鍥� - @AuraEnabled - public String diffReason { get; set; } - // 鍗曚綅 - @AuraEnabled - public String boxPiece { get; set; } - @AuraEnabled - public String prodname { get; set; } - @AuraEnabled - public String prodid { get; set; } - orderBean(Consumable_order_details2__c e,string str) { - orderdetails2 = e; - Prod = e.Consumable_Product__r; - DiffReason = str; - } - public orderBean(AggregateResult e) { - check = false; - overlimitCount = Integer.valueOf(e.get('countsum')); - prodname = String.valueOf(e.get('prodname')); - prodid = String.valueOf(e.get('prodid')); - boxPiece = String.valueOf(e.get('BoxPiece')); - pandian = 0; - } - // 鎺掑簭 - public Integer compareTo(Object compareTo) { - orderBean compareToesd =(orderBean)compareTo; - Integer returnValue = 0; - if (overlimitCount > compareToesd.overlimitCount ) { - returnValue = -1; - } else if (overlimitCount < compareToesd.overlimitCount ) { - returnValue = 1; - } - return returnValue; - } + // 鎺掑簭 + public Integer compareTo(Object compareTo) { + orderBean compareToesd = (orderBean) compareTo; + Integer returnValue = 0; + if (overlimitCount > compareToesd.overlimitCount) { + returnValue = -1; + } else if (overlimitCount < compareToesd.overlimitCount) { + returnValue = 1; + } + return returnValue; } -} \ No newline at end of file + } +} -- Gitblit v1.9.1