public with sharing class LexCancelRemoveBoxController { //经销商产品分类 <<<<<<< HEAD public static String agencyProType { get; set; } ======= public static String agencyProType {get;set;} >>>>>>> LEXCommunityLiJun public static String userPro_Typestr = null; public static String barcode { get; set; } /*****************画面表示Bean******************/ public static List consumableInventory { get; set; } //错误明细 public static List ConsumableorderdetailsRecordserror { get; set; } //拆盒明细 public static List ConsumableorderdetailsRecordsdummy { get; set; } <<<<<<< HEAD public static boolean saveFLGbln { get; set; } //错误信息 public static String alertMessage { get; set; } //拆盒明细件数 public static Integer getinventorysize() { ======= public static boolean saveFLGbln {get;set;} //错误信息 public static String alertMessage {set;get;} //拆盒明细件数 public static Integer getinventorysize(){ >>>>>>> LEXCommunityLiJun return ConsumableorderdetailsRecordsdummy.size(); } public static Map ExistIdMap = new Map(); public static Map ErrorIdMap = new Map(); public static Map AllMap = new Map(); <<<<<<< HEAD public static List BarCodeListP = new List(); //不符合的barcode和型号 public static list notInlist = new List(); public static String baseUrl { get; private set; } ======= public static List BarCodeListP = new List(); //不符合的barcode和型号 public static list notInlist = new list(); public static String baseUrl {get;private set;} >>>>>>> LEXCommunityLiJun private static String accountid = null; private static String accountName = null; //public String[] proidList =new String[]{}; // 登录者工作地 private static String userWorkLocation; <<<<<<< HEAD public LexCancelRemoveBoxController() { ======= public LexCancelRemoveBoxController(){ >>>>>>> LEXCommunityLiJun baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); ConsumableorderdetailsRecordserror = new List(); ConsumableorderdetailsRecordsdummy = new List(); consumableInventory = new List(); <<<<<<< HEAD saveFLGbln = false; ======= saveFLGbln = FALSE; >>>>>>> LEXCommunityLiJun } @AuraEnabled public static ResponseBodyLWC init() { ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); res.entity = data; String userId = UserInfo.getUserId(); <<<<<<< HEAD List Useracc = new List(); Useracc = [ SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId ]; accountid = Useracc[0].accountid; userWorkLocation = Useracc[0].Work_Location__c; agencyProType = Useracc[0].UserPro_Type__c; if (String.isBlank(Useracc[0].UserPro_Type__c)) { agencyProType = 'ET'; } userPro_Typestr = '%' + agencyProType + '%'; List accountInfo = [ SELECT Name FROM account WHERE id = :accountid ]; //String view_product = accountInfo[0].view_product__c; accountName = accountInfo[0].Name; //proidList = view_product.split(','); data.put('accountName', accountName); data.put('userWorkLocation', userWorkLocation); data.put('agencyProType', agencyProType); ======= List Useracc = New List(); Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:userId]; accountid = Useracc[0].accountid; userWorkLocation = Useracc[0].Work_Location__c; agencyProType = Useracc[0].UserPro_Type__c; if(String.isBlank(Useracc[0].UserPro_Type__c)){ agencyProType = 'ET'; } userPro_Typestr = '%' + agencyProType + '%'; List accountInfo = [SELECT Name FROM account WHERE id =:accountid]; //String view_product = accountInfo[0].view_product__c; accountName = accountInfo[0].Name; //proidList = view_product.split(','); data.put('accountName',accountName); data.put('userWorkLocation',userWorkLocation); data.put('agencyProType',agencyProType); >>>>>>> LEXCommunityLiJun res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; <<<<<<< HEAD } // 将页面或取得BarCode去掉重复的,转换成List public static List ParseBarCode(String Code) { String[] Cache = new List{}; Cache = Code.split('\n'); Set Buff = new Set(); for (String A : Cache) { Buff.add(A); } List outPut = new List(); for (String B : Buff) { ======= } // 将页面或取得BarCode去掉重复的,转换成List public static List ParseBarCode(String Code){ String[] Cache = new String[]{}; Cache = Code.split('\n'); Set Buff = new Set(); for(String A : Cache){ Buff.add(A); } List outPut = new List(); for(String B :Buff){ >>>>>>> LEXCommunityLiJun B = B.trim(); outPut.add(B); } return outPut; } //获取明细 @AuraEnabled <<<<<<< HEAD public static ResponseBodyLWC searchConsumableorderdetails( String barcode, String accountName, String userWorkLocation, String agencyProType ) { ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); ======= public static ResponseBodyLWC searchConsumableorderdetails(String barcode,String accountName,String userWorkLocation,String agencyProType) { ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); >>>>>>> LEXCommunityLiJun res.entity = data; userPro_Typestr = '%' + agencyProType + '%'; barcode = barcode; accountName = accountName; userWorkLocation = userWorkLocation; ConsumableorderdetailsRecordserror = new List(); ConsumableorderdetailsRecordsdummy = new List(); <<<<<<< HEAD notInlist = new List(); BarCodeListP = ParseBarCode(barcode); Consumable_order_details2__c p = new Consumable_order_details2__c(); List Ins = new List(); List reSet = new List(); List reSet1 = new List(); saveFLGbln = false; alertMessage = ''; //判断barcode是否为空 if (barcode == null || barcode == '') { return new ResponseBodyLWC('Error', 500, '请输入BarCode号', ''); ======= notInlist = new list(); BarCodeListP = ParseBarCode(barcode); Consumable_order_details2__c p = new Consumable_order_details2__c(); List Ins = New List(); List reSet = new List(); List reSet1 = new List(); saveFLGbln = FALSE; alertMessage=''; //判断barcode是否为空 if(barcode == null || barcode ==''){ return new ResponseBodyLWC('Error',500, '请输入BarCode号', ''); >>>>>>> LEXCommunityLiJun // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'请输入BarCode号。')); // return; } // ExistIdMap.clear(); // ErrorIdMap.clear(); // notInlist.clear(); // ConsumableorderdetailsRecordserror.clear(); // ConsumableorderdetailsRecordsdummy.clear(); // 产品类型不同 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Product_Type__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = TRUE AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c = :userWorkLocation AND (NOT Product_Type__c LIKE :userPro_Typestr) ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品类型' + reSet1[i].Product_Type__c + '与产品类型' + agencyProType + '不符,不能拆盒'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c,Product_Type__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c = : userWorkLocation AND (not Product_Type__c like : userPro_Typestr) ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品类型'+ reSet1[i].Product_Type__c +'与产品类型'+ agencyProType +'不符,不能拆盒'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } //没有拆盒 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end 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 Box_Piece__c = '盒' //AND ProductPacking_list_manual__c > 1 AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; //没出库,没销售,在库,没有拆盒 if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品没有拆盒'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end 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 Box_Piece__c = '盒' //AND ProductPacking_list_manual__c > 1 AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; //没出库,没销售,在库,没有拆盒 if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品没有拆盒'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } //已出货,未到货 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = FALSE AND Dealer_Shipment__c = FALSE AND Dealer_Saled__c = FALSE AND Dealer_Returned__c = FALSE AND Lose_Flag__c = FALSE AND Box_Piece__c = '盒' AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品还未到货'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = FALSE AND Dealer_Shipment__c= FALSE AND Dealer_Saled__c = FALSE AND Dealer_Returned__c = false AND Lose_Flag__c = false AND Box_Piece__c = '盒' AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品还未到货'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } //拆盒已出货 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Shipment__c = TRUE AND Dealer_Arrive__c = TRUE AND Dealer_Returned__c = FALSE AND Lose_Flag__c = FALSE AND Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品存在出货履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Shipment__c = true AND Dealer_Arrive__c = true AND Dealer_Returned__c = false AND Lose_Flag__c = false AND Box_Piece__c = '个' AND RemoveBox_date__c != null AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品存在出货履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } //拆盒已销售 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Saled__c = TRUE AND Dealer_Arrive__c = TRUE AND Dealer_Returned__c = FALSE AND Lose_Flag__c = FALSE AND Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品存在销售履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Saled__c = true AND Dealer_Arrive__c = true AND Dealer_Returned__c = false AND Lose_Flag__c = false AND Box_Piece__c = '个' AND RemoveBox_date__c != null AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品存在销售履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } //拆盒返品 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Returned__c = TRUE AND Return_date__c != NULL AND Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品存在返品履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Returned__c = true AND Return_date__c != null AND Box_Piece__c = '个' AND RemoveBox_date__c != null AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品存在返品履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } <<<<<<< HEAD //拆盒后盘点过(盘点日期不为空) reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Inventory_date__c != NULL AND Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品存在盘点履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= //拆盒后盘点过(盘点日期不为空) reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Inventory_date__c != null AND Box_Piece__c = '个' AND RemoveBox_date__c != null AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品存在盘点履历'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } //不同工作地 <<<<<<< HEAD reSet1 = [ SELECT Id, Name, Consumable_Product__r.Name__c, Consumable_Product__c, Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, recordtypeid, Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = TRUE AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c != :userWorkLocation ORDER BY Name ]; if (reSet1.size() > 0) { for (Integer i = 0; i < reSet1.size(); i++) { if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { String str = '该商品属于' + reSet1[i].Arrive_Owner_Work_Location__c + ',不能取消拆盒'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); ======= reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, Deliver_date__c,Bar_Code__c, Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c !=: userWorkLocation ORDER BY Name ]; if(reSet1.size() > 0){ for (Integer i = 0; i < reSet1.size(); i++) { if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ // 跳过已经处理的消耗品明细 continue; }else{ String str = '该商品属于' + reSet1[i].Arrive_Owner_Work_Location__c + ',不能取消拆盒'; ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } <<<<<<< HEAD reSet = [ SELECT Id, Name, Intra_Trade_List_RMB__c, Asset_Model_No__c, Consumable_Product__c, Consumable_Product__r.Name, Consumable_Product__r.Name__c, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, Dealer_Arrive__c, Guarantee_period_for_products__c, CFDA_Status__c, ProductPacking_list_manual__c, Report_Product_Approbation__c, Report_Product_Expiration__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end 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 Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND Bar_Code__c IN :BarCodeListP AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c = :userWorkLocation AND Product_Type__c LIKE :userPro_Typestr ]; if (reSet.size() > 0) { for (Integer i = 0; i < reSet.size(); i++) { if (ErrorIdMap.containsKey(reSet[i].Bar_Code__c)) { // 跳过错误的消耗品明细 continue; } else if (ExistIdMap.containsKey(reSet[i].Bar_Code__c)) { // 跳过已经处理的消耗品明细 continue; } else { ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i])); ExistIdMap.put(reSet[i].Bar_Code__c, reSet[i].Bar_Code__c); ======= reSet = [SELECT Id, Name, Intra_Trade_List_RMB__c, Asset_Model_No__c, Consumable_Product__c, Consumable_Product__r.Name, Consumable_Product__r.Name__c, Sterilization_limit__c, Deliver_date__c, Bar_Code__c, Arrive_date__c, Send_Date__c, Consumable_order_minor__r.Name, Consumable_order_minor__c, Dealer_Arrive__c, Guarantee_period_for_products__c, CFDA_Status__c, ProductPacking_list_manual__c, Report_Product_Approbation__c, Report_Product_Expiration__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end 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 Box_Piece__c = '个' AND RemoveBox_date__c != null AND Bar_Code__c in :BarCodeListP AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c =: userWorkLocation AND Product_Type__c like : userPro_Typestr ]; if(reSet.size()>0){ for (Integer i = 0; i < reSet.size(); i++) { if(ErrorIdMap.containsKey(reSet[i].Bar_Code__c) ){ // 跳过错误的消耗品明细 continue; } else if(ExistIdMap.containsKey(reSet[i].Bar_Code__c) ){ // 跳过已经处理的消耗品明细 continue; } else{ ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i])); ExistIdMap.put(reSet[i].Bar_Code__c,reSet[i].Bar_Code__c); >>>>>>> LEXCommunityLiJun } } } AllMap.putAll(ExistIdMap); //得到不存在的BarCode <<<<<<< HEAD for (Integer i = 0; i < BarCodeListP.size(); i++) { if (ExistIdMap.containsKey(BarCodeListP[i])) { continue; } else if (ErrorIdMap.containsKey(BarCodeListP[i])) { continue; } else { notInlist.add(BarCodeListP[i]); } } if (notInlist.size() > 0) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); return new ResponseBodyLWC('Error', 500, 'BarCode' + notInlist + '不存在。', ''); } data.put('ConsumableorderdetailsRecordsdummy', JSON.serialize(ConsumableorderdetailsRecordsdummy)); data.put('ConsumableorderdetailsRecordserror', JSON.serialize(ConsumableorderdetailsRecordserror)); data.put('dataSize', ConsumableorderdetailsRecordsdummy.size()); ======= for(Integer i = 0; i < BarCodeListP.size(); i++){ if(ExistIdMap.containsKey(BarCodeListP[i])){ continue; }else if(ErrorIdMap.containsKey(BarCodeListP[i])){ continue; }else{ notInlist.add(BarCodeListP[i]); } } if(notInlist.size()>0){ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '不存在。', ''); } data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy)); data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror)); data.put('dataSize',ConsumableorderdetailsRecordsdummy.size()); >>>>>>> LEXCommunityLiJun res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; <<<<<<< HEAD } //取消拆盒确认 @AuraEnabled public static ResponseBodyLWC cancelRemoveBoxConfirm( String saveConsumableorderdetailsRecordsdummy, String accountName, String userWorkLocation, String agencyProType ) { ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); res.entity = data; userPro_Typestr = '%' + agencyProType + '%'; accountName = accountName; userWorkLocation = userWorkLocation; List ConsumableorderdetailsRecordsdummy = (List) JSON.deserialize( saveConsumableorderdetailsRecordsdummy, List.class ); List ins = new List(); Savepoint sp = Database.setSavepoint(); if (ConsumableorderdetailsRecordsdummy.size() < 1) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在取消拆盒明细')); return new ResponseBodyLWC('Error', 500, '不存在取消拆盒明细', ''); // return null; } List BarCodeList = new List(); for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { BarCodeList.add(tmp.esd.Bar_Code__c); } try { //取得通番大于001的在库明细 List orderDetails2del = [ SELECT Id, Box_Piece__c, RemoveBox_date__c, RemoveBox_No__c, Bar_Code__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end 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 Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND RemoveBox_No__c > 1 AND Bar_Code__c IN :BarCodeList AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c = :userWorkLocation AND Product_Type__c LIKE :userPro_Typestr ]; List orderlistdel = new List(); List orderlistupd = new List(); for (Consumable_order_details2__c detail2tmp : orderDetails2del) { Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c(); delDetails2.Id = detail2tmp.Id; //删除通番大于001的明细2 //delete delDetails2; orderlistdel.add(delDetails2); } //取得通番001的在库明细 List orderDetails2 = [ SELECT Id, Box_Piece__c, RemoveBox_date__c, RemoveBox_No__c, Bar_Code__c, //add by rentx 2020-10-13 start ContractNo_text__c, /*,ContractNo__c*/ //add by rebtx 2020-10-13 end // tcm start Consumable_order_minor__r.ContractNo__c // tcm end 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 Box_Piece__c = '个' AND RemoveBox_date__c != NULL AND RemoveBox_No__c = 1 AND Bar_Code__c IN :BarCodeList AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c = :userWorkLocation AND Product_Type__c LIKE :userPro_Typestr ]; for (Consumable_order_details2__c detail2tmp : orderDetails2) { Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c(); updDetails2.Id = detail2tmp.Id; updDetails2.Box_Piece__c = '盒'; updDetails2.RemoveBox_date__c = null; updDetails2.RemoveBox_No__c = null; // tcm start if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) { updDetails2.ContractNo_text__c = detail2tmp.ContractNo_text__c; } else { updDetails2.ContractNo_text__c = detail2tmp.Consumable_order_minor__r.ContractNo__c; } // updDetails2.ContractNo_text__c = detail2tmp.ContractNo__c; // tcm end //通番001のデータの管理単位を盒に戻し、通番をクリア //update updDetails2; orderlistupd.add(updDetails2); } if (orderlistdel.size() > 0) { delete orderlistdel; } if (orderlistupd.size() > 0) { update orderlistupd; } saveFLGbln = true; alertMessage = '取消拆盒完成'; data.put('saveFLGbln', saveFLGbln); res.status = 'Success'; res.code = 200; res.msg = alertMessage; System.debug('res = ' + res); return res; // return null; } catch (Exception e) { Database.rollback(sp); ApexPages.addMessages(e); return null; } } ======= } //取消拆盒确认 @AuraEnabled public static ResponseBodyLWC cancelRemoveBoxConfirm(String saveConsumableorderdetailsRecordsdummy,String accountName,String userWorkLocation,String agencyProType) { ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); res.entity = data; userPro_Typestr = '%' + agencyProType + '%'; accountName = accountName; userWorkLocation =userWorkLocation; List ConsumableorderdetailsRecordsdummy = (List)JSON.deserialize(saveConsumableorderdetailsRecordsdummy,List.class); List ins = New List(); Savepoint sp = Database.setSavepoint(); if(ConsumableorderdetailsRecordsdummy.size()<1){ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在取消拆盒明细')); return new ResponseBodyLWC('Error',500, '不存在取消拆盒明细', ''); // return null; } List BarCodeList = new List(); for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { BarCodeList.add(tmp.esd.Bar_Code__c); } try{ //取得通番大于001的在库明细 List orderDetails2del = [SELECT Id, Box_Piece__c, RemoveBox_date__c, RemoveBox_No__c, Bar_Code__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rentx 2020-10-13 end 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 Box_Piece__c = '个' AND RemoveBox_date__c != null AND RemoveBox_No__c > 1 AND Bar_Code__c in :BarCodeList AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c =: userWorkLocation AND Product_Type__c like : userPro_Typestr ]; List orderlistdel = new List(); List orderlistupd= new List(); for (Consumable_order_details2__c detail2tmp : orderDetails2del) { Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c(); delDetails2.Id = detail2tmp.Id; //删除通番大于001的明细2 //delete delDetails2; orderlistdel.add(delDetails2); } //取得通番001的在库明细 List orderDetails2 = [SELECT Id, Box_Piece__c, RemoveBox_date__c, RemoveBox_No__c, Bar_Code__c, //add by rentx 2020-10-13 start ContractNo_text__c /*,ContractNo__c*/ //add by rebtx 2020-10-13 end // tcm start ,Consumable_order_minor__r.ContractNo__c // tcm end 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 Box_Piece__c = '个' AND RemoveBox_date__c !=null AND RemoveBox_No__c = 1 AND Bar_Code__c in :BarCodeList AND Dealer_Info_text__c = :accountName AND Arrive_Owner_Work_Location__c =: userWorkLocation AND Product_Type__c like : userPro_Typestr ]; for (Consumable_order_details2__c detail2tmp : orderDetails2) { Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c(); updDetails2.Id = detail2tmp.Id; updDetails2.Box_Piece__c = '盒'; updDetails2.RemoveBox_date__c = null; updDetails2.RemoveBox_No__c = null; // tcm start if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) { updDetails2.ContractNo_text__c= detail2tmp.ContractNo_text__c; }else { updDetails2.ContractNo_text__c= detail2tmp.Consumable_order_minor__r.ContractNo__c; } // updDetails2.ContractNo_text__c = detail2tmp.ContractNo__c; // tcm end //通番001のデータの管理単位を盒に戻し、通番をクリア //update updDetails2; orderlistupd.add(updDetails2); } if(orderlistdel.size()>0){ delete orderlistdel; } if(orderlistupd.size()>0){ update orderlistupd; } saveFLGbln = true; alertMessage = '取消拆盒完成'; data.put('saveFLGbln',saveFLGbln); res.status = 'Success'; res.code = 200; res.msg = alertMessage; System.debug('res = ' + res); return res; // return null; }catch(Exception e){ Database.rollback(sp); ApexPages.addMessages(e); return null; } } >>>>>>> LEXCommunityLiJun @TestVisible class ConsumableorderdetailsInfo implements Comparable { public Consumable_order_details2__c esd { get; set; } public Product2__c Prod { get; set; } //public String ProductName { get; set; } //public Boolean canSELECT { get; set; } //public String barCodeNo { get; set; } //public Date sterilizationlimitDate { get; set; } //public String serialNoorLotNo { get; set; } //public String tracingCodeNo { get; set; } public String oldConsumableCount { get; set; } public String ErrorReason { get; set; } <<<<<<< HEAD public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) { esd = e; Prod = e.Consumable_Product__r; oldConsumableCount = e.name; ErrorReason = str; } public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { esd = e; Prod = e.Consumable_Product__r; oldConsumableCount = e.name; } /* ======= public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) { esd = e; Prod = e.Consumable_Product__r; oldConsumableCount = e.name; ErrorReason = str; } public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { esd = e; Prod = e.Consumable_Product__r; oldConsumableCount = e.name; } /* >>>>>>> LEXCommunityLiJun public ConsumableorderdetailsInfo(Product2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) { esd = new Consumable_order_details2__c(); ProductName = e.Name__c; Prod = e; barCodeNo = barCode; sterilizationlimitDate = sterilizationlimit; serialNoorLotNo = serialNoorLot; tracingCodeNo = tracingCode; } public ConsumableorderdetailsInfo(Consumable_order_details2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) { //esd = new Consumable_order_details2__c(); Prod = e.Consumable_Product__r; //ProductName = productName; barCodeNo = barCode; sterilizationlimitDate = sterilizationlimit; serialNoorLotNo = serialNoorLot; tracingCodeNo = tracingCode; } */ // 排序 public Integer compareTo(Object compareTo) { return null; } } <<<<<<< HEAD } ======= } >>>>>>> LEXCommunityLiJun