|
@@ -17,13 +17,13 @@ using static Dm.net.buffer.ByteArrayBuffer;
|
|
|
using BillInvnow = wms.sqlsugar.model.sx.BillInvnow;
|
|
|
using WCS_TaskOld = wms.sqlsugar.model.sx.WCS_TaskOld;
|
|
|
|
|
|
-
|
|
|
namespace Wms.Screen.DataService.Impl
|
|
|
{
|
|
|
public class ZhongTianSxDataService : IZhongTianSxDataService
|
|
|
{
|
|
|
public static string[] Grades = new string[] { "C", "D" };
|
|
|
private SqlSugarClient _db;
|
|
|
+
|
|
|
public ZhongTianSxDataService(SqlSugarClient db)
|
|
|
{
|
|
|
_db = db;
|
|
@@ -38,7 +38,7 @@ namespace Wms.Screen.DataService.Impl
|
|
|
{
|
|
|
var list = _db.Queryable<WCS_TaskOld>().With(SqlWith.NoLock).Where(p => p.Status != (int)TaskStatus.Finish && p.Status != (int)TaskStatus.Cancel && !string.IsNullOrEmpty(p.Device))
|
|
|
.SplitTable(tabs => tabs.Take(2))?.ToList();
|
|
|
- return list ?? new List<WCS_TaskOld> ();
|
|
|
+ return list ?? new List<WCS_TaskOld>();
|
|
|
}
|
|
|
|
|
|
public List<LocationUsageReportViewDto> GetSxLocationUsageReportList()
|
|
@@ -102,7 +102,7 @@ namespace Wms.Screen.DataService.Impl
|
|
|
|
|
|
public List<ProductPackRule> GetSxProductPackRule(GetWorkPlanBillListRequest reqEntity)
|
|
|
{
|
|
|
- var list = _db.Queryable<BillInvnow>().Where(p=>p.TorsChkChordIsGood == "NG" || p.TorsChkFlatnessIsGood == "NG" || p.TorsChkValueIsGood == "NG" )
|
|
|
+ var list = _db.Queryable<BillInvnow>().Where(p => p.TorsChkChordIsGood == "NG" || p.TorsChkFlatnessIsGood == "NG" || p.TorsChkValueIsGood == "NG")
|
|
|
.Select((p) => new ProductPackRule()
|
|
|
{
|
|
|
BoxNo = p.CLBarCode,
|
|
@@ -119,12 +119,12 @@ namespace Wms.Screen.DataService.Impl
|
|
|
|
|
|
public List<SXTaskInfoDto> GetSxRunWcsTaskInfo(GetWcsTaskInfoRequest request)
|
|
|
{
|
|
|
- var listin = _db.Queryable<WCS_TaskInfo, BillInvinit, PalletLayerMath>((wcstask, stock,math) => new object[] {
|
|
|
+ var listin = _db.Queryable<WCS_TaskInfo, BillInvinit, PalletLayerMath>((wcstask, stock, math) => new object[] {
|
|
|
JoinType.Left, wcstask.BarCode == stock.ContGrpBarCode,
|
|
|
JoinType.Left, wcstask.BarCode == stock.ContGrpBarCode,
|
|
|
JoinType.Left, wcstask.BarCode == math.ContBarCode,
|
|
|
}).With(SqlWith.NoLock)
|
|
|
- .Where((wcstask, stock, math) => wcstask.Status < TaskStatus.Finish && wcstask.Status >= TaskStatus.帘线扫码 && wcstask.Type == TaskType.EnterDepot)
|
|
|
+ .Where((wcstask, stock, math) => wcstask.Status < TaskStatus.Finish && wcstask.Status >= TaskStatus.帘线扫码 && wcstask.Type == TaskType.EnterDepot)
|
|
|
.OrderBy((wcstask, stock, math) => wcstask.AddTime, OrderByType.Desc)
|
|
|
.Select((wcstask, stock, math) => new SXTaskInfoDto
|
|
|
{
|
|
@@ -145,10 +145,9 @@ namespace Wms.Screen.DataService.Impl
|
|
|
Floor = wcstask.Floor,
|
|
|
Grade = stock.Grade,
|
|
|
MatCode = wcstask.MaterialCode,
|
|
|
- MaterialCode = wcstask.MaterialCode,
|
|
|
- Tunnel = wcstask.Tunnel,
|
|
|
- NextPosition = wcstask.AddrNext,
|
|
|
-
|
|
|
+ MaterialCode = wcstask.MaterialCode,
|
|
|
+ Tunnel = wcstask.Tunnel,
|
|
|
+ NextPosition = wcstask.AddrNext,
|
|
|
}).Distinct().ToList();
|
|
|
|
|
|
var listout = _db.Queryable<WCS_TaskInfo, BillInvinit, PalletLayerMath>((wcstask, stock, math) => new object[] {
|
|
@@ -156,7 +155,7 @@ namespace Wms.Screen.DataService.Impl
|
|
|
JoinType.Left, wcstask.BarCode == stock.ContGrpBarCode,
|
|
|
JoinType.Left, wcstask.BarCode == math.ContBarCode,
|
|
|
}).With(SqlWith.NoLock)
|
|
|
- .Where((wcstask, stock, math) => wcstask.Status < TaskStatus.Finish && wcstask.Type == TaskType.OutDepot)
|
|
|
+ .Where((wcstask, stock, math) => wcstask.Status < TaskStatus.Finish && wcstask.Type == TaskType.OutDepot)
|
|
|
.OrderBy((wcstask, stock, math) => wcstask.AddTime, OrderByType.Desc)
|
|
|
.Select((wcstask, stock, math) => new SXTaskInfoDto
|
|
|
{
|
|
@@ -199,22 +198,22 @@ namespace Wms.Screen.DataService.Impl
|
|
|
{
|
|
|
ContGrpBarCode = billInvnow.ContGrpBarCode,
|
|
|
Code = warecell.Code,
|
|
|
- Tunnel=warecell.Tunnel,
|
|
|
+ Tunnel = warecell.Tunnel,
|
|
|
BoxBarCode = billInvnow.BoxBarCode,
|
|
|
- ContGrpType=billInvnow.ContGrpType,
|
|
|
+ ContGrpType = billInvnow.ContGrpType,
|
|
|
SkuCode = billInvnow.SkuCode,
|
|
|
InvStateCode = billInvnow.InvStateCode,
|
|
|
MatCode = billInvnow.MatCode,
|
|
|
Grade = billInvnow.Grade,
|
|
|
- HWTypeCode= billInvnow.HWTypeCode,
|
|
|
+ HWTypeCode = billInvnow.HWTypeCode,
|
|
|
}).Take(200).ToList();
|
|
|
- return lists ;
|
|
|
+ return lists;
|
|
|
}
|
|
|
|
|
|
- public List<WCSTaskInfo> GetPalletizingTasks()
|
|
|
+ public List<WCSTaskInfo> GetPalletizingTasks()
|
|
|
{
|
|
|
var predicate = Expressionable.Create<WCSTaskInfo>();
|
|
|
- predicate = predicate.And(m => m.Status<30);
|
|
|
+ predicate = predicate.And(m => m.Status < 30);
|
|
|
predicate = predicate.And(m => SqlFunc.Subqueryable<Palletizing>().Where(s => s.Id == m.PalletizingId && s.PalletizState != 1).Any());
|
|
|
var list = _db.Queryable<WCSTaskInfo>().With(SqlWith.NoLock).Where(predicate.ToExpression()).ToList();
|
|
|
return list;
|
|
@@ -235,9 +234,9 @@ namespace Wms.Screen.DataService.Impl
|
|
|
.Count();
|
|
|
|
|
|
var TorschkDate = _db.Queryable<SysConfig>().Where(p => p.Code == "TorsChkDateCount").First();
|
|
|
- var time1 = decimal.Parse(TorschkDate.SContent);
|
|
|
+ var time1 = decimal.Parse(TorschkDate.SContent);
|
|
|
var time2 = decimal.Parse(TorschkDate.Default1);
|
|
|
-
|
|
|
+
|
|
|
//库中满足时效待检测盘
|
|
|
result.TorTobe = _db.Queryable<BillInvnow, BaseWarecell>((billInvnow, warecell) => new object[] {
|
|
|
JoinType.Inner,billInvnow.ContGrpId == warecell.ContGrpId }).With(SqlWith.NoLock)
|
|
@@ -250,8 +249,8 @@ namespace Wms.Screen.DataService.Impl
|
|
|
result.TorNoTobe = _db.Queryable<BillInvnow, BaseWarecell>((billInvnow, warecell) => new object[] {
|
|
|
JoinType.Inner,billInvnow.ContGrpId == warecell.ContGrpId }).With(SqlWith.NoLock)
|
|
|
.Where((billInvnow, warecell) => billInvnow.IsTorsChk == true)
|
|
|
- .Where((billInvnow, warecell) => billInvnow.InvStateCode == "InvEcecState_In" && !billInvnow.InDocsNo.Contains("CHA") && billInvnow.ContUsageQty <= 0 && billInvnow.TorsChkQty < 1).ToList()
|
|
|
- .Where((billInvnow, warecell) =>( //Math.Abs(decimal.Parse((DateTime.Now - billInvnow.ProductTime).TotalHours.ToString())) > billInvnow.HoldTime + time1
|
|
|
+ .Where((billInvnow, warecell) => billInvnow.InvStateCode == "InvEcecState_In" && !billInvnow.InDocsNo.Contains("CHA") && billInvnow.ContUsageQty <= 0 && billInvnow.TorsChkQty < 1).ToList()
|
|
|
+ .Where((billInvnow, warecell) => ( //Math.Abs(decimal.Parse((DateTime.Now - billInvnow.ProductTime).TotalHours.ToString())) > billInvnow.HoldTime + time1
|
|
|
Math.Abs(decimal.Parse((DateTime.Now - billInvnow.ProductTime).TotalHours.ToString())) < billInvnow.HoldTime - time2))
|
|
|
.Count();
|
|
|
|
|
@@ -272,12 +271,18 @@ namespace Wms.Screen.DataService.Impl
|
|
|
{
|
|
|
result.ToroOuting = 0;
|
|
|
}
|
|
|
- result.ToroIning = _db.Queryable<BillInvnow>().With(SqlWith.NoLock).Where(p=>p.Memo == "扭转回库" && p.InvStateCode == "InvEcecState_BuildUp").Count();
|
|
|
- result.TimeOuthw = _db.Queryable<BillInvnow, BaseWarecell>((billInvnow, warecell) => new object[] {
|
|
|
- JoinType.Inner,billInvnow.ContGrpId == warecell.ContGrpId }).With(SqlWith.NoLock)
|
|
|
- .Where((billInvnow, warecell) => (DateTime.Now - billInvnow.ProductTime).TotalHours >= 72 && !billInvnow.InDocsNo.Contains("CHA") && billInvnow.IsMulti == false)
|
|
|
- .Where((billInvnow, warecell) => billInvnow.InvStateCode == "InvEcecState_In" && !billInvnow.AddWho.Contains("测试"))
|
|
|
- .Count();
|
|
|
+ result.ToroIning = _db.Queryable<BillInvnow>().With(SqlWith.NoLock).Where(p => p.Memo == "扭转回库" && p.InvStateCode == "InvEcecState_BuildUp").Count();
|
|
|
+ result.TimeOuthw = _db.Queryable<BillInvnow, BaseWarecell>((inv, cell) => new object[] {
|
|
|
+ JoinType.Left,inv.ContGrpBarCode == cell.ContGrpBarCode }).With(SqlWith.NoLock)
|
|
|
+ .Where((inv, cell) => cell.IsStop == 0 && cell.StateNum == 2 && ((inv.ProductMachCode.Contains("R") && inv.OneInTime < DateTime.Now.AddHours(-72))
|
|
|
+ || (!inv.ProductMachCode.Contains("R") && inv.ProductTime < DateTime.Now.AddHours(-72))))
|
|
|
+ .ToList().Count;
|
|
|
+ //result.TimeOuthw = _db.Queryable<BillInvnow, BaseWarecell>((billInvnow, warecell) => new object[] {
|
|
|
+ // JoinType.Inner,billInvnow.ContGrpId == warecell.ContGrpId }).With(SqlWith.NoLock)
|
|
|
+ // .Where((billInvnow, warecell) => (DateTime.Now - billInvnow.ProductTime).TotalHours >= 72 && !billInvnow.InDocsNo.Contains("CHA") && billInvnow.IsMulti == false)
|
|
|
+ // .Where((billInvnow, warecell) => billInvnow.InvStateCode == "InvEcecState_In" && !billInvnow.AddWho.Contains("测试"))
|
|
|
+ // .Count();
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -304,10 +309,11 @@ namespace Wms.Screen.DataService.Impl
|
|
|
{
|
|
|
return _db.Queryable<SysConfig>().Where(p => p.Code == code).First();
|
|
|
}
|
|
|
+
|
|
|
public List<BaseTorchbandinfo> GetTorStaticsInfo(string maccode)
|
|
|
{
|
|
|
var result = new List<BaseTorchbandinfo>();
|
|
|
- result = _db.Queryable<BaseTorchbandinfo>().With(SqlWith.NoLock).Where(p => p.Machine .Contains(maccode)).ToList();
|
|
|
+ result = _db.Queryable<BaseTorchbandinfo>().With(SqlWith.NoLock).Where(p => p.Machine.Contains(maccode)).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -326,19 +332,20 @@ namespace Wms.Screen.DataService.Impl
|
|
|
{
|
|
|
var lists = _db.Queryable<BillInvnow>()
|
|
|
.With(SqlWith.NoLock)
|
|
|
- .Where((billInvnow) => billInvnow.InvStateCode == SXInvState.InvEcecState_In.ToString() && string.IsNullOrEmpty(billInvnow.PreStock) && (( billInvnow.IsControlpanel == false) ||( billInvnow.IsControlpanel == true && billInvnow.InDocsNo.StartsWith("CHA"))))
|
|
|
- .Select((billInvnow) => new CurStockInfo {
|
|
|
- MatName = billInvnow.MatName,
|
|
|
- MatCode = billInvnow.MatCode,
|
|
|
- DocNo = billInvnow.InDocsNo,
|
|
|
- WbGroupCode = billInvnow.WbGroupCode,
|
|
|
- Wind = billInvnow.Wind,
|
|
|
- HWType = billInvnow.HWTypeCode,
|
|
|
- //IsTorsChk = billInvnow.IsTorsChk.ToString(),
|
|
|
- IsBlack = billInvnow.IsBlack.ToString(),
|
|
|
- //Rule = boxrule.PackRule,
|
|
|
+ .Where((billInvnow) => billInvnow.InvStateCode == SXInvState.InvEcecState_In.ToString() && string.IsNullOrEmpty(billInvnow.PreStock) && ((billInvnow.IsControlpanel == false) || (billInvnow.IsControlpanel == true && billInvnow.InDocsNo.StartsWith("CHA"))))
|
|
|
+ .Select((billInvnow) => new CurStockInfo
|
|
|
+ {
|
|
|
+ MatName = billInvnow.MatName,
|
|
|
+ MatCode = billInvnow.MatCode,
|
|
|
+ DocNo = billInvnow.InDocsNo,
|
|
|
+ WbGroupCode = billInvnow.WbGroupCode,
|
|
|
+ Wind = billInvnow.Wind,
|
|
|
+ HWType = billInvnow.HWTypeCode,
|
|
|
+ //IsTorsChk = billInvnow.IsTorsChk.ToString(),
|
|
|
+ IsBlack = billInvnow.IsBlack.ToString(),
|
|
|
+ //Rule = boxrule.PackRule,
|
|
|
Grade = billInvnow.Grade,
|
|
|
- ContGrpBarCode =billInvnow.ContGrpBarCode
|
|
|
+ ContGrpBarCode = billInvnow.ContGrpBarCode
|
|
|
}).MergeTable().ToList().Distinct(new CompareStock());
|
|
|
|
|
|
var doclist = _db.Context.Queryable<BillPboxrule>().With(SqlWith.NoLock).Select(p => new CurStockInfo() { DocNo = p.DocsNo, SKU = p.SkuCode }).Distinct().ToList();
|
|
@@ -362,29 +369,28 @@ namespace Wms.Screen.DataService.Impl
|
|
|
SKU = nst == null ? "" : nst.DocNo,
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
var list = new List<CurStockInfo>();
|
|
|
var boxlist = _db.Queryable<BillPboxrule>().With(SqlWith.NoLock).ToList();
|
|
|
- foreach (var item in newCurStockInfoLists.GroupBy(p=>new { p.SKU,p.MatCode,p.DocNo, p.WbGroupCode,p.Grade}).ToList())
|
|
|
+ foreach (var item in newCurStockInfoLists.GroupBy(p => new { p.SKU, p.MatCode, p.DocNo, p.WbGroupCode, p.Grade }).ToList())
|
|
|
{
|
|
|
- list.Add(new CurStockInfo() {
|
|
|
- SKU = item.Key.SKU ?? "",
|
|
|
- MatName = item.First().MatName,
|
|
|
- DocNo = item.Key.DocNo,
|
|
|
- WbGroupCode = item.Key.WbGroupCode ?? "",
|
|
|
- NoBCount = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R")+"R", item.Count(p => p.IsBlack == "0" && p.Wind == "L") + "L" },
|
|
|
- BCount = new List<string>() { item.Count(p => p.IsBlack == "1" && p.Wind == "R") + "R", item.Count(p => p.IsBlack == "1" && p.Wind == "L") + "L" },
|
|
|
- Grade = item.Key.Grade ?? "",
|
|
|
- //Rule = item.Key.Rule ?? "",
|
|
|
- FinCount = boxlist.Where(p=>p.DocsNo == item.Key.DocNo && p.ZXStateCode == "2").Count(),
|
|
|
- NoFinCount = boxlist.Where(p => p.DocsNo == item.Key.DocNo && p.ZXStateCode != "2").Count(),
|
|
|
- Count = item.Count(p=>!string.IsNullOrEmpty(p.ContGrpBarCode))
|
|
|
+ list.Add(new CurStockInfo()
|
|
|
+ {
|
|
|
+ SKU = item.Key.SKU ?? "",
|
|
|
+ MatName = item.First().MatName,
|
|
|
+ DocNo = item.Key.DocNo,
|
|
|
+ WbGroupCode = item.Key.WbGroupCode ?? "",
|
|
|
+ NoBCount = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R") + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L") + "L" },
|
|
|
+ BCount = new List<string>() { item.Count(p => p.IsBlack == "1" && p.Wind == "R") + "R", item.Count(p => p.IsBlack == "1" && p.Wind == "L") + "L" },
|
|
|
+ Grade = item.Key.Grade ?? "",
|
|
|
+ //Rule = item.Key.Rule ?? "",
|
|
|
+ FinCount = boxlist.Where(p => p.DocsNo == item.Key.DocNo && p.ZXStateCode == "2").Count(),
|
|
|
+ NoFinCount = boxlist.Where(p => p.DocsNo == item.Key.DocNo && p.ZXStateCode != "2").Count(),
|
|
|
+ Count = item.Count(p => !string.IsNullOrEmpty(p.ContGrpBarCode))
|
|
|
});
|
|
|
}
|
|
|
- return list.OrderBy(o=>o.SKU).ThenBy(o => o.WbGroupCode).ThenBy(o => o.Wind).ThenBy(o => o.HWType).ThenBy(o => o.Grade).ToList();
|
|
|
+ return list.OrderBy(o => o.SKU).ThenBy(o => o.WbGroupCode).ThenBy(o => o.Wind).ThenBy(o => o.HWType).ThenBy(o => o.Grade).ToList();
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 时效当前库存分布(控制盘)
|
|
|
/// </summary>
|
|
@@ -410,7 +416,6 @@ namespace Wms.Screen.DataService.Impl
|
|
|
Grade = billInvnow.Grade,
|
|
|
ContGrpBarCode = billInvnow.ContGrpBarCode,
|
|
|
ProductTime = billInvnow.ProductTime,
|
|
|
-
|
|
|
}).MergeTable().ToList().Distinct(new CompareStock());
|
|
|
var list = new List<CurStockInfo>();
|
|
|
var boxlist = _db.Queryable<BillPboxrule>().With(SqlWith.NoLock).ToList();
|
|
@@ -425,20 +430,17 @@ namespace Wms.Screen.DataService.Impl
|
|
|
"("+ item.Count(p => p.IsBlack == "1" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddDays(-2).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddDays(-1).AddHours(8)) + "R"+"/"+ item.Count(p => p.IsBlack == "1" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddDays(-2).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddDays(-1).AddHours(8)) + "L" +")",
|
|
|
"("+ item.Count(p => p.IsBlack == "1" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddDays(-1).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddHours(8)) + "R"+"/"+ item.Count(p => p.IsBlack == "1" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddDays(-1).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddHours(8)) + "L" +")",
|
|
|
"("+ item.Count(p => p.IsBlack == "1" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddHours(13)) + "R"+"/"+ item.Count(p => p.IsBlack == "1" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddHours(13)) + "L" +")",
|
|
|
-
|
|
|
},
|
|
|
Grade = item.Key.Grade ?? "",
|
|
|
//Rule = item.Key.Rule ?? "",
|
|
|
-
|
|
|
+
|
|
|
Count = item.Count(p => !string.IsNullOrEmpty(p.ContGrpBarCode)),
|
|
|
- TodayQty = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddHours(13)) + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddHours(13)) + "L" } ,
|
|
|
- YesterdayQty = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddDays(-1).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddHours(8)) + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddDays(-1).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddHours(8)) + "L" } ,
|
|
|
- BeforeYesterdayQty = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddDays(-2).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddDays(-1).AddHours(8)) + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddDays(-2).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddDays(-1).AddHours(8)) + "L" } ,
|
|
|
+ TodayQty = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddHours(13)) + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddHours(13)) + "L" },
|
|
|
+ YesterdayQty = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddDays(-1).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddHours(8)) + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddDays(-1).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddHours(8)) + "L" },
|
|
|
+ BeforeYesterdayQty = new List<string>() { item.Count(p => p.IsBlack == "0" && p.Wind == "R" && p.ProductTime >= DateTime.Now.Date.AddDays(-2).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddDays(-1).AddHours(8)) + "R", item.Count(p => p.IsBlack == "0" && p.Wind == "L" && p.ProductTime >= DateTime.Now.Date.AddDays(-2).AddHours(13) && p.ProductTime <= DateTime.Now.Date.AddDays(-1).AddHours(8)) + "L" },
|
|
|
});
|
|
|
}
|
|
|
return list.OrderBy(o => o.SKU).ThenBy(o => o.WbGroupCode).ThenBy(o => o.Wind).ThenBy(o => o.HWType).ThenBy(o => o.Grade).ToList();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
-}
|
|
|
+}
|