|
|
@@ -2031,6 +2031,13 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
locationList = locationRange.Val.SplitToArray(",").ToList();
|
|
|
}
|
|
|
+ if (!param.checkPlan)
|
|
|
+ {
|
|
|
+ if (locationList.Contains("1000"))
|
|
|
+ {
|
|
|
+ locationList.Remove("1000");
|
|
|
+ }
|
|
|
+ }
|
|
|
var locStock = _invMaster.Select(a => numbers.Contains(a.ItemNum) && a.IsActive && a.Domain == factoryId.ToString() && locationList.Contains(a.Location));
|
|
|
var sapInvList = _SAPInv.Select(a => a.WERKS == factoryId.ToString() && numbers.Contains(a.MATNR) && (a.SOBKZ.ToUpper() == "O" || locationList.Contains(a.LGORT)));
|
|
|
|
|
|
@@ -2048,7 +2055,10 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
item.sqty += lctQty;
|
|
|
}
|
|
|
- item.sqty += sapInvList.Where(x => x.MATNR == item.icitem_number && x.SOBKZ.ToUpper() == "O").Sum(p => p.LABST + p.INSME);
|
|
|
+ if (param.checkPlan)
|
|
|
+ {
|
|
|
+ item.sqty += sapInvList.Where(x => x.MATNR == item.icitem_number && x.SOBKZ.ToUpper() == "O").Sum(p => p.LABST + p.INSME);
|
|
|
+ }
|
|
|
});
|
|
|
var moIcitemStokc = ObjectMapper.Map<List<ic_item_stock>, List<mo_ic_item_stock>>(icitemStokc);
|
|
|
moIcitemStokc.ForEach(item => { item.GenerateNewId(help.NextId()); });
|
|
|
@@ -2061,9 +2071,18 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
//根据工单表找到工单明细,然后根据DOP工单占用记录,对比工单明细发货数量,来做冲销。
|
|
|
var workdetails = _workOrdDetail.Select(s => workordmsters.Select(c => c.WorkOrd).Contains(s.WorkOrd));
|
|
|
+ List<ic_item_stockoccupy> item_occupy = new List<ic_item_stockoccupy>();
|
|
|
+ if (!param.checkPlan)
|
|
|
+ {
|
|
|
+ //在库检,只计算下达工单的占用。
|
|
|
+ var pwork = workordmsters.Where(x => x.Status.ToLower() == "r").ToList();
|
|
|
+ item_occupy = _mysql_ic_item_stockoccupy.GetListAsync(p => p.company_id == companyId && itemIds.Contains(p.icitem_id) && pwork.Select(c => c.WorkOrd).Contains(p.morder_mo)).Result;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //物料库存占用记录表
|
|
|
+ item_occupy = _mysql_ic_item_stockoccupy.GetListAsync(p => p.company_id == companyId && itemIds.Contains(p.icitem_id) && workordmsters.Select(c => c.WorkOrd).Contains(p.morder_mo)).Result;
|
|
|
+ }
|
|
|
|
|
|
- //物料库存占用记录表
|
|
|
- var item_occupy = _mysql_ic_item_stockoccupy.GetListAsync(p => p.company_id == companyId && itemIds.Contains(p.icitem_id)&& workordmsters.Select(c => c.WorkOrd).Contains(p.morder_mo)).Result;
|
|
|
if (item_occupy.Any())
|
|
|
{
|
|
|
item_occupy.ForEach(s =>
|
|
|
@@ -3401,11 +3420,11 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
priorityMorderList = mo_Mes_Morders;
|
|
|
}
|
|
|
- if (!planCheck)
|
|
|
+ /*if (!planCheck)
|
|
|
{
|
|
|
//如果是齐套检查,则不考虑其他数据的占用,只看原材料库存
|
|
|
sklist = new List<mo_ic_item_stockoccupy>();
|
|
|
- }
|
|
|
+ }*/
|
|
|
_morderAppService.param = param;
|
|
|
_purchaseOrderAppService.param = param;
|
|
|
_CalcBomViewAppService.param = param;
|