|
@@ -62,6 +62,8 @@ namespace Business.ResourceExamineManagement
|
|
|
public class ResourceExamineAppService : ApplicationService, IResourceExamineAppService
|
|
public class ResourceExamineAppService : ApplicationService, IResourceExamineAppService
|
|
|
{
|
|
{
|
|
|
#region 服务
|
|
#region 服务
|
|
|
|
|
+ SnowFlake help = new SnowFlake();
|
|
|
|
|
+
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 工艺路径
|
|
/// 工艺路径
|
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -1049,7 +1051,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
|
|
List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
|
|
|
//var query = (await _ic_bom.GetQueryableAsync()).WhereIf(true, a => a.bom_id == BomId).ToList();
|
|
//var query = (await _ic_bom.GetQueryableAsync()).WhereIf(true, a => a.bom_id == BomId).ToList();
|
|
|
- var help = new SnowFlake();
|
|
|
|
|
|
|
+
|
|
|
var bom = bomlist.Find(s => s.Id == BomId);
|
|
var bom = bomlist.Find(s => s.Id == BomId);
|
|
|
if (bom == null)
|
|
if (bom == null)
|
|
|
{
|
|
{
|
|
@@ -1060,8 +1062,8 @@ namespace Business.ResourceExamineManagement
|
|
|
dto.item_id = bom.icitem_id;
|
|
dto.item_id = bom.icitem_id;
|
|
|
dto.bom_id = BomId.Value;
|
|
dto.bom_id = BomId.Value;
|
|
|
dto.level = 1;
|
|
dto.level = 1;
|
|
|
- dto.id = Guid.NewGuid();
|
|
|
|
|
- dto.parent_id = Guid.NewGuid();
|
|
|
|
|
|
|
+ dto.id = help.NextId();
|
|
|
|
|
+ dto.parent_id = help.NextId();
|
|
|
dto.qty = 1;
|
|
dto.qty = 1;
|
|
|
dto.num = "1";
|
|
dto.num = "1";
|
|
|
dto.isbom = 1;
|
|
dto.isbom = 1;
|
|
@@ -1085,7 +1087,6 @@ namespace Business.ResourceExamineManagement
|
|
|
public void GetBomList(List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, List<ic_item> icitemlist, BomChildExamineDto dto, List<BomChildExamineDto> returnlist, int type)
|
|
public void GetBomList(List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, List<ic_item> icitemlist, BomChildExamineDto dto, List<BomChildExamineDto> returnlist, int type)
|
|
|
{
|
|
{
|
|
|
int level = dto.level + 1;//初始化定义level层级
|
|
int level = dto.level + 1;//初始化定义level层级
|
|
|
- var help = new SnowFlake();
|
|
|
|
|
|
|
|
|
|
var bom = bomlist.Where(s => s.Id == dto.bom_id).FirstOrDefault();
|
|
var bom = bomlist.Where(s => s.Id == dto.bom_id).FirstOrDefault();
|
|
|
ic_item item = new ic_item();
|
|
ic_item item = new ic_item();
|
|
@@ -1124,7 +1125,7 @@ namespace Business.ResourceExamineManagement
|
|
|
if (childBom != null)
|
|
if (childBom != null)
|
|
|
{
|
|
{
|
|
|
var cdto = new BomChildExamineDto();
|
|
var cdto = new BomChildExamineDto();
|
|
|
- cdto.id = Guid.NewGuid();
|
|
|
|
|
|
|
+ cdto.id = help.NextId();
|
|
|
cdto.level = level;
|
|
cdto.level = level;
|
|
|
cdto.parent_id = dto.id;
|
|
cdto.parent_id = dto.id;
|
|
|
cdto.bom_child_id = c.Id;
|
|
cdto.bom_child_id = c.Id;
|
|
@@ -1150,7 +1151,7 @@ namespace Business.ResourceExamineManagement
|
|
|
childDto.level = level++;
|
|
childDto.level = level++;
|
|
|
childDto.bom_id = dto.bom_id;
|
|
childDto.bom_id = dto.bom_id;
|
|
|
childDto.bom_child_id = c.Id;
|
|
childDto.bom_child_id = c.Id;
|
|
|
- childDto.id = Guid.NewGuid();
|
|
|
|
|
|
|
+ childDto.id = help.NextId();
|
|
|
childDto.parent_id = dto.id;
|
|
childDto.parent_id = dto.id;
|
|
|
childDto.item_id = icitem.Id;
|
|
childDto.item_id = icitem.Id;
|
|
|
childDto.item_name = icitem.name;
|
|
childDto.item_name = icitem.name;
|
|
@@ -1192,7 +1193,6 @@ namespace Business.ResourceExamineManagement
|
|
|
var subdtllist = _ic_substitute_all_dtl.GetManyByCondition(p => suballidlist.Contains(p.substitute_allid) && p.IsDeleted == false).Result;
|
|
var subdtllist = _ic_substitute_all_dtl.GetManyByCondition(p => suballidlist.Contains(p.substitute_allid) && p.IsDeleted == false).Result;
|
|
|
|
|
|
|
|
List<long> childidList = new List<long>();
|
|
List<long> childidList = new List<long>();
|
|
|
- var help = new SnowFlake();
|
|
|
|
|
int type = 1;
|
|
int type = 1;
|
|
|
List<BomChildExamineDto> addlist = new List<BomChildExamineDto>();
|
|
List<BomChildExamineDto> addlist = new List<BomChildExamineDto>();
|
|
|
|
|
|
|
@@ -1265,7 +1265,6 @@ namespace Business.ResourceExamineManagement
|
|
|
public void SubstitutePretreatment(ic_substitute sl, ic_substitute_all sal, ic_substitute_all_dtl dtl, BomChildExamineDto toDto, List<BomChildExamineDto> returnlist, List<ic_item> icitemlist, List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, int type)
|
|
public void SubstitutePretreatment(ic_substitute sl, ic_substitute_all sal, ic_substitute_all_dtl dtl, BomChildExamineDto toDto, List<BomChildExamineDto> returnlist, List<ic_item> icitemlist, List<ic_bom> bomlist, List<ic_bom_child> bomchildlist, int type)
|
|
|
{
|
|
{
|
|
|
//如果dtl对应的icitem是BOM,还需要向下继续展开。
|
|
//如果dtl对应的icitem是BOM,还需要向下继续展开。
|
|
|
- var help = new SnowFlake();
|
|
|
|
|
|
|
|
|
|
//List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
|
|
//List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
|
|
|
var dto = new BomChildExamineDto();
|
|
var dto = new BomChildExamineDto();
|
|
@@ -1275,7 +1274,7 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
{
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- dto.id = Guid.NewGuid();
|
|
|
|
|
|
|
+ dto.id = help.NextId();
|
|
|
dto.level = toDto.level;
|
|
dto.level = toDto.level;
|
|
|
dto.parent_id = toDto.parent_id;
|
|
dto.parent_id = toDto.parent_id;
|
|
|
dto.item_id = icitem.Id;
|
|
dto.item_id = icitem.Id;
|
|
@@ -1348,7 +1347,15 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //计算库存
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 替代关系计算
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="bangid"></param>
|
|
|
|
|
+ /// <param name="orderid"></param>
|
|
|
|
|
+ /// <param name="count"></param>
|
|
|
|
|
+ /// <param name="input"></param>
|
|
|
|
|
+ /// <param name="plan_date"></param>
|
|
|
public void calcTest(List<BomChildExamineDto> returnlist, long bangid, long orderid, decimal count, SeorderentryDto input, DateTime
|
|
public void calcTest(List<BomChildExamineDto> returnlist, long bangid, long orderid, decimal count, SeorderentryDto input, DateTime
|
|
|
? plan_date)
|
|
? plan_date)
|
|
|
{
|
|
{
|
|
@@ -1425,7 +1432,12 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- //平铺每个物料需要总数
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 平铺计算物料情况
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="count"></param>
|
|
|
public void CaclMaterialShortage(List<BomChildExamineDto> returnlist, BomChildExamineDto item, decimal count)
|
|
public void CaclMaterialShortage(List<BomChildExamineDto> returnlist, BomChildExamineDto item, decimal count)
|
|
|
{
|
|
{
|
|
|
var parent = returnlist.Find(s => s.id == item.parent_id);
|
|
var parent = returnlist.Find(s => s.id == item.parent_id);
|
|
@@ -1448,6 +1460,12 @@ namespace Business.ResourceExamineManagement
|
|
|
}*/
|
|
}*/
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 根据占用情况重新计算占用
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="sklist"></param>
|
|
|
public void RecalculationStock(BomChildExamineDto item, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist)
|
|
public void RecalculationStock(BomChildExamineDto item, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist)
|
|
|
{
|
|
{
|
|
|
//再计算一边占用情况,这里根据父级产品额缺料量*当前子料的使用数量-子料库存量。得出当前子物料的缺料数量
|
|
//再计算一边占用情况,这里根据父级产品额缺料量*当前子料的使用数量-子料库存量。得出当前子物料的缺料数量
|
|
@@ -1459,6 +1477,15 @@ namespace Business.ResourceExamineManagement
|
|
|
item.stock_state = item.lack_qty > 0 ? 0 : 1;
|
|
item.stock_state = item.lack_qty > 0 ? 0 : 1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 根据替代策略计算
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="bangid"></param>
|
|
|
|
|
+ /// <param name="sklist"></param>
|
|
|
|
|
+ /// <param name="input"></param>
|
|
|
|
|
+ /// <param name="plan_date"></param>
|
|
|
public void CalcStrategy(BomChildExamineDto item, List<BomChildExamineDto> returnlist, long bangid, List<ic_item_stockoccupy> sklist, SeorderentryDto input, DateTime
|
|
public void CalcStrategy(BomChildExamineDto item, List<BomChildExamineDto> returnlist, long bangid, List<ic_item_stockoccupy> sklist, SeorderentryDto input, DateTime
|
|
|
? plan_date)
|
|
? plan_date)
|
|
|
{
|
|
{
|
|
@@ -1491,7 +1518,13 @@ namespace Business.ResourceExamineManagement
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //整批判断
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 整批计算
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="sublist"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="sklist"></param>
|
|
|
|
|
+ /// <param name="select"></param>
|
|
|
public void WholeBatchCheck(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, List<BomChildExamineDto> select)
|
|
public void WholeBatchCheck(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, List<BomChildExamineDto> select)
|
|
|
{
|
|
{
|
|
|
for (int idx = 0; idx < 99; idx++)
|
|
for (int idx = 0; idx < 99; idx++)
|
|
@@ -1519,7 +1552,18 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //整批占用
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 整批占用
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="sublist"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="sklist"></param>
|
|
|
|
|
+ /// <param name="select"></param>
|
|
|
|
|
+ /// <param name="bangid"></param>
|
|
|
|
|
+ /// <param name="parent"></param>
|
|
|
|
|
+ /// <param name="input"></param>
|
|
|
|
|
+ /// <param name="plan_date"></param>
|
|
|
public void WholeBatch(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, List<BomChildExamineDto> select, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
|
|
public void WholeBatch(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, List<BomChildExamineDto> select, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
|
|
|
? plan_date)
|
|
? plan_date)
|
|
|
{
|
|
{
|
|
@@ -1586,7 +1630,17 @@ namespace Business.ResourceExamineManagement
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //混用占用数据
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 混用占用
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="sublist"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="sklist"></param>
|
|
|
|
|
+ /// <param name="bangid"></param>
|
|
|
|
|
+ /// <param name="parent"></param>
|
|
|
|
|
+ /// <param name="input"></param>
|
|
|
|
|
+ /// <param name="plan_date"></param>
|
|
|
public void MixedUse(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
|
|
public void MixedUse(BomChildExamineDto item, List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sklist, long bangid, BomChildExamineDto parent, SeorderentryDto input, DateTime
|
|
|
? plan_date)
|
|
? plan_date)
|
|
|
{
|
|
{
|
|
@@ -1683,7 +1737,13 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 可制占用计算---暂时未用
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="bangid"></param>
|
|
|
|
|
+ /// <param name="kznun"></param>
|
|
|
public void Sockoccupy(BomChildExamineDto item, List<BomChildExamineDto> returnlist, long bangid, decimal kznun)
|
|
public void Sockoccupy(BomChildExamineDto item, List<BomChildExamineDto> returnlist, long bangid, decimal kznun)
|
|
|
{
|
|
{
|
|
|
ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
|
|
ic_item_stockoccupy itemStockoccupyDto = new ic_item_stockoccupy();
|
|
@@ -1718,7 +1778,13 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //计算物料是否缺料
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 计算物料是否缺料
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="parent"></param>
|
|
|
|
|
+ /// <param name="bzlist"></param>
|
|
|
|
|
+ /// <param name="returnlist"></param>
|
|
|
|
|
+ /// <param name="sockoccupyList"></param>
|
|
|
public void calcTest2(BomChildExamineDto parent, List<BomChildExamineDto> bzlist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sockoccupyList)
|
|
public void calcTest2(BomChildExamineDto parent, List<BomChildExamineDto> bzlist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sockoccupyList)
|
|
|
{
|
|
{
|
|
|
//从第二级开始循环
|
|
//从第二级开始循环
|
|
@@ -1755,7 +1821,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
- /// 计算
|
|
|
|
|
|
|
+ /// 递归计算物料信息
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
/// <param name="sublist"></param>
|
|
/// <param name="sublist"></param>
|
|
|
public void MaterialCalc(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sockoccupyList)
|
|
public void MaterialCalc(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<ic_item_stockoccupy> sockoccupyList)
|
|
@@ -1825,7 +1891,11 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //根据每个物料来实时计算占用情况
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 根据每个物料来实时计算占用情况
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="item"></param>
|
|
|
|
|
+ /// <param name="sockoccupyList"></param>
|
|
|
public void Calczykc(BomChildExamineDto item, List<ic_item_stockoccupy> sockoccupyList)
|
|
public void Calczykc(BomChildExamineDto item, List<ic_item_stockoccupy> sockoccupyList)
|
|
|
{
|
|
{
|
|
|
//找到当前物料的占用记录
|
|
//找到当前物料的占用记录
|