|
|
@@ -3034,7 +3034,7 @@ namespace Business.ResourceExamineManagement
|
|
|
Dictionary<string, decimal> dictItemQty = new Dictionary<string, decimal>();
|
|
|
List<string> lines = dbPeriodSequences.Where(a => a.WorkOrds == workord.WorkOrd).Select(a => a.Line).Distinct().ToList();
|
|
|
List<LineMaster> lineMasters = AllLineMasters.Where(p => lines.Contains(p.Line) && p.Domain == workord.Domain && p.IsActive).ToList();
|
|
|
- List<ProductStructureMaster> itemList = GetProductStructure(dbPeriodSequences.First(a => a.WorkOrds == workord.WorkOrd).ItemNum);
|
|
|
+ List<ProductStructureMaster> itemList = GetProductStructure(dbPeriodSequences.First(a => a.WorkOrds == workord.WorkOrd).ItemNum, workord.Domain);
|
|
|
var childrenList = itemList.Select(a => a.ComponentItem).Distinct().ToList();
|
|
|
List<ItemMaster> itemLocList = _itemMaster.Select(p => childrenList.Contains(p.ItemNum) && p.Domain == workord.Domain && p.IsActive).Distinct().ToList();
|
|
|
var dopIcitems = _ic_item.GetListAsync(s => itemLocList.Select(c => c.ItemNum).Contains(s.number)).Result;
|
|
|
@@ -3057,7 +3057,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
nbrMasterList.Add(new NbrMaster
|
|
|
{
|
|
|
- Domain = "1001",
|
|
|
+ Domain = workOrdMasters[0].Domain,
|
|
|
Type = "SM",
|
|
|
Nbr = Nbr,
|
|
|
Remark = "下达自动领料",
|
|
|
@@ -3070,12 +3070,12 @@ namespace Business.ResourceExamineManagement
|
|
|
QtyOrd = QtyOrdSum,
|
|
|
IsActive = true,
|
|
|
IsChanged = true,
|
|
|
- Name = "1001",
|
|
|
+ Name = workOrdMasters[0].Domain,
|
|
|
Department = "101",
|
|
|
CreateTime = DateTime.Now,
|
|
|
UpdateTime = DateTime.Now,
|
|
|
- CreateUser = "1001",
|
|
|
- UpdateUser = "1001"
|
|
|
+ CreateUser = workOrdMasters[0].Domain,
|
|
|
+ UpdateUser = workOrdMasters[0].Domain
|
|
|
});
|
|
|
int i = 1;
|
|
|
itemList?.ForEach(a =>
|
|
|
@@ -3092,7 +3092,7 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
nbrDetailList.Add(new NbrDetail
|
|
|
{
|
|
|
- Domain = "1001",
|
|
|
+ Domain = workOrdMasters[0].Domain,
|
|
|
Type = "SM",
|
|
|
Nbr = Nbr,
|
|
|
ItemNum = a.ComponentItem,
|
|
|
@@ -3107,8 +3107,8 @@ namespace Business.ResourceExamineManagement
|
|
|
IsActive = true,
|
|
|
CreateTime = DateTime.Now,
|
|
|
UpdateTime = DateTime.Now,
|
|
|
- CreateUser = "1001",
|
|
|
- UpdateUser = "1001",
|
|
|
+ CreateUser = workOrdMasters[0].Domain,
|
|
|
+ UpdateUser = workOrdMasters[0].Domain,
|
|
|
UM = a.UM
|
|
|
});
|
|
|
i++;
|
|
|
@@ -3150,7 +3150,7 @@ namespace Business.ResourceExamineManagement
|
|
|
//TODO:
|
|
|
//因为我们并没有模拟发料的过程,在自动生成领料单的时候就要扣减库存,实际业务不能这么做。
|
|
|
//在有上料和追溯的系统,可以在扫码上料或报工时(从线边仓)扣减。或者在实际发料出库时扣减。
|
|
|
- var locStock = _locationDetail.Select(a => itemKeys.Contains(a.ItemNum) && a.IsActive && a.Domain == "1001");
|
|
|
+ var locStock = _locationDetail.Select(a => itemKeys.Contains(a.ItemNum) && a.IsActive && a.Domain == workOrdMasters[0].Domain);
|
|
|
locStock?.ForEach(a =>
|
|
|
{
|
|
|
nbrDetailList.ForEach(b =>
|
|
|
@@ -3337,13 +3337,13 @@ namespace Business.ResourceExamineManagement
|
|
|
return "没有需要下达的工单。";
|
|
|
}
|
|
|
//获取已排产的工单
|
|
|
- List<PeriodSequenceDet> dbPeriodSequences = _periodSequenceDet.Select(p => workOrds.Contains(p.WorkOrds) && p.Domain == "1001" && p.IsActive);
|
|
|
+ List<PeriodSequenceDet> dbPeriodSequences = _periodSequenceDet.Select(p => workOrds.Contains(p.WorkOrds) && p.Domain == workOrdMasters[0].Domain && p.IsActive);
|
|
|
List<string> dbWorkOrds = dbPeriodSequences.Select(p => p.WorkOrds).Distinct().ToList();
|
|
|
|
|
|
//查出已排产的工单
|
|
|
workOrdMasters = workOrdMasters.Where(p => dbWorkOrds.Contains(p.WorkOrd)).ToList();
|
|
|
//查出已产生领料单、过滤掉,取出未领料的工单
|
|
|
- var nbrList = _nbrMaster.Select(a => a.Domain == "1001" && a.Type == "SM" && dbWorkOrds.Contains(a.WorkOrd));
|
|
|
+ var nbrList = _nbrMaster.Select(a => a.Domain == workOrdMasters[0].Domain && a.Type == "SM" && dbWorkOrds.Contains(a.WorkOrd));
|
|
|
var noNbrlist = nbrList.Select(p => p.WorkOrd).ToList();
|
|
|
workOrdMasters = workOrdMasters.Where(p => !noNbrlist.Contains(p.WorkOrd)).ToList();
|
|
|
if (workOrdMasters.Count == 0)
|
|
|
@@ -3362,7 +3362,7 @@ namespace Business.ResourceExamineManagement
|
|
|
dbPeriodSequences.ForEach(p => { p.Status = "r"; });
|
|
|
workOrdMasters.ForEach(p => { p.Status = "r"; });
|
|
|
//获取工单工艺路径数据
|
|
|
- List<WorkOrdRouting> workOrdRoutings = _workOrdRouting.Select(p => ords.Contains(p.WorkOrd) && p.MilestoneOp && p.Domain == "1001" && p.Status != "C" && p.IsActive);
|
|
|
+ List<WorkOrdRouting> workOrdRoutings = _workOrdRouting.Select(p => ords.Contains(p.WorkOrd) && p.MilestoneOp && p.Domain == workOrdMasters[0].Domain && p.Status != "C" && p.IsActive);
|
|
|
workOrdRoutings.ForEach(p => { p.Status = "r"; });
|
|
|
using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
|
|
|
{
|
|
|
@@ -3376,7 +3376,7 @@ namespace Business.ResourceExamineManagement
|
|
|
});
|
|
|
//快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
|
|
|
List<string> nbrs = nbrMasterList.Select(a => a.Nbr).ToList();
|
|
|
- var DBnbrList = _nbrMaster.Select(a => a.Domain == "1001" && a.Type == "SM" && nbrs.Contains(a.Nbr));
|
|
|
+ var DBnbrList = _nbrMaster.Select(a => a.Domain == workOrdMasters[0].Domain && a.Type == "SM" && nbrs.Contains(a.Nbr));
|
|
|
nbrDetailList.ForEach(c =>
|
|
|
{
|
|
|
c.NbrRecID = DBnbrList.Where(a => a.Nbr == c.Nbr).First().RecID;
|
|
|
@@ -3418,7 +3418,7 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
//添加工单数据
|
|
|
workOrd = new WorkOrdMaster();
|
|
|
- workOrd.Domain = "1001";
|
|
|
+ workOrd.Domain =item.factory_id.ToString();
|
|
|
workOrd.OrdDate = item.moentry_sys_stime;
|
|
|
workOrd.ReleaseDate = Convert.ToDateTime(item.moentry_sys_stime.GetValueOrDefault().ToString("u"));
|
|
|
workOrd.WorkOrd = item.morder_no;
|
|
|
@@ -3440,7 +3440,7 @@ namespace Business.ResourceExamineManagement
|
|
|
foreach (var dtl in curRoutings)
|
|
|
{
|
|
|
woRouting = new WorkOrdRouting();
|
|
|
- woRouting.Domain = "1001";
|
|
|
+ woRouting.Domain = item.factory_id.ToString();
|
|
|
woRouting.Descr = dtl.Descr;
|
|
|
woRouting.MilestoneOp = dtl.MilestoneOp;
|
|
|
woRouting.WorkOrd = item.morder_no;
|
|
|
@@ -3457,12 +3457,12 @@ namespace Business.ResourceExamineManagement
|
|
|
workOrdRoutings.Add(woRouting);
|
|
|
}
|
|
|
|
|
|
- List<ProductStructureMaster> curStructures = GetProductStructure(item.product_code);
|
|
|
+ List<ProductStructureMaster> curStructures = GetProductStructure(item.product_code, morders[0].factory_id.ToString());
|
|
|
foreach (var structure in curStructures)
|
|
|
{
|
|
|
//添加工单的物料信息
|
|
|
woDetail = new WorkOrdDetail();
|
|
|
- woDetail.Domain = "1001";
|
|
|
+ woDetail.Domain = item.factory_id.ToString();
|
|
|
woDetail.WorkOrd = item.morder_no;
|
|
|
woDetail.Op = structure.Op;
|
|
|
woDetail.ItemNum = structure.ComponentItem;
|
|
|
@@ -3483,7 +3483,7 @@ namespace Business.ResourceExamineManagement
|
|
|
/// </summary>
|
|
|
/// <param name="itenNum">产品物料编码</param>
|
|
|
/// <returns></returns>
|
|
|
- public List<ProductStructureMaster> GetProductStructure(string itenNum)
|
|
|
+ public List<ProductStructureMaster> GetProductStructure(string itenNum,string domain)
|
|
|
{
|
|
|
List<ProductStructureMaster> rtnStructures = new List<ProductStructureMaster>();
|
|
|
//根据itemNum获取bom数据
|