| | |
| | | // 登录者工作地 |
| | | 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; } |
| | |
| | | if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { |
| | | addNo++; |
| | | //continue; |
| | | } else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { |
| | | break; |
| | | } else { |
| | | } |
| | | // 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; |
| | | // 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(); |
| | |
| | | } |
| | | userId = UserInfo.getUserId(); |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId]; |
| | | //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'; |
| | | } |
| | |
| | | RecordType.DeveloperName = 'AgencyContract' |
| | | AND Contract_Decide_Start_Date__c <= :dateToday |
| | | AND Contract_Decide_End_Date__c >= :dateToday |
| | | AND Contact_Type__c LIKE :agencyProType |
| | | AND Agent_Ref__c = :accountid |
| | | 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); |
| | |
| | | FROM Account |
| | | WHERE |
| | | ParentId = :accountid |
| | | AND Contact_Type__c LIKE :agencyProType |
| | | 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; |
| | |
| | | AND Consumable_order__r.Dealer_Info__c = :accountid |
| | | ]; |
| | | for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) { |
| | | orderzaikuId.add(cdc1.Consumable_Product__c); |
| | | 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); |
| | |
| | | } |
| | | } |
| | | //附件 |
| | | 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])); |
| | | // 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<ContentVersion> cvInfo = [SELECT Id, Title, OwnerId,Owner.Name, CreatedDate,ContentDocumentId FROM ContentVersion WHERE FirstPublishLocationId = :ESetId]; |
| | | if (cvInfo.size() > 0) { |
| | | for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | attachmentRecoeds.add(new ConsumableorderdetailsInfo(cvInfo[i])); |
| | | } |
| | | } |
| | | // |
| | | consumableorderdetailsRecords.sort(); |
| | | getPageInfo(); |
| | | } |
| | |
| | | List<String> upper = new List<String>(); |
| | | if (String.isNotBlank(ESetid)) { |
| | | for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { |
| | | if (bss.esd.Consumable_count__c + bss.allnumber > bss.upperlimit) { |
| | | upper.add(bss.esd.Consumable_Product__r.Name__c); |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | // category5OptionList.add(new SelectOption('', '-无-')); |
| | | category5Option.add(new CusOption('-无-','')); |
| | | //return msg |
| | | consumableorderdetailsRecordsview = consumableorderdetailsRecords; |
| | | getConsumableShowTableFieldValue(); |
| | | results.result = 'Success'; |
| | | results.coc = coc; |
| | | results.editAble = editAble; |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | //库存排序 |
| | | public static void SortStore() { |
| | | if (sortKey == preSortKey) { |
| | | // 方向が変わるのみ |
| | | sortOrderAsc = !sortOrderAsc; |
| | | sortOrder[Integer.valueOf(sortKey)] = (sortOrderAsc == true ? '↑' : '↓'); |
| | | } else { |
| | | sortOrderAsc = true; |
| | | sortOrder[Integer.valueOf(preSortKey)] = ' '; |
| | | sortOrder[Integer.valueOf(sortKey)] = (sortOrderAsc == true ? '↑' : '↓'); |
| | | } |
| | | preSortKey = sortKey; |
| | | List<ConsumableorderdetailsInfo> selectedSort = new List<ConsumableorderdetailsInfo>(); |
| | | List<ConsumableorderdetailsInfo> noselectedSort = new List<ConsumableorderdetailsInfo>(); |
| | | for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { |
| | | ass.sortBy = sortOrderAsc; |
| | | if (ass.check == true) { |
| | | selectedSort.add(ass); |
| | | } else { |
| | | noselectedSort.add(ass); |
| | | } |
| | | } |
| | | consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); |
| | | if (selectedSort.size() > 0) { |
| | | if (searchDone != 'searchDone') { |
| | | selectedSort.sort(); |
| | | } |
| | | consumableorderdetailsRecordsview.addAll(selectedSort); |
| | | } |
| | | if (noselectedSort.size() > 0) { |
| | | noselectedSort.sort(); |
| | | consumableorderdetailsRecordsview.addAll(noselectedSort); |
| | | } |
| | | } |
| | | |
| | | //限制性排序 |
| | | public static void SortLimited() { |
| | | List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>(); |
| | | 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 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 |
| | | ]; |
| | | if (sortKey == preSortKey) { |
| | | // 方向が変わるのみ |
| | | sortOrderAsc = !sortOrderAsc; |
| | | sortOrder[Integer.valueOf(sortKey)] = (sortOrderAsc == true ? '↓' : '↑'); |
| | | } else { |
| | | sortOrderAsc = true; |
| | | sortOrder[Integer.valueOf(preSortKey)] = ' '; |
| | | sortOrder[Integer.valueOf(sortKey)] = (sortOrderAsc == true ? '↓' : '↑'); |
| | | } |
| | | preSortKey = sortKey; |
| | | // 所有产品取得 |
| | | if ( |
| | | (EsetId == null || ESetId == '') || (EsetId != null && ESetId != '' && statusEdit == 'Redirect' && searchDone == 'searchDone') |
| | | ) { |
| | | String strProd = null; |
| | | for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { |
| | | if (strProd == null || strProd.length() == 0) { |
| | | strProd = '\'' + String.valueOf(ass.prod.Id) + '\''; |
| | | } else { |
| | | strProd += ',\'' + String.valueOf(ass.prod.Id) + '\''; |
| | | } |
| | | } |
| | | String soqll = '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 = \'○\' '; |
| | | //update by rentx 2020-12-31 start |
| | | if (agencyProType == 'ET') { |
| | | soqll += ' AND Pro2_Dealer_Object__c = true'; |
| | | } |
| | | if (agencyProType == 'ENG') { |
| | | soqll += ' AND Pro2_Dealer_ENG__c = true'; |
| | | } |
| | | soqll += ' AND Intra_Trade_List_RMB__c > 0 '; |
| | | //update by rentx 2020-12-31 end |
| | | soqll += ' AND Id IN (' + strProd + ')'; |
| | | soqll += |
| | | ' order by ' + |
| | | columus_no[Integer.valueOf(sortKey)] + |
| | | ' ' + |
| | | (sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last'); |
| | | List<Product2__c> queryList = Database.query(soqll); |
| | | // 選択済みの明细を取得 |
| | | 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); |
| | | } |
| | | } |
| | | for (Integer i = 0; i < queryList.size(); i++) { |
| | | if (selectedIdMap.containsKey(queryList[i].Id)) { |
| | | // 跳过已经选择的消耗品明细 |
| | | continue; |
| | | } else { |
| | | // 未选择的消耗品明细 |
| | | MidMap.put(queryList[i].Id, new ConsumableorderdetailsInfo(queryList[i])); |
| | | } |
| | | } |
| | | consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); |
| | | consumableorderdetailsRecordsview = reSet; |
| | | for (Integer i = 0; i < countDel.size(); i++) { |
| | | if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) { |
| | | if (countDel[i].hospitalSpecialOffer__c == true) { |
| | | //然后循环CountDel去修改map里的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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //把map里的值从新赋给ConsumableorderdetailsRecords |
| | | 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.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; |
| | | |
| | | consumableorderdetailsRecordsview.add(bss); |
| | | } |
| | | } |
| | | } else if (searchDone != 'searchDone') { |
| | | String strProd = null; |
| | | for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) { |
| | | if (strProd == null || strProd.length() == 0) { |
| | | strProd = '\'' + String.valueOf(ass.prod.Id) + '\''; |
| | | } else { |
| | | strProd += ',\'' + String.valueOf(ass.prod.Id) + '\''; |
| | | } |
| | | } |
| | | String SqlOrder = 'SELECT Id, Name, Consumable_order__c, Consumable_Product__r.Name__c,'; |
| | | SqlOrder += ' Consumable_Product__c,Consumable_Product__r.Name,'; |
| | | SqlOrder += 'Consumable_Count__c,Consumable_Product__r.Intra_Trade_List_RMB__c,'; |
| | | SqlOrder += 'Consumable_Product__r.Asset_Model_No__c,Sum_of_money__c, '; |
| | | SqlOrder += 'Consumable_Product__r.SFDA_Status__c,Consumable_Product__r.Product2__r.Packing_list_manual__c,Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,'; |
| | | SqlOrder += 'Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,Consumable_Product__r.Category3__c,Consumable_Product__r.Category4__c,Consumable_Product__r.Category5__c '; |
| | | SqlOrder += |
| | | 'FROM Consumable_orderdetails__c WHERE recordtypeid != \'' + |
| | | System.Label.RT_ConOrderDetail1_Sale + |
| | | '\' AND Consumable_order__c = \'' + |
| | | ESetId + |
| | | '\''; |
| | | SqlOrder += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | SqlOrder += ' AND Consumable_Product__c IN (' + strProd + ')'; |
| | | SqlOrder += |
| | | ' order by ' + |
| | | columus[Integer.valueOf(sortKey)] + |
| | | ' ' + |
| | | (sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last'); |
| | | List<Consumable_Orderdetails__c> queryList = Database.query(SqlOrder); |
| | | // 選択済みの明细を取得 |
| | | Map<String, String> selectedIdMap = new Map<String, String>(); |
| | | for (Integer i = 0; i < queryList.size(); i++) { |
| | | // 未选择的消耗品明细 |
| | | MidMap.put(queryList[i].Consumable_Product__c, new ConsumableorderdetailsInfo(queryList[i])); |
| | | } |
| | | for (Integer i = 0; i < countDel.size(); i++) { |
| | | if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) { |
| | | if (countDel[i].hospitalSpecialOffer__c == true) { |
| | | //然后循环CountDel去修改map里的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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>(); |
| | | //把map里的值从新赋给ConsumableorderdetailsRecords |
| | | for (ConsumableorderdetailsInfo bss : MidMap.values()) { |
| | | 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.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; |
| | | consumableorderdetailsRecordsview.add(bss); |
| | | } |
| | | } |
| | | productLimtAndDateView(); |
| | | } |
| | | |
| | | //库存上下限 |
| | | public static void productLimtAndDateView() { |
| | | 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 : consumableorderdetailsRecordsview) { |
| | | if (productLimt.containsKey(ass.Prod.Asset_Model_No__c)) { |
| | | ass.lowerlimit = decimal.valueOf( |
| | | productLimt.get(ass.Prod.Asset_Model_No__c).subString(0, productLimt.get(ass.Prod.Asset_Model_No__c).indexOf('|')) |
| | | ); |
| | | ass.upperlimit = decimal.valueOf( |
| | | productLimt.get(ass.Prod.Asset_Model_No__c).subString(productLimt.get(ass.Prod.Asset_Model_No__c).indexOf('|') + 1) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //库存上下限 |
| | | public static void productLimtAndDate() { |
| | | String nowName = null, nowRightAsstModelNo = null; |
| | |
| | | String dealerProductIdStr, |
| | | String methodTypeStr, |
| | | String consumableorderdetailsRecordsviewStr, |
| | | Boolean editAbleStr |
| | | Boolean editAbleStr, |
| | | List<String> proLimitAndDateList |
| | | ){ |
| | | Results results = new Results(); |
| | | errorMsgList = new List<String>(); |
| | |
| | | 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); |
| | |
| | | // makeMessage(); |
| | | results.errorMsgList = errorMsgList; |
| | | results.warningMsgList = warningMsgList; |
| | | if(consumableorderdetailsRecordsview.size() > 0){ |
| | | if(consumableorderdetailsRecords.size() > 0){ |
| | | getConsumableShowTableFieldValue(); |
| | | results.result = 'Success'; |
| | | results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; |
| | | results.errorMsg = '搜索到' + consumableorderdetailsRecordsview.size() + '件产品'; |
| | | results.errorMsg = '搜索到' + consumableorderdetailsRecords.size() + '件产品'; |
| | | }else { |
| | | getConsumableShowTableFieldValue(); |
| | | results.result = 'Fail'; |
| | | results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; |
| | | results.errorMsg = '没有搜索到相关数据'; |
| | |
| | | cate1ForSort = category1; |
| | | // 显示数据条数信息 |
| | | noOfRecords = consumableorderdetailsRecords.size(); |
| | | getConsumableShowTableFieldValue(); |
| | | results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; |
| | | if(consumableorderdetailsRecordsview.size() > 0){ |
| | | results.result = 'Success'; |
| | |
| | | if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { |
| | | addNo++; |
| | | //continue; |
| | | } else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { |
| | | break; |
| | | } else { |
| | | } |
| | | // 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; |
| | | } |
| | | // if (addNo >= size){ |
| | | // break; |
| | | // } |
| | | } |
| | | return consumableorderdetailsRecordsview; |
| | | } |
| | |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | |
| | | Results results = new Results(); |
| | | try { |
| | | base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8'); |
| | | Blob contentBlob = EncodingUtil.base64Decode(base64Data); |
| | | Attachment att = new Attachment(); |
| | | att.ParentId = pId; |
| | | att.Name = fileName; |
| | | att.Body = contentBlob; |
| | | insert att; |
| | | 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'; |
| | |
| | | String consumableorderdetailsRecordsviewStr, |
| | | String contactDealerStr, |
| | | String methodTypeStr, |
| | | String hospitalIdStr |
| | | String hospitalIdStr, |
| | | String contractIdStr, |
| | | String agencyProType1Str, |
| | | Boolean OSHFLGStr |
| | | ) { |
| | | ESetId = ''; |
| | | return save(contractNameStr,cocStr,agencyProTypeStr,accountidStr,consumableorderdetailsRecordsviewStr,contactDealerStr,methodType,ESetId,hospitalIdStr); |
| | | return save(contractNameStr,cocStr,agencyProTypeStr,accountidStr,consumableorderdetailsRecordsviewStr,contactDealerStr,methodTypeStr,ESetId,hospitalIdStr,contractIdStr,agencyProType1Str,OSHFLGStr); |
| | | } |
| | | |
| | | //保存按钮 |
| | |
| | | String contactDealerStr, |
| | | String methodTypeStr, |
| | | String eSetIdStr, |
| | | String hospitalIdStr |
| | | String hospitalIdStr, |
| | | String contractIdStr, |
| | | String agencyProType1Str, |
| | | Boolean OSHFLGStr |
| | | ){ |
| | | Results results = new Results(); |
| | | errorMsgList = new List<String>(); |
| | |
| | | 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); |
| | | consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsviewStr, List<ConsumableorderdetailsInfo>.class); |
| | |
| | | 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 :agencyProType |
| | | AND Agent_Ref__c = :accountid |
| | | 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('不存在的合同,请重新确认。'); |
| | |
| | | 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; |
| | |
| | | return results; |
| | | } |
| | | |
| | | //删除附件 |
| | | @AuraEnabled |
| | | public static Results deleteAtt(String contentVersionId){ |
| | | Results results = new Results(); |
| | | try { |
| | | ContentVersion conVersion = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionId]; |
| | | String contentDocumentId = conVersion.ContentDocumentId; |
| | | ContentDocument conDocument = [SELECT Id FROM ContentDocument where Id = :contentDocumentId]; |
| | | delete conDocument; |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | |
| | | @AuraEnabled |
| | | public Boolean canSelect { get; set; } |
| | | @AuraEnabled |
| | | public Attachment Concc { get; set; } |
| | | public ContentVersion Concc { get; set; } |
| | | @AuraEnabled |
| | | public Boolean sortBy { 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) { |
| | |
| | | allnumber_piece = 0; |
| | | } |
| | | //附件 |
| | | public ConsumableorderdetailsInfo(Attachment e) { |
| | | public ConsumableorderdetailsInfo(ContentVersion e) { |
| | | Concc = e; |
| | | } |
| | | // 排序Consumable_order__c |
| | |
| | | public String methodType; |
| | | @AuraEnabled |
| | | public List<String> proLimitAndDate; |
| | | @AuraEnabled |
| | | public Boolean isNoteStay; |
| | | @AuraEnabled |
| | | public Boolean OSHFLG; |
| | | @AuraEnabled |
| | | public String agencyProType1; |
| | | } |
| | | |
| | | public class CusOption { |