|
@@ -6096,61 +6096,64 @@ namespace Business.ResourceExamineManagement
|
|
|
foreach (var item in pickbillItems)
|
|
foreach (var item in pickbillItems)
|
|
|
{
|
|
{
|
|
|
var itemNum = itemList.Find(a => a.ItemNum == item);
|
|
var itemNum = itemList.Find(a => a.ItemNum == item);
|
|
|
- ic_demandschedule itemds = new ic_demandschedule();
|
|
|
|
|
- itemds.GenerateNewId(help.NextId());
|
|
|
|
|
- itemds.itemnum = item;
|
|
|
|
|
- itemds.fversion = itemNum.Rev;
|
|
|
|
|
- itemds.drawing = itemNum.Drawing;
|
|
|
|
|
- itemds.requestdate = itemBegin;
|
|
|
|
|
- itemds.arrivaldate = itemBegin.AddDays(-1).AddDays(-itemNum.InsLT).AddDays(-(int)Math.Ceiling(itemNum.MFGMTTR));
|
|
|
|
|
- itemds.shortqty = 0;
|
|
|
|
|
- itemds.mesqty = pickBills.Where(a => a.ItemNum == item).Sum(q => q.QtyOrd - q.QtyRec);
|
|
|
|
|
- //库存扣减量
|
|
|
|
|
- decimal stockDeduction = 0;
|
|
|
|
|
- if (weekStockQty.ContainsKey(item))
|
|
|
|
|
|
|
+ if (itemNum != null)
|
|
|
{
|
|
{
|
|
|
- itemds.locqty = weekStockQty[item];
|
|
|
|
|
- if (itemds.mesqty >= itemds.locqty)
|
|
|
|
|
|
|
+ ic_demandschedule itemds = new ic_demandschedule();
|
|
|
|
|
+ itemds.GenerateNewId(help.NextId());
|
|
|
|
|
+ itemds.itemnum = item;
|
|
|
|
|
+ itemds.fversion = itemNum.Rev;
|
|
|
|
|
+ itemds.drawing = itemNum.Drawing;
|
|
|
|
|
+ itemds.requestdate = itemBegin;
|
|
|
|
|
+ itemds.arrivaldate = itemBegin.AddDays(-1).AddDays(-itemNum.InsLT).AddDays(-(int)Math.Ceiling(itemNum.MFGMTTR));
|
|
|
|
|
+ itemds.shortqty = 0;
|
|
|
|
|
+ itemds.mesqty = pickBills.Where(a => a.ItemNum == item).Sum(q => q.QtyOrd - q.QtyRec);
|
|
|
|
|
+ //库存扣减量
|
|
|
|
|
+ decimal stockDeduction = 0;
|
|
|
|
|
+ if (weekStockQty.ContainsKey(item))
|
|
|
{
|
|
{
|
|
|
- weekStockQty[item] = 0;
|
|
|
|
|
- stockDeduction = itemds.locqty;
|
|
|
|
|
|
|
+ itemds.locqty = weekStockQty[item];
|
|
|
|
|
+ if (itemds.mesqty >= itemds.locqty)
|
|
|
|
|
+ {
|
|
|
|
|
+ weekStockQty[item] = 0;
|
|
|
|
|
+ stockDeduction = itemds.locqty;
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ weekStockQty[item] -= itemds.mesqty;
|
|
|
|
|
+ stockDeduction = itemds.mesqty;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- weekStockQty[item] -= itemds.mesqty;
|
|
|
|
|
- stockDeduction = itemds.mesqty;
|
|
|
|
|
|
|
+ itemds.locqty = 0;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- itemds.locqty = 0;
|
|
|
|
|
- }
|
|
|
|
|
- if (weekdsQty.ContainsKey(item))
|
|
|
|
|
- {
|
|
|
|
|
- itemds.sechedqty = weekdsQty[item];
|
|
|
|
|
- //优先扣减库存,库存不够扣减交货单在途
|
|
|
|
|
- if (itemds.mesqty - stockDeduction - itemds.sechedqty >= 0)
|
|
|
|
|
|
|
+ if (weekdsQty.ContainsKey(item))
|
|
|
{
|
|
{
|
|
|
- weekdsQty[item] = 0;
|
|
|
|
|
|
|
+ itemds.sechedqty = weekdsQty[item];
|
|
|
|
|
+ //优先扣减库存,库存不够扣减交货单在途
|
|
|
|
|
+ if (itemds.mesqty - stockDeduction - itemds.sechedqty >= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ weekdsQty[item] = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ weekdsQty[item] -= itemds.mesqty - stockDeduction;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- weekdsQty[item] -= itemds.mesqty - stockDeduction;
|
|
|
|
|
|
|
+ itemds.sechedqty = 0;
|
|
|
}
|
|
}
|
|
|
|
|
+ itemds.tosechedqty = itemds.mesqty - (itemds.locqty + itemds.sechedqty);
|
|
|
|
|
+ itemds.status = "";
|
|
|
|
|
+ itemds.remarks = "";
|
|
|
|
|
+ itemds.tenant_id = examines.Count > 0 ? examines[0].tenant_id : 1000;
|
|
|
|
|
+ itemds.company_id = examines.Count > 0 ? examines[0].company_id : 1000;
|
|
|
|
|
+ itemds.factory_id = examines.Count > 0 ? examines[0].factory_id : 8010;
|
|
|
|
|
+ itemds.create_time = DateTime.Now;
|
|
|
|
|
+ itemds.update_time = DateTime.Now;
|
|
|
|
|
+ ds.Add(itemds);
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- itemds.sechedqty = 0;
|
|
|
|
|
- }
|
|
|
|
|
- itemds.tosechedqty = itemds.mesqty - (itemds.locqty + itemds.sechedqty);
|
|
|
|
|
- itemds.status = "";
|
|
|
|
|
- itemds.remarks = "";
|
|
|
|
|
- itemds.tenant_id = examines.Count > 0 ? examines[0].tenant_id : 1000;
|
|
|
|
|
- itemds.company_id = examines.Count > 0 ? examines[0].company_id : 1000;
|
|
|
|
|
- itemds.factory_id = examines.Count > 0 ? examines[0].factory_id : 8010;
|
|
|
|
|
- itemds.create_time = DateTime.Now;
|
|
|
|
|
- itemds.update_time = DateTime.Now;
|
|
|
|
|
- ds.Add(itemds);
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|