|
|
@@ -2275,7 +2275,7 @@ namespace Business.ResourceExamineManagement
|
|
|
/// 同步工单等相关数据
|
|
|
/// </summary>
|
|
|
/// <param name="morders"></param>
|
|
|
- public void CreateWorkOrdDates(List<mo_mes_morder> morders)
|
|
|
+ public async void CreateWorkOrdDates(List<mo_mes_morder> morders)
|
|
|
{
|
|
|
//获取工艺路线数据:product_code=物料编码
|
|
|
List<RoutingOpDetail> allRoutings = _routingOpDetail.Select(p => morders.Select(m => m.product_code).Contains(p.RoutingCode)).Result;
|
|
|
@@ -2301,6 +2301,8 @@ namespace Business.ResourceExamineManagement
|
|
|
workOrd.ItemNum = item.product_code;//物料编码
|
|
|
workOrd.QtyOrded = item.need_number.GetValueOrDefault();
|
|
|
workOrd.RoutingCode = item.product_code;
|
|
|
+ workOrd.Period = 1;
|
|
|
+ workOrd.Priority = 1;
|
|
|
workOrd.Status = "";
|
|
|
workOrd.IsActive = true;
|
|
|
workOrds.Add(workOrd);
|
|
|
@@ -2332,19 +2334,24 @@ namespace Business.ResourceExamineManagement
|
|
|
//添加工单的物料信息
|
|
|
woDetail = new WorkOrdDetail();
|
|
|
woDetail.Domain = "1001";
|
|
|
- woDetail.WorkOrd = item.product_code;
|
|
|
+ woDetail.WorkOrd = item.morder_no;
|
|
|
woDetail.Op = structure.Op;
|
|
|
woDetail.ItemNum = structure.ComponentItem;
|
|
|
- woDetail.QtyReturned = item.need_number.GetValueOrDefault() * structure.Qty;
|
|
|
+ woDetail.QtyRequired = item.need_number.GetValueOrDefault() * structure.Qty;
|
|
|
+ woDetail.QtyPosted = 0m;
|
|
|
+ woDetail.QtyReturned = 0m;
|
|
|
woDetail.Status = "";
|
|
|
woDetail.IsActive = true;
|
|
|
workOrdDetails.Add(woDetail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- _businessDbContext.BulkInsertAsync(workOrds);
|
|
|
- _businessDbContext.BulkInsertAsync(workOrdRoutings);
|
|
|
- _businessDbContext.BulkInsertAsync(workOrdDetails);
|
|
|
+ await _businessDbContext.BulkInsertAsync(workOrds);
|
|
|
+ await _businessDbContext.BulkInsertAsync(workOrdRoutings);
|
|
|
+ await _businessDbContext.BulkInsertAsync(workOrdDetails);
|
|
|
+
|
|
|
+ //排产
|
|
|
+ await _productionScheduleAppService.DoProductShcedule();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -2358,11 +2365,11 @@ namespace Business.ResourceExamineManagement
|
|
|
//根据itemNum获取bom数据
|
|
|
var productStructures = _productStructureMaster.Select(p => itenNums.Contains(p.ParentItem) && p.Domain == "1001" && p.IsActive).Result;
|
|
|
//添加非虚拟件
|
|
|
- rtnStructures.AddRange(productStructures.Where(p => p.StructureType != "X").ToList());
|
|
|
+ rtnStructures.AddRange(productStructures.Where(p => p.StructureType.ToUpper() != "X").ToList());
|
|
|
foreach (var item in itenNums)
|
|
|
{
|
|
|
//获取当前产品的虚拟件
|
|
|
- var curPhantoms = productStructures.Where(p => p.ParentItem == item && p.StructureType == "X").ToList();
|
|
|
+ var curPhantoms = productStructures.Where(p => p.ParentItem == item && p.StructureType.ToUpper() == "X").ToList();
|
|
|
if (curPhantoms.Count() == 0)
|
|
|
{
|
|
|
continue;
|
|
|
@@ -2384,7 +2391,7 @@ namespace Business.ResourceExamineManagement
|
|
|
//获取虚拟件的子物料
|
|
|
var chdStructures = _productStructureMaster.Select(p => structures.Select(m => m.ComponentItem).Contains(p.ParentItem) && p.Domain == "1001" && p.IsActive).Result;
|
|
|
//非虚拟件
|
|
|
- var notPhantoms = chdStructures.Where(p => p.StructureType != "X").ToList();
|
|
|
+ var notPhantoms = chdStructures.Where(p => p.StructureType.ToUpper() != "X").ToList();
|
|
|
//存在非虚拟件
|
|
|
if (notPhantoms.Count() > 0)
|
|
|
{
|
|
|
@@ -2395,7 +2402,7 @@ namespace Business.ResourceExamineManagement
|
|
|
rtnStructures.AddRange(notPhantoms);
|
|
|
}
|
|
|
//虚拟件
|
|
|
- var phantoms = chdStructures.Where(p => p.StructureType == "X").ToList();
|
|
|
+ var phantoms = chdStructures.Where(p => p.StructureType.ToUpper() == "X").ToList();
|
|
|
if (phantoms.Count() > 0)
|
|
|
{
|
|
|
//递归
|