From b5c5eb130ca0848124f9d136af4be142ad5aac07 Mon Sep 17 00:00:00 2001 From: binxie <137736985@qq.com> Date: 星期一, 26 六月 2023 14:42:02 +0800 Subject: [PATCH] backup0626 --- force-app/main/default/classes/LexInventoryController.cls | 1734 ++++++++++++++++++++++++++--------------------------------- 1 files changed, 772 insertions(+), 962 deletions(-) diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls index 7380b26..564eded 100644 --- a/force-app/main/default/classes/LexInventoryController.cls +++ b/force-app/main/default/classes/LexInventoryController.cls @@ -4,45 +4,44 @@ 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; - public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; + private 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; @@ -57,12 +56,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; @@ -73,79 +72,65 @@ //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'; @@ -157,21 +142,21 @@ 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, @@ -185,135 +170,123 @@ // 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('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); + + 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)); 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>(); @@ -324,41 +297,44 @@ //閫夋嫨浜у搧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 List<String>{}; + 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) { + 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 @@ -369,78 +345,53 @@ //========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); - System.debug('BarCodeListP===>' + BarCodeListP); + List<String> BarCodeListP = ParseBarCode( barcode ); //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨 - 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); + 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 ]; 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>(); @@ -448,23 +399,20 @@ 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++) { - 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)) { + 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)){ 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])); @@ -476,170 +424,576 @@ } //宸茬粡鍑哄簱鐨勪骇鍝� - 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); + 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){ + pandiandetailsListShow.add(pandiandetailsListMid); + } //鍒嗛〉 PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); totalCount = codPageRecords.size(); @@ -666,638 +1020,101 @@ 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); + + 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 = 'Success1'; - + res.status = 'Sucess'; 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; @@ -1305,67 +1122,60 @@ 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); @@ -1377,15 +1187,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 @@ -1399,7 +1209,6 @@ } // Data Bean - @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Boolean check { get; set; } @@ -1412,7 +1221,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 @@ -1431,13 +1240,14 @@ 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; @@ -1449,9 +1259,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; @@ -1460,11 +1270,11 @@ } // 鎺掑簭 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; -- Gitblit v1.9.1