| | |
| | | { |
| | | public partial class OutboundService |
| | | { |
| | | public WebResponseContent GetOrderInfo(string orderNo) |
| | | { |
| | | try |
| | | { |
| | | Dt_OutboundOrder outboundOrder = _outboundRepository.Db.Queryable<Dt_OutboundOrder>().First(x => x.OrderNo == orderNo); |
| | | return WebResponseContent.Instance.OK(data: outboundOrder); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | //public WebResponseContent QueryPickingTasks(string palletCode, string orderNo) |
| | | //{ |
| | | // try |
| | | // { |
| | | // Dt_StockInfo stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); |
| | | |
| | | // var outboundOrder = _outboundRepository.QueryFirst(x => x.OrderNo == orderNo); |
| | | |
| | | // bool isMatMixed = false; |
| | | // if (stockInfo != null) |
| | | // { |
| | | // isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | // { |
| | | // x.MaterielCode, |
| | | // x.MaterielName, |
| | | // x.BatchNo, |
| | | // x.SupplyCode, |
| | | // x.WarehouseCode |
| | | // }).Count() > 1; |
| | | // } |
| | | |
| | | |
| | | // List<Dt_OutStockLockInfo> outStockLockInfos = _outboundLockInfoRepository.QueryData(x => x.PalletCode == palletCode && x.OrderNo == orderNo); |
| | | // return WebResponseContent.Instance.OK(data: new { outStockLockInfos, stockInfo, isMatMixed }); |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // return WebResponseContent.Instance.Error(ex.Message); |
| | | // } |
| | | //} |
| | | |
| | | public WebResponseContent QueryPickingTasks(string palletCode, string orderNo) |
| | | { |
| | | try |
| | | { |
| | | Dt_StockInfo stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); |
| | | Dt_StockInfo stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>() |
| | | .Where(x => x.PalletCode == palletCode) |
| | | .Includes(x => x.Details) |
| | | .First(); |
| | | |
| | | bool isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | List<Dt_OutStockLockInfo> outStockLockInfos = _outboundLockInfoRepository |
| | | .QueryData(x => x.PalletCode == palletCode && x.OrderNo == orderNo); |
| | | |
| | | bool isMatMixed = false; |
| | | if (stockInfo != null && stockInfo.Details != null && stockInfo.Details.Any()) |
| | | { |
| | | x.MaterielCode, |
| | | x.MaterielName, |
| | | x.BatchNo, |
| | | x.SupplyCode, |
| | | x.WarehouseCode |
| | | }).Count() > 1; |
| | | if (outStockLockInfos.FirstOrDefault() != null) |
| | | { |
| | | bool includeBatchNo = !string.IsNullOrEmpty(outStockLockInfos.FirstOrDefault().BatchNo); |
| | | bool includeSupplyCode = !string.IsNullOrEmpty(outStockLockInfos.FirstOrDefault().SupplyCode); |
| | | |
| | | List<Dt_OutStockLockInfo> outStockLockInfos = _outboundLockInfoRepository.QueryData(x => x.PalletCode == palletCode && x.OrderNo == orderNo); |
| | | if (includeBatchNo && includeSupplyCode) |
| | | { |
| | | isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | { |
| | | x.MaterielCode, |
| | | x.MaterielName, |
| | | x.BatchNo, |
| | | x.SupplyCode, |
| | | x.WarehouseCode |
| | | }).Count() > 1; |
| | | } |
| | | else if (includeBatchNo && !includeSupplyCode) |
| | | { |
| | | isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | { |
| | | x.MaterielCode, |
| | | x.MaterielName, |
| | | x.BatchNo, |
| | | x.WarehouseCode |
| | | }).Count() > 1; |
| | | } |
| | | else if (!includeBatchNo && includeSupplyCode) |
| | | { |
| | | isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | { |
| | | x.MaterielCode, |
| | | x.MaterielName, |
| | | x.SupplyCode, |
| | | x.WarehouseCode |
| | | }).Count() > 1; |
| | | } |
| | | else |
| | | { |
| | | isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | { |
| | | x.MaterielCode, |
| | | x.MaterielName, |
| | | x.WarehouseCode |
| | | }).Count() > 1; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | isMatMixed = stockInfo.Details.GroupBy(x => new |
| | | { |
| | | x.MaterielCode, |
| | | x.MaterielName, |
| | | x.WarehouseCode |
| | | }).Count() > 1; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | return WebResponseContent.Instance.OK(data: new { outStockLockInfos, stockInfo, isMatMixed }); |
| | | } |
| | | catch (Exception ex) |