|
|
@@ -12,6 +12,7 @@ using MongoDB.Driver;
|
|
|
using MongoDB.Driver.Linq;
|
|
|
using Newtonsoft.Json;
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
+using Spire.Pdf.General.Render.Decode.Jpeg2000.j2k.wavelet.synthesis;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
@@ -537,7 +538,6 @@ namespace Business.ResourceExamineManagement
|
|
|
if (!sorders.Any())
|
|
|
{
|
|
|
new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
|
|
|
- //throw new NotImplementedException("订单数据不存在!");
|
|
|
return "订单数据不存在";
|
|
|
}
|
|
|
|
|
|
@@ -546,7 +546,6 @@ namespace Business.ResourceExamineManagement
|
|
|
if (!sentrys.Any())
|
|
|
{
|
|
|
new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
|
|
|
- //throw new NotImplementedException("订单行数据不存在!");
|
|
|
return "订单行数据不存在";
|
|
|
}
|
|
|
}
|
|
|
@@ -556,14 +555,12 @@ namespace Business.ResourceExamineManagement
|
|
|
if (!sentrys.Any())
|
|
|
{
|
|
|
new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单行数据不存在", _currentTenant.Id.ToString());
|
|
|
- //throw new NotImplementedException("订单行数据不存在!");
|
|
|
return "没有需要检查的订单行。";
|
|
|
}
|
|
|
sorders = _mysql_crm_seorder.GetListAsync(p => sentrys.Select(s => s.seorder_id).Contains(p.Id) && !p.IsDeleted).Result;
|
|
|
if (!sorders.Any())
|
|
|
{
|
|
|
new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
|
|
|
- //throw new NotImplementedException("订单数据不存在!");
|
|
|
return "没有需要检查的订单。";
|
|
|
}
|
|
|
}
|
|
|
@@ -1647,7 +1644,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
//获取物料bom明细数据
|
|
|
//List<mo_ic_bom_child> childList = _ic_bom_child.GetManyByCondition(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
|
|
|
- List<mo_ic_bom_child> childList = _ic_bom_child.GetListAsync(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.company_id == param.company_id && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
|
|
|
+ List<mo_ic_bom_child> childList = _ic_bom_child.GetListAsync(p => icBoms.Select(m => m.mysql_id).Contains(p.bom_id) && p.company_id == param.company_id && !p.IsDeleted).Result.ToList();
|
|
|
//没有明细数据,终止
|
|
|
if (childList.Count == 0)
|
|
|
{
|
|
|
@@ -1661,7 +1658,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
}
|
|
|
//通过物料bom明细数据反查物料bom数据
|
|
|
- var boms = _ic_bom.GetListAsync(p => childList.Select(m => m.icitem_id).ToList().Contains(p.icitem_id) && p.use_status == 1 && p.company_id == param.company_id && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
|
|
|
+ var boms = _ic_bom.GetListAsync(p => childList.Select(m => m.icitem_id).ToList().Contains(p.icitem_id) && p.use_status == 1 && p.company_id == param.company_id && !p.IsDeleted).Result.ToList();
|
|
|
foreach (var chd in childList)
|
|
|
{
|
|
|
var curBoms = boms.Where(p => p.icitem_id == chd.icitem_id).ToList();
|
|
|
@@ -2290,7 +2287,7 @@ namespace Business.ResourceExamineManagement
|
|
|
var rtn = await OrderKittingCheck(Mes_Morders, true);
|
|
|
}
|
|
|
else {
|
|
|
- return JsonConvert.SerializeObject("未查找到对应的计划工单,请联系管理员。");
|
|
|
+ return "未查找到对应的计划工单,请联系管理员。";
|
|
|
}
|
|
|
return "ok";
|
|
|
}
|
|
|
@@ -2345,7 +2342,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => companyid == x.company_id.ToString() && x.moentry_sys_stime > DateTime.Now.Date.AddDays(1) && x.moentry_sys_stime <= DateTime.Now.Date.AddDays(day) && x.morder_state == MorderEnum.Initial_state && !x.IsDeleted).Result;
|
|
|
+ mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => companyid == x.company_id.ToString() && x.moentry_sys_stime >= DateTime.Now.Date.AddDays(1) && x.moentry_sys_stime <= DateTime.Now.Date.AddDays(day) && x.morder_state == MorderEnum.Initial_state && !x.IsDeleted).Result;
|
|
|
}
|
|
|
|
|
|
List<mes_morder> checkMo = new List<mes_morder>();
|
|
|
@@ -2997,19 +2994,20 @@ namespace Business.ResourceExamineManagement
|
|
|
GetIcBomData(boms, bomlist, bomchildlist);
|
|
|
|
|
|
//根据明细集合查出所有得替代关系表数据集合
|
|
|
- List<string> codeList = bomchildlist.Select(c => c.substitute_code).ToList();
|
|
|
+ List<string> codeList = bomchildlist.Select(c => c.substitute_code).Distinct().ToList();
|
|
|
sublist.AddRange(_ic_substitute.GetListAsync(p => codeList.Contains(p.substitute_code) && !p.IsDeleted).Result);
|
|
|
|
|
|
- List<long> subidlist = sublist.Select(c => c.mysql_id).ToList();
|
|
|
+ List<long> subidlist = sublist.Select(c => c.mysql_id).Distinct().ToList();
|
|
|
suballlist.AddRange(_ic_substitute_group.GetListAsync(p => subidlist.Contains(p.substitute_group_id) && !p.IsDeleted).Result);
|
|
|
|
|
|
- List<long> suballidlist = suballlist.Select(c => c.mysql_id).ToList();
|
|
|
+ List<long> suballidlist = suballlist.Select(c => c.mysql_id).Distinct().ToList();
|
|
|
subdtllist.AddRange(_ic_substitute_group_detail.GetListAsync(p => suballidlist.Contains(p.substitute_group_id) && !p.IsDeleted).Result);
|
|
|
|
|
|
//获取物料数据
|
|
|
List<long> itemIds = bomlist.Select(p => p.icitem_id).ToList();
|
|
|
itemIds.AddRange(bomchildlist.Select(p => p.icitem_id).ToList());
|
|
|
itemIds.AddRange(subdtllist.Select(p => p.icitem_id).ToList());
|
|
|
+ itemIds.Distinct();
|
|
|
icitemlist.AddRange(_ic_item.GetListAsync(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
|
|
|
}
|
|
|
|
|
|
@@ -3018,9 +3016,11 @@ namespace Business.ResourceExamineManagement
|
|
|
/// </summary>
|
|
|
public void AutoCreateBomBill(string companyid,List<mo_ic_bom> ic_Boms = null)
|
|
|
{
|
|
|
- ic_Boms ??= _ic_bom.GetListAsync(p => p.company_id.ToString() == companyid && !p.IsDeleted).Result.ToList();
|
|
|
+ ic_Boms ??= _ic_bom.GetListAsync(p => p.company_id.ToString() == companyid && (p.bom_number == "10100012_V1.0" || p.bom_number == "10100241_V1.0" || p.bom_number == "BOM00042070") && !p.IsDeleted).Result.ToList();
|
|
|
var pretreatment = _mysql_b_bom_pretreatment.GetListAsync(s => ic_Boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
|
|
|
|
|
|
+ param.company_id = long.Parse(companyid);
|
|
|
+
|
|
|
//物料bom
|
|
|
List<mo_ic_bom> bomlist = new List<mo_ic_bom>();
|
|
|
List<mo_ic_bom_child> bomchildlist = new List<mo_ic_bom_child>();
|
|
|
@@ -3031,7 +3031,7 @@ namespace Business.ResourceExamineManagement
|
|
|
List<mo_ic_substitute_group> suballlist = new List<mo_ic_substitute_group>();
|
|
|
List<mo_ic_substitute_group_detail> subdtllist = new List<mo_ic_substitute_group_detail>();
|
|
|
IcItemPretreatment(ic_Boms, bomlist, bomchildlist, icitemlist, sublist, suballlist, subdtllist);
|
|
|
-
|
|
|
+
|
|
|
List<b_bom_pretreatment> deleteList = new List<b_bom_pretreatment>();
|
|
|
List<b_bom_pretreatment> addList = new List<b_bom_pretreatment>();
|
|
|
foreach (var bom in ic_Boms)
|
|
|
@@ -3057,6 +3057,9 @@ namespace Business.ResourceExamineManagement
|
|
|
list.ForEach(s =>
|
|
|
{
|
|
|
s.sourceid = bom.mysql_id;
|
|
|
+ s.company_id = bom.company_id;
|
|
|
+ s.tenant_id = bom.tenant_id;
|
|
|
+ s.factory_id = bom.factory_id;
|
|
|
});
|
|
|
addList.AddRange(list);
|
|
|
}
|
|
|
@@ -3409,7 +3412,7 @@ namespace Business.ResourceExamineManagement
|
|
|
workOrdMasters = workOrdMasters.Where(p => !noNbrlist.Contains(p.WorkOrd)).ToList();
|
|
|
if (workOrdMasters.Count == 0)
|
|
|
{
|
|
|
- return "当前选择的工单已领料或未排产。";
|
|
|
+ return "当前选择的工单包含已领料或未排产。";
|
|
|
}
|
|
|
|
|
|
//增加判断当前工单是否进行过齐套检查,并且是仓库齐套
|