|
|
@@ -479,6 +479,9 @@ namespace Business.ResourceExamineManagement
|
|
|
//获取订单行数据
|
|
|
List<crm_seorderentry> sentrys = await _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && input.sorderId.Contains(p.seorder_id.GetValueOrDefault()) && !p.IsDeleted);
|
|
|
|
|
|
+ //处理订单行优先级
|
|
|
+ sentrys = _priorityAppService.CalcOrderEntryPriority(sorders, sentrys);
|
|
|
+
|
|
|
//删除同步Mysql后旧数据
|
|
|
await DeleteMySqlOldData(sentrys);
|
|
|
|
|
|
@@ -521,7 +524,8 @@ namespace Business.ResourceExamineManagement
|
|
|
_purchaseOrderAppService.param = param;
|
|
|
_CalcBomViewAppService.param = param;
|
|
|
_CalcBomViewAppService.seorder = sorder;//销售订单
|
|
|
- foreach (var item in sentrys)
|
|
|
+ var orderSentrys = sentrys.Where(s => s.seorder_id == sorder.Id).ToList();
|
|
|
+ foreach (var item in orderSentrys)
|
|
|
{
|
|
|
//获取销售订单“是否加急”字段
|
|
|
int urgent = sorder.urgent;
|
|
|
@@ -560,14 +564,16 @@ namespace Business.ResourceExamineManagement
|
|
|
dtl.kitting_times = getBomList.Where(p => p.is_use).OrderByDescending(m => m.kitting_time).First().kitting_time.GetValueOrDefault();
|
|
|
//TODO:最早开始时间默认3天后(后期调整,因为要计算排产,计算产能这一类,才能得到开工时间)
|
|
|
dtl.earliest_times = dtl.kitting_times.AddDays(1);
|
|
|
-
|
|
|
+ item.progress = "2";
|
|
|
//替代关系展开list
|
|
|
dtl.BomChildExamineList = getBomList;
|
|
|
//添加订单行开工信息
|
|
|
examines.Add(dtl);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
|
|
|
+
|
|
|
//批量保存 后期考虑子工单
|
|
|
if (_CalcBomViewAppService.mordersInsertList.Any())
|
|
|
{
|
|
|
@@ -2047,7 +2053,7 @@ namespace Business.ResourceExamineManagement
|
|
|
workOrd.Status = "r";
|
|
|
workOrd.IsActive = true;
|
|
|
workOrd.ProdLine = "组装线";
|
|
|
-
|
|
|
+ workOrd.IsConfirm = true;
|
|
|
workOrds.Add(workOrd);
|
|
|
|
|
|
//添加工单工艺路线数据
|
|
|
@@ -2190,6 +2196,7 @@ namespace Business.ResourceExamineManagement
|
|
|
IsActive = true,
|
|
|
IsChanged = false
|
|
|
});
|
|
|
+ int i = 1;
|
|
|
itemList.Where(a => a.ParentItem == item.ItemNum).ToList()?.ForEach(a =>
|
|
|
{
|
|
|
string LocationTo = "";
|
|
|
@@ -2202,18 +2209,27 @@ namespace Business.ResourceExamineManagement
|
|
|
Domain = "1001",
|
|
|
Type = "SM",
|
|
|
Nbr = Nbr,
|
|
|
- ItemNum =a.ComponentItem,
|
|
|
+ ItemNum = a.ComponentItem,
|
|
|
QtyFrom = 0,
|
|
|
QtyTo = 0,
|
|
|
- LocationFrom= LocationTo,
|
|
|
- LocationTo="",
|
|
|
+ LocationFrom = LocationTo,
|
|
|
+ LocationTo = "",
|
|
|
WorkOrd = item.WorkOrds,
|
|
|
- QtyOrd = item.OrdQty*a.Qty,
|
|
|
- IsActive = true
|
|
|
+ QtyOrd = item.OrdQty * a.Qty,
|
|
|
+ Line = i,
|
|
|
+ IsActive = true,
|
|
|
});
|
|
|
+ i++;
|
|
|
});
|
|
|
}
|
|
|
_nbrMaster.Insert(nbrMasterList);
|
|
|
+ //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
|
|
|
+ List<string> nbrs= nbrMasterList.Select(a=>a.Nbr).ToList();
|
|
|
+ var nbrList= _nbrMaster.Select(a => a.Domain == "1001" && a.Type == "SM" && nbrs.Contains(a.Nbr));
|
|
|
+ nbrDetailList.ForEach(c =>
|
|
|
+ {
|
|
|
+ c.NbrRecID= nbrList.Where(a=>a.Nbr==c.Nbr).First().RecID;
|
|
|
+ });
|
|
|
_nbrDetail.Insert(nbrDetailList);
|
|
|
}
|
|
|
}
|