public without sharing class LexArriveGoodsController { //初始化 @AuraEnabled public static Results init(String arrType, String eSetId) { Results results = new Results(); results.isNoteStay = LexUtility.getIsNoteStay(); try { ArriveGoodsController arrController = new ArriveGoodsController(eSetId, arrType); arrController.isLwc = true; arrController.init(); results.arrGoodCon = JSON.serialize(arrController); results.coc = arrController.coc; results.saveFLGbln = arrController.saveFLGbln; results.returnFLGbln = arrController.ReturnFLGbln; results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } //搜索产品 @AuraEnabled public static Results searchProduct(String barcode, String arrControllerStr) { Results results = new Results(); try { System.debug('arrControllerStr:'+arrControllerStr); ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class); arrController.barcode = barcode; arrController.returnError = null; arrController.warningList = new List(); arrController.errorList = new List(); arrController.SearchPro(); results.arrGoodCon = JSON.serialize(arrController); if(arrController.returnError != null && arrController.returnError != ''){ results.result = 'Fail'; results.errorMsgList = arrController.errorList; results.warningMsgList = arrController.warningList; results.errorMsg = arrController.returnError; }else { results.coc = arrController.coc; results.saveFLGbln = arrController.saveFLGbln; results.returnFLGbln = arrController.ReturnFLGbln; results.detailsSummary = changeType1(arrController.detailsSummary); results.consumableorderdetailsRecords = changeType1(arrController.ConsumableorderdetailsRecords); results.showGoodsofReturnList = changeType1(arrController.ShowGoodsofReturnList); results.consumableInventory = changeType1(arrController.consumableInventory); results.consumableorderdetailsRecordserror = changeType1(arrController.ConsumableorderdetailsRecordserror); results.errorMsgList = arrController.errorList; results.warningMsgList = arrController.warningList; results.result = 'Success'; } } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage() + '---' + e.getStackTraceString(); } return results; } //到货确认 @AuraEnabled public static Results arriveGoodsConfim(String arrControllerStr) { Results results = new Results(); try { ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class); arrController.returnError = null; arrController.warningList = new List(); arrController.errorList = new List(); Pagereference page = arrController.ArriveGoodsConfim(); results.arrGoodCon = JSON.serialize(arrController); if(arrController.returnError != null && arrController.returnError != ''){ results.result = 'Fail'; results.errorMsgList = arrController.errorList; results.warningMsgList = arrController.warningList; results.errorMsg = arrController.returnError; }else { if(arrController.urlType == 'UnabletoEdit'){ results.url = '/lexarrivegsdetails?EsetId='+arrController.arriveId; } results.errorMsgList = arrController.errorList; results.warningMsgList = arrController.warningList; results.result = 'Success'; } } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } //登录返品 @AuraEnabled public static Results updateGoodsOfReturn(String arrControllerStr, String showGoodsofReturnListStr) { Results results = new Results(); try { List showGoodsofReturnList = (List)JSON.deserialize(showGoodsofReturnListStr, List.class); ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class); arrController.ShowGoodsofReturnList = changeType2(showGoodsofReturnList); arrController.returnError = null; arrController.warningList = new List(); arrController.errorList = new List(); StaticParameter.ConsumableOrderTrigger = true; //Add by Li Jun for bypass ConsumableOrderTrigger 20230616 Pagereference page = arrController.UpdateGoodsOfReturn(); results.arrGoodCon = JSON.serialize(arrController); if(arrController.returnError != null && arrController.returnError != ''){ results.result = 'Fail'; results.errorMsgList = arrController.errorList; results.warningMsgList = arrController.warningList; results.errorMsg = arrController.returnError; }else { if(arrController.urlType == 'ToReturnGoodsPage'){ results.url = '/detail/'+arrController.return_Order_id; } if(arrController.urlType == 'ToInventoryGoodsPage'){ results.url = '/detail/'+arrController.inventory_Order_id; } results.errorMsgList = arrController.errorList; results.warningMsgList = arrController.warningList; results.result = 'Success'; } } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } public static List changeType1(List conList){ List conList1 = new List(); if(conList != null){ for(ArriveGoodsController.ConsumableorderdetailsInfo con : conList){ ConsumableorderdetailsInfo con1 = new ConsumableorderdetailsInfo(); con1.esd = con.esd; con1.Prod = con.Prod; con1.ProductName = con.ProductName; con1.barCodeNo = con.barCodeNo; con1.sterilizationlimitDate = con.sterilizationlimitDate; con1.serialNoorLotNo = con.serialNoorLotNo; con1.tracingCodeNo = con.tracingCodeNo; con1.ReturnReason = con.ReturnReason; con1.oldConsumableCount = con.oldConsumableCount; con1.ErrorReason = con.ErrorReason; con1.canEdit = con.canEdit; con1.intMark = con.intMark; con1.arriveAmount = con.arriveAmount; con1.arrivedCount = con.arrivedCount; con1.ReportProductExpirationDate = con.ReportProductExpirationDate; conList1.add(con1); } } return conList1; } public static List changeType2(List conList){ List conList1 = new List(); if(conList != null){ for(ConsumableorderdetailsInfo con : conList){ ArriveGoodsController.ConsumableorderdetailsInfo con1 = new ArriveGoodsController.ConsumableorderdetailsInfo(); con1.esd = con.esd; con1.Prod = con.Prod; con1.ProductName = con.ProductName; con1.barCodeNo = con.barCodeNo; con1.sterilizationlimitDate = con.sterilizationlimitDate; con1.serialNoorLotNo = con.serialNoorLotNo; con1.tracingCodeNo = con.tracingCodeNo; con1.ReturnReason = con.ReturnReason; con1.oldConsumableCount = con.oldConsumableCount; con1.ErrorReason = con.ErrorReason; con1.canEdit = con.canEdit; con1.intMark = con.intMark; con1.arriveAmount = con.arriveAmount; con1.arrivedCount = con.arrivedCount; con1.ReportProductExpirationDate = con.ReportProductExpirationDate; conList1.add(con1); } } return conList1; } public class Results { @AuraEnabled public String result; @AuraEnabled public String errorMsg; @AuraEnabled public String url; @AuraEnabled public String arrGoodCon; @AuraEnabled public Consumable_order__c coc; @AuraEnabled public Boolean returnFLGbln; @AuraEnabled public Boolean saveFLGbln; @AuraEnabled public List detailsSummary; @AuraEnabled public List consumableorderdetailsRecords; @AuraEnabled public List showGoodsofReturnList; @AuraEnabled public List consumableInventory; @AuraEnabled public List consumableorderdetailsRecordserror; @AuraEnabled public List errorMsgList; @AuraEnabled public List warningMsgList; @AuraEnabled public Boolean isNoteStay; } public class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Consumable_order_details2__c esd { get; set; } @AuraEnabled public Product2__c Prod { get; set; } @AuraEnabled public String ProductName { get; set; } @AuraEnabled public String barCodeNo { get; set; } @AuraEnabled public Date sterilizationlimitDate { get; set; } @AuraEnabled public String serialNoorLotNo { get; set; } @AuraEnabled public String tracingCodeNo { get; set; } @AuraEnabled public String ReturnReason { get; set; } @AuraEnabled public String oldConsumableCount { get; set; } @AuraEnabled public String ErrorReason { get; set; } @AuraEnabled public boolean canEdit { get; set; } @AuraEnabled public Integer intMark { get; set; } @AuraEnabled public Decimal arriveAmount { get; set; } @AuraEnabled public Decimal arrivedCount { get; set; } @AuraEnabled public String ReportProductExpirationDate { get; set; } public ConsumableorderdetailsInfo(){ } // 排序 public Integer compareTo(Object compareTo) { return null; } } }