Pārlūkot izejas kodu

产能计算自测

heteng 3 gadi atpakaļ
vecāks
revīzija
a0e2c77d56

+ 15 - 6
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -273,9 +273,9 @@ namespace Business.ResourceExamineManagement
             //生成当前计算bangid
             //SnowFlake snow = new SnowFlake();
             //long bangid = snow.NextId();
-
+            
             //产能检查
-            await ProductiveExamine(1733221167209762816, 100);
+            await ProductiveExamine(1735281284746956800, 1000);
             return null;
             throw new NotImplementedException();
         }
@@ -309,17 +309,26 @@ namespace Business.ResourceExamineManagement
             #region 1、数据准备
             //1.1、获取工艺路径数据
             mes_technique tech = await _mes_technique.GetOneByID(tech_id);
+            if (tech == null) {
+                throw new NotImplementedException("请先配置工艺路径!");
+            }
 
             //1.2、获取工艺路径关联工序数据
             List<mes_tech_process> tech_Processes = await _mes_tech_process.GetManyByCondition(x => x.tech_id == tech_id);
+            if (tech_Processes.Count == 0)
+            {
+                throw new NotImplementedException("请先配置工序!");
+            }
 
             //1.3、获取当前工艺路径下的工序数据
-            FilterDefinition<mes_process> filter = Builders<mes_process>.Filter.In(s => s.Id, tech_Processes.Select(m => m.proc_id).ToList());
-            List<mes_process> process = await _mes_process.GetManyByIds(filter);
+            //FilterDefinition<mes_process> filter = Builders<mes_process>.Filter.In(s => s.Id, tech_Processes.Select(m => m.proc_id).ToList());
+            //List<mes_process> process = await _mes_process.GetManyByIds(filter);
+            List<long> procIds = tech_Processes.Select(m => m.proc_id).ToList();
+            List<mes_process> process = await _mes_process.GetManyByCondition(p=> procIds.Contains(p.Id));
 
             //1.3、获取工艺工序关联工位信息
-            FilterDefinition<mes_tech_proc_workshop> filter1 = Builders<mes_tech_proc_workshop>.Filter.In(s => s.tech_proc_id, tech_Processes.Select(m => m.Id).ToList());
-            List<mes_tech_proc_workshop> tech_Proc_Workshops = await _mes_tech_proc_workshop.GetManyByIds(filter1);
+            List<long> techProcIds = tech_Processes.Select(m => m.Id).ToList();
+            List<mes_tech_proc_workshop> tech_Proc_Workshops = await _mes_tech_proc_workshop.GetManyByCondition(p=> techProcIds.Contains(p.tech_proc_id));
             #endregion
 
             #region 计算产能,得到耗时