Ver código fonte

代码调整。

tangdi 3 anos atrás
pai
commit
20b6247685

+ 2 - 12
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/BomChildExamineDto.cs

@@ -9,25 +9,15 @@ namespace Business.ResourceExamineManagement.Dto
 {
     public class BomChildExamineDto
     {
-        /*/// <summary>
-        /// 主键
-        /// </summary>
-        public long id { get; set; }
-
-        /// <summary>
-        /// 父级
-        /// </summary>
-        public long? parent_id { get; set; }*/
-
         /// <summary>
         /// 主键
         /// </summary>
-        public Guid id { get; set; }
+        public long id { get; set; }
 
         /// <summary>
         /// 父级
         /// </summary>
-        public Guid parent_id { get; set; }
+        public long? parent_id { get; set; }
 
         /// <summary>
         /// bom明细主键

+ 88 - 18
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -62,6 +62,8 @@ namespace Business.ResourceExamineManagement
     public class ResourceExamineAppService : ApplicationService, IResourceExamineAppService
     {
         #region 服务
+        SnowFlake help = new SnowFlake();
+
         /// <summary>
         /// 工艺路径
         /// </summary>
@@ -1049,7 +1051,7 @@ namespace Business.ResourceExamineManagement
             }
             List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
             //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);
             if (bom == null)
             {
@@ -1060,8 +1062,8 @@ namespace Business.ResourceExamineManagement
             dto.item_id = bom.icitem_id;
             dto.bom_id = BomId.Value;
             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.num = "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)
         {
             int level = dto.level + 1;//初始化定义level层级
-            var help = new SnowFlake();
 
             var bom = bomlist.Where(s => s.Id == dto.bom_id).FirstOrDefault();
             ic_item item = new ic_item();
@@ -1124,7 +1125,7 @@ namespace Business.ResourceExamineManagement
                 if (childBom != null)
                 {
                     var cdto = new BomChildExamineDto();
-                    cdto.id = Guid.NewGuid();
+                    cdto.id = help.NextId();
                     cdto.level = level;
                     cdto.parent_id = dto.id;
                     cdto.bom_child_id = c.Id;
@@ -1150,7 +1151,7 @@ namespace Business.ResourceExamineManagement
                         childDto.level = level++;
                         childDto.bom_id = dto.bom_id;
                         childDto.bom_child_id = c.Id;
-                        childDto.id = Guid.NewGuid();
+                        childDto.id = help.NextId();
                         childDto.parent_id = dto.id;
                         childDto.item_id = icitem.Id;
                         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;
 
             List<long> childidList = new List<long>();
-            var help = new SnowFlake();
             int type = 1;
             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)
         {
             //如果dtl对应的icitem是BOM,还需要向下继续展开。
-            var help = new SnowFlake();
 
             //List<BomChildExamineDto> returnlist = new List<BomChildExamineDto>();
             var dto = new BomChildExamineDto();
@@ -1275,7 +1274,7 @@ namespace Business.ResourceExamineManagement
             {
                 return;
             }
-            dto.id = Guid.NewGuid();
+            dto.id = help.NextId();
             dto.level = toDto.level;
             dto.parent_id = toDto.parent_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
             ? 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)
         {
             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)
         {
             //再计算一边占用情况,这里根据父级产品额缺料量*当前子料的使用数量-子料库存量。得出当前子物料的缺料数量
@@ -1459,6 +1477,15 @@ namespace Business.ResourceExamineManagement
             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
             ? plan_date)
         {
@@ -1491,7 +1518,13 @@ namespace Business.ResourceExamineManagement
                     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)
         {
             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
             ? 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
             ? 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)
         {
             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)
         {
             //从第二级开始循环
@@ -1755,7 +1821,7 @@ namespace Business.ResourceExamineManagement
         }
 
         /// <summary>
-        /// 计算
+        /// 递归计算物料信息
         /// </summary>
         /// <param name="sublist"></param>
         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)
         {
             //找到当前物料的占用记录