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<String>();
|
arrController.errorList = new List<String>();
|
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<String>();
|
arrController.errorList = new List<String>();
|
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<ConsumableorderdetailsInfo> showGoodsofReturnList = (List<ConsumableorderdetailsInfo>)JSON.deserialize(showGoodsofReturnListStr, List<ConsumableorderdetailsInfo>.class);
|
ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
|
arrController.ShowGoodsofReturnList = changeType2(showGoodsofReturnList);
|
arrController.returnError = null;
|
arrController.warningList = new List<String>();
|
arrController.errorList = new List<String>();
|
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<ConsumableorderdetailsInfo> changeType1(List<ArriveGoodsController.ConsumableorderdetailsInfo> conList){
|
List<ConsumableorderdetailsInfo> conList1 = new List<ConsumableorderdetailsInfo>();
|
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<ArriveGoodsController.ConsumableorderdetailsInfo> changeType2(List<ConsumableorderdetailsInfo> conList){
|
List<ArriveGoodsController.ConsumableorderdetailsInfo> conList1 = new List<ArriveGoodsController.ConsumableorderdetailsInfo>();
|
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<ConsumableorderdetailsInfo> detailsSummary;
|
@AuraEnabled
|
public List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
|
@AuraEnabled
|
public List<ConsumableorderdetailsInfo> showGoodsofReturnList;
|
@AuraEnabled
|
public List<ConsumableorderdetailsInfo> consumableInventory;
|
@AuraEnabled
|
public List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserror;
|
@AuraEnabled
|
public List<String> errorMsgList;
|
@AuraEnabled
|
public List<String> 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;
|
}
|
}
|
}
|