예제 #1
0
 public object GetJSON(List <WarehousesGroupModel> group = null)
 {
     return(new
     {
         Page = (object)new[]
         {
             new { status = "Ordered", value = OrderedNum, expression = ".ReviewOrders" },
             new { status = "EditOrders", value = EditableCount, expression = ".EditOrders" },
             new { status = "Approved", value = ApprovedNum, expression = ".LogisticsConfig" },
         },
         Warehouses =
             group != null
             ? WarehouseResults.Where(p => group.Any(q => q.Hdr.WarehouseCode == p.Key)).Select(p =>
         {
             var whs =
                 group.First(g => g.Hdr.WarehouseCode == p.Key)
                 .Detl.Select(d => d.WarehouseCode)
                 .Concat(new[] { p.Key }).ToArray();
             return new
             {
                 code = p.Key,
                 values = new
                 {
                     total = GetViewAllQty(whs),
                     num = GetAssignedQty(whs) + GetPreOrderQty(whs),
                     processingNum = GetProcessingQty(whs),
                     assignednum = GetAssignedQty(whs),
                     pickingnum = GetPickingQty(whs),
                     pickednum = GetPickedQty(whs),
                     packnum = GetPackQty(whs),
                     packednum = GetPackedQty(whs),
                     shippednum = GetShippedQty(whs)
                 }
             };
         })
             : WarehouseResults.Select(p => new
         {
             code = p.Key,
             values = new
             {
                 total = p.Value.ViewAllQty,
                 num = p.Value.AssignedNum + p.Value.PreOrdered,
                 processingNum = p.Value.ProcessingQty,
                 assignednum = p.Value.AssignedNum,
                 pickingnum = p.Value.PickingNum,
                 pickednum = p.Value.PickedNum,
                 packnum = p.Value.PickedNum + p.Value.PackingNum,
                 packednum = p.Value.PackedNum + p.Value.ShippingNum,
                 shippednum = p.Value.ShippedNum
             }
         })
     });
 }
예제 #2
0
 public int GetShippedOutQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].ShippedOutNum : 0));
 }
예제 #3
0
 public int GetPickedQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].PickedNum : 0));
 }
예제 #4
0
 public int GetPackQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].PackDisplayQty : 0));
 }
예제 #5
0
 public int GetProcessingQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].ProcessingQty : 0));
 }
예제 #6
0
 public int GetViewAllQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].ViewAllQty : 0));
 }
예제 #7
0
 public WarehouseQtyResult GetWarehouseResult(string warehouseCode)
 {
     return(WarehouseResults.ContainsKey(warehouseCode) ? WarehouseResults[warehouseCode] : null);
 }
예제 #8
0
 public int?GetProblemQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].ProblemNum : 0));
 }
예제 #9
0
 public int?GetRFAssignedQty(params string[] codes)
 {
     return(codes.Sum(code => WarehouseResults.ContainsKey(code) ? WarehouseResults[code].RfAssignedNum : 0));
 }