From 80a3f59e2d3df07805bc67e329300b8de90a5b3a Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期二, 11 七月 2023 14:13:08 +0800 Subject: [PATCH] Merge branch 'LEXCommunityLiJun' into LEXUpgrade2023-Deloitte --- force-app/main/default/classes/LexInventoryController.cls | 1748 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 975 insertions(+), 773 deletions(-) diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls index 564eded..909cdb8 100644 --- a/force-app/main/default/classes/LexInventoryController.cls +++ b/force-app/main/default/classes/LexInventoryController.cls @@ -4,44 +4,45 @@ 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 static String fileName { get; set; } - public static Integer size{get;set;} - public static Integer noOfRecords{get; set;} - public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢� - public static ApexPages.StandardSetController setCon { get; set; } + public static Integer size { get; set; } + public static Integer noOfRecords { get; set; } + public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢� + public static ApexPages.StandardSetController setCon { get; set; } @AuraEnabled - public static List<Consumable_order_details2__c> setConDetails2 { get; set; } - public static Map<Id,String> pandiandetailsMap = new Map<Id,String>(); + public static List<Consumable_order_details2__c> setConDetails2 { get; set; } + public static Map<Id, String> pandiandetailsMap = new Map<Id, String>(); /*****************妞滅储鐢�******************/ - public static String barcode { get; set; } - public static Boolean done { get; set; } + public static String barcode { get; set; } + public static Boolean done { get; set; } /*****************鐢婚潰琛ㄧずBean******************/ //椤甸潰涓绘暟鎹樉绀虹敤 - private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; + // private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; + public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; //鐩樼偣鍒扮殑浜у搧 - 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>(); + 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>(); //public List<Consumable_order_details2__c> pandiandetailsList { get; set; } - public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; } + public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; } //瀵诲洖鏄庣粏 - public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢� + public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢� @AuraEnabled - public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 浜у搧鍗曚綅鐨凩ist - public static List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>(); + public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 浜у搧鍗曚綅鐨凩ist + public static List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>(); public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords; - - public static Integer consumableorderdetailsCount { + + public static Integer consumableorderdetailsCount { get { return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size(); } } //list<String> notexitlist = new list<String>(); - public static Map<String,String> reFindProduct = new Map<String,String>(); + public static Map<String, String> reFindProduct = new Map<String, String>(); //鎺掑簭鐢� // public static String sortKey; // public static String preSortKey; @@ -56,12 +57,12 @@ // 鐧诲綍鑰呭伐浣滃湴 private static String userWorkLocation; //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛� - public static String agencyProType {get;set;} + public static String agencyProType { get; set; } public static String sqlagencyProType; //鍒ゆ柇鎿嶄綔浜哄憳鏄惁鐩樼偣 public static Boolean iSinventory = false; - public LexInventoryController(){ + public LexInventoryController() { size = Integer.valueOf(System.Label.orderdetLimitsize); consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); done = false; @@ -72,65 +73,79 @@ //codPageRecordsShow = new List<ConsumableorderdetailsInfo>(); } - private static void initStandardController(){ + private static void initStandardController() { // init standard controller - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name desc]; + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name DESC + ]; setConDetails2 = showcod2; - System.debug('setConDetails2===>'+setConDetails2); + System.debug('setConDetails2===>' + setConDetails2); // setCon = new ApexPages.StandardSetController(showcod2); // // sets the number of records in each page set // setCon.setPageSize(size); // noOfRecords = setCon.getResultSize(); } - public static List<Consumable_order_details2__c> cod2s() { - return setConDetails2; + public static List<Consumable_order_details2__c> cod2s() { + return setConDetails2; } //Changes the size of pagination - public static PageReference refreshPageSize() { + public static PageReference refreshPageSize() { setCon.setPageSize(size); //showcod2nid = cod2s(); makepagerecords(); return null; } - public static List<ConsumableorderdetailsInfo> makepagerecords() { + public static List<ConsumableorderdetailsInfo> makepagerecords() { showcod2nid = cod2s(); codPageRecords = new List<ConsumableorderdetailsInfo>(); for (Consumable_order_details2__c cod2 : showcod2nid) { - codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id))); + codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))); } - System.debug('===>codPageRecords1'+codPageRecords); - return codPageRecords; + System.debug('===>codPageRecords1' + codPageRecords); + return codPageRecords; } // 鐢婚潰鍒濆鍖� @AuraEnabled public static ResponseBodyLWC init() { - - ResponseBodyLWC res = new ResponseBodyLWC(); - Map<String,object> data = new Map<String,object>(); + Map<String, object> data = new Map<String, object>(); res.entity = data; consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>(); setConDetails2 = new List<Consumable_order_details2__c>(); String url = '鍦ㄥ簱璋冩暣涓�瑙�'; fileName = EncodingUtil.urlEncode(url, 'UTF-8'); - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - System.debug('pandiandetailsMap====>'+pandiandetailsMap); + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + System.debug('pandiandetailsMap====>' + pandiandetailsMap); initStandardController(); makepagerecords(); // sortKey = '1'; @@ -142,21 +157,29 @@ String userId = UserInfo.getUserId(); //String userId = '00510000006k82X'; //String userId = '00510000005QO75'; - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =:userId]; + user Useracc = [ + SELECT Accountid, Work_Location__c, UserPro_Type__c + FROM user + WHERE id = :userId + ]; accountid = Useracc.Accountid; 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 + '%'; - Account accountInfo = [SELECT Name,Dealer_discount__c FROM account WHERE id =:accountid]; + Account accountInfo = [ + SELECT Name, Dealer_discount__c + FROM account + WHERE id = :accountid + ]; accountName = accountInfo.Name; consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - Map<String,Product2__c> midMap = new Map<String,Product2__c>(); + Map<String, Product2__c> midMap = new Map<String, Product2__c>(); List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start //寮�濮嬪埗浣滆〃澶存暟鎹� // List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c, @@ -170,123 +193,135 @@ // midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]); // } //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨 - List<Consumable_order_details2__c> ProductCount_Res = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Dealer_Returned__c = false - AND Lose_Flag__c = false - AND Cancellation_Flag__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 = :accountName]; + List<Consumable_order_details2__c> ProductCount_Res = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Lose_Flag__c = FALSE + AND Cancellation_Flag__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 = :accountName + ]; //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start //寮�濮嬪埗浣滆〃澶存暟鎹� Set<Id> Product2cIdSet = new Set<Id>(); - for(Consumable_order_details2__c con_or_d2item: ProductCount_Res){ + for (Consumable_order_details2__c con_or_d2item : ProductCount_Res) { Product2cIdSet.add(con_or_d2item.Consumable_Product__c); } - List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c, - SFDA_Status__c,Packing_list_manual__c, - Asset_Model_No__c - from Product2__c - //where Estimation_Entry_Possibility__c = '鈼�' - where Id in:Product2cIdSet - and Product_Type__c like : sqlagencyProType - ]; - for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){ + List<Product2__c> productCount_Unfull_bak = [ + SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c + FROM Product2__c + //where Estimation_Entry_Possibility__c = '鈼�' + WHERE Id IN :Product2cIdSet AND Product_Type__c LIKE :sqlagencyProType + ]; + for (integer i = 0; i < productCount_Unfull_bak.size(); i++) { midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]); - } - system.debug('productCount_Unfull_bak'+productCount_Unfull_bak.size()); + } + system.debug('productCount_Unfull_bak' + productCount_Unfull_bak.size()); // String erro='productCount_Unfull_bak:'+productCount_Unfull_bak.size(); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, erro)); //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy end // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res ' + ProductCount_Res.size())); - for(Integer i = 0 ; i< ProductCount_Res.size();i++){ + for (Integer i = 0; i < ProductCount_Res.size(); i++) { //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap - if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�'){ - - if(newMidBoxMap.containsKey(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c).clone(); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + if (MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�') { + if (newMidBoxMap.containsKey(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidBoxMap.get( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c + ) + .clone(); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); - }else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(ProductCount_Res[i].Consumable_Product__c)); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(ProductCount_Res[i].Consumable_Product__c) + ); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); + newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); } - }else if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '涓�'){ - if(newMidPieceMap.containsKey(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c).clone(); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + } else if (MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '涓�') { + if (newMidPieceMap.containsKey(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c + ) + .clone(); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); - }else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(ProductCount_Res[i].Consumable_Product__c)); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(ProductCount_Res[i].Consumable_Product__c) + ); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); + newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); } } } - for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){ + for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) { bss.overlimitCount = bss.countid - bss.limitCount; boxRecords.add(bss); } boxRecords.sort(); - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { bss.overlimitCount = bss.countid - bss.limitCount; } - for(ConsumableorderdetailsInfo bss : boxRecords){ + for (ConsumableorderdetailsInfo bss : boxRecords) { consumableorderdetailsRecords.add(bss); - if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){ + if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) { consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece newMidPieceMap.remove(bss.Prod.Id + '涓�'); } } - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); } //consumableorderdetailsCount = consumableorderdetailsRecords.size(); listCut(); - - + data.put('ConsumableorderdetailsRecordsview', JSON.serialize(ConsumableorderdetailsRecordsview)); + data.put('userWorkLocation', userWorkLocation); + data.put('agencyProType', agencyProType); + data.put('accountName', accountName); + data.put('accountid', accountid); - - data.put('ConsumableorderdetailsRecordsview',JSON.serialize(ConsumableorderdetailsRecordsview)); - data.put('userWorkLocation',userWorkLocation); - data.put('agencyProType',agencyProType); - data.put('accountName',accountName); - data.put('accountid',accountid); - - data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); + data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; } - private static void listCut(){ + private static void listCut() { //鎷嗗垎鏆傜敤list List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>(); List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>(); @@ -297,44 +332,41 @@ //閫夋嫨浜у搧view ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>(); ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>(); - if(consumableorderdetailsRecords.size() > 1000){ - for(Integer i = 0; i < consumableorderdetailsRecords.size(); i++){ - if(i < 1000){ + if (consumableorderdetailsRecords.size() > 1000) { + for (Integer i = 0; i < consumableorderdetailsRecords.size(); i++) { + if (i < 1000) { c = consumableorderdetailsRecords.get(i); ConsumableorderdetailsRecordsbreak.add(c); - }else{ + } else { c = consumableorderdetailsRecords.get(i); ConsumableorderdetailsRecordsbreakover.add(c); } } consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak); consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover); - }else{ + } else { consumableorderdetailsRecordsview.add(consumableorderdetailsRecords); } } //========20160311======ADD_Start================================ // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist //========20160311======ADD_Start================================ - 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; - } - - //test @@ -345,53 +377,78 @@ //========20160311======ADD_End================================== // BarCode褰曞叆 @AuraEnabled - public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC,Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC){ + public static ResponseBodyLWC searchConsumableorderdetails( + String agencyProType, + String userWorkLocation, + String accountName, + String barcode, + String consumableorderdetailsRecordsLWC, + Integer pageSizeLWC, + Integer pageTokenLWC, + String sortFieldLWC, + String sortOrderLWC + ) { pageSize = pageSizeLWC; pageToken = pageTokenLWC; sortField = sortFieldLWC; sortOrder = sortOrderLWC; - System.debug('===>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC); - List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class); + System.debug('===>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC); + List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetailsRecordsLWC, + List<ConsumableorderdetailsInfo>.class + ); // ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class); - system.debug('=====>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC); + system.debug('=====>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC); ResponseBodyLWC res = new ResponseBodyLWC(); - Map<String,object> data = new Map<String,object>(); + Map<String, object> data = new Map<String, object>(); res.entity = data; sqlagencyProType = '%' + agencyProType + '%'; - - - + System.debug('sqlagencyProType==>' + sqlagencyProType); + System.debug('accountName==>' + accountName); + System.debug('userWorkLocation==>' + userWorkLocation); /* BarCodelist鍋氭垚 */ //FIXME barcodeSet 鍋氭垚锛孭roductCount_ResSet 鍋氭垚 List<Consumable_order_details2__c> pandiandetailsList = new List<Consumable_order_details2__c>(); pandiandetailsListShow = new List<List<Consumable_order_details2__c>>(); done = false; - List<String> BarCodeListP = ParseBarCode( barcode ); + List<String> BarCodeListP = ParseBarCode(barcode); + System.debug('BarCodeListP===>' + BarCodeListP); //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨 - List<Consumable_order_details2__c> ProductCount_Res = [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, - 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 Dealer_Returned__c = false - AND Lose_Flag__c = false - AND Cancellation_Flag__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 = :accountName ]; + List<Consumable_order_details2__c> ProductCount_Res = [ + 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, + 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 Dealer_Returned__c = FALSE + AND Lose_Flag__c = FALSE + AND Cancellation_Flag__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 = :accountName + ]; + System.debug('ProductCount_Res==>' + ProductCount_Res); reFindProduct.clear(); - Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String,ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String, ConsumableorderdetailsInfo>(); //barCodeListLoseMap.clear(); Set<String> carCodeListLose = new Set<String>(); List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsAdjust = new List<ConsumableorderdetailsInfo>(); - Map<String,String> proIdNotinpage = new Map<String,String>(); + Map<String, String> proIdNotinpage = new Map<String, String>(); List<Consumable_order_details2__c> reFindProductList = new List<Consumable_order_details2__c>(); codPageRecords = new List<ConsumableorderdetailsInfo>(); consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>(); @@ -399,20 +456,23 @@ pandiandetailsMap.clear(); reSet = new List<Consumable_order_details2__c>(); /* 鍒ゆ柇BarCode鏄惁涓虹┖ */ - if (barcode == null || barcode == ''){ + if (barcode == null || barcode == '') { //鍏堝彇鍑烘墍鏈変涪澶变骇鍝� - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖� ass.Pandian = 0; // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖� - if(ass.check==true){ + if (ass.check == true) { //ass.Diff = ass.countid - ass.Pandian; - for(integer i = 0 ; i < ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)){ + for (integer i = 0; i < ProductCount_Res.size(); i++) { + System.debug('Pro==>' + ProductCount_Res[i].Consumable_Product__c); + System.debug('ProId==>' + ass.Prod.Id); + System.debug('ass.boxPiece ==>' + ass.boxPiece); + System.debug('boxPiece ==>' + ProductCount_Res[i].Box_Piece__c); + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)) { continue; - }else{ - + } else { //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i])); @@ -424,576 +484,170 @@ } //宸茬粡鍑哄簱鐨勪骇鍝� - List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = TRUE - AND (Dealer_Shipment__c= TRUE - or Dealer_Saled__c = TRUE) - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code__c in :carCodeListLose - AND Dealer_Info_text__c = :accountName - ORDER BY Name ]; - 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); + List<Consumable_order_details2__c> reSet1 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND (Dealer_Shipment__c = TRUE + OR Dealer_Saled__c = TRUE) + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c IN :carCodeListLose + AND Dealer_Info_text__c = :accountName + ORDER BY Name + ]; + 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); } // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 - reSet1 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = TRUE - AND Dealer_Shipment__c= FALSE - AND Dealer_Saled__c = FALSE - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code__c in :carCodeListLose - AND (Dealer_Info_text__c != :accountName - OR (Dealer_Info_text__c = :accountName - AND Arrive_Owner_Work_Location__c != :userWorkLocation) - ) - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet1){ - otherAgProMap.put(cod2.Bar_Code__c,cod2); + reSet1 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c IN :carCodeListLose + AND (Dealer_Info_text__c != :accountName + OR (Dealer_Info_text__c = :accountName + AND Arrive_Owner_Work_Location__c != :userWorkLocation)) + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet1) { + otherAgProMap.put(cod2.Bar_Code__c, cod2); } carCodeListLose.clear(); - - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check==true){ + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { ass.Diff = ass.countid - ass.Pandian; - for(integer i = 0 ; i < ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)){ + for (integer i = 0; i < ProductCount_Res.size(); i++) { + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)) { continue; - }else{ - if(needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佹湭杩斿搧')); + } else { + if (needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佹湭杩斿搧') + ); pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佹湭杩斿搧'); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); continue; - } - if(otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��')); - pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'); + if (otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo( + ProductCount_Res[i], + '璇ヤ骇鍝佸綊灞炰簬' + + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + + '鐨勫簱瀛樸��' + ) + ); + pandiandetailsMap.put( + ProductCount_Res[i].Id, + '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��' + ); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); continue; - } if (ProductCount_Res[i].Isoverdue__c == 0) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��') + ); pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); ass.Diff--; continue; } - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け')); pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); } } } - }else{ + } else { ass.Pandian = 0; ass.Diff = 0; } } List<Consumable_order_details2__c> showcod2 = new List<Consumable_order_details2__c>(); if (pandiandetailsMap.keySet().size() > 0) { - showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; + showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; } initStandardController(); showcod2nid = cod2s(); - + for (Consumable_order_details2__c cod2 : showcod2nid) { - codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id))); + codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))); } iSinventory = true; - if(codPageRecords.size() > 0) done = true; + if (codPageRecords.size() > 0) + done = true; consumableorderdetailsRecordserrordummy.clear(); //pandiandetailsList = new list<Consumable_order_details2__c>(); - pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c, - Box_Piece__c,Lose_reason__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - for(Consumable_order_details2__c codDet : pandiandetailsList){ + pandiandetailsList = [ + SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + for (Consumable_order_details2__c codDet : pandiandetailsList) { codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id); } List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 : pandiandetailsList){ + for (Consumable_order_details2__c cod2 : pandiandetailsList) { pandiandetailsListMid.add(cod2); - if(pandiandetailsListMid.size() == 1000){ + if (pandiandetailsListMid.size() == 1000) { pandiandetailsListShow.add(pandiandetailsListMid); pandiandetailsListMid = new List<Consumable_order_details2__c>(); } } - if(pandiandetailsListMid.size() > 0){ - pandiandetailsListShow.add(pandiandetailsListMid); - } - - //鍒嗛〉 - PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); - totalCount = codPageRecords.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<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>(); - startIdx = pageToken; - endIdx = startIdx + pageSize; - if (endIdx > codPageRecords.size()) { - endIdx = codPageRecords.size(); - } - for (Integer i = startIdx; i < endIdx; i++) { - pageCodeRecords.add(codPageRecords.get(i)); - } - - data.put('paginatedAccounts', paginatedAccounts); - data.put('pageCodeRecords', pageCodeRecords); - - //end - data.put('codPageRecords',JSON.serialize(codPageRecords)); - 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',reSet1); - System.debug('reSet1===>'+reSet1); - res.code = 200; - res.status = 'Success1'; - - return res; - - } - - - - //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒� - //init(); - //CHAN-B7J4NB - Map<String,String> showproductIdMap = new Map<String,String>(); - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece); - } -// ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP)); - /***************************************************************************/ - // BarCode鐨勬绱� 鎵�鏈夊湪搴� - reSet = [select Id,Consumable_Product__c,Consumable_Product__r.Name__c, - Box_Piece__c,Bar_Code_search__c,Isoverdue__c - from Consumable_order_details2__c - where Bar_Code_search__c in :BarCodeListP - AND Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Dealer_Returned__c = false - AND Lose_Flag__c = false - AND Cancellation_Date__c = null - and Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Arrive_Owner_Work_Location__c =: userWorkLocation - AND Dealer_Info_text__c = :accountName - order by Name]; - System.debug('reSet===>'+reSet); - Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 - // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� - Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 - // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� - Map<String,ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String,ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅 - //鐩樼偣鍒扮殑鏄庣粏 - for(Consumable_order_details2__c rs : reSet){ - //BarCodeListPandian.add(rs.Bar_Code_search__c); - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){ - ass.check = true; - } - } - - barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); - if (rs.Isoverdue__c == 0) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); - pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); - if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { - pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); - } else { - pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1); - } - continue; - } - if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { - pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); - } else { - pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1); - } - } - - // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 - List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE (Dealer_Arrive__c = TRUE - or Dealer_Shipment__c= TRUE - or Dealer_Saled__c = TRUE) - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code_search__c in :BarCodeListP - AND (Dealer_Info_text__c != :accountName - OR (Dealer_Info_text__c = :accountName - AND Arrive_Owner_Work_Location__c != :userWorkLocation) - ) - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet1){ - otherAgProMap.put(cod2.Bar_Code__c,cod2); - } - // 闇�瑕佸叆搴撶殑浜у搧 - for(Consumable_order_details2__c cod2 : reSet1){ - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece){ - ass.check = true; - } - } - if(!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)){ - reFindProductList.add(cod2); - proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c); - } - if(!barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) - && otherAgProMap.containsKey(cod2.Bar_Code__c) - && (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true - || otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true) ){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��')); - pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'); - } - } - //瀵诲洖鏄庣粏 - List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>(); - productAdjust = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Lose_reason__c, - Asset_Model_No__c,Box_Piece__c,Bar_Code_search__c,Isoverdue__c - from Consumable_order_details2__c - where Bar_Code_search__c in :BarCodeListP - and Bar_Code__c !=null - and Lose_Flag__c = true - AND Product_Type__c like : sqlagencyProType - AND Dealer_Info_text__c = :accountName - AND Arrive_Owner_Work_Location__c =: userWorkLocation - order by Name]; - - - for (Consumable_order_details2__c rs : productAdjust){ - // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart - if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�' ) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱')); - pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'); - carCodeListLose.add(rs.Bar_Code_search__c); - continue; - } - // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){ - ass.check = true; - } - } - if(!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)){ - reFindProductList.add(rs); - proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c); - } - if(barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)){ - continue; - }else{ - barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'瀵诲洖')); - pandiandetailsMap.put(rs.Id, '瀵诲洖'); - consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs)); - } - } - if(reFindProductList.size() > 0){ - Map<String,Product2__c> midMap = new Map<String,Product2__c>(); - List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); - List<Product2__c> product_Refind = [select Id, Name,Name__c,SFDA_Status__c,Packing_list_manual__c,Asset_Model_No__c - from Product2__c - WHERE Id in :proIdNotinpage.keySet()]; - for(Product2__c pro : product_Refind){ - midMap.put(pro.Id, pro); - } - for(Integer i = 0 ; i< reFindProductList.size();i++){ - //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap - if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�'){ - - if(newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c).clone(); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); -}else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c)); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); - } - }else if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�'){ - if(newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(reFindProductList[i].Consumable_product__c+reFindProductList[i].Box_Piece__c).clone(); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); - }else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c)); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); - } - } - } - for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){ - bss.check = true; - bss.overlimitCount = bss.countid - bss.limitCount; - boxRecords.add(bss); - } - boxRecords.sort(); - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ - bss.check = true; - bss.overlimitCount = bss.countid - bss.limitCount; - } - for(ConsumableorderdetailsInfo bss : boxRecords){ - consumableorderdetailsRecords.add(bss); - if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){ - consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); - //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece - newMidPieceMap.remove(bss.Prod.Id + '涓�'); - } - } - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ - consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); - } - } - - //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧 - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - for(integer i = 0 ; i<ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null){ - continue; - }else{ - carCodeListLose.add(ProductCount_Res[i].Bar_Code__c); - ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i])); - //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); - //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); - } - } - } - } - } - //宸茬粡鍑哄簱鐨勪骇鍝� - List<Consumable_order_details2__c> reSet2 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = TRUE - AND (Dealer_Shipment__c= TRUE - or Dealer_Saled__c = TRUE) - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code_search__c in :BarCodeListP - AND Dealer_Info_text__c = :accountName - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet2){ - needreturnMap.put(cod2.Bar_Code__c,cod2); - } - //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 - //List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, - // Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c, - // Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c, - // Bar_Code_search__c,Dealer_Info_text__c - // FROM Consumable_order_details2__c - // WHERE (Dealer_Arrive__c = TRUE - // or Dealer_Shipment__c= TRUE - // or Dealer_Saled__c = TRUE) - // AND Dealer_Returned__c = FALSE - // AND Cancellation_Flag__c = FALSE - // AND Bar_Code_search__c in :BarCodeListP - // AND (Dealer_Info_text__c != :accountName - // OR (Dealer_Info_text__c = :accountName - // AND Arrive_Owner_Work_Location__c != :userWorkLocation) - // ) - // ORDER BY Name ]; - //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); - //for(Consumable_order_details2__c cod2 :reSet1){ - // otherAgProMap.put(cod2.Bar_Code__c,cod2); - //} - carCodeListLose.clear(); - //鏈洏鐐瑰埌鐨勪骇鍝� - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - for(integer i = 0 ; i<ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)){ - continue; - } - if (ProductCount_Res[i].Isoverdue__c == 0) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); - pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); - if (pandianoverdueCountMap.containsKey(ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c) == false) { - pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1); - } else { - pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, pandianoverdueCountMap.get(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c) + 1); - } - continue; - } - - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); - pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); - } - } - // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝� - for(Consumable_order_details2__c cod2 : reSet1){ - if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){ - if(barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) - && otherAgProMap.containsKey(cod2.Bar_Code__c) - && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false - && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false ){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��')); - pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'); - continue; - } - } - } - // 闇�瑕佽繑鍝佺殑浜у搧 - for(Consumable_order_details2__c cod2 : reSet2){ - if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){ - if(needreturnMap.containsKey(cod2.Bar_Code__c)){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��')); - pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'); - continue; - } - } - } - } - } - - //鏇存柊涓绘槑缁嗗崟 - if(barCodeListPandianMap.size() > 0){ - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - integer countSum = 0; - if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { - countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece); - } - integer overdueSum = 0; - if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { - overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); - } - ass.Pandian = countSum; - ass.Diff = ass.countid - countSum - overdueSum; - ass.refind = 0; - } - } - }else{ - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - integer overdueSum = 0; - if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { - overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); - } - ass.Diff = ass.countid - ass.Pandian - overdueSum; - } - } - } - - - //瀵诲洖鍋氭垚 - for(ConsumableorderdetailsInfo ass :consumableorderdetailsRecords){ - for(ConsumableorderdetailsInfo adjust :consumableorderdetailsRecordsAdjust){ - if(ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c){ - if(reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)){ - continue; - }else { - ass.Pandian ++; - ass.refind ++; - reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c,adjust.orderdetails2.Bar_Code_search__c); - } - } - } - } - if (pandiandetailsMap.keySet().size() > 0) { - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - initStandardController(); - showcod2nid = cod2s(); - - } - for (Consumable_order_details2__c cod2 : showcod2nid) { - codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id))); - } - if(codPageRecords.size() > 0) done = true; - iSinventory = true; - consumableorderdetailsRecordserrordummy.clear(); - pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c, - Box_Piece__c,Lose_reason__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - for(Consumable_order_details2__c codDet : pandiandetailsList){ - codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id); - } - List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 : pandiandetailsList){ - pandiandetailsListMid.add(cod2); - if(pandiandetailsListMid.size() == 1000){ - pandiandetailsListShow.add(pandiandetailsListMid); - pandiandetailsListMid = new List<Consumable_order_details2__c>(); - } - } - if(pandiandetailsListMid.size() > 0){ + if (pandiandetailsListMid.size() > 0) { pandiandetailsListShow.add(pandiandetailsListMid); } + //鍒嗛〉 PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); totalCount = codPageRecords.size(); @@ -1020,101 +674,642 @@ data.put('pageCodeRecords', pageCodeRecords); //end - - System.debug('=====>codPageRecords2'+codPageRecords); - System.debug('=====>consumableorderdetailsRecords'+consumableorderdetailsRecords); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); - System.debug('iSinventory===>'+iSinventory); - data.put('iSinventory',JSON.serialize(iSinventory)); - System.debug('pandiandetailsMap===>'+pandiandetailsMap); - data.put('pandiandetailsMap',pandiandetailsMap); - data.put('reSet',reSet); - data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview)); - System.debug('=====>consumableorderdetailsRecordsview'+consumableorderdetailsRecordsview); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + 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', reSet1); + System.debug('reSet1===>' + reSet1); res.code = 200; - res.status = 'Sucess'; + res.status = 'Success1'; + return res; + } + + //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒� + //init(); + //CHAN-B7J4NB + Map<String, String> showproductIdMap = new Map<String, String>(); + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece); + } + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP)); + /***************************************************************************/ + // BarCode鐨勬绱� 鎵�鏈夊湪搴� + reSet = [ + SELECT Id, Consumable_Product__c, Consumable_Product__r.Name__c, Box_Piece__c, Bar_Code_search__c, Isoverdue__c + FROM Consumable_order_details2__c + WHERE + Bar_Code_search__c IN :BarCodeListP + AND Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Lose_Flag__c = FALSE + AND Cancellation_Date__c = NULL + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountName + ORDER BY Name + ]; + System.debug('reSet===>' + reSet); + Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 + // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� + Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 + // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� + Map<String, ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String, ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅 + //鐩樼偣鍒扮殑鏄庣粏 + for (Consumable_order_details2__c rs : reSet) { + //BarCodeListPandian.add(rs.Bar_Code_search__c); + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) { + ass.check = true; + } + } + + barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); + if (rs.Isoverdue__c == 0) { + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); + pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); + if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { + pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); + } else { + pandianoverdueCountMap.put( + rs.Consumable_Product__c + rs.Box_Piece__c, + pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1 + ); + } + continue; + } + if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { + pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); + } else { + pandianProdIdCountMap.put( + rs.Consumable_Product__c + rs.Box_Piece__c, + pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1 + ); + } + } + + // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 + List<Consumable_order_details2__c> reSet1 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Dealer_Shipment__c, + Dealer_Saled__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Dealer_Arrive__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + (Dealer_Arrive__c = TRUE + OR Dealer_Shipment__c = TRUE + OR Dealer_Saled__c = TRUE) + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code_search__c IN :BarCodeListP + AND (Dealer_Info_text__c != :accountName + OR (Dealer_Info_text__c = :accountName + AND Arrive_Owner_Work_Location__c != :userWorkLocation)) + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet1) { + otherAgProMap.put(cod2.Bar_Code__c, cod2); + } + // 闇�瑕佸叆搴撶殑浜у搧 + for (Consumable_order_details2__c cod2 : reSet1) { + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece) { + ass.check = true; + } + } + if (!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)) { + reFindProductList.add(cod2); + proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c); + } + if ( + !barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) && + otherAgProMap.containsKey(cod2.Bar_Code__c) && + (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true || + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true) + ) { + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��')); + pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'); + } + } + //瀵诲洖鏄庣粏 + List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>(); + productAdjust = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Lose_reason__c, + Asset_Model_No__c, + Box_Piece__c, + Bar_Code_search__c, + Isoverdue__c + FROM Consumable_order_details2__c + WHERE + Bar_Code_search__c IN :BarCodeListP + AND Bar_Code__c != NULL + AND Lose_Flag__c = TRUE + AND Product_Type__c LIKE :sqlagencyProType + AND Dealer_Info_text__c = :accountName + AND Arrive_Owner_Work_Location__c = :userWorkLocation + ORDER BY Name + ]; + + for (Consumable_order_details2__c rs : productAdjust) { + // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart + if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�') { + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱')); + pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'); + carCodeListLose.add(rs.Bar_Code_search__c); + continue; + } + // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) { + ass.check = true; + } + } + if (!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)) { + reFindProductList.add(rs); + proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c); + } + if (barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)) { + continue; + } else { + barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '瀵诲洖')); + pandiandetailsMap.put(rs.Id, '瀵诲洖'); + consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs)); + } + } + if (reFindProductList.size() > 0) { + Map<String, Product2__c> midMap = new Map<String, Product2__c>(); + List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); + List<Product2__c> product_Refind = [ + SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c + FROM Product2__c + WHERE Id IN :proIdNotinpage.keySet() + ]; + for (Product2__c pro : product_Refind) { + midMap.put(pro.Id, pro); + } + for (Integer i = 0; i < reFindProductList.size(); i++) { + //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap + if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�') { + if (newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidBoxMap.get( + reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c + ) + .clone(); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(reFindProductList[i].Consumable_Product__c) + ); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } + } else if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�') { + if (newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( + reFindProductList[i].Consumable_product__c + reFindProductList[i].Box_Piece__c + ) + .clone(); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(reFindProductList[i].Consumable_Product__c) + ); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } + } + } + for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) { + bss.check = true; + bss.overlimitCount = bss.countid - bss.limitCount; + boxRecords.add(bss); + } + boxRecords.sort(); + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { + bss.check = true; + bss.overlimitCount = bss.countid - bss.limitCount; + } + for (ConsumableorderdetailsInfo bss : boxRecords) { + consumableorderdetailsRecords.add(bss); + if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) { + consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); + //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece + newMidPieceMap.remove(bss.Prod.Id + '涓�'); + } + } + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { + consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); + } + } + + //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧 + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + for (integer i = 0; i < ProductCount_Res.size(); i++) { + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null) { + continue; + } else { + carCodeListLose.add(ProductCount_Res[i].Bar_Code__c); + ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i])); + //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); + //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); + } + } + } + } + } + //宸茬粡鍑哄簱鐨勪骇鍝� + List<Consumable_order_details2__c> reSet2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND (Dealer_Shipment__c = TRUE + OR Dealer_Saled__c = TRUE) + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code_search__c IN :BarCodeListP + AND Dealer_Info_text__c = :accountName + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet2) { + needreturnMap.put(cod2.Bar_Code__c, cod2); + } + //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 + //List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, + // Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c, + // Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c, + // Bar_Code_search__c,Dealer_Info_text__c + // FROM Consumable_order_details2__c + // WHERE (Dealer_Arrive__c = TRUE + // or Dealer_Shipment__c= TRUE + // or Dealer_Saled__c = TRUE) + // AND Dealer_Returned__c = FALSE + // AND Cancellation_Flag__c = FALSE + // AND Bar_Code_search__c in :BarCodeListP + // AND (Dealer_Info_text__c != :accountName + // OR (Dealer_Info_text__c = :accountName + // AND Arrive_Owner_Work_Location__c != :userWorkLocation) + // ) + // ORDER BY Name ]; + //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); + //for(Consumable_order_details2__c cod2 :reSet1){ + // otherAgProMap.put(cod2.Bar_Code__c,cod2); + //} + carCodeListLose.clear(); + //鏈洏鐐瑰埌鐨勪骇鍝� + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + for (integer i = 0; i < ProductCount_Res.size(); i++) { + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)) { + continue; + } + if (ProductCount_Res[i].Isoverdue__c == 0) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��') + ); + pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); + if ( + pandianoverdueCountMap.containsKey( + ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c + ) == false + ) { + pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1); + } else { + pandianoverdueCountMap.put( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, + pandianoverdueCountMap.get( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c + ) + 1 + ); + } + continue; + } + + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け')); + pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); + } + } + // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝� + for (Consumable_order_details2__c cod2 : reSet1) { + if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) { + if ( + barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) && + otherAgProMap.containsKey(cod2.Bar_Code__c) && + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false && + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false + ) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo( + cod2, + '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��' + ) + ); + pandiandetailsMap.put( + cod2.Id, + '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��' + ); + continue; + } + } + } + // 闇�瑕佽繑鍝佺殑浜у搧 + for (Consumable_order_details2__c cod2 : reSet2) { + if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) { + if (needreturnMap.containsKey(cod2.Bar_Code__c)) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(cod2, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��') + ); + pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'); + continue; + } + } + } + } + } + + //鏇存柊涓绘槑缁嗗崟 + if (barCodeListPandianMap.size() > 0) { + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + integer countSum = 0; + if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { + countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece); + } + integer overdueSum = 0; + if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { + overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); + } + ass.Pandian = countSum; + ass.Diff = ass.countid - countSum - overdueSum; + ass.refind = 0; + } + } + } else { + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + integer overdueSum = 0; + if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { + overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); + } + ass.Diff = ass.countid - ass.Pandian - overdueSum; + } + } + } + + //瀵诲洖鍋氭垚 + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + for (ConsumableorderdetailsInfo adjust : consumableorderdetailsRecordsAdjust) { + if (ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c) { + if (reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)) { + continue; + } else { + ass.Pandian++; + ass.refind++; + reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c, adjust.orderdetails2.Bar_Code_search__c); + } + } + } + } + if (pandiandetailsMap.keySet().size() > 0) { + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + initStandardController(); + showcod2nid = cod2s(); + } + for (Consumable_order_details2__c cod2 : showcod2nid) { + codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))); + } + if (codPageRecords.size() > 0) + done = true; + iSinventory = true; + consumableorderdetailsRecordserrordummy.clear(); + pandiandetailsList = [ + SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + for (Consumable_order_details2__c codDet : pandiandetailsList) { + codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id); + } + List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : pandiandetailsList) { + pandiandetailsListMid.add(cod2); + if (pandiandetailsListMid.size() == 1000) { + pandiandetailsListShow.add(pandiandetailsListMid); + pandiandetailsListMid = new List<Consumable_order_details2__c>(); + } + } + if (pandiandetailsListMid.size() > 0) { + pandiandetailsListShow.add(pandiandetailsListMid); + } + //鍒嗛〉 + PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); + totalCount = codPageRecords.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<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>(); + startIdx = pageToken; + endIdx = startIdx + pageSize; + if (endIdx > codPageRecords.size()) { + endIdx = codPageRecords.size(); + } + for (Integer i = startIdx; i < endIdx; i++) { + pageCodeRecords.add(codPageRecords.get(i)); + } + + data.put('paginatedAccounts', paginatedAccounts); + data.put('pageCodeRecords', pageCodeRecords); + + //end + + System.debug('=====>codPageRecords2' + codPageRecords); + System.debug('=====>consumableorderdetailsRecords' + consumableorderdetailsRecords); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); + System.debug('iSinventory===>' + iSinventory); + data.put('iSinventory', JSON.serialize(iSinventory)); + System.debug('pandiandetailsMap===>' + pandiandetailsMap); + data.put('pandiandetailsMap', pandiandetailsMap); + data.put('reSet', reSet); + data.put('consumableorderdetailsRecordsview', JSON.serialize(consumableorderdetailsRecordsview)); + System.debug('=====>consumableorderdetailsRecordsview' + consumableorderdetailsRecordsview); + res.code = 200; + res.status = 'Sucess'; + return res; } - + // 淇濆瓨鎸夐挳 @AuraEnabled - public static ResponseBodyLWC save(Boolean iSinventory,String consumableorderdetailsRecordsLWC,String accountid,String agencyProType,Map<Id,String> pandiandetailsMap,List<Consumable_order_details2__c> reSet) { - List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class); + public static ResponseBodyLWC save( + Boolean iSinventory, + String consumableorderdetailsRecordsLWC, + String accountid, + String agencyProType, + Map<Id, String> pandiandetailsMap, + List<Consumable_order_details2__c> reSet + ) { + List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetailsRecordsLWC, + List<ConsumableorderdetailsInfo>.class + ); agencyProType = agencyProType; - accountid =accountid; + accountid = accountid; pandiandetailsMap = pandiandetailsMap; - reSet =reSet; - System.debug('pandiandetailsMap===>'+pandiandetailsMap); + reSet = reSet; + System.debug('pandiandetailsMap===>' + pandiandetailsMap); ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂� StaticParameter.EscapeConsumableOrderDetail2Trigger = true; - if(!iSinventory){ - return new ResponseBodyLWC('Error',500, '璇峰厛褰曞叆BarCode', ''); + if (!iSinventory) { + return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', ''); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�')); // return null; } integer Lo = 0; - for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){ - if(header.check==true){ + for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) { + if (header.check == true) { Lo++; } } - if(Lo == 0){ + if (Lo == 0) { iSinventory = false; // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏')); // return null; - return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', ''); + return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', ''); } - for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){ - if(header.check==true){ + for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) { + if (header.check == true) { //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + ' '+header.prod.Name__c)); //return null; - if((header.DiffReason == ''||header.DiffReason ==null)&&header.Diff>0){ - return new ResponseBodyLWC('Error',500, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�', ''); + if ((header.DiffReason == '' || header.DiffReason == null) && header.Diff > 0) { + return new ResponseBodyLWC('Error', 500, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�', ''); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�')); // return null; - }else if ((header.DiffReason != ''&&header.DiffReason !=null)&&header.Diff==0){ + } else if ((header.DiffReason != '' && header.DiffReason != null) && header.Diff == 0) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�')); // return null; - return new ResponseBodyLWC('Error',500, header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', ''); + return new ResponseBodyLWC('Error', 500, header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', ''); } } } 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 = accountid; Po.Order_ProType__c = agencyProType; Po.RecordTypeid = System.Label.RT_ConOrder_Inventory; - try{ - insert Po; + try { + insert Po; eSetId = Po.id; - List<Consumable_order__c> Consumable_order = [SELECT Name FROM Consumable_order__c WHERE id =:Po.id]; - List<Consumable_orderdetails__c> InsList = New List<Consumable_orderdetails__c>(); - List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>(); - List<Consumable_order_details2__c> updListAdjust = New List<Consumable_order_details2__c>(); - Map<String,String> ErrorName = new Map<String,String>(); - Map<String,Boolean> CheckTF = new Map<String,Boolean>(); - for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){ - if(header.check==true){ + List<Consumable_order__c> Consumable_order = [ + SELECT Name + FROM Consumable_order__c + WHERE id = :Po.id + ]; + List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>(); + List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>(); + List<Consumable_order_details2__c> updListAdjust = new List<Consumable_order_details2__c>(); + Map<String, String> ErrorName = new Map<String, String>(); + Map<String, Boolean> CheckTF = new Map<String, Boolean>(); + for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) { + if (header.check == true) { Consumable_orderdetails__c insPan = new 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 = Consumable_order[0].Name + '-'+ str; + insPan.Name = Consumable_order[0].Name + '-' + str; insPan.Consumable_Product__c = header.ProdId; - ErrorName.put(insPan.Consumable_Product__c,header.DiffReason); - CheckTF.put(insPan.Consumable_product__c,true); + ErrorName.put(insPan.Consumable_Product__c, header.DiffReason); + CheckTF.put(insPan.Consumable_product__c, true); insPan.Consumable_order__c = Po.Id; insPan.Lose_reason__c = header.DiffReason; insPan.Diff__c = header.Diff; @@ -1122,60 +1317,67 @@ insPan.inventory_sum__c = header.Pandian; insPan.Count_Sum__c = header.countid; insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory; - orderDetNo ++; + orderDetNo++; InsList.add(insPan); } } - if(InsList.size()>0){ + if (InsList.size() > 0) { insert InsList; } - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - for(Consumable_order_details2__c cod : showcod2){ + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + for (Consumable_order_details2__c cod : showcod2) { Consumable_order_details2__c InsDetail = new Consumable_order_details2__c(); - InsDetail.Id =cod.Id; + InsDetail.Id = cod.Id; InsDetail.Consumable_Inventory_order__c = po.Id; InsDetail.Inventory_date__c = Date.today(); // 20210224 gzw CHAN-BXF3PG start // if(pandiandetailsMap.get(cod.Id) == '涓㈠け' ){ - if(pandiandetailsMap.get(cod.Id) == '涓㈠け' && CheckTF.containsKey(cod.Consumable_product__c)){ - // 20210224 gzw CHAN-BXF3PG end + if (pandiandetailsMap.get(cod.Id) == '涓㈠け' && CheckTF.containsKey(cod.Consumable_product__c)) { + // 20210224 gzw CHAN-BXF3PG end InsDetail.Lose_reason__c = ErrorName.get(cod.Consumable_product__c); InsDetail.Lose_Flag__c = true; - }else if(pandiandetailsMap.get(cod.Id) == '瀵诲洖' ){ + } else if (pandiandetailsMap.get(cod.Id) == '瀵诲洖') { InsDetail.Lose_reason__c = ''; InsDetail.Lose_Flag__c = false; - }else{ + } else { continue; } InsListUp.add(InsDetail); } - for(Consumable_order_details2__c rs : reSet){ + for (Consumable_order_details2__c rs : reSet) { rs.Inventory_date__c = Date.today(); } - if(reSet.size() > 0){ + if (reSet.size() > 0) { update reSet; } - if(InsListUp.size()>0){ - ControllerUtil.updateOrderDetailsSatus(InsListUp);// Commented By DTT - Li Jun for testing 20230407 + if (InsListUp.size() > 0) { + ControllerUtil.updateOrderDetailsSatus(InsListUp); // Commented By DTT - Li Jun for testing 20230407 } - - }catch (Exception e) { + } catch (Exception e) { Database.rollback(sp); // ApexPages.addMessages(ex); - return new ResponseBodyLWC('Error',500, e.getMessage()+e.getLineNumber(), ''); + return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), ''); // return null; } // FIXME impliment BarCodeListAdjust /************************************************************************************************/ // return ProS(); - data.put('eSetId',eSetId); - data.put('InsListUp',InsListUp); + data.put('eSetId', eSetId); + data.put('InsListUp', InsListUp); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); @@ -1187,15 +1389,15 @@ // 杩斿洖鐩樼偣涓�瑙� PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId); ref.setRedirect(true); - return ref; + return ref; } //CSV鍑哄姏 public PageReference doClick() { Pagereference pr = page.InventoryCSV; return pr; } - //鍒嗛〉Bean - public class PaginatedAccounts { + //鍒嗛〉Bean + public class PaginatedAccounts { @AuraEnabled public Integer nextPageToken; @AuraEnabled @@ -1209,6 +1411,7 @@ } // Data Bean + @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Boolean check { get; set; } @@ -1221,7 +1424,7 @@ @AuraEnabled public Decimal countid { get; set; } @AuraEnabled - public String ProdId{get;set;} + public String ProdId { get; set; } @AuraEnabled public Decimal Pandian { get; set; } @AuraEnabled @@ -1240,14 +1443,13 @@ public Decimal overlimitCount { get; set; } @AuraEnabled public String boxPiece { get; set; } - public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) { - + public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) { orderdetails2 = e; Prod = e.Consumable_Product__r; //e.Lose_reason__c = str; DiffReason = str; } - + // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢� public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { check = false; @@ -1259,9 +1461,9 @@ check = false; //orderdetails1 = new Consumable_orderdetails__c(); Prod = e; - canSelect = true; + canSelect = true; ProdId = string.valueOf(e.id); - countid =0; + countid = 0; Pandian = 0; refind = 0; Diff = 0; @@ -1270,14 +1472,14 @@ } // 鎺掑簭 public Integer compareTo(Object compareTo) { - ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo; + ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo; Integer returnValue = 0; - if (countid > compareToesd.countid ) { + if (countid > compareToesd.countid) { returnValue = -1; - } else if (countid < compareToesd.countid ) { + } else if (countid < compareToesd.countid) { returnValue = 1; } return returnValue; } } -} \ No newline at end of file +} -- Gitblit v1.9.1