From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:34:12 +0800 Subject: [PATCH] lexcommunityupload0714 --- force-app/main/default/classes/LexConsumableController.cls | 4960 +++++++++++++++++++++++++++-------------------------------- 1 files changed, 2,280 insertions(+), 2,680 deletions(-) diff --git a/force-app/main/default/classes/LexConsumableController.cls b/force-app/main/default/classes/LexConsumableController.cls index 0584d06..870954c 100644 --- a/force-app/main/default/classes/LexConsumableController.cls +++ b/force-app/main/default/classes/LexConsumableController.cls @@ -1,2715 +1,2315 @@ public without sharing class LexConsumableController { - /*****************妞滅储鐢�******************/ - public static Consumable_order__c coc { get; set; } // FIMXE Consumable_order__c 銇偆銉炽偣銈裤兂銈广�乻ql澶氥仚銇� - public static String category1 { get; set; } - public static String category5 { get; set; } - public static String category4 { get; set; } - public static String category3 { get; set; } - public static String category_Goods { get; set; } - public static Boolean specialCampaign { get; set; } - public static Boolean cansee { get; set; } - //缁忛攢鍟嗗悎鍚屽悕绉� - public static String contractName { get; set; } - //缁忛攢鍟嗗悎鍚孖D - public static String contractId { get; set; } - //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄� - public static Boolean dealerPricesee { get; set; } - /*****************鐢婚潰鍒濆鍖栫敤********************************/ - /******20160313_add**************/ - //public String idCheck {get;set;} - public static Boolean editAble { get; set; } - public static Boolean edoffersPrice { get; set; } - public static String statusEdit { get; set; } - public static Boolean returnOrder { get; set; } - public static String searchDone { get; set; } - //鏆傜敤20160323 - public static Decimal disCount = 0; - //鎬讳环鏍艰绠楃粨鏋� - public static Decimal sumPrice { get; set; } - //鑷畾涔夌壒浠烽噾棰� - public static Decimal bargainPrice { get; set; } - //浜у搧涓婁笅闄� - public static String[] proLimitAndDate = new List<String>{}; - /*****************鐢婚潰琛ㄧずBean******************/ - private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview { - get; - set; - } - public static Integer ConsumableorderdetailsCount { - get { - return consumableorderdetailsRecords == null - ? 0 - : consumableorderdetailsRecords.size(); - } - } - public static Integer ConsumableorderdetailsviewCount { - get { - return consumableorderdetailsRecordsview == null - ? 0 - : consumableorderdetailsRecordsview.size(); - } - } - public static List<String> lower = new List<String>(); - //闄勪欢 - public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; } - public static List<String> DealerProductId { get; set; } - public static Boolean editDelCommitBtnDisabled { get; private set; } - public static Boolean saveBtnDisabled { get; private set; } - public static Boolean sorderBtnDisabled { get; private set; } - public static String decisionCode { get; set; } - // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭 - public static String baseUrl { get; private set; } - public static String sortKey { get; set; } - public static String preSortKey { get; private set; } - public static Boolean sortOrderAsc { get; private set; } - public static String[] sortOrder { get; private set; } - private static List<String> contactDealer = new List<String>(); - private static String[] columus = new List<String>{ - 'Consumable_Product__r.Name', - 'Consumable_Product__r.Asset_Model_No__c', - 'Consumable_Product__r.Intra_Trade_List_RMB__c', - '', - '', - 'Consumable_Product__r.Category3__c', - 'Consumable_Product__r.Category4__c', - 'Consumable_Product__r.Category5__c' - }; - private static String[] columus_no = new List<String>{ - 'Product2__c.Name', - 'Product2__c.Asset_Model_No__c', - 'Product2__c.Intra_Trade_List_RMB__c', - '', - '', - 'Category3__c', - 'Category4__c', - 'Category5__c' - }; - // 宸查�夋嫨浜у搧鏄庣粏 - private static List<Attachment> attachmentinfo = new List<Attachment>(); - /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/ - private static String cate1ForSort = null; - private static String accountid = null; - private static String accountName = null; - // 浜у搧 ID - public static String ESetId { get; set; } - private static String userId = ''; - //private String[] ProidListAll = new String[]{}; - public static List<SelectOption> categoryOptionList { get; set; } - public static List<SelectOption> category4OptionList { get; set; } - public static List<SelectOption> category5OptionList { get; set; } - public static List<CusOption> category3Option { get; set; } - public static List<CusOption> category4Option { get; set; } - public static List<CusOption> category5Option { get; set; } - private static Map<Id, Dealer_Product__c> DealerProductMap = new Map<Id, Dealer_Product__c>(); - public static List<String> orderzaikuId = new List<String>(); - //鍒嗛〉鍔熻兘 - public static Integer size { get; set; } - public static Integer pageLimit { get; set; } - public static Integer noOfRecords { get; set; } - public static ApexPages.StandardSetController con { get; set; } - public static String soql { get; set; } - // 鐧诲綍鑰呭伐浣滃湴 - private static String userWorkLocation; - public static String agencyProType { get; set; } - public static String agencyProType1 { get; set; } //lt 20230526 瀹夊窘涓ょエ鍒� add - private static Boolean OSHFLG; //lt 20230517 瀹夊窘涓ょエ鍒� add - public static String methodType { get; set; } - public static String hospitalName { get; set; } - public static String hospitalId { get; set; } - public static String tempidHp { get; set; } - public static String tempidPp { get; set; } - private static List<String> hpids = new List<String>(); - private static Boolean isfirst = false; - //鎶ラ敊鍜岃鍛婁俊鎭� - public static List<String> errorMsgList = new List<String>(); - public static List<String> warningMsgList = new List<String>(); - //鏋勯�犳柟娉� - public LexConsumableController() { - baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); - consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - DealerProductId = new List<String>(); - attachmentRecoeds = new List<ConsumableorderdetailsInfo>(); - consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); - editAble = false; - edoffersPrice = false; - returnOrder = false; - categoryOptionList = new List<SelectOption>(); - category4OptionList = new List<SelectOption>(); - category5OptionList = new List<SelectOption>(); - size = Integer.valueOf(System.Label.orderdetLimitsize); - pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); - } - - private static void initStandardController() { - con = new ApexPages.StandardSetController(Database.getQueryLocator(soql)); - con.setPageSize(size); - noOfRecords = con.getResultSize(); - } - - public static List<Product2__c> product2s() { - return (List<Product2__c>) con.getRecords(); - } - - private static List<ConsumableorderdetailsInfo> getPageInfo() { - List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); - Map<String, String> selectedIdMap = new Map<String, String>(); - - for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { - if (ass.check == true) { - selectedIdMap.put(ass.Prod.id, ass.Prod.id); - reSet.add(ass); - } - } - - consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); - if (editAble) { - consumableorderdetailsRecordsview = reSet; - } - Integer pagestartNo = (con.getPageNumber() * size) - size; - Integer pageendNo = (con.getPageNumber() * size) > noOfRecords - ? noOfRecords - : (con.getPageNumber() * size - 1); - Integer addNo = 0; - for ( - Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++ - ) { - Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c(); - if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { - addNo++; - //continue; - } - // else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { - // break; - // } - else { - if (consumableorderdetailsRecords[i].check == false) { - consumableorderdetailsRecords[i].esd = orderdetails1; + /*****************妞滅储鐢�******************/ + public static Consumable_order__c coc { get; set; } // FIMXE Consumable_order__c 銇偆銉炽偣銈裤兂銈广�乻ql澶氥仚銇� + public static String category1 { get; set; } + public static String category5 { get; set; } + public static String category4 { get; set; } + public static String category3 { get; set; } + public static String category_Goods { get; set; } + public static Boolean specialCampaign { get; set; } + public static Boolean cansee { get; set; } + //缁忛攢鍟嗗悎鍚屽悕绉� + public static String contractName { get; set; } + //缁忛攢鍟嗗悎鍚孖D + public static String contractId { get; set; } + //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄� + public static Boolean dealerPricesee { get; set; } + /*****************鐢婚潰鍒濆鍖栫敤********************************/ + /******20160313_add**************/ + //public String idCheck {get;set;} + public static Boolean editAble { get; set; } + public static Boolean edoffersPrice { get; set; } + public static String statusEdit { get; set; } + public static Boolean returnOrder { get; set; } + public static String searchDone { get; set; } + //鏆傜敤20160323 + public static Decimal disCount = 0; + //鎬讳环鏍艰绠楃粨鏋� + public static Decimal sumPrice { get; set; } + //鑷畾涔夌壒浠烽噾棰� + public static Decimal bargainPrice { get; set; } + //浜у搧涓婁笅闄� + public static String[] proLimitAndDate = new List<String>{}; + /*****************鐢婚潰琛ㄧずBean******************/ + private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview { get; set; } + public static Integer ConsumableorderdetailsCount { + get { + return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size(); } - //consumableorderdetailsRecords[i].esd.Dealer_Custom_Price__c = consumableorderdetailsRecords[i].Prod.Intra_Trade_List_RMB__c * disCount / 100; - consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]); - addNo++; - } - // if (addNo >= size) - // break; } - return consumableorderdetailsRecordsview; - } - - @AuraEnabled - public static Results init(String type, String esetId, String keywordStr) { - Results results = new Results(); - results.isNoteStay = LexUtility.getIsNoteStay(); - errorMsgList = new List<String>(); - warningMsgList = new List<String>(); - baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); - consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - DealerProductId = new List<String>(); - attachmentRecoeds = new List<ConsumableorderdetailsInfo>(); - consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); - editAble = false; - edoffersPrice = false; - returnOrder = false; - categoryOptionList = new List<SelectOption>(); - category4OptionList = new List<SelectOption>(); - category5OptionList = new List<SelectOption>(); - size = Integer.valueOf(System.Label.orderdetLimitsize); - pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); - ESetId = esetId; - methodType = type; - if (String.isBlank(methodType) && String.isNotBlank(ESetId)) { - List<Consumable_order__c> oclist = [ - SELECT orderPattern__c - FROM Consumable_order__c - WHERE id = :ESetid - ]; - methodType = oclist.get(0).orderPattern__c; + public static Integer ConsumableorderdetailsviewCount { + get { + return consumableorderdetailsRecordsview == null ? 0 : consumableorderdetailsRecordsview.size(); + } } - statusEdit = keywordStr; - System.debug('Param:' + ESetId + '---' + methodType + '---' + statusEdit); - try { - sortKey = '1'; - preSortKey = '1'; - sortOrderAsc = false; - sortOrder = new String[8]; - sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' }; - cate1ForSort = ''; - decisionCode = ''; - sumPrice = 0; - specialCampaign = false; - if ( - ESetId != null && - ESetId != '' && - statusEdit == '' && - statusEdit == null - ) { + public static List<String> lower = new List<String>(); + //闄勪欢 + public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; } + public static List<String> DealerProductId { get; set; } + public static Boolean editDelCommitBtnDisabled { get; private set; } + public static Boolean saveBtnDisabled { get; private set; } + public static Boolean sorderBtnDisabled { get; private set; } + public static String decisionCode { get; set; } + // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭 + public static String baseUrl { get; private set; } + public static String sortKey { get; set; } + public static String preSortKey { get; private set; } + public static Boolean sortOrderAsc { get; private set; } + public static String[] sortOrder { get; private set; } + private static List<String> contactDealer = new List<String>(); + private static String[] columus = new List<String>{ + 'Consumable_Product__r.Name', + 'Consumable_Product__r.Asset_Model_No__c', + 'Consumable_Product__r.Intra_Trade_List_RMB__c', + '', + '', + 'Consumable_Product__r.Category3__c', + 'Consumable_Product__r.Category4__c', + 'Consumable_Product__r.Category5__c' + }; + private static String[] columus_no = new List<String>{ + 'Product2__c.Name', + 'Product2__c.Asset_Model_No__c', + 'Product2__c.Intra_Trade_List_RMB__c', + '', + '', + 'Category3__c', + 'Category4__c', + 'Category5__c' + }; + // 宸查�夋嫨浜у搧鏄庣粏 + private static List<Attachment> attachmentinfo = new List<Attachment>(); + /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/ + private static String cate1ForSort = null; + private static String accountid = null; + private static String accountName = null; + // 浜у搧 ID + public static String ESetId { get; set; } + private static String userId = ''; + //private String[] ProidListAll = new String[]{}; + public static List<SelectOption> categoryOptionList { get; set; } + public static List<SelectOption> category4OptionList { get; set; } + public static List<SelectOption> category5OptionList { get; set; } + public static List<CusOption> category3Option { get; set; } + public static List<CusOption> category4Option { get; set; } + public static List<CusOption> category5Option { get; set; } + private static Map<Id, Dealer_Product__c> DealerProductMap = new Map<Id, Dealer_Product__c>(); + public static List<String> orderzaikuId = new List<String>(); + //鍒嗛〉鍔熻兘 + public static Integer size { get; set; } + public static Integer pageLimit { get; set; } + public static Integer noOfRecords { get; set; } + public static ApexPages.StandardSetController con { get; set; } + public static String soql { get; set; } + // 鐧诲綍鑰呭伐浣滃湴 + private static String userWorkLocation; + public static String agencyProType { get; set; } + public static String agencyProType1 { get; set; } //lt 20230526 瀹夊窘涓ょエ鍒� add + private static Boolean OSHFLG; //lt 20230517 瀹夊窘涓ょエ鍒� add + public static String methodType { get; set; } + public static String hospitalName { get; set; } + public static String hospitalId { get; set; } + public static String tempidHp { get; set; } + public static String tempidPp { get; set; } + private static List<String> hpids = new List<String>(); + private static Boolean isfirst = false; + //鎶ラ敊鍜岃鍛婁俊鎭� + public static List<String> errorMsgList = new List<String>(); + public static List<String> warningMsgList = new List<String>(); + //鏋勯�犳柟娉� + public LexConsumableController() { + baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); + consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + DealerProductId = new List<String>(); + attachmentRecoeds = new List<ConsumableorderdetailsInfo>(); + consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); editAble = false; - } else if ( - (ESetId == null || ESetId == '') && - (statusEdit == '' || - statusEdit == null) - ) { - editAble = true; - } else if ( - ESetId != null && - ESetId != '' && - statusEdit != '' && - statusEdit != null - ) { - editAble = true; - } - userId = UserInfo.getUserId(); - List<user> Useracc = new List<user>(); - //lt 20230517 瀹夊窘涓ょエ鍒� add ,OSHFLG__c - Useracc = [ - SELECT accountid, Work_Location__c, UserPro_Type__c, OSHFLG__c - FROM user - WHERE id = :userId - ]; - accountid = Useracc[0].accountid; - userWorkLocation = Useracc[0].Work_Location__c; - agencyProType = Useracc[0].UserPro_Type__c; - agencyProType1 = Useracc[0].UserPro_Type__c; //lt 20230526 瀹夊窘涓ょエ鍒� add - //lt 20230526 瀹夊窘涓ょエ鍒� start - OSHFLG = Useracc[0].OSHFLG__c; //lt 20230517 瀹夊窘涓ょエ鍒� add - if (OSHFLG) { - agencyProType1 = 'OSH'; - } else if (String.isBlank(Useracc[0].UserPro_Type__c)) { - agencyProType1 = 'ET'; - } - //lt 20230526 瀹夊窘涓ょエ鍒� end - if (String.isBlank(Useracc[0].UserPro_Type__c)) { - agencyProType = 'ET'; - } - //閿欒淇℃伅鎻愮ず - if ( - String.isNotBlank(methodType) && - methodType.equals('hospitalorder') && - agencyProType == 'ET' - ) { - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!')); - errorMsgList.add('鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!'); - } - contactDealer = new List<String>(); - Date dateToday = Date.today(); - //鏌ヨ缁忛攢鍟嗕笅鎵�鏈夋湁鏁堝悎鍚� - List<Account> contractList = [ - SELECT Id, Name, RecordType.DeveloperName - FROM Account - WHERE - RecordType.DeveloperName = 'AgencyContract' - AND Contract_Decide_Start_Date__c <= :dateToday - AND Contract_Decide_End_Date__c >= :dateToday - AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 - AND Agent_Ref__c = :accountid - AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add - ]; - for (Account contract : contractList) { - contactDealer.add(contract.Id); - } - DealerProductMap = new Map<Id, Dealer_Product__c>(); - DealerProductId = getDealerProductId(); - Account accountInfo = [ - SELECT - Name, - Dealer_discount__c, - Product_Limit_Date__c, - Product_Limit_DateENG__c - FROM account - WHERE id = :accountid - ]; - accountName = accountInfo.Name; - String product_Limit; - if (agencyProType == 'ET') { - product_Limit = accountInfo.Product_Limit_Date__c; - } else { - product_Limit = accountInfo.Product_Limit_DateENG__c; - } - if (product_Limit != null && product_Limit != '') { - proLimitAndDate = product_Limit.split(','); - } - saveBtnDisabled = false; - sorderBtnDisabled = false; - coc = new Consumable_order__c(); - consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - if (String.isBlank(agencyProType)) { - //return ; - } - List<Product2__c> Product2Selected = new List<Product2__c>(); - Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>(); - //缁忛攢鍟嗗湪搴撴暟鎹� - List<Consumable_order_details2__c> countDel = [ - SELECT - Id, - Bar_Code__c, - Name, - Inventory_date__c, - Consumable_Product__c, - Consumable_Product__r.Asset_Model_No__c, - Recordtypeid, - Box_Piece__c, - hospitalSpecialOffer__c, - promotionorder__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 Isoverdue__c = 1 - AND Arrive_Owner_Work_Location__c = :userWorkLocation - AND Dealer_Info_text__c = :accountName - ]; - if (ESetId == null || ESetId == '') { - //鑾峰彇缁忛攢鍟嗛粯璁ょ殑涓�涓悎鍚� - List<Account> contract = [ - SELECT id, Name, State_Master__c, State_Master__r.Name - FROM Account - WHERE - ParentId = :accountid - AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 - AND Contract_Decide_Start_Date__c <= :Date.Today() - AND Contract_Decide_End_Date__c >= :Date.Today() - AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add - ]; - if (contract.size() == 1) { - contractName = contract[0].Name; - contractId = contract[0].Id; - } - editDelCommitBtnDisabled = true; - List<String> DealerProductId = new List<String>(); - soql = makeSoql('', '', '', '', '', false, DealerProductId); + edoffersPrice = false; + returnOrder = false; + categoryOptionList = new List<SelectOption>(); + category4OptionList = new List<SelectOption>(); + category5OptionList = new List<SelectOption>(); size = Integer.valueOf(System.Label.orderdetLimitsize); - initStandardController(); - product2Selected = Database.query(soql); + pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); + } - for (Integer i = 0; i < product2Selected.size(); i++) { - consumableorderdetailsRecords.add( - new ConsumableorderdetailsInfo(product2Selected[i]) - ); - MidMap.put( - product2Selected[i].Id, - new ConsumableorderdetailsInfo(product2Selected[i]) - ); - } - //鍙湁鍦ㄥ崗璁璐ф椂浼氳蛋杩欎釜for寰幆 鍏朵粬涓ょ璁㈣揣妯″紡閮借蛋鐨剆earchorderdetails鏂规硶 - if ( - String.isBlank(methodType) || - (!methodType.equals('promotionorder') && - !methodType.equals('hospitalorder')) - ) { - for (Integer i = 0; i < countDel.size(); i++) { - if ( - countDel[i].promotionorder__c == false && - countDel[i].hospitalSpecialOffer__c == false - ) { - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } + private static void initStandardController() { + con = new ApexPages.StandardSetController(Database.getQueryLocator(soql)); + con.setPageSize(size); + noOfRecords = con.getResultSize(); + } + + public static List<Product2__c> product2s() { + return (List<Product2__c>) con.getRecords(); + } + + private static List<ConsumableorderdetailsInfo> getPageInfo() { + List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); + Map<String, String> selectedIdMap = new Map<String, String>(); + + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { + if (ass.check == true) { + selectedIdMap.put(ass.Prod.id, ass.Prod.id); + reSet.add(ass); } - } } + + consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); + if (editAble) { + consumableorderdetailsRecordsview = reSet; + } + Integer pagestartNo = (con.getPageNumber() * size) - size; + Integer pageendNo = (con.getPageNumber() * size) > noOfRecords ? noOfRecords : (con.getPageNumber() * size - 1); + Integer addNo = 0; + for (Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++) { + Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c(); + if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { + addNo++; + //continue; + } + // else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { + // break; + // } + else { + if (consumableorderdetailsRecords[i].check == false) { + consumableorderdetailsRecords[i].esd = orderdetails1; + } + //consumableorderdetailsRecords[i].esd.Dealer_Custom_Price__c = consumableorderdetailsRecords[i].Prod.Intra_Trade_List_RMB__c * disCount / 100; + consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]); + addNo++; + } + // if (addNo >= size) + // break; + } + return consumableorderdetailsRecordsview; + } + + @AuraEnabled + public static Results init(String type, String esetId, String keywordStr) { + Results results = new Results(); + results.isNoteStay = LexUtility.getIsNoteStay(); + errorMsgList = new List<String>(); + warningMsgList = new List<String>(); + baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - //缁忛攢鍟嗗畾浠� 璁$畻 - for (ConsumableorderdetailsInfo bss : MidMap.values()) { - bss.sortBy = sortOrderAsc; - 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; - if (DealerProductMap.containsKey(bss.Prod.Id)) { - bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id) - .Special_Campaign_Price__c; - bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id) - .Campaign_EndDate__c; - bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id) - .OrderGoods_Limit__c; - } - consumableorderdetailsRecords.add(bss); + DealerProductId = new List<String>(); + attachmentRecoeds = new List<ConsumableorderdetailsInfo>(); + consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); + editAble = false; + edoffersPrice = false; + returnOrder = false; + categoryOptionList = new List<SelectOption>(); + category4OptionList = new List<SelectOption>(); + category5OptionList = new List<SelectOption>(); + size = Integer.valueOf(System.Label.orderdetLimitsize); + pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); + ESetId = esetId; + methodType = type; + if (String.isBlank(methodType) && String.isNotBlank(ESetId)) { + List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid]; + methodType = oclist.get(0).orderPattern__c; } - consumableorderdetailsRecords.sort(); - if ( - methodType != null && - methodType != '' && - (methodType.equals('hospitalorder') || - methodType.equals('promotionorder')) - ) { - searchorderdetails( - methodType, - accountid, - hospitalId, - contractId, - userWorkLocation, - accountName, - proLimitAndDate, - editAble - ); - isfirst = true; + statusEdit = keywordStr; + System.debug('Param:' + ESetId + '---' + methodType + '---' + statusEdit); + try { + sortKey = '1'; + preSortKey = '1'; + sortOrderAsc = false; + sortOrder = new String[8]; + sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' }; + cate1ForSort = ''; + decisionCode = ''; + sumPrice = 0; + specialCampaign = false; + if (ESetId != null && ESetId != '' && statusEdit == '' && statusEdit == null) { + editAble = false; + } else if ((ESetId == null || ESetId == '') && (statusEdit == '' || statusEdit == null)) { + editAble = true; + } else if (ESetId != null && ESetId != '' && statusEdit != '' && statusEdit != null) { + editAble = true; + } + userId = UserInfo.getUserId(); + List<user> Useracc = new List<user>(); + //lt 20230517 瀹夊窘涓ょエ鍒� add ,OSHFLG__c + Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c, OSHFLG__c FROM user WHERE id = :userId]; + accountid = Useracc[0].accountid; + userWorkLocation = Useracc[0].Work_Location__c; + agencyProType = Useracc[0].UserPro_Type__c; + agencyProType1 = Useracc[0].UserPro_Type__c; //lt 20230526 瀹夊窘涓ょエ鍒� add + //lt 20230526 瀹夊窘涓ょエ鍒� start + OSHFLG = Useracc[0].OSHFLG__c; //lt 20230517 瀹夊窘涓ょエ鍒� add + if (OSHFLG) { + agencyProType1 = 'OSH'; + } else if (String.isBlank(Useracc[0].UserPro_Type__c)) { + agencyProType1 = 'ET'; + } + //lt 20230526 瀹夊窘涓ょエ鍒� end + if (String.isBlank(Useracc[0].UserPro_Type__c)) { + agencyProType = 'ET'; + } + //閿欒淇℃伅鎻愮ず + if (String.isNotBlank(methodType) && methodType.equals('hospitalorder') && agencyProType == 'ET') { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!')); + errorMsgList.add('鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!'); + } + contactDealer = new List<String>(); + Date dateToday = Date.today(); + //鏌ヨ缁忛攢鍟嗕笅鎵�鏈夋湁鏁堝悎鍚� + List<Account> contractList = [ + SELECT Id, Name, RecordType.DeveloperName + FROM Account + WHERE + RecordType.DeveloperName = 'AgencyContract' + AND Contract_Decide_Start_Date__c <= :dateToday + AND Contract_Decide_End_Date__c >= :dateToday + AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 + AND Agent_Ref__c = :accountid + AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add + ]; + for (Account contract : contractList) { + contactDealer.add(contract.Id); + } + DealerProductMap = new Map<Id, Dealer_Product__c>(); + DealerProductId = getDealerProductId(); + Account accountInfo = [ + SELECT Name, Dealer_discount__c, Product_Limit_Date__c, Product_Limit_DateENG__c + FROM account + WHERE id = :accountid + ]; + accountName = accountInfo.Name; + String product_Limit; + if (agencyProType == 'ET') { + product_Limit = accountInfo.Product_Limit_Date__c; + } else { + product_Limit = accountInfo.Product_Limit_DateENG__c; + } + if (product_Limit != null && product_Limit != '') { + proLimitAndDate = product_Limit.split(','); + } + saveBtnDisabled = false; + sorderBtnDisabled = false; + coc = new Consumable_order__c(); + consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + if (String.isBlank(agencyProType)) { + //return ; + } + List<Product2__c> Product2Selected = new List<Product2__c>(); + Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>(); + //缁忛攢鍟嗗湪搴撴暟鎹� + List<Consumable_order_details2__c> countDel = [ + SELECT + Id, + Bar_Code__c, + Name, + Inventory_date__c, + Consumable_Product__c, + Consumable_Product__r.Asset_Model_No__c, + Recordtypeid, + Box_Piece__c, + hospitalSpecialOffer__c, + promotionorder__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 Isoverdue__c = 1 + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountName + ]; + if (ESetId == null || ESetId == '') { + //鑾峰彇缁忛攢鍟嗛粯璁ょ殑涓�涓悎鍚� + List<Account> contract = [ + SELECT id, Name, State_Master__c, State_Master__r.Name + FROM Account + WHERE + ParentId = :accountid + AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 + AND Contract_Decide_Start_Date__c <= :Date.Today() + AND Contract_Decide_End_Date__c >= :Date.Today() + AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add + ]; + if (contract.size() == 1) { + contractName = contract[0].Name; + contractId = contract[0].Id; + } + editDelCommitBtnDisabled = true; + List<String> DealerProductId = new List<String>(); + soql = makeSoql('', '', '', '', '', false, DealerProductId); + size = Integer.valueOf(System.Label.orderdetLimitsize); + initStandardController(); + product2Selected = Database.query(soql); + + for (Integer i = 0; i < product2Selected.size(); i++) { + consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(product2Selected[i])); + MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i])); + } + //鍙湁鍦ㄥ崗璁璐ф椂浼氳蛋杩欎釜for寰幆 鍏朵粬涓ょ璁㈣揣妯″紡閮借蛋鐨剆earchorderdetails鏂规硶 + if (String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))) { + for (Integer i = 0; i < countDel.size(); i++) { + if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) { + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } + } + consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + //缁忛攢鍟嗗畾浠� 璁$畻 + for (ConsumableorderdetailsInfo bss : MidMap.values()) { + bss.sortBy = sortOrderAsc; + 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; + if (DealerProductMap.containsKey(bss.Prod.Id)) { + bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c; + bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c; + bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c; + } + consumableorderdetailsRecords.add(bss); + } + consumableorderdetailsRecords.sort(); + if (methodType != null && methodType != '' && (methodType.equals('hospitalorder') || methodType.equals('promotionorder'))) { + searchorderdetails( + methodType, + accountid, + hospitalId, + contractId, + userWorkLocation, + accountName, + proLimitAndDate, + editAble + ); + isfirst = true; + } + getPageInfo(); + } else { + if (methodType != null && methodType.equals('hospitalorder')) { + List<Consumable_order__c> oclist = [ + SELECT orderPattern__c, Order_ForHospital__c, Order_ForHospital__r.Name + FROM Consumable_order__c + WHERE id = :ESetid + ]; + if (oclist.get(0).orderPattern__c.equals('hospitalorder')) { + hospitalName = oclist.get(0).Order_ForHospital__r.Name; + hospitalId = oclist.get(0).Order_ForHospital__c; + } + } + List<Consumable_Orderdetails__c> ConsumableorderdetailsSelected = new List<Consumable_Orderdetails__c>(); + //淇敼 + List<Consumable_order__c> qs = new List<Consumable_order__c>(); + qs = [ + SELECT + Id, + Name, + Order_status__c, + Consumable_pdf_insert_day__c, + Dealer_Info__c, + Deliver_date__c, + Order_Reason__c, + Order_date__c, + Contract_application_decision__c, + Total_amount__c, + Offers_Price__c, + Order_effective_contact__c, + Order_effective_contact__r.Name + FROM Consumable_order__c + WHERE Id = :ESetId AND Order_Owner_WorkLocal__c = :userWorkLocation + ]; + if (qs.size() > 0) { + coc = qs[0]; + decisionCode = coc.Contract_application_decision__c; + contractName = coc.Order_effective_contact__r.Name; + contractId = coc.Order_effective_contact__r.Id; + } + if (qs[0].Order_status__c == '宸叉彁浜�' || qs[0].Order_status__c == '鎵瑰噯' || qs[0].Order_status__c == '闄勪欢涓婁紶瀹屾垚') { + saveBtnDisabled = true; + sorderBtnDisabled = true; + editDelCommitBtnDisabled = false; + } + // 閬告姙娓堛伩銇槑缁嗐倰鍙栧緱 + ConsumableorderdetailsSelected = [ + SELECT + Id, + Name, + Consumable_order__c, + Consumable_Product__r.Name__c, + Consumable_Product__c, + Consumable_Product__r.Name, + Consumable_Count__c, + Consumable_Product__r.Category3__c, + Consumable_Product__r.Category4__c, + Consumable_Product__r.Category5__c, + Consumable_Product__r.Intra_Trade_List_RMB__c, + Consumable_Product__r.Asset_Model_No__c, + Sum_of_money__c, + Consumable_Product__r.SFDA_Status__c, + Consumable_Product__r.Product2__r.Packing_list_manual__c, + Consumable_Product__r.Product2__r.SFDA_Approbation_No__c, + Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c + FROM Consumable_Orderdetails__c + WHERE + recordtypeid = :System.Label.RT_ConOrderDetail1_Order + AND Consumable_order__c = :ESetId + AND Order_Owner_WorkLocal__c = :userWorkLocation + AND Consumable_order__r.Dealer_Info__c = :accountid + ]; + for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) { + if (cdc1.Consumable_Product__c != null) { + orderzaikuId.add(cdc1.Consumable_Product__c); + } + } + soql = makeSoqlorderdet(); + System.debug('soql:' + soql); + size = orderzaikuId.size(); + initStandardController(); + product2Selected = Database.query(soql); + for (Integer i = 0; i < product2Selected.size(); i++) { + MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i])); + } + for (Integer i = 0; i < countDel.size(); i++) { + //add by rentx 2020-12-09 + if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) { + if (countDel[i].hospitalSpecialOffer__c == true) { + //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } else if (String.isBlank(methodType) || methodType.equals('promotionorder')) { + if (countDel[i].promotionorder__c == true) { + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } else if ( + String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder')) + ) { + if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) { + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } + } + consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords + for (ConsumableorderdetailsInfo bss : MidMap.values()) { + 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; + if (DealerProductMap.containsKey(bss.Prod.Id)) { + bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c; + bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c; + bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c; + } + consumableorderdetailsRecords.add(bss); + } + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + ass.sortBy = sortOrderAsc; + for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) { + sumPrice += cdc1.Sum_of_money__c; + if (ass.prod.Id == cdc1.Consumable_Product__c) { + ass.check = true; + ass.esd = cdc1; + } + } + } + //闄勪欢 + // attachmentinfo = [SELECT Id, Name, OwnerId, Owner.Name FROM Attachment WHERE parentid = :ESetId]; + // if (attachmentinfo.size() > 0) { + // for (Integer i = 0; i < attachmentinfo.size(); i++) { + // attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i])); + // } + // } + List<ContentDocumentLink> links = [SELECT Id, ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = :ESetId]; + if (links != null && links.size() > 0) { + List<String> documentIds = new List<String>(); + for (ContentDocumentLink link : links) { + documentIds.add(link.ContentDocumentId); + } + List<ContentVersion> cvInfo = [ + SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId + FROM ContentVersion + WHERE ContentDocumentId IN :documentIds + ]; + if (cvInfo.size() > 0) { + for (Integer i = 0; i < cvInfo.size(); i++) { + attachmentRecoeds.add(new ConsumableorderdetailsInfo(cvInfo[i])); + } + } + } + // + consumableorderdetailsRecords.sort(); + getPageInfo(); + } + //璁$畻搴撳瓨涓娿�佷笅闄� + productLimtAndDate(); + lowerRecord(); + //鏄庣粏鎺掑簭 + List<String> upper = new List<String>(); + if (String.isNotBlank(ESetid)) { + for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { + if (bss.esd.Consumable_count__c != null && bss.allnumber != null && bss.upperlimit != null) { + if (bss.esd.Consumable_count__c + bss.allnumber > bss.upperlimit) { + upper.add(bss.esd.Consumable_Product__r.Name__c); + } + } + } + } + if (upper.size() > 0) { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!')); + warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!'); + for (Integer i = 0; i < upper.size(); i++) { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, upper[i])); + warningMsgList.add(upper[i]); + } + } + if (lower.size() > 0) { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!')); + warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!'); + for (Integer i = 0; i < lower.size(); i++) { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, lower[i])); + warningMsgList.add(lower[i]); + } + } + //浠锋牸鏌ョ湅鏉冮檺 + Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe(); + cansee = dfr.isAccessible(); + AggregateResult[] categoryList = [ + SELECT Count(id), Category3_text__c c3c + FROM Product2__c + WHERE Estimation_Entry_Possibility__c = '鈼�' AND Product_Type__c LIKE :agencyProType AND Category3_text__c != NULL + GROUP BY Category3_text__c + ]; + //categoty3 + // categoryOptionList = new List<SelectOption>(); + category3Option = new List<CusOption>(); + // categoryOptionList.add(new SelectOption('', '-鏃�-')); + category3Option.add(new CusOption('-鏃�-', '')); + for (AggregateResult category3Search : categoryList) { + String deliverycnt = String.valueOf(category3Search.get('c3c')); + // categoryOptionList.add(new SelectOption(deliverycnt, deliverycnt)); + category3Option.add(new CusOption(deliverycnt, deliverycnt)); + } + //categoty4 + // category4OptionList = new List<SelectOption>(); + category4Option = new List<CusOption>(); + // category4OptionList.add(new SelectOption('', '-鏃�-')); + category4Option.add(new CusOption('-鏃�-', '')); + //categoty5 + // category5OptionList = new List<SelectOption>(); + category5Option = new List<CusOption>(); + // category5OptionList.add(new SelectOption('', '-鏃�-')); + category5Option.add(new CusOption('-鏃�-', '')); + //return msg + consumableorderdetailsRecordsview = consumableorderdetailsRecords; + getConsumableShowTableFieldValue(); + results.result = 'Success'; + results.coc = coc; + results.editAble = editAble; + results.edoffersPrice = edoffersPrice; + results.editDelCommitBtnDisabled = EditDelCommitBtnDisabled; + results.category3Option = category3Option; + results.category4Option = category4Option; + results.category5Option = category5Option; + results.hospitalName = hospitalName; + results.contractName = contractName; + results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; + results.attachmentRecoeds = attachmentRecoeds; + results.cansee = cansee; + results.agencyProType = agencyProType; + results.agencyProType1 = agencyProType1; + results.OSHFLG = OSHFLG; + results.userWorkLocation = userWorkLocation; + results.accountName = accountName; + results.category_Goods = category_Goods; + results.specialCampaign = specialCampaign; + results.dealerProductId = DealerProductId; + results.accountid = accountid; + results.hospitalId = hospitalId; + results.contractId = contractId; + results.contactDealer = contactDealer; + results.errorMsgList = errorMsgList; + results.warningMsgList = warningMsgList; + results.methodType = methodType; + results.proLimitAndDate = proLimitAndDate; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } - getPageInfo(); - } else { - if (methodType != null && methodType.equals('hospitalorder')) { - List<Consumable_order__c> oclist = [ + return results; + } + + @AuraEnabled + public static Results categoryAllload(String agencyProTypeStr, String category3Str) { + Results results = new Results(); + agencyProType = agencyProTypeStr; + category3 = category3Str; + try { + AggregateResult[] category4List = [ + SELECT Count(id), Category4_text__c c4c + FROM Product2__c + WHERE + Estimation_Entry_Possibility__c = '鈼�' + AND Product_Type__c LIKE :agencyProType + AND Category3_text__c = :category3 + AND Category4_text__c != NULL + AND Category5_text__c != NULL + GROUP BY Category4_text__c + ]; + // category4OptionList = new List<SelectOption>(); + category4Option = new List<CusOption>(); + // category4OptionList.add(new SelectOption('', '-鏃�-')); + category4Option.add(new CusOption('-鏃�-', '')); + for (AggregateResult category4Search : category4List) { + String deliverycnt4 = String.valueOf(category4Search.get('c4c')); + // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4)); + category4Option.add(new CusOption(deliverycnt4, deliverycnt4)); + } + AggregateResult[] category5List = [ + SELECT Count(id), Category5_text__c c5c + FROM Product2__c + WHERE + Estimation_Entry_Possibility__c = '鈼�' + AND Product_Type__c LIKE :agencyProType + AND Category3_text__c = :category3 + AND Category4_text__c != NULL + AND Category5_text__c != NULL + GROUP BY Category5_text__c + ]; + // category5OptionList = new List<SelectOption>(); + category5Option = new List<CusOption>(); + // category5OptionList.add(new SelectOption('', '-鏃�-')); + category5Option.add(new CusOption('-鏃�-', '')); + for (AggregateResult category5Search : category5List) { + String deliverycnt5 = String.valueOf(category5Search.get('c5c')); + // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5)); + category5Option.add(new CusOption(deliverycnt5, deliverycnt5)); + } + results.category4Option = category4Option; + results.category5Option = category5Option; + results.result = 'Success'; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + @AuraEnabled + public static Results categoryload(String agencyProTypeStr, String category3Str, String category4Str) { + Results results = new Results(); + agencyProType = agencyProTypeStr; + category3 = category3Str; + category4 = category4Str; + try { + AggregateResult[] category4List = [ + SELECT Count(id), Category4_text__c c4c + FROM Product2__c + WHERE + Estimation_Entry_Possibility__c = '鈼�' + AND Product_Type__c LIKE :agencyProType + AND Category3_text__c = :category3 + AND Category4_text__c != NULL + AND Category5_text__c != NULL + GROUP BY Category4_text__c + ]; + // category4OptionList = new List<SelectOption>(); + category4Option = new List<CusOption>(); + // category4OptionList.add(new SelectOption('', '-鏃�-')); + category4Option.add(new CusOption('-鏃�-', '')); + for (AggregateResult category4Search : category4List) { + String deliverycnt4 = String.valueOf(category4Search.get('c4c')); + // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4)); + category4Option.add(new CusOption(deliverycnt4, deliverycnt4)); + } + + AggregateResult[] category5List = [ + SELECT Count(id), Category5_text__c c5c + FROM Product2__c + WHERE + Estimation_Entry_Possibility__c = '鈼�' + AND Product_Type__c LIKE :agencyProType + AND Category3_text__c = :category3 + AND Category4_text__c = :category4 + AND Category5_text__c != NULL + GROUP BY Category5_text__c + ]; + // category5OptionList = new List<SelectOption>(); + category5Option = new List<CusOption>(); + // category5OptionList.add(new SelectOption('', '-鏃�-')); + category5Option.add(new CusOption('-鏃�-', '')); + for (AggregateResult category5Search : category5List) { + String deliverycnt5 = String.valueOf(category5Search.get('c5c')); + // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5)); + category5Option.add(new CusOption(deliverycnt5, deliverycnt5)); + } + results.category4Option = category4Option; + results.category5Option = category5Option; + results.result = 'Success'; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + // 鐢婚潰鍒濆鍖� + public static void lowerRecord() { + List<ConsumableorderdetailsInfo> lowerRecord = new List<ConsumableorderdetailsInfo>(); + //搴撳瓨鏄庣粏鍙栧緱 + Map<String, ConsumableorderdetailsInfo> midMaprecord = new Map<String, ConsumableorderdetailsInfo>(); + List<Product2__c> product2Selected = [ + SELECT Id, Name, Name__c, Intra_Trade_List_RMB__c, Asset_Model_No__c + FROM Product2__c + WHERE Pro2_Dealer_Object__c = TRUE AND Estimation_Entry_Possibility__c = '鈼�' + ]; + for (Integer i = 0; i < product2Selected.size(); i++) { + lowerRecord.add(new ConsumableorderdetailsInfo(product2Selected[i])); + //鍏堟妸ConsumableorderdetailsRecords 鍋氭垚map + midMaprecord.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i])); + } + List<Consumable_order_details2__c> countDel = [ SELECT - orderPattern__c, - Order_ForHospital__c, - Order_ForHospital__r.Name - FROM Consumable_order__c - WHERE id = :ESetid - ]; - if (oclist.get(0).orderPattern__c.equals('hospitalorder')) { - hospitalName = oclist.get(0).Order_ForHospital__r.Name; - hospitalId = oclist.get(0).Order_ForHospital__c; - } - } - List<Consumable_Orderdetails__c> ConsumableorderdetailsSelected = new List<Consumable_Orderdetails__c>(); - //淇敼 - List<Consumable_order__c> qs = new List<Consumable_order__c>(); - qs = [ - SELECT - Id, - Name, - Order_status__c, - Consumable_pdf_insert_day__c, - Dealer_Info__c, - Deliver_date__c, - Order_Reason__c, - Order_date__c, - Contract_application_decision__c, - Total_amount__c, - Offers_Price__c, - Order_effective_contact__c, - Order_effective_contact__r.Name - FROM Consumable_order__c - WHERE Id = :ESetId AND Order_Owner_WorkLocal__c = :userWorkLocation + Id, + Bar_Code__c, + Name, + Inventory_date__c, + Consumable_Product__c, + Consumable_Product__r.Asset_Model_No__c, + Recordtypeid, + Guarantee_period_for_products__c, + Isoverdue__c, + Box_Piece__c, + hospitalSpecialOffer__c, + promotionorder__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 Isoverdue__c = 1 + AND Arrive_Owner_Work_Location__c = :userWorkLocation + //AND Consumable_order_minor__r.Dealer_Info__c = :accountid + AND Dealer_Info_text__c = :accountName ]; - if (qs.size() > 0) { - coc = qs[0]; - decisionCode = coc.Contract_application_decision__c; - contractName = coc.Order_effective_contact__r.Name; - contractId = coc.Order_effective_contact__r.Id; - } - if ( - qs[0].Order_status__c == '宸叉彁浜�' || - qs[0].Order_status__c == '鎵瑰噯' || - qs[0].Order_status__c == '闄勪欢涓婁紶瀹屾垚' - ) { - saveBtnDisabled = true; - sorderBtnDisabled = true; - editDelCommitBtnDisabled = false; - } - // 閬告姙娓堛伩銇槑缁嗐倰鍙栧緱 - ConsumableorderdetailsSelected = [ - SELECT - Id, - Name, - Consumable_order__c, - Consumable_Product__r.Name__c, - Consumable_Product__c, - Consumable_Product__r.Name, - Consumable_Count__c, - Consumable_Product__r.Category3__c, - Consumable_Product__r.Category4__c, - Consumable_Product__r.Category5__c, - Consumable_Product__r.Intra_Trade_List_RMB__c, - Consumable_Product__r.Asset_Model_No__c, - Sum_of_money__c, - Consumable_Product__r.SFDA_Status__c, - Consumable_Product__r.Product2__r.Packing_list_manual__c, - Consumable_Product__r.Product2__r.SFDA_Approbation_No__c, - Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c - FROM Consumable_Orderdetails__c - WHERE - recordtypeid = :System.Label.RT_ConOrderDetail1_Order - AND Consumable_order__c = :ESetId - AND Order_Owner_WorkLocal__c = :userWorkLocation - AND Consumable_order__r.Dealer_Info__c = :accountid - ]; - for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) { - if (cdc1.Consumable_Product__c != null) { - orderzaikuId.add(cdc1.Consumable_Product__c); - } - } - soql = makeSoqlorderdet(); - System.debug('soql:' + soql); - size = orderzaikuId.size(); - initStandardController(); - product2Selected = Database.query(soql); - for (Integer i = 0; i < product2Selected.size(); i++) { - MidMap.put( - product2Selected[i].Id, - new ConsumableorderdetailsInfo(product2Selected[i]) - ); - } for (Integer i = 0; i < countDel.size(); i++) { - //add by rentx 2020-12-09 - if ( - String.isNotBlank(methodType) && methodType.equals('hospitalorder') - ) { - if (countDel[i].hospitalSpecialOffer__c == true) { - //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + //add by rentx 2020-12-09 + if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) { + if (countDel[i].hospitalSpecialOffer__c == true) { + //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber + if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = midMaprecord.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + //Jstage.BoxPiece = CountDel[i].Box_Piece__c; + midMaprecord.put(countDel[i].Consumable_Product__c, Jstage); + } } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if ( - String.isBlank(methodType) || methodType.equals('promotionorder') - ) { - if (countDel[i].promotionorder__c == true) { - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } else if (String.isBlank(methodType) || methodType.equals('promotionorder')) { + if (countDel[i].promotionorder__c == true) { + if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = midMaprecord.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + midMaprecord.put(countDel[i].Consumable_Product__c, Jstage); + } } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if ( - String.isBlank(methodType) || - (!methodType.equals('promotionorder') && - !methodType.equals('hospitalorder')) - ) { - if ( - countDel[i].promotionorder__c == false && - countDel[i].hospitalSpecialOffer__c == false - ) { - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } else if (String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))) { + if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) { + if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = midMaprecord.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + midMaprecord.put(countDel[i].Consumable_Product__c, Jstage); + } } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } } - } } - consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + lowerRecord = new List<ConsumableorderdetailsInfo>(); //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords - for (ConsumableorderdetailsInfo bss : MidMap.values()) { - 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; - if (DealerProductMap.containsKey(bss.Prod.Id)) { - bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id) - .Special_Campaign_Price__c; - bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id) - .Campaign_EndDate__c; - bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id) - .OrderGoods_Limit__c; - } - consumableorderdetailsRecords.add(bss); + for (ConsumableorderdetailsInfo bss : midMaprecord.values()) { + lowerRecord.add(bss); + } + allProductLimt(lowerRecord); + for (ConsumableorderdetailsInfo bss : lowerRecord) { + if (bss.allnumber < bss.lowerlimit) { + lower.add(bss.Prod.Name__c); + } + } + } + + //搴撳瓨涓婁笅闄� + 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++) { + nowName = proLimitAndDate[i]; + if (nowName.indexOf('|') >= 0) { + nowRightAsstModelNo = nowName.subString(0, nowName.indexOf('|')); + nowName = nowName.subString(nowName.indexOf('|') + 1); + } + productLimt.put(nowRightAsstModelNo, nowName); } for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { - ass.sortBy = sortOrderAsc; - for ( - Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected - ) { - sumPrice += cdc1.Sum_of_money__c; - if (ass.prod.Id == cdc1.Consumable_Product__c) { - ass.check = true; - ass.esd = cdc1; + 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) + ); } - } + } + } + + //鍏ㄩ儴搴撳瓨涓婁笅闄� + private static void allProductLimt(List<ConsumableorderdetailsInfo> lowerRecord) { + String nowName = null, nowRightAsstModelNo = null; + 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); + } + productLimt.put(nowRightAsstModelNo, nowName); + } + for (ConsumableorderdetailsInfo ass : lowerRecord) { + 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) + ); + } + } + } + + @AuraEnabled + public static Results searchConsumableorderdetails( + String userWorkLocationStr, + String agencyProTypeStr, + String accountNameStr, + String accountIdStr, + String hospitalIdStr, + String contractIdStr, + String category1Str, + String category3Str, + String category4Str, + String category5Str, + String category_GoodStr, + Boolean specialCampaignStr, + String dealerProductIdStr, + String methodTypeStr, + String consumableorderdetailsRecordsviewStr, + Boolean editAbleStr, + List<String> proLimitAndDateList + ) { + Results results = new Results(); + errorMsgList = new List<String>(); + warningMsgList = new List<String>(); + userWorkLocation = userWorkLocationStr; + agencyProType = agencyProTypeStr; + accountName = accountNameStr; + accountid = accountIdStr; + hospitalId = hospitalIdStr; + contractId = contractIdStr; + category1 = category1Str; + category3 = category3Str; + category4 = category4Str; + category5 = category5Str; + category_Goods = category_GoodStr; + specialCampaign = specialCampaignStr; + methodType = methodTypeStr; + editAble = editAbleStr; + proLimitAndDate = proLimitAndDateList; + dealerProductId = (List<String>) JSON.deserialize(dealerProductIdStr, List<String>.class); + consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetailsRecordsviewStr, + List<ConsumableorderdetailsInfo>.class + ); + size = Integer.valueOf(System.Label.orderdetLimitsize); + pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); + try { + searchDone = 'searchDone'; + sortKey = '1'; + preSortKey = '1'; + sortOrderAsc = false; + sortOrder = new String[7]; + sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' }; + Map<String, String> selectedIdMap = new Map<String, String>(); + List<ConsumableorderdetailsInfo> derdetailsRecords = new List<ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>(); + List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); + List<Consumable_order_details2__c> countDel = [ + SELECT + Id, + Bar_Code__c, + Name, + Inventory_date__c, + Consumable_Product__c, + Consumable_Product__r.Asset_Model_No__c, + Recordtypeid, + Box_Piece__c, + //add by rentx 2020-12-09 + hospitalSpecialOffer__c, + promotionorder__c + //add by rentx 2020-12-09 + 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 Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountName + ]; + List<Product2__c> product2Selected = new List<Product2__c>(); + consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + soql = makeSoql(category1, category_Goods, category3, category4, category5, specialCampaign, DealerProductId); + size = Integer.valueOf(System.Label.orderdetLimitsize); + initStandardController(); + System.debug('soql:' + soql); + product2Selected = Database.query(soql); + for (Integer i = 0; i < product2Selected.size(); i++) { + MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i])); + } + for (Integer i = 0; i < countDel.size(); i++) { + //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber + if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) { + if (countDel[i].hospitalSpecialOffer__c == true) { + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } else if (String.isBlank(methodType) || methodType.equals('promotionorder')) { + if (countDel[i].promotionorder__c == true) { + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } else if (String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))) { + if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) { + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } + } + //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ + for (ConsumableorderdetailsInfo bss : MidMap.values()) { + if (selectedIdMap.containsKey(bss.Prod.id)) { + continue; + } else { + if (DealerProductMap.containsKey(bss.Prod.Id)) { + bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c; + bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c; + bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c; + } + bss.sortBy = sortOrderAsc; + 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; + consumableorderdetailsRecords.add(bss); + } + } + consumableorderdetailsRecords.sort(); + productLimtAndDate(); + getPageInfo(); + sortKey = '1'; + preSortKey = '1'; + sortOrderAsc = false; + sortOrder = new String[7]; + sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' }; + cate1ForSort = category1; + // 鏄剧ず鏁版嵁鏉℃暟淇℃伅 + // makeMessage(); + results.errorMsgList = errorMsgList; + results.warningMsgList = warningMsgList; + if (consumableorderdetailsRecords.size() > 0) { + getConsumableShowTableFieldValue(); + results.result = 'Success'; + results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; + results.errorMsg = '鎼滅储鍒�' + consumableorderdetailsRecords.size() + '浠朵骇鍝�'; + } else { + getConsumableShowTableFieldValue(); + results.result = 'Fail'; + results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; + results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'; + } + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + //鍖婚櫌--妫�绱� + @AuraEnabled + public static Results searchorderdetails( + String methodTypeStr, + String accountIdStr, + String hospitalIdStr, + String contractIdStr, + String userWorkLocationStr, + String accountNameStr, + List<String> proLimitAndDateList, + Boolean editAbleStr + ) { + Results results = new Results(); + methodType = methodTypeStr; + accountId = accountIdStr; + hospitalId = hospitalIdStr; + contractId = contractIdStr; + userWorkLocation = userWorkLocationStr; + accountName = accountNameStr; + proLimitAndDate = proLimitAndDateList; + editAble = editAbleStr; + size = Integer.valueOf(System.Label.orderdetLimitsize); + pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); + try { + soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'鈼媆' '; + if (methodType.equals('hospitalorder')) { + //鍖婚櫌id 鏈夊�� + List<hospitalprice__c> hplist = [ + SELECT id, product__c + FROM hospitalprice__c + WHERE account__c = :accountid AND hospital__c = :hospitalId + ]; + if (hplist != null && hplist.size() > 0) { + List<String> hpids = new List<String>(); + for (hospitalprice__c hc : hplist) { + hpids.add(hc.product__c); + } + + if (hpids != null && hpids.size() > 0) { + soql += ' AND Id in : hpids '; + } + } else { + //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝� + soql += ' AND Id = null '; + } + } else if (methodType.equals('promotionorder')) { + List<Dealer_Product__c> dpclist = [ + SELECT Id, Dealer_Product2__c + FROM Dealer_Product__c + WHERE Dealer_Contact__c = :contractId AND (Special_Discount__c != NULL OR Special_Campaign_Price__c != NULL) + ]; + if (dpclist != null && dpclist.size() > 0) { + String ids = '('; + for (Dealer_Product__c hc : dpclist) { + hpids.add(hc.Dealer_Product2__c); + ids += '\'' + hc.Dealer_Product2__c + '\','; + } + ids = ids.substring(0, ids.length() - 1) + ')'; + if (hpids != null && hpids.size() > 0) { + // soql += ' AND Id in : hpids '; + soql += ' AND Id in ' + ids; + } + } else { + //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝� + soql += ' AND Id = null '; + } + } + size = Integer.valueOf(System.Label.orderdetLimitsize); + initStandardController(); + List<Product2__c> product2Selected = new List<Product2__c>(); + Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>(); + Map<String, String> selectedIdMap = new Map<String, String>(); + consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); + product2Selected = Database.query(soql); + for (Integer i = 0; i < product2Selected.size(); i++) { + MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i])); + } + List<Consumable_order_details2__c> countDel = [ + SELECT + Id, + Bar_Code__c, + Name, + Inventory_date__c, + Consumable_Product__c, + Consumable_Product__r.Asset_Model_No__c, + Recordtypeid, + Box_Piece__c, + hospitalSpecialOffer__c, + promotionorder__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 Arrive_Owner_Work_Location__c = :userWorkLocation + //AND Consumable_order_minor__r.Dealer_Info__c = :accountid + AND Dealer_Info_text__c = :accountName + ]; + for (Integer i = 0; i < countDel.size(); i++) { + if (methodType.equals('hospitalorder')) { + if (countDel[i].hospitalSpecialOffer__c == true) { + //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + //Jstage.BoxPiece = CountDel[i].Box_Piece__c; + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } else if (methodType.equals('promotionorder')) { + if (countDel[i].promotionorder__c == true) { + //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber + if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { + ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c); + if (countDel[i].Box_Piece__c == '鐩�') { + Jstage.allnumber = Jstage.allnumber + 1; + } else { + Jstage.allnumber_piece = Jstage.allnumber_piece + 1; + } + //Jstage.BoxPiece = CountDel[i].Box_Piece__c; + MidMap.put(countDel[i].Consumable_Product__c, Jstage); + } + } + } + } + //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ + for (ConsumableorderdetailsInfo bss : MidMap.values()) { + if (selectedIdMap.containsKey(bss.Prod.id)) { + continue; + } else { + if (DealerProductMap.containsKey(bss.Prod.Id)) { + bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c; + bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c; + bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c; + } + bss.sortBy = sortOrderAsc; + 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; + consumableorderdetailsRecords.add(bss); + } + } + consumableorderdetailsRecords.sort(); + productLimtAndDate(); + getPageInfoForHos(); + sortKey = '1'; + preSortKey = '1'; + sortOrderAsc = false; + sortOrder = new String[7]; + sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' }; + cate1ForSort = category1; + // 鏄剧ず鏁版嵁鏉℃暟淇℃伅 + noOfRecords = consumableorderdetailsRecords.size(); + getConsumableShowTableFieldValue(); + results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; + if (consumableorderdetailsRecordsview.size() > 0) { + results.result = 'Success'; + results.errorMsg = '鍏辨悳绱㈠埌' + consumableorderdetailsRecordsview.size() + '鏉℃暟鎹�'; + } else { + results.result = 'Fail'; + results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'; + } + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + //鐢ㄦ埛鍒囨崲鍖婚櫌鏃跺彇娑堥�変腑鐨勪骇鍝� + private static List<ConsumableorderdetailsInfo> getPageInfoForHos() { + List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); + Map<String, String> selectedIdMap = new Map<String, String>(); + consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); + if (editAble) { + consumableorderdetailsRecordsview = reSet; + } + Integer pagestartNo = (con.getPageNumber() * size) - size; + Integer pageendNo = (con.getPageNumber() * size) > noOfRecords ? noOfRecords : (con.getPageNumber() * size - 1); + Integer addNo = 0; + for (Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++) { + Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c(); + if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { + addNo++; + //continue; + } + // else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { + // break; + // } + else { + if (consumableorderdetailsRecords[i].check == false) { + consumableorderdetailsRecords[i].esd = orderdetails1; + } + consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]); + addNo++; + } + // if (addNo >= size){ + // break; + // } + } + return consumableorderdetailsRecordsview; + } + //add by rentx 2020-12-03 end ===================================================================================================================== + //鐗逛环 + public static void OffersPrice() { + edoffersPrice = true; + } + + //寰楀埌淇冮攢浜у搧Id + private static List<String> getDealerProductId() { + List<String> ProductId = new List<String>(); + Map<String, String> DealerProductIdMap = new Map<String, String>(); + Date dateToday = Date.today(); + List<Dealer_Product__c> DealerProductList = [ + SELECT + Id, + Name, + Dealer_Product2__c, + Special_Campaign_Price__c, + Campaign_StartDate__c, + Campaign_EndDate__c, + Dealer_Contact__c, + OrderGoods_Limit__c + FROM Dealer_Product__c + WHERE + Dealer_Contact__c IN :contactDealer + AND Campaign_StartDate__c <= :dateToday + AND Campaign_EndDate__c >= :dateToday + AND Special_Campaign_Price__c != NULL + ]; + for (Dealer_Product__c dealerProduct : DealerProductList) { + if (DealerProductIdMap.containsKey(dealerProduct.Dealer_Product2__c)) { + continue; + } else { + ProductId.add(dealerProduct.Dealer_Product2__c); + DealerProductIdMap.put(dealerProduct.Dealer_Product2__c, dealerProduct.Dealer_Product2__c); + } + } + return ProductId; + } + + private static String makeSoql( + String CateName, + String CateCode, + String Category3, + String Category4, + String Category5, + Boolean specialCampaign, + List<String> DealerProductId + ) { + String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'鈼媆' '; + // add begin ================================================================================================ + if (methodType != null && methodType.equals('hospitalorder')) { + //濡傛灉鏄尰闄㈢壒浠� + //1.鍒ゆ柇 鍖婚櫌id鏄惁鏈夊�� 濡傛灉鏈夊�� 鍒欐牴鎹尰闄d鍘� 鍖婚櫌鐗逛环琛ㄤ腑鑾峰彇浜у搧id + //鍖婚櫌id 鏈夊�� + if (hospitalId == null || hospitalId == '') { + soql += ' and id = null '; + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍖婚櫌')); + warningMsgList.add('璇烽�夋嫨鍖婚櫌'); + } else { + List<hospitalprice__c> hplist = [ + SELECT id, product__c + FROM hospitalprice__c + WHERE account__c = :accountid AND hospital__c = :hospitalId + ]; + if (hplist != null && hplist.size() > 0) { + hpids = new List<String>(); + for (hospitalprice__c hc : hplist) { + hpids.add(hc.product__c); + } + if (hpids != null && hpids.size() > 0) { + soql += ' AND Id in : hpids '; + } + } else { + //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝� + soql += ' AND Id = null '; + return soql; + } + } + } + //淇冮攢璁㈣揣 + if (methodType != null && methodType.equals('promotionorder')) { + if (contractId == null || contractId == '') { + soql += ' and id = null '; + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍚堝悓')); + warningMsgList.add('璇烽�夋嫨鍚堝悓'); + } else { + //1.鏌ヨ鎵�鏈夌粡閿�鍟嗕骇鍝� + List<Dealer_Product__c> dpclist = [ + SELECT Id, Dealer_Product2__c + FROM Dealer_Product__c + WHERE Dealer_Contact__c = :contractId AND (Special_Discount__c != NULL OR Special_Campaign_Price__c != NULL) + ]; + + if (dpclist != null && dpclist.size() > 0) { + hpids = new List<String>(); + for (Dealer_Product__c hc : dpclist) { + hpids.add(hc.Dealer_Product2__c); + } + if (hpids != null && hpids.size() > 0) { + soql += ' AND Id in : hpids '; + } + } else { + //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝� + soql += ' AND Id = null '; + return soql; + } + } + } + //add end =================================================================================================== + if (!String.isBlank(CateName)) { + soql += + ' AND (Name__c like \'%' + + String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + + '%\' or Asset_Model_No__c like \'%' + + String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + + '%\')'; + } + if (!String.isBlank(Category3)) { + soql += ' AND Category3__c = \'' + Category3 + '\''; + } + if (!String.isBlank(Category4)) { + soql += ' AND Category4__c = \'' + Category4 + '\''; + } + if (!String.isBlank(Category5)) { + soql += ' AND Category5__c = \'' + Category5 + '\''; + } + if (agencyProType == 'ET') { + soql += ' AND Pro2_Dealer_Object__c = true'; + } + if (agencyProType == 'ENG') { + soql += ' AND Pro2_Dealer_ENG__c = true'; + } + soql += ' AND Intra_Trade_List_RMB__c > 0 '; + System.debug('soql +++++++++++ ' + soql); + return soql; + } + + private static String makeSoqlorderdet() { + String sqlTail = '(\''; + for (Integer i = 0; i < orderzaikuId.size(); i++) { + if (i < orderzaikuId.size() - 1) { + sqlTail += orderzaikuId[i] + '\',\''; + } else { + sqlTail += orderzaikuId[i] + '\')'; + } + } + String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'鈼媆' '; + System.debug('sqlTail:' + sqlTail); + System.debug('orderzaikuId:' + orderzaikuId); + if (orderzaikuId.size() > 0) { + soql += ' AND Id in' + sqlTail; + } + return soql; + } + + // 缂栬緫鎸夐挳 + @AuraEnabled + public static Results setEditAble(String eSetidStr) { + Results results = new Results(); + ESetId = eSetidStr; + try { + statusEdit = 'Redirect'; + List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid]; + String url = '/lexconsumable?ESetid=' + ESetid + '&KeyWords=' + statusEdit + '&type=' + oclist.get(0).orderPattern__c; + results.result = 'Success'; + results.url = url; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + // 鍐嶇敵璇� + @AuraEnabled + public static Results backOrder(String eSetidStr) { + Results results = new Results(); + ESetId = eSetidStr; + statusEdit = 'Redirect'; + returnOrder = true; + try { + statusEdit = 'Redirect'; + List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid]; + String url = '/lexconsumable?ESetid=' + ESetid + '&KeyWords=' + statusEdit + '&type=' + oclist.get(0).orderPattern__c; + results.result = 'Success'; + results.url = url; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + //涓婁紶闄勪欢 + @AuraEnabled + public static Results filesUpload(String pId, String fileName, String base64Data) { + Results results = new Results(); + try { + base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8'); + ContentVersion cv = new ContentVersion(); + cv.Title = fileName; + cv.PathOnClient = '/' + fileName; + cv.FirstPublishLocationId = pId; + cv.VersionData = EncodingUtil.base64Decode(base64Data); + cv.IsMajorVersion = true; + insert cv; + Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id = :pId]; + c.Consumable_pdf_insert_day__c = Date.today(); + update c; + results.result = 'Success'; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + //鍒犻櫎鎸夐挳 + @AuraEnabled + public static Results delConsumable(String eSetidStr) { + Results results = new Results(); + ESetId = eSetidStr; + try { + Consumable_order__c cord = new Consumable_order__c(Id = ESetId); + List<Consumable_Orderdetails__c> orderdetails1 = [ + SELECT Id + FROM Consumable_Orderdetails__c + WHERE Consumable_order__c = :EsetId + ]; + delete orderdetails1; + delete cord; + results.result = 'Success'; + results.url = '/lexconsumableordermanage'; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + // 鎻愪氦鎸夐挳 + @AuraEnabled + public static Results sorder(String eSetidStr, String accountidStr) { + Results results = new Results(); + errorMsgList = new List<String>(); + warningMsgList = new List<String>(); + ESetId = eSetidStr; + accountid = accountidStr; + Savepoint sp = Database.setSavepoint(); + try { + Map<Id, String> prodMap = new Map<Id, String>(); + Consumable_order__c P = new Consumable_order__c(); + P = new Consumable_order__c(); + p.Id = ESetId; + p.Order_date__c = Date.today(); + p.Order_status__c = '闄勪欢涓婁紶瀹屾垚'; + for (Consumable_Orderdetails__c cod1 : [ + SELECT Consumable_product__r.Product2__c, Consumable_product__r.Name__c + FROM Consumable_Orderdetails__c + WHERE Consumable_order__c = :ESetId + ]) { + prodMap.put(cod1.Consumable_product__r.Product2__c, cod1.Consumable_product__r.Name__c); + } + // GZW 鎻愪氦浜у搧鏃犳晥 鍑洪敊璇秷鎭� + System.debug(prodMap); + Map<String, String> chkMap = OpportunityWebService.MapCheckProRegisterDecide(prodMap, accountid, ''); + System.debug(chkMap); + if (chkMap.size() > 0) { + if (chkMap.containsKey('agency')) { + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��')); + errorMsgList.add('绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��'); + } + for (String proId : prodMap.keySet()) { + if (chkMap.containsKey(proId)) { + if (chkMap.get(proId) == '1') { + // ApexPages.addmessage( + // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�') + // ); + errorMsgList.add('浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�'); + } else if (chkMap.get(proId) == '2') { + // ApexPages.addmessage( + // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��') + // ); + errorMsgList.add('浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��'); + } + } + } + results.result = 'Fail'; + results.errorMsg = ''; + results.errorMsgList = errorMsgList; + results.warningMsgList = warningMsgList; + return results; + } + update p; + Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); + psr.setObjectId(ESetId); + Approval.ProcessResult submitResult = Approval.process(psr); + results.result = 'Success'; + results.url = '/lexconsumableordermanage'; + } catch (Exception e) { + Database.rollback(sp); + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + // 椹冲洖璁㈠崟copy + @AuraEnabled + public static Results ordrCopy( + String contractNameStr, + String cocStr, + String agencyProTypeStr, + String accountidStr, + String consumableorderdetailsRecordsviewStr, + String contactDealerStr, + String methodTypeStr, + String hospitalIdStr, + String contractIdStr, + String agencyProType1Str, + Boolean OSHFLGStr + ) { + ESetId = ''; + return save( + contractNameStr, + cocStr, + agencyProTypeStr, + accountidStr, + consumableorderdetailsRecordsviewStr, + contactDealerStr, + methodTypeStr, + ESetId, + hospitalIdStr, + contractIdStr, + agencyProType1Str, + OSHFLGStr + ); + } + + //淇濆瓨鎸夐挳 + @AuraEnabled + public static Results save( + String contractNameStr, + String cocStr, + String agencyProTypeStr, + String accountidStr, + String consumableorderdetailsRecordsviewStr, + String contactDealerStr, + String methodTypeStr, + String eSetIdStr, + String hospitalIdStr, + String contractIdStr, + String agencyProType1Str, + Boolean OSHFLGStr + ) { + Results results = new Results(); + errorMsgList = new List<String>(); + warningMsgList = new List<String>(); + contractName = contractNameStr; + agencyProType = agencyProTypeStr; + accountid = accountidStr; + methodType = methodTypeStr; + ESetId = eSetIdStr; + hospitalId = hospitalIdStr; + contractId = contractIdStr; + agencyProType1 = agencyProType1Str; + OSHFLG = OSHFLGStr; + coc = (Consumable_order__c) JSON.deserialize(cocStr, Consumable_order__c.class); + contactDealer = (List<String>) JSON.deserialize(contactDealerStr, List<String>.class); + System.debug('consumableorderdetailsRecordsviewStr:' + consumableorderdetailsRecordsviewStr); + consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetailsRecordsviewStr, + List<ConsumableorderdetailsInfo>.class + ); + if (coc.Offers_Price__c != null) { + String offerStr = String.valueOf(coc.Offers_Price__c); + bargainPrice = Decimal.valueOf(offerStr.replace(',', '')); + } + Savepoint sp = Database.setSavepoint(); + try { + if (String.isEmpty(contractName)) { + // coc.Order_effective_contact__c.addError('璇烽�夋嫨鍚堝悓'); + results.result = 'Fail'; + results.errorMsg = '璇烽�夋嫨鍚堝悓'; + return results; + } + List<Account> contract = [ + SELECT Id, Name, Contract_Department_Class__c, Contract_Quote_Decide_Flag__c + FROM account + WHERE + Name = :contractName + AND Id = :contractId //lt 20230517 瀹夊窘涓ょエ鍒� add + AND Contract_Decide_Start_Date__c <= :Date.Today() + AND Contract_Decide_End_Date__c >= :Date.Today() + AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 + AND Agent_Ref__c = :accountid + AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add + ]; + if (contract.size() <= 0) { + // coc.Order_effective_contact__c.addError('涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�'); + results.result = 'Fail'; + results.errorMsg = '涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�'; + return results; + } else { + if (String.isEmpty(contract[0].Contract_Quote_Decide_Flag__c)) { + // coc.Order_effective_contact__c.addError('鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�'); + results.result = 'Fail'; + results.errorMsg = '鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�'; + return results; + } + } + Integer FLG = 0; + Integer Count = 0; + //add by rentx 2020-11-25 + List<String> tpids = new List<String>(); + //add by rentx 2020-11-25 + for (ConsumableorderdetailsInfo CheckCount : consumableorderdetailsRecordsview) { + FLG = FLG + 1; + if (CheckCount.check == false) { + Count = Count + 1; + } + if (CheckCount.check == true) { + //add by rentx 2020-11-25 + tpids.add(CheckCount.Prod.Id); + //add by rentx 2020-11-25 + if (CheckCount.esd.Consumable_Count__c == null || CheckCount.esd.Consumable_Count__c == 0) { + // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�'); + results.result = 'Fail'; + results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�'; + return results; + } + if ( + CheckCount.orderGoods_Limit > 0 && + math.mod(Integer.valueOf(CheckCount.esd.Consumable_Count__c), Integer.valueOf(CheckCount.orderGoods_Limit)) > 0 + ) { + // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟'); + results.result = 'Fail'; + results.errorMsg = '璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟'; + return results; + } + } + } + if (Count == FLG) { + results.result = 'Fail'; + results.errorMsg = '璇烽�夋嫨鎵�闇�娑堣�楀搧'; + return results; + } + //=======================================鍖婚櫌鐗逛环,鏈夐噾棰濈殑璇濆彇閲戦 + Map<String, Decimal> dealerHospitalmMap = new Map<String, Decimal>(); + List<hospitalprice__c> hplist = [ + SELECT Id, hospital__c, mPrice__c, pPrice__c, product__c, account__c + FROM hospitalprice__c + WHERE product__c IN :tpids AND mPrice__c != NULL AND account__c = :accountid + ]; + for (hospitalprice__c dealerProduct : hplist) { + if (dealerProduct.mPrice__c != null) { + dealerHospitalmMap.put('' + dealerProduct.hospital__c + dealerProduct.product__c, dealerProduct.mPrice__c); + } + } + //淇冮攢璁㈣揣 鏍规嵁缁忛攢鍟嗕骇鍝佷腑鐨勬暟鎹绠楅噾棰� + //=======================================浜у搧鐗规畩鎶樻墸 + Map<String, Decimal> dealerPDiscountMap = new Map<String, Decimal>(); + Map<String, Decimal> dealerMPDiscountMap = new Map<String, Decimal>(); + //1.鑾峰彇鏈夊紑濮嬬粨鏉熸棩鐨勪骇鍝� + Date dateToday = Date.today(); + List<Dealer_Product__c> haveDateList = [ + SELECT + Id, + Name, + Dealer_Product2__c, + Special_Campaign_Price__c, + Campaign_StartDate__c, + Campaign_EndDate__c, + Dealer_Contact__c, + OrderGoods_Limit__c, + Special_Discount__c + FROM Dealer_Product__c + WHERE + Dealer_Contact__c IN :contactDealer + AND Campaign_StartDate__c <= :dateToday + AND Campaign_EndDate__c >= :dateToday + AND (Special_Discount__c != NULL + OR Special_Campaign_Price__c != NULL) + ]; + //2.鑾峰彇娌℃湁寮�濮嬬粨鏉熸棩鐨勪骇鍝� + List<Dealer_Product__c> DealerProductList = [ + SELECT + Id, + Name, + Dealer_Product2__c, + Special_Campaign_Price__c, + Campaign_StartDate__c, + Campaign_EndDate__c, + Dealer_Contact__c, + Special_Discount__c, + OrderGoods_Limit__c + FROM Dealer_Product__c + WHERE Dealer_Contact__c IN :contactDealer AND (Special_Discount__c != NULL OR Special_Campaign_Price__c != NULL) + ]; + for (Dealer_Product__c dealerProduct : DealerProductList) { + //濡傛灉淇冮攢浠锋牸涓簄ull 鍒欒缃壒娈婃姌鎵�(鐧惧垎姣�)鍒伴泦鍚� + if (dealerProduct.Special_Campaign_Price__c == null) { + dealerPDiscountMap.put( + '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c, + dealerProduct.Special_Discount__c + ); + } else { + dealerMPDiscountMap.put( + '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c, + dealerProduct.Special_Campaign_Price__c + ); + } + } + //杩欐牱鍋氭槸涓轰簡璁$畻淇冮攢浠锋牸鏃� 浼樺厛璁$畻淇冮攢寮�濮嬬粨鏉熸棩涓嶄负绌虹殑浜у搧 + //濡傛灉璇ラ泦鍚堟湁鍊� 鍒欒鏄庨渶瑕佹牴鎹綋鍓嶇殑閲戦鎴栬�呮姌鎵f潵璁$畻 + if (haveDateList != null && haveDateList.size() > 0) { + for (Dealer_Product__c dealerProduct : haveDateList) { + if (dealerProduct.Special_Campaign_Price__c == null) { + dealerPDiscountMap.put( + '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c, + dealerProduct.Special_Discount__c + ); + dealerMPDiscountMap.remove('' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c); + } else { + dealerMPDiscountMap.put( + '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c, + dealerProduct.Special_Campaign_Price__c + ); + dealerPDiscountMap.remove('' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c); + } + } + } + //=======================================缁忛攢鍟嗗悎鍚屾姌鎵� + List<Account> at = [ + SELECT id, Name, State_Master__c, State_Master__r.Name, Sales_Section__c, Dealer_discount__c + FROM Account + WHERE + Name = :contractName + AND Id = :contractId //lt 20230517 瀹夊窘涓ょエ鍒� add + AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 + AND Contact_Type__c LIKE :agencyProType + AND Contract_Decide_Start_Date__c <= :Date.Today() + AND Contract_Decide_End_Date__c >= :Date.Today() + AND Contract_Decide_End_Date__c >= :Date.Today() + AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add + ]; + if (at.size() > 0 && at[0].Dealer_discount__c != null) { + disCount = at[0].Dealer_discount__c; + } else { + disCount = 100; + } + Consumable_order__c P = new Consumable_order__c(); + List<Consumable_Orderdetails__c> Ins = new List<Consumable_Orderdetails__c>(); + //鏂板缓璁㈠崟鏃� + if (String.isBlank(ESetId)) { + Integer i = 1; + Integer Roll = 0; + p.Name = '*'; + p.Order_status__c = '鑽夋涓�'; + p.Dealer_Info__c = accountid; + p.Order_ProType__c = agencyProType; + p.Offers_Price__c = coc.Offers_Price__c; + p.Order_date__c = coc.Order_date__c; + p.Order_effective_contact__c = contract[0].Id; + p.Order_Reason__c = coc.Order_Reason__c; + p.RecordTypeid = System.Label.RT_ConOrder_Order; + p.Overrule_order__c = coc.Id; + if (String.isNotBlank(methodType)) { + p.orderPattern__c = methodType; + } + insert p; + List<Consumable_order__c> Consumable_order = [SELECT Name, orderPattern__c FROM Consumable_order__c WHERE id = :p.id]; + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { + Roll = Roll + 1; + if (ass.check == true) { + if (ass.esd.Consumable_Count__c == null || ass.esd.Consumable_Count__c == 0) { + // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�'); + results.result = 'Fail'; + results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�'; + return results; + } else { + Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c(); + String str = string.valueOf(i); + if (str.length() == 1) { + str = '0' + str; + } + InsAfterDel.Name = Consumable_order[0].Name + '-' + str; + InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c; + InsAfterDel.Consumable_order__c = p.id; + InsAfterDel.Consumable_Product__c = ass.Prod.id; + InsAfterDel.Box_Piece__c = '鐩�'; + //鍗忚璁㈣揣 + if (methodType.equals('agreementorder')) { + Consumable_order[0].orderPattern__c = 'agreementorder'; + + InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c * disCount / 100; + //=====================================================================================update by rentx 2020-11-25 + } else if (methodType.equals('promotionorder')) { + Consumable_order[0].orderPattern__c = 'promotionorder'; + //淇冮攢璁㈣揣 + //濡傛灉淇冮攢浠锋牸涓嶄负null 鍒欑洿鎺ヤ娇鐢ㄤ績閿�浠锋牸鏉ヨ绠楅噾棰� + if (dealerMPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) { + InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get('' + contract[0].Id + ass.Prod.Id); + system.debug('cai 0' + InsAfterDel.Intra_Trade_List_RMB__c); + } else if (dealerPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) { + InsAfterDel.Intra_Trade_List_RMB__c = + ass.Prod.Intra_Trade_List_RMB__c * + dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) / + 100; + system.debug('cai 00' + InsAfterDel.Intra_Trade_List_RMB__c); + } + //=====================================================================================update by rentx 2020-11-25 + } else if (methodType.equals('hospitalorder')) { + //鍖婚櫌鐗逛环 + Consumable_order[0].Order_ForHospital__c = hospitalId; + Consumable_order[0].orderPattern__c = 'hospitalorder'; + if ( + dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && + dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null + ) { + //鐩存帴鏍规嵁淇冮攢閲戦璁$畻 + InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get('' + hospitalId + ass.Prod.Id); + } + } else if (DealerProductMap.containsKey(ass.Prod.Id)) { + InsAfterDel.Intra_Trade_List_RMB__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c; + system.debug('cai 2' + InsAfterDel.Intra_Trade_List_RMB__c); + InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢'; + InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c; + } + InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; + i++; + Ins.add(InsAfterDel); + } + } + } + ESetId = p.id; + if (Consumable_order.size() > 0) { + update Consumable_order; + } + } + //淇敼涔嬪悗 淇濆瓨璁㈠崟 + if (Ins.size() > 0) { + insert Ins; + } else { + //淇敼,鑾峰彇娑堣�楀搧璁㈠崟 + List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); + cocinfo = [ + SELECT Id, Name, Order_status__c, Dealer_Info__c, Deliver_date__c, Order_Reason__c, Offers_Price__c + FROM Consumable_order__c + WHERE Id = :ESetId + ]; + if (cocinfo.size() > 0) { + p = cocinfo[0]; + } + p.Name = coc.Name; + p.Dealer_Info__c = accountid; + p.Order_ProType__c = agencyProType; + p.Order_date__c = coc.Order_date__c; + p.Order_effective_contact__c = contract[0].Id; + p.Order_Reason__c = coc.Order_Reason__c; + if (bargainPrice != null) { + p.Offers_Price__c = bargainPrice; + } + update p; + List<Consumable_order__c> Consumable_order = [SELECT Name, orderPattern__c FROM Consumable_order__c WHERE id = :p.id]; + List<Consumable_Orderdetails__c> qs = new List<Consumable_Orderdetails__c>(); + qs = [ + SELECT Id + FROM Consumable_Orderdetails__c + WHERE Consumable_order__c = :ESetId AND Consumable_order__r.Dealer_Info__c = :accountid + ]; + if (qs.size() > 0) { + delete qs; + } + Integer i = 1; + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { + if (ass.check == true) { + Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c(); + if (ass.esd.Consumable_Count__c == null || ass.esd.Consumable_Count__c == 0) { + // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�'); + results.result = 'Fail'; + results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�'; + return results; + } else { + String str = string.valueOf(i); + if (str.length() == 1) { + str = '0' + str; + } + InsAfterDel.Name = Consumable_order[0].Name + '-' + str; + InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c; + InsAfterDel.Consumable_order__c = ESetId; + InsAfterDel.Consumable_Product__c = ass.Prod.id; + InsAfterDel.Box_Piece__c = '鐩�'; + //鍗忚璁㈣揣 + if (methodType.equals('agreementorder')) { + Consumable_order[0].orderPattern__c = 'agreementorder'; + InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c * disCount / 100; + } else if (methodType.equals('promotionorder')) { + Consumable_order[0].orderPattern__c = 'promotionorder'; + //淇冮攢璁㈣揣 + if (dealerMPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) { + InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get('' + contract[0].Id + ass.Prod.Id); + } else if (dealerPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) { + InsAfterDel.Intra_Trade_List_RMB__c = + ass.Prod.Intra_Trade_List_RMB__c * + dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) / + 100; + } + } else if (methodType.equals('hospitalorder')) { + Consumable_order[0].orderPattern__c = 'hospitalorder'; + //鍖婚櫌鐗逛环 + Consumable_order[0].Order_ForHospital__c = hospitalId; + if ( + dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && + dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null + ) { + //鐩存帴鏍规嵁淇冮攢閲戦璁$畻 + InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get('' + hospitalId + ass.Prod.Id); + } + } else if (DealerProductMap.containsKey(ass.Prod.Id)) { + InsAfterDel.Intra_Trade_List_RMB__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c; + InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢'; + InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c; + } + // ==================================================涔嬪墠鐨勪績閿�璁㈣揣鐨勯�昏緫 + InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; + i++; + Ins.add(InsAfterDel); + } + } + } + if (Ins.size() > 0) { + insert Ins; + } + } + results.result = 'Success'; + results.eSetId = ESetId; + } catch (Exception e) { + Database.rollback(sp); + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + //鍒犻櫎闄勪欢 + @AuraEnabled + public static Results deleteAtt(String contentVersionId, String cocId) { + Results results = new Results(); + try { + List<ContentVersion> cvInfo = [SELECT Id FROM ContentVersion WHERE FirstPublishLocationId = :cocId]; + ContentVersion conVersion = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionId]; + String contentDocumentId = conVersion.ContentDocumentId; + ContentDocument conDocument = [SELECT Id FROM ContentDocument WHERE Id = :contentDocumentId]; + delete conDocument; + if (cvInfo.size() <= 1) { + Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id = :cocId]; + c.Consumable_pdf_insert_day__c = null; + update c; + } + results.result = 'Success'; + } catch (Exception e) { + results.result = 'Fail'; + results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + } + return results; + } + + public static void getConsumableShowTableFieldValue() { + for (ConsumableorderdetailsInfo con : consumableorderdetailsRecordsview) { + if (con.Prod != null) { + con.recordId = con.Prod.Id; + if (!con.oldCheck) { + con.prodName = con.Prod.Name__c; + // System.debug('ProdName:'+con.Prod.Id+'---'+con.Prod.Name__c); + } + con.prodSFDAStatus = con.Prod.SFDA_Status__c; + con.prodCategory3 = con.Prod.Category3__c; + con.prodCategory4 = con.Prod.Category4__c; + con.prodCategory5 = con.Prod.Category5__c; + con.prodIntraTradeList = con.Prod.Intra_Trade_List_RMB__c; + } + if (con.esd != null) { + // if(con.oldCheck){ + // con.prodName = con.esd.Consumable_Product__r.Name__c; + // } + con.consumableCount = con.esd.Consumable_count__c; + } + } + } + + public class ConsumableorderdetailsInfo implements Comparable { + @AuraEnabled + public Boolean check { get; set; } + @AuraEnabled + public Boolean oldCheck { get; set; } + @AuraEnabled + public Consumable_Orderdetails__c esd { get; set; } + @AuraEnabled + public Product2__c Prod { get; set; } + @AuraEnabled + public Integer packing_list { get; set; } + @AuraEnabled + public Date expiration_Date { get; set; } + @AuraEnabled + public String approbation_No { get; set; } + @AuraEnabled + public Decimal allnumber { get; set; } + @AuraEnabled + public Decimal allnumber_piece { get; set; } + @AuraEnabled + public Decimal oldConsumableCount { get; set; } + @AuraEnabled + public Boolean canSelect { get; set; } + @AuraEnabled + public ContentVersion Concc { get; set; } + @AuraEnabled + public Boolean sortBy { get; set; } + @AuraEnabled + public Decimal upperlimit { get; set; } + @AuraEnabled + public Decimal lowerlimit { get; set; } + @AuraEnabled + public Decimal SpecialCampaignPrice { get; set; } + @AuraEnabled + public Decimal orderGoods_Limit { get; set; } + @AuraEnabled + public Date Campaign_EndDate { get; set; } + @AuraEnabled + public String recordId { get; set; } + @AuraEnabled + public String prodName { get; set; } + @AuraEnabled + public String prodSFDAStatus { get; set; } + @AuraEnabled + public String prodCategory3 { get; set; } + @AuraEnabled + public String prodCategory4 { get; set; } + @AuraEnabled + public String prodCategory5 { get; set; } + @AuraEnabled + public Decimal prodIntraTradeList { get; set; } + @AuraEnabled + public Decimal consumableCount { get; set; } + + // 宸插瓨浜у搧鏄庣粏 + public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) { + check = true; + oldCheck = true; + esd = e; + Prod = e.Consumable_Product__r; + oldConsumableCount = e.Consumable_Count__c; + canSelect = true; + allnumber = 0; + allnumber_piece = 0; + } + + public ConsumableorderdetailsInfo(Product2__c e) { + check = false; + oldCheck = false; + esd = new Consumable_Orderdetails__c(); + Prod = e; + oldConsumableCount = null; + canSelect = true; + allnumber = 0; + allnumber_piece = 0; } //闄勪欢 - // attachmentinfo = [SELECT Id, Name, OwnerId, Owner.Name FROM Attachment WHERE parentid = :ESetId]; - // if (attachmentinfo.size() > 0) { - // for (Integer i = 0; i < attachmentinfo.size(); i++) { - // attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i])); - // } - // } - List<ContentDocumentLink> links = [ - SELECT Id, ContentDocumentId - FROM ContentDocumentLink - WHERE LinkedEntityId = :ESetId - ]; - if (links != null && links.size() > 0) { - List<String> documentIds = new List<String>(); - for (ContentDocumentLink link : links) { - documentIds.add(link.ContentDocumentId); - } - List<ContentVersion> cvInfo = [ - SELECT - Id, - Title, - OwnerId, - Owner.Name, - CreatedDate, - ContentDocumentId - FROM ContentVersion - WHERE ContentDocumentId IN :documentIds - ]; - if (cvInfo.size() > 0) { - for (Integer i = 0; i < cvInfo.size(); i++) { - attachmentRecoeds.add(new ConsumableorderdetailsInfo(cvInfo[i])); - } - } + public ConsumableorderdetailsInfo(ContentVersion e) { + Concc = e; } - // - consumableorderdetailsRecords.sort(); - getPageInfo(); - } - //璁$畻搴撳瓨涓娿�佷笅闄� - productLimtAndDate(); - lowerRecord(); - //鏄庣粏鎺掑簭 - List<String> upper = new List<String>(); - if (String.isNotBlank(ESetid)) { - for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { - if ( - bss.esd.Consumable_count__c != null && - bss.allnumber != null && - bss.upperlimit != null - ) { - if (bss.esd.Consumable_count__c + bss.allnumber > bss.upperlimit) { - upper.add(bss.esd.Consumable_Product__r.Name__c); - } - } - } - } - if (upper.size() > 0) { - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!')); - warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!'); - for (Integer i = 0; i < upper.size(); i++) { - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, upper[i])); - warningMsgList.add(upper[i]); - } - } - if (lower.size() > 0) { - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!')); - warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!'); - for (Integer i = 0; i < lower.size(); i++) { - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, lower[i])); - warningMsgList.add(lower[i]); - } - } - //浠锋牸鏌ョ湅鏉冮檺 - Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe(); - cansee = dfr.isAccessible(); - AggregateResult[] categoryList = [ - SELECT Count(id), Category3_text__c c3c - FROM Product2__c - WHERE - Estimation_Entry_Possibility__c = '鈼�' - AND Product_Type__c LIKE :agencyProType - AND Category3_text__c != NULL - GROUP BY Category3_text__c - ]; - //categoty3 - // categoryOptionList = new List<SelectOption>(); - category3Option = new List<CusOption>(); - // categoryOptionList.add(new SelectOption('', '-鏃�-')); - category3Option.add(new CusOption('-鏃�-', '')); - for (AggregateResult category3Search : categoryList) { - String deliverycnt = String.valueOf(category3Search.get('c3c')); - // categoryOptionList.add(new SelectOption(deliverycnt, deliverycnt)); - category3Option.add(new CusOption(deliverycnt, deliverycnt)); - } - //categoty4 - // category4OptionList = new List<SelectOption>(); - category4Option = new List<CusOption>(); - // category4OptionList.add(new SelectOption('', '-鏃�-')); - category4Option.add(new CusOption('-鏃�-', '')); - //categoty5 - // category5OptionList = new List<SelectOption>(); - category5Option = new List<CusOption>(); - // category5OptionList.add(new SelectOption('', '-鏃�-')); - category5Option.add(new CusOption('-鏃�-', '')); - //return msg - consumableorderdetailsRecordsview = consumableorderdetailsRecords; - getConsumableShowTableFieldValue(); - results.result = 'Success'; - results.coc = coc; - results.editAble = editAble; - results.edoffersPrice = edoffersPrice; - results.editDelCommitBtnDisabled = EditDelCommitBtnDisabled; - results.category3Option = category3Option; - results.category4Option = category4Option; - results.category5Option = category5Option; - results.hospitalName = hospitalName; - results.contractName = contractName; - results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; - results.attachmentRecoeds = attachmentRecoeds; - results.cansee = cansee; - results.agencyProType = agencyProType; - results.agencyProType1 = agencyProType1; - results.OSHFLG = OSHFLG; - results.userWorkLocation = userWorkLocation; - results.accountName = accountName; - results.category_Goods = category_Goods; - results.specialCampaign = specialCampaign; - results.dealerProductId = DealerProductId; - results.accountid = accountid; - results.hospitalId = hospitalId; - results.contractId = contractId; - results.contactDealer = contactDealer; - results.errorMsgList = errorMsgList; - results.warningMsgList = warningMsgList; - results.methodType = methodType; - results.proLimitAndDate = proLimitAndDate; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - @AuraEnabled - public static Results categoryAllload( - String agencyProTypeStr, - String category3Str - ) { - Results results = new Results(); - agencyProType = agencyProTypeStr; - category3 = category3Str; - try { - AggregateResult[] category4List = [ - SELECT Count(id), Category4_text__c c4c - FROM Product2__c - WHERE - Estimation_Entry_Possibility__c = '鈼�' - AND Product_Type__c LIKE :agencyProType - AND Category3_text__c = :category3 - AND Category4_text__c != NULL - AND Category5_text__c != NULL - GROUP BY Category4_text__c - ]; - // category4OptionList = new List<SelectOption>(); - category4Option = new List<CusOption>(); - // category4OptionList.add(new SelectOption('', '-鏃�-')); - category4Option.add(new CusOption('-鏃�-', '')); - for (AggregateResult category4Search : category4List) { - String deliverycnt4 = String.valueOf(category4Search.get('c4c')); - // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4)); - category4Option.add(new CusOption(deliverycnt4, deliverycnt4)); - } - AggregateResult[] category5List = [ - SELECT Count(id), Category5_text__c c5c - FROM Product2__c - WHERE - Estimation_Entry_Possibility__c = '鈼�' - AND Product_Type__c LIKE :agencyProType - AND Category3_text__c = :category3 - AND Category4_text__c != NULL - AND Category5_text__c != NULL - GROUP BY Category5_text__c - ]; - // category5OptionList = new List<SelectOption>(); - category5Option = new List<CusOption>(); - // category5OptionList.add(new SelectOption('', '-鏃�-')); - category5Option.add(new CusOption('-鏃�-', '')); - for (AggregateResult category5Search : category5List) { - String deliverycnt5 = String.valueOf(category5Search.get('c5c')); - // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5)); - category5Option.add(new CusOption(deliverycnt5, deliverycnt5)); - } - results.category4Option = category4Option; - results.category5Option = category5Option; - results.result = 'Success'; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - @AuraEnabled - public static Results categoryload( - String agencyProTypeStr, - String category3Str, - String category4Str - ) { - Results results = new Results(); - agencyProType = agencyProTypeStr; - category3 = category3Str; - category4 = category4Str; - try { - AggregateResult[] category4List = [ - SELECT Count(id), Category4_text__c c4c - FROM Product2__c - WHERE - Estimation_Entry_Possibility__c = '鈼�' - AND Product_Type__c LIKE :agencyProType - AND Category3_text__c = :category3 - AND Category4_text__c != NULL - AND Category5_text__c != NULL - GROUP BY Category4_text__c - ]; - // category4OptionList = new List<SelectOption>(); - category4Option = new List<CusOption>(); - // category4OptionList.add(new SelectOption('', '-鏃�-')); - category4Option.add(new CusOption('-鏃�-', '')); - for (AggregateResult category4Search : category4List) { - String deliverycnt4 = String.valueOf(category4Search.get('c4c')); - // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4)); - category4Option.add(new CusOption(deliverycnt4, deliverycnt4)); - } - - AggregateResult[] category5List = [ - SELECT Count(id), Category5_text__c c5c - FROM Product2__c - WHERE - Estimation_Entry_Possibility__c = '鈼�' - AND Product_Type__c LIKE :agencyProType - AND Category3_text__c = :category3 - AND Category4_text__c = :category4 - AND Category5_text__c != NULL - GROUP BY Category5_text__c - ]; - // category5OptionList = new List<SelectOption>(); - category5Option = new List<CusOption>(); - // category5OptionList.add(new SelectOption('', '-鏃�-')); - category5Option.add(new CusOption('-鏃�-', '')); - for (AggregateResult category5Search : category5List) { - String deliverycnt5 = String.valueOf(category5Search.get('c5c')); - // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5)); - category5Option.add(new CusOption(deliverycnt5, deliverycnt5)); - } - results.category4Option = category4Option; - results.category5Option = category5Option; - results.result = 'Success'; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - // 鐢婚潰鍒濆鍖� - public static void lowerRecord() { - List<ConsumableorderdetailsInfo> lowerRecord = new List<ConsumableorderdetailsInfo>(); - //搴撳瓨鏄庣粏鍙栧緱 - Map<String, ConsumableorderdetailsInfo> midMaprecord = new Map<String, ConsumableorderdetailsInfo>(); - List<Product2__c> product2Selected = [ - SELECT Id, Name, Name__c, Intra_Trade_List_RMB__c, Asset_Model_No__c - FROM Product2__c - WHERE - Pro2_Dealer_Object__c = TRUE - AND Estimation_Entry_Possibility__c = '鈼�' - ]; - for (Integer i = 0; i < product2Selected.size(); i++) { - lowerRecord.add(new ConsumableorderdetailsInfo(product2Selected[i])); - //鍏堟妸ConsumableorderdetailsRecords 鍋氭垚map - midMaprecord.put( - product2Selected[i].Id, - new ConsumableorderdetailsInfo(product2Selected[i]) - ); - } - List<Consumable_order_details2__c> countDel = [ - SELECT - Id, - Bar_Code__c, - Name, - Inventory_date__c, - Consumable_Product__c, - Consumable_Product__r.Asset_Model_No__c, - Recordtypeid, - Guarantee_period_for_products__c, - Isoverdue__c, - Box_Piece__c, - hospitalSpecialOffer__c, - promotionorder__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 Isoverdue__c = 1 - AND Arrive_Owner_Work_Location__c = :userWorkLocation - //AND Consumable_order_minor__r.Dealer_Info__c = :accountid - AND Dealer_Info_text__c = :accountName - ]; - for (Integer i = 0; i < countDel.size(); i++) { - //add by rentx 2020-12-09 - if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) { - if (countDel[i].hospitalSpecialOffer__c == true) { - //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber - if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = midMaprecord.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - //Jstage.BoxPiece = CountDel[i].Box_Piece__c; - midMaprecord.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if ( - String.isBlank(methodType) || methodType.equals('promotionorder') - ) { - if (countDel[i].promotionorder__c == true) { - if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = midMaprecord.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - midMaprecord.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if ( - String.isBlank(methodType) || - (!methodType.equals('promotionorder') && - !methodType.equals('hospitalorder')) - ) { - if ( - countDel[i].promotionorder__c == false && - countDel[i].hospitalSpecialOffer__c == false - ) { - if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = midMaprecord.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - midMaprecord.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } - } - lowerRecord = new List<ConsumableorderdetailsInfo>(); - //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords - for (ConsumableorderdetailsInfo bss : midMaprecord.values()) { - lowerRecord.add(bss); - } - allProductLimt(lowerRecord); - for (ConsumableorderdetailsInfo bss : lowerRecord) { - if (bss.allnumber < bss.lowerlimit) { - lower.add(bss.Prod.Name__c); - } - } - } - - //搴撳瓨涓婁笅闄� - 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++) { - nowName = proLimitAndDate[i]; - 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 - ) - ); - } - } - } - - //鍏ㄩ儴搴撳瓨涓婁笅闄� - private static void allProductLimt( - List<ConsumableorderdetailsInfo> lowerRecord - ) { - String nowName = null, nowRightAsstModelNo = null; - 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); - } - productLimt.put(nowRightAsstModelNo, nowName); - } - for (ConsumableorderdetailsInfo ass : lowerRecord) { - 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 - ) - ); - } - } - } - - @AuraEnabled - public static Results searchConsumableorderdetails( - String userWorkLocationStr, - String agencyProTypeStr, - String accountNameStr, - String accountIdStr, - String hospitalIdStr, - String contractIdStr, - String category1Str, - String category3Str, - String category4Str, - String category5Str, - String category_GoodStr, - Boolean specialCampaignStr, - String dealerProductIdStr, - String methodTypeStr, - String consumableorderdetailsRecordsviewStr, - Boolean editAbleStr, - List<String> proLimitAndDateList - ) { - Results results = new Results(); - errorMsgList = new List<String>(); - warningMsgList = new List<String>(); - userWorkLocation = userWorkLocationStr; - agencyProType = agencyProTypeStr; - accountName = accountNameStr; - accountid = accountIdStr; - hospitalId = hospitalIdStr; - contractId = contractIdStr; - category1 = category1Str; - category3 = category3Str; - category4 = category4Str; - category5 = category5Str; - category_Goods = category_GoodStr; - specialCampaign = specialCampaignStr; - methodType = methodTypeStr; - editAble = editAbleStr; - proLimitAndDate = proLimitAndDateList; - dealerProductId = (List<String>) JSON.deserialize( - dealerProductIdStr, - List<String>.class - ); - consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>) JSON.deserialize( - consumableorderdetailsRecordsviewStr, - List<ConsumableorderdetailsInfo>.class - ); - size = Integer.valueOf(System.Label.orderdetLimitsize); - pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); - try { - searchDone = 'searchDone'; - sortKey = '1'; - preSortKey = '1'; - sortOrderAsc = false; - sortOrder = new String[7]; - sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' }; - Map<String, String> selectedIdMap = new Map<String, String>(); - List<ConsumableorderdetailsInfo> derdetailsRecords = new List<ConsumableorderdetailsInfo>(); - Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>(); - List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); - List<Consumable_order_details2__c> countDel = [ - SELECT - Id, - Bar_Code__c, - Name, - Inventory_date__c, - Consumable_Product__c, - Consumable_Product__r.Asset_Model_No__c, - Recordtypeid, - Box_Piece__c, - //add by rentx 2020-12-09 - hospitalSpecialOffer__c, - promotionorder__c - //add by rentx 2020-12-09 - 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 Arrive_Owner_Work_Location__c = :userWorkLocation - AND Dealer_Info_text__c = :accountName - ]; - List<Product2__c> product2Selected = new List<Product2__c>(); - consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - soql = makeSoql( - category1, - category_Goods, - category3, - category4, - category5, - specialCampaign, - DealerProductId - ); - size = Integer.valueOf(System.Label.orderdetLimitsize); - initStandardController(); - System.debug('soql:' + soql); - product2Selected = Database.query(soql); - for (Integer i = 0; i < product2Selected.size(); i++) { - MidMap.put( - product2Selected[i].Id, - new ConsumableorderdetailsInfo(product2Selected[i]) - ); - } - for (Integer i = 0; i < countDel.size(); i++) { - //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber - if ( - String.isNotBlank(methodType) && methodType.equals('hospitalorder') - ) { - if (countDel[i].hospitalSpecialOffer__c == true) { - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if ( - String.isBlank(methodType) || methodType.equals('promotionorder') - ) { - if (countDel[i].promotionorder__c == true) { - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if ( - String.isBlank(methodType) || - (!methodType.equals('promotionorder') && - !methodType.equals('hospitalorder')) - ) { - if ( - countDel[i].promotionorder__c == false && - countDel[i].hospitalSpecialOffer__c == false - ) { - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } - } - //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ - for (ConsumableorderdetailsInfo bss : MidMap.values()) { - if (selectedIdMap.containsKey(bss.Prod.id)) { - continue; - } else { - if (DealerProductMap.containsKey(bss.Prod.Id)) { - bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id) - .Special_Campaign_Price__c; - bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id) - .Campaign_EndDate__c; - bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id) - .OrderGoods_Limit__c; - } - bss.sortBy = sortOrderAsc; - 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; - consumableorderdetailsRecords.add(bss); - } - } - consumableorderdetailsRecords.sort(); - productLimtAndDate(); - getPageInfo(); - sortKey = '1'; - preSortKey = '1'; - sortOrderAsc = false; - sortOrder = new String[7]; - sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' }; - cate1ForSort = category1; - // 鏄剧ず鏁版嵁鏉℃暟淇℃伅 - // makeMessage(); - results.errorMsgList = errorMsgList; - results.warningMsgList = warningMsgList; - if (consumableorderdetailsRecords.size() > 0) { - getConsumableShowTableFieldValue(); - results.result = 'Success'; - results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; - results.errorMsg = - '鎼滅储鍒�' + - consumableorderdetailsRecords.size() + - '浠朵骇鍝�'; - } else { - getConsumableShowTableFieldValue(); - results.result = 'Fail'; - results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; - results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'; - } - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - //鍖婚櫌--妫�绱� - @AuraEnabled - public static Results searchorderdetails( - String methodTypeStr, - String accountIdStr, - String hospitalIdStr, - String contractIdStr, - String userWorkLocationStr, - String accountNameStr, - List<String> proLimitAndDateList, - Boolean editAbleStr - ) { - Results results = new Results(); - methodType = methodTypeStr; - accountId = accountIdStr; - hospitalId = hospitalIdStr; - contractId = contractIdStr; - userWorkLocation = userWorkLocationStr; - accountName = accountNameStr; - proLimitAndDate = proLimitAndDateList; - editAble = editAbleStr; - size = Integer.valueOf(System.Label.orderdetLimitsize); - pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); - try { - soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'鈼媆' '; - if (methodType.equals('hospitalorder')) { - //鍖婚櫌id 鏈夊�� - List<hospitalprice__c> hplist = [ - SELECT id, product__c - FROM hospitalprice__c - WHERE account__c = :accountid AND hospital__c = :hospitalId - ]; - if (hplist != null && hplist.size() > 0) { - List<String> hpids = new List<String>(); - for (hospitalprice__c hc : hplist) { - hpids.add(hc.product__c); - } - - if (hpids != null && hpids.size() > 0) { - soql += ' AND Id in : hpids '; - } - } else { - //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝� - soql += ' AND Id = null '; - } - } else if (methodType.equals('promotionorder')) { - List<Dealer_Product__c> dpclist = [ - SELECT Id, Dealer_Product2__c - FROM Dealer_Product__c - WHERE - Dealer_Contact__c = :contractId - AND (Special_Discount__c != NULL - OR Special_Campaign_Price__c != NULL) - ]; - if (dpclist != null && dpclist.size() > 0) { - String ids = '('; - for (Dealer_Product__c hc : dpclist) { - hpids.add(hc.Dealer_Product2__c); - ids += '\'' + hc.Dealer_Product2__c + '\','; - } - ids = ids.substring(0, ids.length() - 1) + ')'; - if (hpids != null && hpids.size() > 0) { - // soql += ' AND Id in : hpids '; - soql += ' AND Id in ' + ids; - } - } else { - //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝� - soql += ' AND Id = null '; - } - } - size = Integer.valueOf(System.Label.orderdetLimitsize); - initStandardController(); - List<Product2__c> product2Selected = new List<Product2__c>(); - Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>(); - Map<String, String> selectedIdMap = new Map<String, String>(); - consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - product2Selected = Database.query(soql); - for (Integer i = 0; i < product2Selected.size(); i++) { - MidMap.put( - product2Selected[i].Id, - new ConsumableorderdetailsInfo(product2Selected[i]) - ); - } - List<Consumable_order_details2__c> countDel = [ - SELECT - Id, - Bar_Code__c, - Name, - Inventory_date__c, - Consumable_Product__c, - Consumable_Product__r.Asset_Model_No__c, - Recordtypeid, - Box_Piece__c, - hospitalSpecialOffer__c, - promotionorder__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 Arrive_Owner_Work_Location__c = :userWorkLocation - //AND Consumable_order_minor__r.Dealer_Info__c = :accountid - AND Dealer_Info_text__c = :accountName - ]; - for (Integer i = 0; i < countDel.size(); i++) { - if (methodType.equals('hospitalorder')) { - if (countDel[i].hospitalSpecialOffer__c == true) { - //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - //Jstage.BoxPiece = CountDel[i].Box_Piece__c; - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } else if (methodType.equals('promotionorder')) { - if (countDel[i].promotionorder__c == true) { - //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber - if (MidMap.containsKey(countDel[i].Consumable_Product__c)) { - ConsumableorderdetailsInfo Jstage = MidMap.get( - countDel[i].Consumable_Product__c - ); - if (countDel[i].Box_Piece__c == '鐩�') { - Jstage.allnumber = Jstage.allnumber + 1; - } else { - Jstage.allnumber_piece = Jstage.allnumber_piece + 1; - } - //Jstage.BoxPiece = CountDel[i].Box_Piece__c; - MidMap.put(countDel[i].Consumable_Product__c, Jstage); - } - } - } - } - //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ - for (ConsumableorderdetailsInfo bss : MidMap.values()) { - if (selectedIdMap.containsKey(bss.Prod.id)) { - continue; - } else { - if (DealerProductMap.containsKey(bss.Prod.Id)) { - bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id) - .Special_Campaign_Price__c; - bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id) - .Campaign_EndDate__c; - bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id) - .OrderGoods_Limit__c; - } - bss.sortBy = sortOrderAsc; - 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; - consumableorderdetailsRecords.add(bss); - } - } - consumableorderdetailsRecords.sort(); - productLimtAndDate(); - getPageInfoForHos(); - sortKey = '1'; - preSortKey = '1'; - sortOrderAsc = false; - sortOrder = new String[7]; - sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' }; - cate1ForSort = category1; - // 鏄剧ず鏁版嵁鏉℃暟淇℃伅 - noOfRecords = consumableorderdetailsRecords.size(); - getConsumableShowTableFieldValue(); - results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; - if (consumableorderdetailsRecordsview.size() > 0) { - results.result = 'Success'; - results.errorMsg = - '鍏辨悳绱㈠埌' + - consumableorderdetailsRecordsview.size() + - '鏉℃暟鎹�'; - } else { - results.result = 'Fail'; - results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'; - } - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - //鐢ㄦ埛鍒囨崲鍖婚櫌鏃跺彇娑堥�変腑鐨勪骇鍝� - private static List<ConsumableorderdetailsInfo> getPageInfoForHos() { - List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); - Map<String, String> selectedIdMap = new Map<String, String>(); - consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); - if (editAble) { - consumableorderdetailsRecordsview = reSet; - } - Integer pagestartNo = (con.getPageNumber() * size) - size; - Integer pageendNo = (con.getPageNumber() * size) > noOfRecords - ? noOfRecords - : (con.getPageNumber() * size - 1); - Integer addNo = 0; - for ( - Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++ - ) { - Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c(); - if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { - addNo++; - //continue; - } - // else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { - // break; - // } - else { - if (consumableorderdetailsRecords[i].check == false) { - consumableorderdetailsRecords[i].esd = orderdetails1; - } - consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]); - addNo++; - } - // if (addNo >= size){ - // break; - // } - } - return consumableorderdetailsRecordsview; - } - //add by rentx 2020-12-03 end ===================================================================================================================== - //鐗逛环 - public static void OffersPrice() { - edoffersPrice = true; - } - - //寰楀埌淇冮攢浜у搧Id - private static List<String> getDealerProductId() { - List<String> ProductId = new List<String>(); - Map<String, String> DealerProductIdMap = new Map<String, String>(); - Date dateToday = Date.today(); - List<Dealer_Product__c> DealerProductList = [ - SELECT - Id, - Name, - Dealer_Product2__c, - Special_Campaign_Price__c, - Campaign_StartDate__c, - Campaign_EndDate__c, - Dealer_Contact__c, - OrderGoods_Limit__c - FROM Dealer_Product__c - WHERE - Dealer_Contact__c IN :contactDealer - AND Campaign_StartDate__c <= :dateToday - AND Campaign_EndDate__c >= :dateToday - AND Special_Campaign_Price__c != NULL - ]; - for (Dealer_Product__c dealerProduct : DealerProductList) { - if (DealerProductIdMap.containsKey(dealerProduct.Dealer_Product2__c)) { - continue; - } else { - ProductId.add(dealerProduct.Dealer_Product2__c); - DealerProductIdMap.put( - dealerProduct.Dealer_Product2__c, - dealerProduct.Dealer_Product2__c - ); - } - } - return ProductId; - } - - private static String makeSoql( - String CateName, - String CateCode, - String Category3, - String Category4, - String Category5, - Boolean specialCampaign, - List<String> DealerProductId - ) { - String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'鈼媆' '; - // add begin ================================================================================================ - if (methodType != null && methodType.equals('hospitalorder')) { - //濡傛灉鏄尰闄㈢壒浠� - //1.鍒ゆ柇 鍖婚櫌id鏄惁鏈夊�� 濡傛灉鏈夊�� 鍒欐牴鎹尰闄d鍘� 鍖婚櫌鐗逛环琛ㄤ腑鑾峰彇浜у搧id - //鍖婚櫌id 鏈夊�� - if (hospitalId == null || hospitalId == '') { - soql += ' and id = null '; - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍖婚櫌')); - warningMsgList.add('璇烽�夋嫨鍖婚櫌'); - } else { - List<hospitalprice__c> hplist = [ - SELECT id, product__c - FROM hospitalprice__c - WHERE account__c = :accountid AND hospital__c = :hospitalId - ]; - if (hplist != null && hplist.size() > 0) { - hpids = new List<String>(); - for (hospitalprice__c hc : hplist) { - hpids.add(hc.product__c); - } - if (hpids != null && hpids.size() > 0) { - soql += ' AND Id in : hpids '; - } - } else { - //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝� - soql += ' AND Id = null '; - return soql; - } - } - } - //淇冮攢璁㈣揣 - if (methodType != null && methodType.equals('promotionorder')) { - if (contractId == null || contractId == '') { - soql += ' and id = null '; - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍚堝悓')); - warningMsgList.add('璇烽�夋嫨鍚堝悓'); - } else { - //1.鏌ヨ鎵�鏈夌粡閿�鍟嗕骇鍝� - List<Dealer_Product__c> dpclist = [ - SELECT Id, Dealer_Product2__c - FROM Dealer_Product__c - WHERE - Dealer_Contact__c = :contractId - AND (Special_Discount__c != NULL - OR Special_Campaign_Price__c != NULL) - ]; - - if (dpclist != null && dpclist.size() > 0) { - hpids = new List<String>(); - for (Dealer_Product__c hc : dpclist) { - hpids.add(hc.Dealer_Product2__c); - } - if (hpids != null && hpids.size() > 0) { - soql += ' AND Id in : hpids '; - } - } else { - //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝� - soql += ' AND Id = null '; - return soql; - } - } - } - //add end =================================================================================================== - if (!String.isBlank(CateName)) { - soql += - ' AND (Name__c like \'%' + - String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + - '%\' or Asset_Model_No__c like \'%' + - String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + - '%\')'; - } - if (!String.isBlank(Category3)) { - soql += ' AND Category3__c = \'' + Category3 + '\''; - } - if (!String.isBlank(Category4)) { - soql += ' AND Category4__c = \'' + Category4 + '\''; - } - if (!String.isBlank(Category5)) { - soql += ' AND Category5__c = \'' + Category5 + '\''; - } - if (agencyProType == 'ET') { - soql += ' AND Pro2_Dealer_Object__c = true'; - } - if (agencyProType == 'ENG') { - soql += ' AND Pro2_Dealer_ENG__c = true'; - } - soql += ' AND Intra_Trade_List_RMB__c > 0 '; - System.debug('soql +++++++++++ ' + soql); - return soql; - } - - private static String makeSoqlorderdet() { - String sqlTail = '(\''; - for (Integer i = 0; i < orderzaikuId.size(); i++) { - if (i < orderzaikuId.size() - 1) { - sqlTail += orderzaikuId[i] + '\',\''; - } else { - sqlTail += orderzaikuId[i] + '\')'; - } - } - String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'鈼媆' '; - System.debug('sqlTail:' + sqlTail); - System.debug('orderzaikuId:' + orderzaikuId); - if (orderzaikuId.size() > 0) { - soql += ' AND Id in' + sqlTail; - } - return soql; - } - - // 缂栬緫鎸夐挳 - @AuraEnabled - public static Results setEditAble(String eSetidStr) { - Results results = new Results(); - ESetId = eSetidStr; - try { - statusEdit = 'Redirect'; - List<Consumable_order__c> oclist = [ - SELECT orderPattern__c - FROM Consumable_order__c - WHERE id = :ESetid - ]; - String url = - '/lexconsumable?ESetid=' + - ESetid + - '&KeyWords=' + - statusEdit + - '&type=' + - oclist.get(0).orderPattern__c; - results.result = 'Success'; - results.url = url; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - // 鍐嶇敵璇� - @AuraEnabled - public static Results backOrder(String eSetidStr) { - Results results = new Results(); - ESetId = eSetidStr; - statusEdit = 'Redirect'; - returnOrder = true; - try { - statusEdit = 'Redirect'; - List<Consumable_order__c> oclist = [ - SELECT orderPattern__c - FROM Consumable_order__c - WHERE id = :ESetid - ]; - String url = - '/lexconsumable?ESetid=' + - ESetid + - '&KeyWords=' + - statusEdit + - '&type=' + - oclist.get(0).orderPattern__c; - results.result = 'Success'; - results.url = url; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - //涓婁紶闄勪欢 - @AuraEnabled - public static Results filesUpload( - String pId, - String fileName, - String base64Data - ) { - Results results = new Results(); - try { - base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8'); - ContentVersion cv = new ContentVersion(); - cv.Title = fileName; - cv.PathOnClient = '/' + fileName; - cv.FirstPublishLocationId = pId; - cv.VersionData = EncodingUtil.base64Decode(base64Data); - cv.IsMajorVersion = true; - insert cv; - Consumable_order__c c = [ - SELECT Id - FROM Consumable_order__c - WHERE Id = :pId - ]; - c.Consumable_pdf_insert_day__c = Date.today(); - update c; - results.result = 'Success'; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - //鍒犻櫎鎸夐挳 - @AuraEnabled - public static Results delConsumable(String eSetidStr) { - Results results = new Results(); - ESetId = eSetidStr; - try { - Consumable_order__c cord = new Consumable_order__c(Id = ESetId); - List<Consumable_Orderdetails__c> orderdetails1 = [ - SELECT Id - FROM Consumable_Orderdetails__c - WHERE Consumable_order__c = :EsetId - ]; - delete orderdetails1; - delete cord; - results.result = 'Success'; - results.url = '/lexconsumableordermanage'; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - // 鎻愪氦鎸夐挳 - @AuraEnabled - public static Results sorder(String eSetidStr, String accountidStr) { - Results results = new Results(); - errorMsgList = new List<String>(); - warningMsgList = new List<String>(); - ESetId = eSetidStr; - accountid = accountidStr; - Savepoint sp = Database.setSavepoint(); - try { - Map<Id, String> prodMap = new Map<Id, String>(); - Consumable_order__c P = new Consumable_order__c(); - P = new Consumable_order__c(); - p.Id = ESetId; - p.Order_date__c = Date.today(); - p.Order_status__c = '闄勪欢涓婁紶瀹屾垚'; - for (Consumable_Orderdetails__c cod1 : [ - SELECT Consumable_product__r.Product2__c, Consumable_product__r.Name__c - FROM Consumable_Orderdetails__c - WHERE Consumable_order__c = :ESetId - ]) { - prodMap.put( - cod1.Consumable_product__r.Product2__c, - cod1.Consumable_product__r.Name__c - ); - } - // GZW 鎻愪氦浜у搧鏃犳晥 鍑洪敊璇秷鎭� - System.debug(prodMap); - Map<String, String> chkMap = OpportunityWebService.MapCheckProRegisterDecide( - prodMap, - accountid, - '' - ); - System.debug(chkMap); - if (chkMap.size() > 0) { - if (chkMap.containsKey('agency')) { - // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��')); - errorMsgList.add('绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��'); - } - for (String proId : prodMap.keySet()) { - if (chkMap.containsKey(proId)) { - if (chkMap.get(proId) == '1') { - // ApexPages.addmessage( - // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�') - // ); - errorMsgList.add( - '浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�' - ); - } else if (chkMap.get(proId) == '2') { - // ApexPages.addmessage( - // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��') - // ); - errorMsgList.add( - '浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��' - ); - } - } - } - results.result = 'Fail'; - results.errorMsg = ''; - results.errorMsgList = errorMsgList; - results.warningMsgList = warningMsgList; - return results; - } - update p; - Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); - psr.setObjectId(ESetId); - Approval.ProcessResult submitResult = Approval.process(psr); - results.result = 'Success'; - results.url = '/lexconsumableordermanage'; - } catch (Exception e) { - Database.rollback(sp); - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - - // 椹冲洖璁㈠崟copy - @AuraEnabled - public static Results ordrCopy( - String contractNameStr, - String cocStr, - String agencyProTypeStr, - String accountidStr, - String consumableorderdetailsRecordsviewStr, - String contactDealerStr, - String methodTypeStr, - String hospitalIdStr, - String contractIdStr, - String agencyProType1Str, - Boolean OSHFLGStr - ) { - ESetId = ''; - return save( - contractNameStr, - cocStr, - agencyProTypeStr, - accountidStr, - consumableorderdetailsRecordsviewStr, - contactDealerStr, - methodTypeStr, - ESetId, - hospitalIdStr, - contractIdStr, - agencyProType1Str, - OSHFLGStr - ); - } - - //淇濆瓨鎸夐挳 - @AuraEnabled - public static Results save( - String contractNameStr, - String cocStr, - String agencyProTypeStr, - String accountidStr, - String consumableorderdetailsRecordsviewStr, - String contactDealerStr, - String methodTypeStr, - String eSetIdStr, - String hospitalIdStr, - String contractIdStr, - String agencyProType1Str, - Boolean OSHFLGStr - ) { - Results results = new Results(); - errorMsgList = new List<String>(); - warningMsgList = new List<String>(); - contractName = contractNameStr; - agencyProType = agencyProTypeStr; - accountid = accountidStr; - methodType = methodTypeStr; - ESetId = eSetIdStr; - hospitalId = hospitalIdStr; - contractId = contractIdStr; - agencyProType1 = agencyProType1Str; - OSHFLG = OSHFLGStr; - coc = (Consumable_order__c) JSON.deserialize( - cocStr, - Consumable_order__c.class - ); - contactDealer = (List<String>) JSON.deserialize( - contactDealerStr, - List<String>.class - ); - System.debug( - 'consumableorderdetailsRecordsviewStr:' + - consumableorderdetailsRecordsviewStr - ); - consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>) JSON.deserialize( - consumableorderdetailsRecordsviewStr, - List<ConsumableorderdetailsInfo>.class - ); - if (coc.Offers_Price__c != null) { - String offerStr = String.valueOf(coc.Offers_Price__c); - bargainPrice = Decimal.valueOf(offerStr.replace(',', '')); - } - Savepoint sp = Database.setSavepoint(); - try { - if (String.isEmpty(contractName)) { - // coc.Order_effective_contact__c.addError('璇烽�夋嫨鍚堝悓'); - results.result = 'Fail'; - results.errorMsg = '璇烽�夋嫨鍚堝悓'; - return results; - } - List<Account> contract = [ - SELECT - Id, - Name, - Contract_Department_Class__c, - Contract_Quote_Decide_Flag__c - FROM account - WHERE - Name = :contractName - AND Id = :contractId //lt 20230517 瀹夊窘涓ょエ鍒� add - AND Contract_Decide_Start_Date__c <= :Date.Today() - AND Contract_Decide_End_Date__c >= :Date.Today() - AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 - AND Agent_Ref__c = :accountid - AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add - ]; - if (contract.size() <= 0) { - // coc.Order_effective_contact__c.addError('涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�'); - results.result = 'Fail'; - results.errorMsg = '涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�'; - return results; - } else { - if (String.isEmpty(contract[0].Contract_Quote_Decide_Flag__c)) { - // coc.Order_effective_contact__c.addError('鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�'); - results.result = 'Fail'; - results.errorMsg = '鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�'; - return results; - } - } - Integer FLG = 0; - Integer Count = 0; - //add by rentx 2020-11-25 - List<String> tpids = new List<String>(); - //add by rentx 2020-11-25 - for ( - ConsumableorderdetailsInfo CheckCount : consumableorderdetailsRecordsview - ) { - FLG = FLG + 1; - if (CheckCount.check == false) { - Count = Count + 1; - } - if (CheckCount.check == true) { - //add by rentx 2020-11-25 - tpids.add(CheckCount.Prod.Id); - //add by rentx 2020-11-25 - if ( - CheckCount.esd.Consumable_Count__c == null || - CheckCount.esd.Consumable_Count__c == 0 - ) { - // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�'); - results.result = 'Fail'; - results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�'; - return results; - } - if ( - CheckCount.orderGoods_Limit > 0 && - math.mod( - Integer.valueOf(CheckCount.esd.Consumable_Count__c), - Integer.valueOf(CheckCount.orderGoods_Limit) - ) > 0 - ) { - // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟'); - results.result = 'Fail'; - results.errorMsg = '璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟'; - return results; - } - } - } - if (Count == FLG) { - results.result = 'Fail'; - results.errorMsg = '璇烽�夋嫨鎵�闇�娑堣�楀搧'; - return results; - } - //=======================================鍖婚櫌鐗逛环,鏈夐噾棰濈殑璇濆彇閲戦 - Map<String, Decimal> dealerHospitalmMap = new Map<String, Decimal>(); - List<hospitalprice__c> hplist = [ - SELECT Id, hospital__c, mPrice__c, pPrice__c, product__c, account__c - FROM hospitalprice__c - WHERE - product__c IN :tpids - AND mPrice__c != NULL - AND account__c = :accountid - ]; - for (hospitalprice__c dealerProduct : hplist) { - if (dealerProduct.mPrice__c != null) { - dealerHospitalmMap.put( - '' + dealerProduct.hospital__c + dealerProduct.product__c, - dealerProduct.mPrice__c - ); - } - } - //淇冮攢璁㈣揣 鏍规嵁缁忛攢鍟嗕骇鍝佷腑鐨勬暟鎹绠楅噾棰� - //=======================================浜у搧鐗规畩鎶樻墸 - Map<String, Decimal> dealerPDiscountMap = new Map<String, Decimal>(); - Map<String, Decimal> dealerMPDiscountMap = new Map<String, Decimal>(); - //1.鑾峰彇鏈夊紑濮嬬粨鏉熸棩鐨勪骇鍝� - Date dateToday = Date.today(); - List<Dealer_Product__c> haveDateList = [ - SELECT - Id, - Name, - Dealer_Product2__c, - Special_Campaign_Price__c, - Campaign_StartDate__c, - Campaign_EndDate__c, - Dealer_Contact__c, - OrderGoods_Limit__c, - Special_Discount__c - FROM Dealer_Product__c - WHERE - Dealer_Contact__c IN :contactDealer - AND Campaign_StartDate__c <= :dateToday - AND Campaign_EndDate__c >= :dateToday - AND (Special_Discount__c != NULL - OR Special_Campaign_Price__c != NULL) - ]; - //2.鑾峰彇娌℃湁寮�濮嬬粨鏉熸棩鐨勪骇鍝� - List<Dealer_Product__c> DealerProductList = [ - SELECT - Id, - Name, - Dealer_Product2__c, - Special_Campaign_Price__c, - Campaign_StartDate__c, - Campaign_EndDate__c, - Dealer_Contact__c, - Special_Discount__c, - OrderGoods_Limit__c - FROM Dealer_Product__c - WHERE - Dealer_Contact__c IN :contactDealer - AND (Special_Discount__c != NULL - OR Special_Campaign_Price__c != NULL) - ]; - for (Dealer_Product__c dealerProduct : DealerProductList) { - //濡傛灉淇冮攢浠锋牸涓簄ull 鍒欒缃壒娈婃姌鎵�(鐧惧垎姣�)鍒伴泦鍚� - if (dealerProduct.Special_Campaign_Price__c == null) { - dealerPDiscountMap.put( - '' + - dealerProduct.Dealer_Contact__c + - dealerProduct.Dealer_Product2__c, - dealerProduct.Special_Discount__c - ); - } else { - dealerMPDiscountMap.put( - '' + - dealerProduct.Dealer_Contact__c + - dealerProduct.Dealer_Product2__c, - dealerProduct.Special_Campaign_Price__c - ); - } - } - //杩欐牱鍋氭槸涓轰簡璁$畻淇冮攢浠锋牸鏃� 浼樺厛璁$畻淇冮攢寮�濮嬬粨鏉熸棩涓嶄负绌虹殑浜у搧 - //濡傛灉璇ラ泦鍚堟湁鍊� 鍒欒鏄庨渶瑕佹牴鎹綋鍓嶇殑閲戦鎴栬�呮姌鎵f潵璁$畻 - if (haveDateList != null && haveDateList.size() > 0) { - for (Dealer_Product__c dealerProduct : haveDateList) { - if (dealerProduct.Special_Campaign_Price__c == null) { - dealerPDiscountMap.put( - '' + - dealerProduct.Dealer_Contact__c + - dealerProduct.Dealer_Product2__c, - dealerProduct.Special_Discount__c - ); - dealerMPDiscountMap.remove( - '' + - dealerProduct.Dealer_Contact__c + - dealerProduct.Dealer_Product2__c - ); - } else { - dealerMPDiscountMap.put( - '' + - dealerProduct.Dealer_Contact__c + - dealerProduct.Dealer_Product2__c, - dealerProduct.Special_Campaign_Price__c - ); - dealerPDiscountMap.remove( - '' + - dealerProduct.Dealer_Contact__c + - dealerProduct.Dealer_Product2__c - ); - } - } - } - //=======================================缁忛攢鍟嗗悎鍚屾姌鎵� - List<Account> at = [ - SELECT - id, - Name, - State_Master__c, - State_Master__r.Name, - Sales_Section__c, - Dealer_discount__c - FROM Account - WHERE - Name = :contractName - AND Id = :contractId //lt 20230517 瀹夊窘涓ょエ鍒� add - AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1 - AND Contact_Type__c LIKE :agencyProType - AND Contract_Decide_Start_Date__c <= :Date.Today() - AND Contract_Decide_End_Date__c >= :Date.Today() - AND Contract_Decide_End_Date__c >= :Date.Today() - AND OSH_Dealer__c = :OSHFLG //lt 20230517 瀹夊窘涓ょエ鍒� add - ]; - if (at.size() > 0 && at[0].Dealer_discount__c != null) { - disCount = at[0].Dealer_discount__c; - } else { - disCount = 100; - } - Consumable_order__c P = new Consumable_order__c(); - List<Consumable_Orderdetails__c> Ins = new List<Consumable_Orderdetails__c>(); - //鏂板缓璁㈠崟鏃� - if (String.isBlank(ESetId)) { - Integer i = 1; - Integer Roll = 0; - p.Name = '*'; - p.Order_status__c = '鑽夋涓�'; - p.Dealer_Info__c = accountid; - p.Order_ProType__c = agencyProType; - p.Offers_Price__c = coc.Offers_Price__c; - p.Order_date__c = coc.Order_date__c; - p.Order_effective_contact__c = contract[0].Id; - p.Order_Reason__c = coc.Order_Reason__c; - p.RecordTypeid = System.Label.RT_ConOrder_Order; - p.Overrule_order__c = coc.Id; - if (String.isNotBlank(methodType)) { - p.orderPattern__c = methodType; - } - insert p; - List<Consumable_order__c> Consumable_order = [ - SELECT Name, orderPattern__c - FROM Consumable_order__c - WHERE id = :p.id - ]; - for ( - ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview - ) { - Roll = Roll + 1; - if (ass.check == true) { - if ( - ass.esd.Consumable_Count__c == null || - ass.esd.Consumable_Count__c == 0 - ) { - // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�'); - results.result = 'Fail'; - results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�'; - return results; - } else { - Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c(); - String str = string.valueOf(i); - if (str.length() == 1) { - str = '0' + str; - } - InsAfterDel.Name = Consumable_order[0].Name + '-' + str; - InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c; - InsAfterDel.Consumable_order__c = p.id; - InsAfterDel.Consumable_Product__c = ass.Prod.id; - InsAfterDel.Box_Piece__c = '鐩�'; - //鍗忚璁㈣揣 - if (methodType.equals('agreementorder')) { - Consumable_order[0].orderPattern__c = 'agreementorder'; - - InsAfterDel.Intra_Trade_List_RMB__c = - ass.Prod.Intra_Trade_List_RMB__c * - disCount / - 100; - //=====================================================================================update by rentx 2020-11-25 - } else if (methodType.equals('promotionorder')) { - Consumable_order[0].orderPattern__c = 'promotionorder'; - //淇冮攢璁㈣揣 - //濡傛灉淇冮攢浠锋牸涓嶄负null 鍒欑洿鎺ヤ娇鐢ㄤ績閿�浠锋牸鏉ヨ绠楅噾棰� - if ( - dealerMPDiscountMap.containsKey( - '' + contract[0].Id + ass.Prod.Id - ) - ) { - InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get( - '' + contract[0].Id + ass.Prod.Id - ); - system.debug('cai 0' + InsAfterDel.Intra_Trade_List_RMB__c); - } else if ( - dealerPDiscountMap.containsKey( - '' + contract[0].Id + ass.Prod.Id - ) - ) { - InsAfterDel.Intra_Trade_List_RMB__c = - ass.Prod.Intra_Trade_List_RMB__c * - dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) / - 100; - system.debug('cai 00' + InsAfterDel.Intra_Trade_List_RMB__c); + // 鎺掑簭Consumable_order__c + public Integer compareTo(Object compareTo) { + ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo; + Integer returnValue = 0; + if (check == true) { + if (sortBy == false) { + if (allnumber > compareToesd.allnumber) { + returnValue = -1; + } else if (allnumber < compareToesd.allnumber) { + returnValue = 1; + } + return returnValue; + } else { + if (allnumber > compareToesd.allnumber) { + returnValue = 1; + } else if (allnumber < compareToesd.allnumber) { + returnValue = -1; + } + return returnValue; } - //=====================================================================================update by rentx 2020-11-25 - } else if (methodType.equals('hospitalorder')) { - //鍖婚櫌鐗逛环 - Consumable_order[0].Order_ForHospital__c = hospitalId; - Consumable_order[0].orderPattern__c = 'hospitalorder'; - if ( - dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && - dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null - ) { - //鐩存帴鏍规嵁淇冮攢閲戦璁$畻 - InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get( - '' + hospitalId + ass.Prod.Id - ); - } - } else if (DealerProductMap.containsKey(ass.Prod.Id)) { - InsAfterDel.Intra_Trade_List_RMB__c = DealerProductMap.get( - ass.Prod.Id - ) - .Special_Campaign_Price__c; - system.debug('cai 2' + InsAfterDel.Intra_Trade_List_RMB__c); - InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢'; - InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get( - ass.Prod.Id - ) - .Special_Campaign_Price__c; - } - InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; - i++; - Ins.add(InsAfterDel); - } - } - } - ESetId = p.id; - if (Consumable_order.size() > 0) { - update Consumable_order; - } - } - //淇敼涔嬪悗 淇濆瓨璁㈠崟 - if (Ins.size() > 0) { - insert Ins; - } else { - //淇敼,鑾峰彇娑堣�楀搧璁㈠崟 - List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); - cocinfo = [ - SELECT - Id, - Name, - Order_status__c, - Dealer_Info__c, - Deliver_date__c, - Order_Reason__c, - Offers_Price__c - FROM Consumable_order__c - WHERE Id = :ESetId - ]; - if (cocinfo.size() > 0) { - p = cocinfo[0]; - } - p.Name = coc.Name; - p.Dealer_Info__c = accountid; - p.Order_ProType__c = agencyProType; - p.Order_date__c = coc.Order_date__c; - p.Order_effective_contact__c = contract[0].Id; - p.Order_Reason__c = coc.Order_Reason__c; - if (bargainPrice != null) { - p.Offers_Price__c = bargainPrice; - } - update p; - List<Consumable_order__c> Consumable_order = [ - SELECT Name, orderPattern__c - FROM Consumable_order__c - WHERE id = :p.id - ]; - List<Consumable_Orderdetails__c> qs = new List<Consumable_Orderdetails__c>(); - qs = [ - SELECT Id - FROM Consumable_Orderdetails__c - WHERE - Consumable_order__c = :ESetId - AND Consumable_order__r.Dealer_Info__c = :accountid - ]; - if (qs.size() > 0) { - delete qs; - } - Integer i = 1; - for ( - ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview - ) { - if (ass.check == true) { - Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c(); - if ( - ass.esd.Consumable_Count__c == null || - ass.esd.Consumable_Count__c == 0 - ) { - // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�'); - results.result = 'Fail'; - results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�'; - return results; } else { - String str = string.valueOf(i); - if (str.length() == 1) { - str = '0' + str; - } - InsAfterDel.Name = Consumable_order[0].Name + '-' + str; - InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c; - InsAfterDel.Consumable_order__c = ESetId; - InsAfterDel.Consumable_Product__c = ass.Prod.id; - InsAfterDel.Box_Piece__c = '鐩�'; - //鍗忚璁㈣揣 - if (methodType.equals('agreementorder')) { - Consumable_order[0].orderPattern__c = 'agreementorder'; - InsAfterDel.Intra_Trade_List_RMB__c = - ass.Prod.Intra_Trade_List_RMB__c * - disCount / - 100; - } else if (methodType.equals('promotionorder')) { - Consumable_order[0].orderPattern__c = 'promotionorder'; - //淇冮攢璁㈣揣 - if ( - dealerMPDiscountMap.containsKey( - '' + contract[0].Id + ass.Prod.Id - ) - ) { - InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get( - '' + contract[0].Id + ass.Prod.Id - ); - } else if ( - dealerPDiscountMap.containsKey( - '' + contract[0].Id + ass.Prod.Id - ) - ) { - InsAfterDel.Intra_Trade_List_RMB__c = - ass.Prod.Intra_Trade_List_RMB__c * - dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) / - 100; + if (sortBy == false) { + if (allnumber > compareToesd.allnumber) { + returnValue = -1; + } else if (allnumber < compareToesd.allnumber) { + returnValue = 1; + } + return returnValue; + } else { + if (allnumber > compareToesd.allnumber) { + returnValue = 1; + } else if (allnumber < compareToesd.allnumber) { + returnValue = -1; + } + return returnValue; } - } else if (methodType.equals('hospitalorder')) { - Consumable_order[0].orderPattern__c = 'hospitalorder'; - //鍖婚櫌鐗逛环 - Consumable_order[0].Order_ForHospital__c = hospitalId; - if ( - dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && - dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null - ) { - //鐩存帴鏍规嵁淇冮攢閲戦璁$畻 - InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get( - '' + hospitalId + ass.Prod.Id - ); - } - } else if (DealerProductMap.containsKey(ass.Prod.Id)) { - InsAfterDel.Intra_Trade_List_RMB__c = DealerProductMap.get( - ass.Prod.Id - ) - .Special_Campaign_Price__c; - InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢'; - InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get( - ass.Prod.Id - ) - .Special_Campaign_Price__c; - } - // ==================================================涔嬪墠鐨勪績閿�璁㈣揣鐨勯�昏緫 - InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; - i++; - Ins.add(InsAfterDel); } - } } - if (Ins.size() > 0) { - insert Ins; + } + + public class Results { + @AuraEnabled + public String result; + @AuraEnabled + public String errorMsg; + @AuraEnabled + public String eSetId; + @AuraEnabled + public String agencyProType; + @AuraEnabled + public String userWorkLocation; + @AuraEnabled + public String accountName; + @AuraEnabled + public String accountid; + @AuraEnabled + public String hospitalId; + @AuraEnabled + public String contractId; + @AuraEnabled + public String category_Goods; + @AuraEnabled + public Consumable_order__c coc; + @AuraEnabled + public Boolean edoffersPrice; + @AuraEnabled + public Boolean editDelCommitBtnDisabled; + @AuraEnabled + public Boolean editAble; + @AuraEnabled + public String hospitalName; + @AuraEnabled + public String contractName; + @AuraEnabled + public List<CusOption> category3Option; + @AuraEnabled + public List<CusOption> category4Option; + @AuraEnabled + public List<CusOption> category5Option; + @AuraEnabled + public List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview; + @AuraEnabled + public List<ConsumableorderdetailsInfo> attachmentRecoeds; + @AuraEnabled + public Boolean cansee; + @AuraEnabled + public List<String> errorMsgList; + @AuraEnabled + public List<String> warningMsgList; + @AuraEnabled + public Boolean hasWarning; + @AuraEnabled + public Boolean hasError; + @AuraEnabled + public Boolean specialCampaign; + @AuraEnabled + public List<String> dealerProductId; + @AuraEnabled + public List<String> contactDealer; + @AuraEnabled + public String url; + @AuraEnabled + public String methodType; + @AuraEnabled + public List<String> proLimitAndDate; + @AuraEnabled + public Boolean isNoteStay; + @AuraEnabled + public Boolean OSHFLG; + @AuraEnabled + public String agencyProType1; + } + + public class CusOption { + CusOption(String label, String value) { + this.label = label; + this.value = value; } - } - results.result = 'Success'; - results.eSetId = ESetId; - } catch (Exception e) { - Database.rollback(sp); - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); - } - return results; - } - //鍒犻櫎闄勪欢 - @AuraEnabled - public static Results deleteAtt(String contentVersionId, String cocId) { - Results results = new Results(); - try { - List<ContentVersion> cvInfo = [ - SELECT Id - FROM ContentVersion - WHERE FirstPublishLocationId = :cocId - ]; - ContentVersion conVersion = [ - SELECT ContentDocumentId - FROM ContentVersion - WHERE Id = :contentVersionId - ]; - String contentDocumentId = conVersion.ContentDocumentId; - ContentDocument conDocument = [ - SELECT Id - FROM ContentDocument - WHERE Id = :contentDocumentId - ]; - delete conDocument; - if (cvInfo.size() <= 1) { - Consumable_order__c c = [ - SELECT Id - FROM Consumable_order__c - WHERE Id = :cocId - ]; - c.Consumable_pdf_insert_day__c = null; - update c; - } - results.result = 'Success'; - } catch (Exception e) { - results.result = 'Fail'; - results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); + @AuraEnabled + public String label; + @AuraEnabled + public String value; } - return results; - } - - public static void getConsumableShowTableFieldValue() { - for (ConsumableorderdetailsInfo con : consumableorderdetailsRecordsview) { - if (con.Prod != null) { - con.recordId = con.Prod.Id; - if (!con.oldCheck) { - con.prodName = con.Prod.Name__c; - // System.debug('ProdName:'+con.Prod.Id+'---'+con.Prod.Name__c); - } - con.prodSFDAStatus = con.Prod.SFDA_Status__c; - con.prodCategory3 = con.Prod.Category3__c; - con.prodCategory4 = con.Prod.Category4__c; - con.prodCategory5 = con.Prod.Category5__c; - con.prodIntraTradeList = con.Prod.Intra_Trade_List_RMB__c; - } - if (con.esd != null) { - // if(con.oldCheck){ - // con.prodName = con.esd.Consumable_Product__r.Name__c; - // } - con.consumableCount = con.esd.Consumable_count__c; - } - } - } - - public class ConsumableorderdetailsInfo implements Comparable { - @AuraEnabled - public Boolean check { get; set; } - @AuraEnabled - public Boolean oldCheck { get; set; } - @AuraEnabled - public Consumable_Orderdetails__c esd { get; set; } - @AuraEnabled - public Product2__c Prod { get; set; } - @AuraEnabled - public Integer packing_list { get; set; } - @AuraEnabled - public Date expiration_Date { get; set; } - @AuraEnabled - public String approbation_No { get; set; } - @AuraEnabled - public Decimal allnumber { get; set; } - @AuraEnabled - public Decimal allnumber_piece { get; set; } - @AuraEnabled - public Decimal oldConsumableCount { get; set; } - @AuraEnabled - public Boolean canSelect { get; set; } - @AuraEnabled - public ContentVersion Concc { get; set; } - @AuraEnabled - public Boolean sortBy { get; set; } - @AuraEnabled - public Decimal upperlimit { get; set; } - @AuraEnabled - public Decimal lowerlimit { get; set; } - @AuraEnabled - public Decimal SpecialCampaignPrice { get; set; } - @AuraEnabled - public Decimal orderGoods_Limit { get; set; } - @AuraEnabled - public Date Campaign_EndDate { get; set; } - @AuraEnabled - public String recordId { get; set; } - @AuraEnabled - public String prodName { get; set; } - @AuraEnabled - public String prodSFDAStatus { get; set; } - @AuraEnabled - public String prodCategory3 { get; set; } - @AuraEnabled - public String prodCategory4 { get; set; } - @AuraEnabled - public String prodCategory5 { get; set; } - @AuraEnabled - public Decimal prodIntraTradeList { get; set; } - @AuraEnabled - public Decimal consumableCount { get; set; } - - // 宸插瓨浜у搧鏄庣粏 - public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) { - check = true; - oldCheck = true; - esd = e; - Prod = e.Consumable_Product__r; - oldConsumableCount = e.Consumable_Count__c; - canSelect = true; - allnumber = 0; - allnumber_piece = 0; - } - - public ConsumableorderdetailsInfo(Product2__c e) { - check = false; - oldCheck = false; - esd = new Consumable_Orderdetails__c(); - Prod = e; - oldConsumableCount = null; - canSelect = true; - allnumber = 0; - allnumber_piece = 0; - } - //闄勪欢 - public ConsumableorderdetailsInfo(ContentVersion e) { - Concc = e; - } - // 鎺掑簭Consumable_order__c - public Integer compareTo(Object compareTo) { - ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo; - Integer returnValue = 0; - if (check == true) { - if (sortBy == false) { - if (allnumber > compareToesd.allnumber) { - returnValue = -1; - } else if (allnumber < compareToesd.allnumber) { - returnValue = 1; - } - return returnValue; - } else { - if (allnumber > compareToesd.allnumber) { - returnValue = 1; - } else if (allnumber < compareToesd.allnumber) { - returnValue = -1; - } - return returnValue; - } - } else { - if (sortBy == false) { - if (allnumber > compareToesd.allnumber) { - returnValue = -1; - } else if (allnumber < compareToesd.allnumber) { - returnValue = 1; - } - return returnValue; - } else { - if (allnumber > compareToesd.allnumber) { - returnValue = 1; - } else if (allnumber < compareToesd.allnumber) { - returnValue = -1; - } - return returnValue; - } - } - } - } - - public class Results { - @AuraEnabled - public String result; - @AuraEnabled - public String errorMsg; - @AuraEnabled - public String eSetId; - @AuraEnabled - public String agencyProType; - @AuraEnabled - public String userWorkLocation; - @AuraEnabled - public String accountName; - @AuraEnabled - public String accountid; - @AuraEnabled - public String hospitalId; - @AuraEnabled - public String contractId; - @AuraEnabled - public String category_Goods; - @AuraEnabled - public Consumable_order__c coc; - @AuraEnabled - public Boolean edoffersPrice; - @AuraEnabled - public Boolean editDelCommitBtnDisabled; - @AuraEnabled - public Boolean editAble; - @AuraEnabled - public String hospitalName; - @AuraEnabled - public String contractName; - @AuraEnabled - public List<CusOption> category3Option; - @AuraEnabled - public List<CusOption> category4Option; - @AuraEnabled - public List<CusOption> category5Option; - @AuraEnabled - public List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview; - @AuraEnabled - public List<ConsumableorderdetailsInfo> attachmentRecoeds; - @AuraEnabled - public Boolean cansee; - @AuraEnabled - public List<String> errorMsgList; - @AuraEnabled - public List<String> warningMsgList; - @AuraEnabled - public Boolean hasWarning; - @AuraEnabled - public Boolean hasError; - @AuraEnabled - public Boolean specialCampaign; - @AuraEnabled - public List<String> dealerProductId; - @AuraEnabled - public List<String> contactDealer; - @AuraEnabled - public String url; - @AuraEnabled - public String methodType; - @AuraEnabled - public List<String> proLimitAndDate; - @AuraEnabled - public Boolean isNoteStay; - @AuraEnabled - public Boolean OSHFLG; - @AuraEnabled - public String agencyProType1; - } - - public class CusOption { - CusOption(String label, String value) { - this.label = label; - this.value = value; - } - - @AuraEnabled - public String label; - @AuraEnabled - public String value; - } -} +} \ No newline at end of file -- Gitblit v1.9.1