| | |
| | | //经销商信息 |
| | | public static account accountInfo; |
| | | /*****************画面表示Bean******************/ |
| | | public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); |
| | | public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords =new List<ConsumableorderdetailsInfo>(); |
| | | public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>(); |
| | | //page |
| | | public static Integer pagesize { get; set; } |
| | |
| | | // public static Boolean hasPrevious; |
| | | // public static Boolean hasNext; |
| | | public static List<ConsumableorderdetailsInfo> pageRecords; |
| | | public static String soql { get; set; } |
| | | public static String soql {get;set;} |
| | | // 汇总使用 |
| | | public static Integer Total_num; |
| | | public static Integer OrderNumber_arrived; |
| | |
| | | public static List<Consumable_order__c> raesList; |
| | | /*****************一周未到货订单一览对应end******************/ |
| | | //排序使用 |
| | | private static String[] orderby = new List<String>{ 'Product2__c.Name__c' }; |
| | | private static String[] orderby = new String[]{ 'Product2__c.Name__c'}; |
| | | //产品上下限 |
| | | public static String[] proLimitAndDate = new List<String>{}; |
| | | public static String[] proLimitAndDate =new String[]{}; |
| | | public static String product_Limit; |
| | | //库存产品最早有效期限 |
| | | private static Map<String, Date> productkucun = new Map<String, Date>(); |
| | | private static Map<String,Date> productkucun = new Map<String,Date>(); |
| | | //消费期限小于一年的产品 |
| | | public static List<ConsumableorderdetailsInfo> overlimitdateorderdetails = new List<ConsumableorderdetailsInfo>(); |
| | | public static String accountid; |
| | |
| | | public static Boolean hasHos; |
| | | |
| | | @AuraEnabled |
| | | public static Results initAgency() { |
| | | public static Results initAgency(){ |
| | | Results results = new Results(); |
| | | results.isNoteStay = LexUtility.getIsNoteStay(); |
| | | try { |
| | | User useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; |
| | | User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:UserInfo.getUserId()]; |
| | | accountid = useracc.accountid; |
| | | List<Account> accList = new List<Account>(); |
| | | accList = [ |
| | | SELECT |
| | | Name, |
| | | Ban_On_Use_Reason__c, |
| | | Deposit_Price__c, |
| | | Medical_Equipment_Num__c, |
| | | Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c, |
| | | Tax_Practice_No__c, |
| | | Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c, |
| | | Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c, |
| | | Dealer_discount__c, |
| | | Phone, |
| | | Address_Together__c, |
| | | Is_Active_Formula__c, |
| | | Management_Code__c, |
| | | Sales_Shop_Class__c, |
| | | Postal_Code__c, |
| | | Fax, |
| | | Address__c, |
| | | Deposit_Receipt_Finished__c, |
| | | accList = [SELECT Name,Ban_On_Use_Reason__c,Deposit_Price__c, |
| | | Medical_Equipment_Num__c,Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c,Tax_Practice_No__c,Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c,Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c,Dealer_discount__c, |
| | | Phone,Address_Together__c,Is_Active_Formula__c, |
| | | Management_Code__c,Sales_Shop_Class__c,Postal_Code__c, |
| | | Fax,Address__c,Deposit_Receipt_Finished__c, |
| | | Deposit_Receipt_Completion_Day__c, |
| | | Product_Limit_Date__c, |
| | | Product_Limit_DateENG__c |
| | | FROM account |
| | | WHERE id = :accountid |
| | | ]; |
| | | if (accList.size() == 1) { |
| | | FROM account WHERE id =:accountid]; |
| | | if(accList.size() == 1){ |
| | | accountInfo = accList[0]; |
| | | } else { |
| | | }else{ |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '未获取到经销商信息'; |
| | | return results; |
| | | } |
| | | results.result = 'Success'; |
| | | results.accountInfo = accountInfo; |
| | | } catch (Exception e) { |
| | | }catch(Exception e){ |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | results.errorMsg = e.getLineNumber()+'---'+e.getMessage(); |
| | | } |
| | | return results; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results initPage(Integer pageSizeLWC, Integer pageTokenLWC) { |
| | | public static Results initPage(Integer pageSizeLWC,Integer pageTokenLWC){ |
| | | pageSize = pageSizeLWC; |
| | | pageToken = pageTokenLWC; |
| | | Results results = new Results(); |
| | |
| | | // pagesize = Integer.valueof(system.label.orderdetLimitsize); |
| | | // currentpage = 0; |
| | | |
| | | User useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; |
| | | User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:UserInfo.getUserId()]; |
| | | // String uid = '0051000000E7Pv9AAF'; |
| | | // User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:uid]; |
| | | accountid = useracc.accountid; |
| | | userWorkLocation = useracc.Work_Location__c; |
| | | userPro_Type = useracc.UserPro_Type__c; |
| | | if (String.isBlank(userPro_Type)) { |
| | | if(String.isBlank(userPro_Type)){ |
| | | userPro_Type = 'ET'; |
| | | } |
| | | userPro_Typestr = '%' + userPro_Type + '%'; |
| | | if (userPro_Type == 'ENG') { |
| | | if(userPro_Type == 'ENG'){ |
| | | EngFlag = true; |
| | | } else { |
| | | }else{ |
| | | ETFlag = true; |
| | | } |
| | | //经销商·基本信息获取 |
| | | List<Account> accList = new List<Account>(); |
| | | accList = [ |
| | | SELECT |
| | | Name, |
| | | Ban_On_Use_Reason__c, |
| | | Deposit_Price__c, |
| | | Medical_Equipment_Num__c, |
| | | Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c, |
| | | Tax_Practice_No__c, |
| | | Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c, |
| | | Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c, |
| | | Dealer_discount__c, |
| | | Phone, |
| | | Address_Together__c, |
| | | Is_Active_Formula__c, |
| | | Management_Code__c, |
| | | Sales_Shop_Class__c, |
| | | Postal_Code__c, |
| | | Fax, |
| | | Address__c, |
| | | Deposit_Receipt_Finished__c, |
| | | accList = [SELECT Name,Ban_On_Use_Reason__c,Deposit_Price__c, |
| | | Medical_Equipment_Num__c,Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c,Tax_Practice_No__c,Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c,Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c,Dealer_discount__c, |
| | | Phone,Address_Together__c,Is_Active_Formula__c, |
| | | Management_Code__c,Sales_Shop_Class__c,Postal_Code__c, |
| | | Fax,Address__c,Deposit_Receipt_Finished__c, |
| | | Deposit_Receipt_Completion_Day__c, |
| | | Product_Limit_Date__c, |
| | | Product_Limit_DateENG__c |
| | | FROM account |
| | | WHERE id = :accountid |
| | | ]; |
| | | if (accList.size() == 1) { |
| | | FROM account WHERE id =:accountid]; |
| | | if(accList.size() == 1){ |
| | | accountInfo = accList[0]; |
| | | } else { |
| | | }else{ |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '未获取到经销商信息'; |
| | | return results; |
| | | } |
| | | accountName = accountInfo.Name; |
| | | if (EngFlag) { |
| | | product_Limit = accountInfo.Product_Limit_DateENG__c; |
| | | } else if (ETFlag) { |
| | | if(EngFlag){ |
| | | product_Limit = accountInfo.Product_Limit_DateENG__c; |
| | | }else if(ETFlag){ |
| | | product_Limit = accountInfo.Product_Limit_Date__c; |
| | | } |
| | | if (product_Limit != null && product_Limit != '') { |
| | | if(product_Limit != null && product_Limit !=''){ |
| | | proLimitAndDate = product_Limit.split(','); |
| | | } |
| | | List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); |
| | | //库存明细取得 |
| | | //库存明细取得 |
| | | orderDetZaikuList = new List<String>(); |
| | | List<AggregateResult> orderDetZaiku = [ |
| | | SELECT count(Id), Consumable_Product__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Cancellation_Flag__c = FALSE |
| | | AND Bar_Code__c != NULL |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | GROUP BY Consumable_Product__c |
| | | ]; |
| | | for (AggregateResult zaikuId : orderDetZaiku) { |
| | | List<AggregateResult> orderDetZaiku = [SELECT count(Id), |
| | | Consumable_Product__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Dealer_Shipment__c = false |
| | | AND Dealer_Saled__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Dealer_Returned__c = false |
| | | AND Cancellation_Flag__c = false |
| | | AND Bar_Code__c !=null |
| | | AND Product_Type__c like : userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | group by Consumable_Product__c]; |
| | | for(AggregateResult zaikuId : orderDetZaiku){ |
| | | orderDetZaikuList.add(String.valueOf(zaikuId.get('Consumable_Product__c'))); |
| | | } |
| | | Map<String, Product2__c> MidMap = new Map<String, Product2__c>(); |
| | | List<Product2__c> product2Selected = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Name__c, |
| | | Asset_Model_No__c, |
| | | Category3__c, |
| | | Category4__c, |
| | | Category5__c, |
| | | SFDA_Status__c, |
| | | Product2__r.SFDA_Approbation_No__c, |
| | | Product2__r.SFDA_Expiration_Date__c, |
| | | Product2__r.Packing_list_manual__c |
| | | FROM Product2__c |
| | | WHERE Id IN :orderDetZaikuList |
| | | ]; |
| | | Map<String,Product2__c> MidMap = new Map<String,Product2__c>(); |
| | | List<Product2__c> product2Selected = [SELECT Id, Name, |
| | | Name__c, |
| | | Asset_Model_No__c, |
| | | Category3__c, |
| | | Category4__c, |
| | | Category5__c, |
| | | SFDA_Status__c, |
| | | Product2__r.SFDA_Approbation_No__c, |
| | | Product2__r.SFDA_Expiration_Date__c, |
| | | Product2__r.Packing_list_manual__c |
| | | FROM Product2__c |
| | | WHERE Id in :orderDetZaikuList |
| | | ]; |
| | | |
| | | for (Integer i = 0; i < product2Selected.size(); i++) { |
| | | MidMap.put(product2Selected[i].Id, product2Selected[i]); |
| | | } |
| | | //返品库存统计 |
| | | List<Consumable_order_details2__c> CountDel = [ |
| | | SELECT |
| | | Id, |
| | | List<Consumable_order_details2__c> CountDel = [SELECT Id, |
| | | Bar_Code__c, |
| | | Name, |
| | | Inventory_date__c, |
| | |
| | | Guarantee_period_for_products__c, |
| | | Isoverdue__c, |
| | | Box_Piece__c, |
| | | hospitalSpecialOffer__c |
| | | hospitalSpecialOffer__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 :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ]; |
| | | Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | Map<String, ConsumableorderdetailsInfo> newHosMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | Map<String, ConsumableorderdetailsInfo> newHosMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | for (Integer i = 0; i < CountDel.size(); i++) { |
| | | 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 : userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation]; |
| | | Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | Map<String,ConsumableorderdetailsInfo> newHosMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | Map<String,ConsumableorderdetailsInfo> newHosMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | for(Integer i = 0 ; i< CountDel.size();i++){ |
| | | //然后循环CountDel做Box和piece2个map |
| | | if (MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '盒') { |
| | | if(MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '盒'){ |
| | | String tex = 'A'; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | tex = 'B'; |
| | | } |
| | | if (newMidBoxMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) { |
| | | ConsumableorderdetailsInfo Jstage = newMidBoxMap.get( |
| | | CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex |
| | | ) |
| | | .clone(); |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | if(newMidBoxMap.containsKey(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex)){ |
| | | ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex).clone(); |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | }else{ |
| | | ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(CountDel[i].Consumable_Product__c)); |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | Jstage.hospitalSpecialOffer = true; |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | }else{ |
| | | Jstage.hospitalSpecialOffer = false; |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } |
| | | } |
| | | } else if (MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '个') { |
| | | }else if(MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '个'){ |
| | | String tex = 'A'; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | tex = 'B'; |
| | | } |
| | | if (newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) { |
| | | ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( |
| | | CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex |
| | | ) |
| | | .clone(); |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | if(newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex )){ |
| | | ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex).clone(); |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | }else{ |
| | | ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(CountDel[i].Consumable_Product__c)); |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | Jstage.hospitalSpecialOffer = true; |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex, Jstage); |
| | | }else{ |
| | | Jstage.hospitalSpecialOffer = false; |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex, Jstage); |
| | | } |
| | | } |
| | | } |
| | |
| | | consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); |
| | | List<ConsumableorderdetailsInfo> newHosMidBoxList = new List<ConsumableorderdetailsInfo>(); |
| | | //把Boxmap里的值从新赋给boxRecords |
| | | for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) { |
| | | if (bss.allnumber > 0) { |
| | | for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){ |
| | | if(bss.allnumber>0){ |
| | | bss.packing_list = Integer.valueof(bss.Prod.Product2__r.Packing_list_manual__c); |
| | | bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c; |
| | | bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c; |
| | |
| | | } |
| | | } |
| | | boxRecords.sort(); |
| | | for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { |
| | | if (bss.allnumber > 0) { |
| | | for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ |
| | | if(bss.allnumber>0){ |
| | | bss.packing_list = Integer.valueof(bss.Prod.Product2__r.Packing_list_manual__c); |
| | | bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c; |
| | | bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c; |
| | |
| | | //add by rentx 2020-11-27 先判断医院特价的盒 和 个 |
| | | //2020-11-27 日 于 rentx 注释 start |
| | | String temp = 'A'; |
| | | for (ConsumableorderdetailsInfo bss : boxRecords) { |
| | | for(ConsumableorderdetailsInfo bss : boxRecords){ |
| | | consumableorderdetailsRecords.add(bss); |
| | | //该产品是医院特价产品 |
| | | if (bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id + '个B')) { |
| | | if (newMidPieceMap.get(bss.Prod.Id + '个B').hospitalSpecialOffer) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个B')); |
| | | newMidPieceMap.remove(bss.Prod.Id + '个B'); |
| | | if (bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id+'个B')) { |
| | | if (newMidPieceMap.get(bss.Prod.Id+'个B').hospitalSpecialOffer) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id+'个B')); |
| | | newMidPieceMap.remove(bss.Prod.Id+'个B'); |
| | | } |
| | | } |
| | | |
| | | if (!bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id + '个A')) { |
| | | if (!bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id+'个A')) { |
| | | // if (newMidPieceMap.get(bss.Prod.Id+'个A')) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个A')); |
| | | newMidPieceMap.remove(bss.Prod.Id + '个A'); |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id+'个A')); |
| | | newMidPieceMap.remove(bss.Prod.Id+'个A'); |
| | | // } |
| | | } |
| | | } |
| | | |
| | | for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id + '个B')) { |
| | | for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id+'个B')) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个B')); |
| | | } |
| | | } |
| | | for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id + '个A')) { |
| | | for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id+'个A')) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个A')); |
| | | } |
| | | } |
| | |
| | | //2020-11-27 日 于 rentx 注释 end |
| | | // consumableorderdetailsRecords.addAll(newMidPieceMap.values()); |
| | | //2020-11-27 日 于 rentx 注释 end |
| | | |
| | | |
| | | notarriveorder(); |
| | | productLimtAndDate(); |
| | | datelimitSearch(); |
| | | //add by rentx |
| | | Integer ishos = 0; |
| | | for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { |
| | | if (productkucun.get(bss.Prod.Id) != null) { |
| | | for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){ |
| | | if(productkucun.get(bss.Prod.Id) != null){ |
| | | bss.guaranteeperiod = productkucun.get(bss.Prod.Id); |
| | | } |
| | | //add by rentx 2021-3-10 start |
| | | if (bss.hospitalSpecialOffer) { |
| | | ishos = ishos + 1; |
| | | ishos = ishos+1; |
| | | } |
| | | |
| | | } |
| | | if (ishos > 0) { |
| | | hasHos = true; |
| | | } else { |
| | | }else{ |
| | | hasHos = false; |
| | | } |
| | | //add by rentx 2021-3-10 end |
| | |
| | | //总件数 |
| | | totalCount = consumableorderdetailsRecords.size(); |
| | | //页数 |
| | | // pagecount=(totalcount + pagesize - 1) / pagesize; |
| | | // pagecount=(totalcount + pagesize - 1) / pagesize; |
| | | //显示第一页 |
| | | // moveToFirst(); |
| | | makeCurrentPageRecords(); |
| | | //分页 |
| | | //分页 |
| | | PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); |
| | | System.debug('pageToken==>' + pageToken); |
| | | System.debug('pageSize===>' + pageSize); |
| | | System.debug('pageToken==>'+ pageToken); |
| | | System.debug('pageSize===>'+ pageSize); |
| | | |
| | | paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null; |
| | | paginatedAccounts.recordStart = pageToken + 1; |
| | | paginatedAccounts.pageNumber = pageToken / pageSize + 1; |
| | | Integer recordEnd = pageSize * paginatedAccounts.pageNumber; |
| | | System.debug('paginatedAccounts.recordStart' + paginatedAccounts.recordStart); |
| | | System.debug('paginatedAccounts.pageNumber' + paginatedAccounts.pageNumber); |
| | | System.debug('paginatedAccounts.nextPageToken===>' + paginatedAccounts.nextPageToken); |
| | | System.debug('recordEnd' + recordEnd); |
| | | System.debug('paginatedAccounts.recordStart'+ paginatedAccounts.recordStart); |
| | | System.debug('paginatedAccounts.pageNumber'+ paginatedAccounts.pageNumber); |
| | | System.debug('paginatedAccounts.nextPageToken===>'+paginatedAccounts.nextPageToken); |
| | | System.debug('recordEnd'+ recordEnd); |
| | | |
| | | paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; |
| | | paginatedAccounts.totalRecords = totalCount; |
| | | //end |
| | | System.debug('PaginatedAccounts===>' + PaginatedAccounts); |
| | | //end |
| | | System.debug('PaginatedAccounts===>'+PaginatedAccounts); |
| | | |
| | | //赋值回传 |
| | | results.result = 'Success'; |
| | |
| | | results.deliveryDetailCount = Delivery_detail_count; |
| | | results.orderNumberNotarrive = OrderNumber_notarrive; |
| | | results.moreThanSevenDays = More_than_seven_days; |
| | | //add by WangXueqin 2023/05/05 |
| | | //add by WangXueqin 2023/05/05 |
| | | results.userPro_Type = userPro_Type; |
| | | results.paginatedAccounts = paginatedAccounts; |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | results.errorMsg = e.getLineNumber()+'---'+e.getMessage(); |
| | | } |
| | | return results; |
| | | } |
| | | |
| | | //超过一周未到货订单 |
| | | public static void notarriveorder() { |
| | | public static void notarriveorder(){ |
| | | //over_view = false; |
| | | Date orderdate = Date.today().addDays(-7); |
| | | |
| | | List<Consumable_order_details2__c> orderdetails = [ |
| | | SELECT Id, Name, Consumable_order_minor__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Deliver_date__c < :orderdate |
| | | AND Consumable_order_minor__c != NULL |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | AND Dealer_Arrive__c = FALSE |
| | | ]; |
| | | |
| | | List<Consumable_order_details2__c> orderdetails = [SELECT Id,Name,Consumable_order_minor__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Deliver_date__c < :orderdate |
| | | and Consumable_order_minor__c !=null |
| | | and Dealer_Info_text__c = :accountName |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | AND Dealer_Arrive__c = false |
| | | ]; |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO , 'userPro_Type——————' + userPro_Type)); |
| | | Map<String, String> notarriveorderMap = new Map<String, String>(); |
| | | List<String> notarriveorderid = new List<String>(); |
| | | for (Integer i = 0; i < orderdetails.size(); i++) { |
| | | if (notarriveorderMap.containsKey(orderdetails[i].Consumable_order_minor__c)) { |
| | | for(Integer i = 0; i < orderdetails.size(); i++){ |
| | | if(notarriveorderMap.containsKey(orderdetails[i].Consumable_order_minor__c)){ |
| | | continue; |
| | | } else { |
| | | }else{ |
| | | notarriveorderMap.put(orderdetails[i].Consumable_order_minor__c, orderdetails[i].Consumable_order_minor__c); |
| | | //notarriveorderid.add('\'' + orderdetails[i].Consumable_order_minor__c +'\''); |
| | | notarriveorderid.add(orderdetails[i].Consumable_order_minor__c); |
| | |
| | | column.add(fsm.getFieldPath()); |
| | | columns.add(fsm.getFieldPath().split('\\.')); |
| | | } |
| | | system.debug('columns=====================>' + columns); |
| | | system.debug('columns=====================>'+columns); |
| | | // 获得显示数据 |
| | | raesList = new List<Consumable_order__c>(); |
| | | String soql = 'select Id'; |
| | | for (String s : column) { |
| | | soql += ',' + s; |
| | | } |
| | | soql += |
| | | ' from Consumable_order__c where Order_type__c = \'' + |
| | | '订单' + |
| | | '\' and recordtypeid =\'' + |
| | | System.Label.RT_ConOrder_Delivery + |
| | | '\' and Dealer_Info__c =\'' + |
| | | accountid + |
| | | '\' and Delivery_detail_count__c > 0 and showFalseNotshowTrue__c = false '; |
| | | soql += ' and Order_ProType__c = \'' + userPro_Type + '\' '; |
| | | soql += ' from Consumable_order__c where Order_type__c = \''+'订单'+'\' and recordtypeid =\'' + System.Label.RT_ConOrder_Delivery + '\' and Dealer_Info__c =\'' + accountid +'\' and Delivery_detail_count__c > 0 and showFalseNotshowTrue__c = false '; |
| | | soql += ' and Order_ProType__c = \'' + userPro_Type + '\' ' ; |
| | | soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | |
| | | if (notarriveorderid.size() < 1) { |
| | | soql += ' AND Id = null '; |
| | | } else { |
| | | |
| | | if(notarriveorderid.size() < 1){ |
| | | soql +=' AND Id = null '; |
| | | }else{ |
| | | String sqlTail = '(\''; |
| | | for (Integer i = 0; i < notarriveorderid.size(); i++) { |
| | | if (i < notarriveorderid.size() - 1) { |
| | | sqlTail += notarriveorderid[i] + '\',\''; |
| | | } else { |
| | | sqlTail += notarriveorderid[i] + '\')'; |
| | | for(Integer i = 0 ; i< notarriveorderid.size();i++){ |
| | | if(i<notarriveorderid.size()-1){ |
| | | sqlTail += notarriveorderid[i]+'\',\''; |
| | | }else{ |
| | | sqlTail += notarriveorderid[i]+'\')'; |
| | | } |
| | | } |
| | | //over_view = true; |
| | | soql += ' AND Id in ' + sqlTail; |
| | | soql +=' AND Id in ' + sqlTail; |
| | | } |
| | | system.debug('soql_____11111__' + soql); |
| | | raesList = Database.query(soql); |
| | | // update end by vivek2020-01-15 |
| | | // update end by vivek2020-01-15 |
| | | Total_num = 0; |
| | | OrderNumber_arrived = 0; |
| | | Delivery_detail_count = 0; |
| | | OrderNumber_notarrive = 0; |
| | | More_than_seven_days = 0; |
| | | for (Consumable_order__c conorder : raesList) { |
| | | Total_num += (Integer) conorder.Total_num__c; |
| | | OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c; |
| | | Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c; |
| | | OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c; |
| | | More_than_seven_days += (Integer) conorder.More_than_seven_days__c; |
| | | for(Consumable_order__c conorder :raesList){ |
| | | Total_num += (Integer)conorder.Total_num__c; |
| | | OrderNumber_arrived += (Integer)conorder.OrderNumber_arrived__c; |
| | | Delivery_detail_count += (Integer)conorder.Delivery_detail_count__c; |
| | | OrderNumber_notarrive += (Integer)conorder.OrderNumber_notarrive__c; |
| | | More_than_seven_days += (Integer)conorder.More_than_seven_days__c; |
| | | } |
| | | // update end by vivek2020-01-15 |
| | | } |
| | | |
| | | public static void productLimtAndDate() { |
| | | public static void productLimtAndDate(){ |
| | | String nowName = null, nowRightAsstModelNo = null; |
| | | Map<String, String> productLimt = new Map<String, String>(); |
| | | for (Integer i = 0; i < proLimitAndDate.size(); i++) { |
| | | Map<String,String> productLimt = new Map<String,String>(); |
| | | for(Integer i = 0; i < proLimitAndDate.size(); i++){ |
| | | nowName = proLimitAndDate[i]; |
| | | if (nowName.indexOf('|') >= 0) { |
| | | nowRightAsstModelNo = nowName.subString(0, nowName.indexOf('|')); |
| | | nowName = nowName.subString(nowName.indexOf('|') + 1); |
| | | if( nowName.indexOf( '|') >= 0) { |
| | | nowRightAsstModelNo = nowName.subString( 0, nowName.indexOf( '|')); |
| | | nowName = nowName.subString( nowName.indexOf( '|')+1); |
| | | } |
| | | productLimt.put(nowRightAsstModelNo, nowName); |
| | | } |
| | | for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { |
| | | if (productLimt.containsKey(ass.Prod.Asset_Model_No__c)) { |
| | | ass.lowerlimit = decimal.valueOf( |
| | | productLimt.get(ass.Prod.Asset_Model_No__c).subString(0, productLimt.get(ass.Prod.Asset_Model_No__c).indexOf('|')) |
| | | ); |
| | | ass.upperlimit = decimal.valueOf( |
| | | productLimt.get(ass.Prod.Asset_Model_No__c).subString(productLimt.get(ass.Prod.Asset_Model_No__c).indexOf('|') + 1) |
| | | ); |
| | | } |
| | | for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ |
| | | if(productLimt.containsKey(ass.Prod.Asset_Model_No__c)){ |
| | | ass.lowerlimit = decimal.valueOf(productLimt.get(ass.Prod.Asset_Model_No__c).subString(0, productLimt.get(ass.Prod.Asset_Model_No__c).indexOf( '|'))); |
| | | ass.upperlimit = decimal.valueOf(productLimt.get(ass.Prod.Asset_Model_No__c).subString(productLimt.get(ass.Prod.Asset_Model_No__c).indexOf( '|')+1)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static void datelimitSearch() { |
| | | public static void datelimitSearch(){ |
| | | Set<String> barcodekucun = new Set<String>(); |
| | | //--------UpdateStart-----XHL--------------20180929------------- |
| | | List<Consumable_order_details2__c> orderkucun = [ |
| | | SELECT |
| | | Id, |
| | | Bar_Code__c, |
| | | Name, |
| | | Consumable_Product__c, |
| | | Recordtypeid, |
| | | Guarantee_period_for_products__c, |
| | | Sterilization_limit__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 Bar_Code__c != NULL |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ORDER BY Consumable_Product__c, Sterilization_limit__c ASC |
| | | ]; |
| | | List<Consumable_order_details2__c> orderkucun = [SELECT Id,Bar_Code__c, Name,Consumable_Product__c, |
| | | Recordtypeid,Guarantee_period_for_products__c, |
| | | Sterilization_limit__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 Bar_Code__c !=null |
| | | AND Product_Type__c like :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ORDER BY Consumable_Product__c, Sterilization_limit__c asc ]; |
| | | //--------UpdateEnd-----XHL--------------20180929------------- |
| | | for (Integer i = 0; i < orderkucun.size(); i++) { |
| | | if (productkucun.containsKey(orderkucun[i].Consumable_Product__c)) { |
| | | for(Integer i = 0 ; i< orderkucun.size();i++){ |
| | | if(productkucun.containsKey(orderkucun[i].Consumable_Product__c)){ |
| | | continue; |
| | | } else { |
| | | }else{ |
| | | productkucun.put(orderkucun[i].Consumable_Product__c, orderkucun[i].Sterilization_limit__c); |
| | | } |
| | | } |
| | | barcodekucun.clear(); |
| | | for (Integer i = 0; i < orderkucun.size(); i++) { |
| | | if (orderkucun[i].Sterilization_limit__c < Date.today().addYears(1)) { |
| | | if (barcodekucun.contains(orderkucun[i].Bar_Code__c)) { |
| | | for(Integer i = 0 ; i< orderkucun.size();i++){ |
| | | if(orderkucun[i].Sterilization_limit__c < Date.today().addYears(1)){ |
| | | if(barcodekucun.contains(orderkucun[i].Bar_Code__c)){ |
| | | continue; |
| | | } else { |
| | | }else{ |
| | | barcodekucun.add(orderkucun[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | List<AggregateResult> overlimitdatedetails = [ |
| | | SELECT Asset_Model_No__c prodName, Box_Piece__c BoxPiece, count(id) countid |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Bar_Code__c IN :barcodekucun |
| | | 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 |
| | | GROUP BY Asset_Model_No__c, Box_Piece__c |
| | | ORDER BY Asset_Model_No__c, Box_Piece__c |
| | | ]; |
| | | for (Integer i = 0; i < overlimitdatedetails.size(); i++) { |
| | | List<AggregateResult> overlimitdatedetails = [SELECT Asset_Model_No__c prodName , |
| | | Box_Piece__c BoxPiece,count(id) countid |
| | | FROM Consumable_order_details2__c |
| | | WHERE Bar_Code__c in :barcodekucun |
| | | 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 |
| | | GROUP BY Asset_Model_No__c,Box_Piece__c |
| | | ORDER BY Asset_Model_No__c,Box_Piece__c]; |
| | | for(Integer i = 0 ; i< overlimitdatedetails.size();i++){ |
| | | overlimitdateorderdetails.add(new ConsumableorderdetailsInfo(overlimitdatedetails[i])); |
| | | } |
| | | } |
| | |
| | | // } |
| | | |
| | | //编辑当前页内容 |
| | | public static void makeCurrentPageRecords() { |
| | | public static void makeCurrentPageRecords(){ |
| | | Integer startIdx; |
| | | Integer endIdx; |
| | | pageRecords = new List<ConsumableorderdetailsInfo>(); |
| | |
| | | @AuraEnabled |
| | | public String BoxPiece { get; set; } |
| | | @AuraEnabled |
| | | public Boolean hospitalSpecialOffer { get; set; } |
| | | public Boolean hospitalSpecialOffer { get; set ;} |
| | | |
| | | public ConsumableorderdetailsInfo(Product2__c e) { |
| | | //check = false; |
| | |
| | | allnumber = 0; |
| | | limitCount = 0; |
| | | overlimitCount = 0; |
| | | |
| | | } |
| | | |
| | | public ConsumableorderdetailsInfo(AggregateResult e) { |
| | | countid = Integer.valueOf(e.get('countid')); |
| | | countid =Integer.valueOf(e.get('countid')); |
| | | prodName = String.valueOf(e.get('prodname')); |
| | | BoxPiece = String.valueOf(e.get('BoxPiece')); |
| | | } |
| | | |
| | | // 排序 |
| | | public Integer compareTo(Object compareTo) { |
| | | ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo; |
| | | ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo; |
| | | Integer returnValue = 0; |
| | | if (allnumber > compareToesd.allnumber) { |
| | | returnValue = -1; |
| | |
| | | public List<ConsumableorderdetailsInfo> pageCodeRecords; |
| | | @AuraEnabled |
| | | public PaginatedAccounts paginatedAccounts; |
| | | |
| | | |
| | | } |
| | | } |