heteng 3 rokov pred
rodič
commit
a2c40260ca

+ 145 - 42
MicroServices/Business/Business.Test/ProductExamineTest.cs

@@ -1,6 +1,7 @@
 using Business.Core.MongoDBHelper;
 using Business.ResourceExamineManagement;
 using Business.ResourceExamineManagement.Dto;
+using Bussiness.Model.Tech;
 using Bussiness.MongoModel.Tech;
 using System;
 using System.Collections.Generic;
@@ -17,61 +18,163 @@ namespace Business.Test
     /// </summary>
     public class ProductExamineTest
     {
-        #region 服务
-        /// <summary>
-        /// 工艺路径
-        /// </summary>
-        private readonly IMongoDB<mo_mes_technique> _mes_technique;
+        [Fact]
+        public void ProductExamine()
+        {
+            //Arrange
+            var sut = new ProductExamineAppService();
+            sut.tech = CreateTechnique();
+            sut.process = CreateProcess();
+            sut.tech_Processes = CreateTechProcess();
+
+            //Act
+            var result =  sut.ProductiveExamine(1000);
+            //Assert
+            Xunit.Assert.Equal(14030, result);
+        }
 
         /// <summary>
-        /// 工序
+        /// 创建工艺路径数据
         /// </summary>
-        private readonly IMongoDB<mo_mes_process> _mes_process;
+        /// <returns></returns>
+        public mo_mes_technique CreateTechnique()
+        {
+            mo_mes_technique info = new mo_mes_technique();
+            info.id = 1111111111;
+            info.mysql_id = 111111111111111;
+            info.tech_name = "测试产能检查";
+            info.level = 2;
+            info.bom = "R650K";
+            info.bomver = "3.0";
+            info.desc = "断路器";
+            return info;
+        }
 
         /// <summary>
-        /// 工艺关联工序
+        /// 创建工序数据
         /// </summary>
-        private readonly IMongoDB<mo_mes_tech_process> _mes_tech_process;
+        /// <returns></returns>
+        public List<mo_mes_process> CreateProcess()
+        {
+            List<mo_mes_process> processes = new List<mo_mes_process>();
 
+            //插入工序数据
+            mo_mes_process info1 = new mo_mes_process();
+            info1.id = 2222222222;
+            info1.mysql_id = 222222222222222;
+            info1.proc_name = "前加工1";
+            processes.Add(info1);
 
-        /// <summary>
-        /// 工艺工序关联工位
-        /// </summary>
-        private readonly IMongoDB<mo_mes_tech_proc_workshop> _mes_tech_proc_workshop;
-        #endregion
+            mo_mes_process info2 = new mo_mes_process();
+            info2.id = 3333333333;
+            info2.mysql_id = 333333333333333;
+            info2.proc_name = "组装2";
+            processes.Add(info2);
 
-        public ProductExamineTest(
-            IMongoDB<mo_mes_technique> mes_technique,
-            IMongoDB<mo_mes_process> mes_process,
-            IMongoDB<mo_mes_tech_process> mes_tech_process,
-            IMongoDB<mo_mes_tech_proc_workshop> mes_tech_proc_workshop
-            )
-        {
-            _mes_technique = mes_technique;
-            _mes_process = mes_process;
-            _mes_tech_process = mes_tech_process;
-            _mes_tech_proc_workshop = mes_tech_proc_workshop;
+            mo_mes_process info3 = new mo_mes_process();
+            info3.id = 4444444444;
+            info3.mysql_id = 444444444444444;
+            info3.proc_name = "老化3";
+            processes.Add(info3);
+
+            mo_mes_process info4 = new mo_mes_process();
+            info4.id = 5555555555;
+            info4.mysql_id = 555555555555555;
+            info4.proc_name = "包装4";
+            processes.Add(info4);
+
+            return processes;
         }
 
-        [Fact]
-        public void ProductExamine()
+        /// <summary>
+        /// 创建工艺工序数据
+        /// </summary>
+        /// <returns></returns>
+        public List<mo_mes_tech_process> CreateTechProcess()
         {
-            ////Arrange
-            //var sut = new ProductExamineAppService(_mes_technique, _mes_process, _mes_tech_process, _mes_tech_proc_workshop);
-            ////走自制
-            //ProdExamineParamDto prodExamine = new ProdExamineParamDto()
-            //{
-            //    bom_number = "R650K",
-            //    version = "3.0",
-            //    packages = 1000,
-            //    tenantId = 102,
-            //    factoryId = 10201
+            List<mo_mes_tech_process> tech_Processes = new List<mo_mes_tech_process>();
+
+            //前加工1
+            mo_mes_tech_process info5 = new mo_mes_tech_process();
+            info5.id = 6666666666;
+            info5.mysql_id = 666666666666666;
+            info5.tech_id = 111111111111111;
+            info5.proc_id = 222222222222222;
+            info5.level = 1;
+            info5.readytime = 60;
+            info5.wctype = 1;
+            info5.lq = 1;
+            info5.lqt = 10;
+            info5.wsinuse = 4;
+            info5.upe = 2;
+            info5.uph = 5;
+            info5.ct = 0;
+            info5.effect_ratio = 0.9m;
+            info5.nextprocid = 333333333333333;
+            info5.parentprocid = 111111111111111;
+            tech_Processes.Add(info5);
+
+            //组装2
+            mo_mes_tech_process info6 = new mo_mes_tech_process();
+            info6.id = 7777777777;
+            info6.mysql_id = 777777777777777;
+            info6.tech_id = 111111111111111;
+            info6.proc_id = 333333333333333;
+            info6.level = 1;
+            info6.readytime = 60;
+            info6.wctype = 2;
+            info6.lq = 16;
+            info6.lqt = 10;
+            info6.wsinuse = 2;
+            info6.upe = 2;
+            info6.uph = 0;
+            info6.ct = 37;
+            info6.effect_ratio = 0.9m;
+            info6.nextprocid = 444444444444444;
+            info6.parentprocid = 111111111111111;
+            tech_Processes.Add(info6);
+
+            //老化3
+            mo_mes_tech_process info7 = new mo_mes_tech_process();
+            info7.id = 8888888888;
+            info7.mysql_id = 888888888888888;
+            info7.tech_id = 111111111111111;
+            info7.proc_id = 444444444444444;
+            info7.level = 1;
+            info7.readytime = 60;
+            info7.wctype = 3;
+            info7.lq = 16;
+            info7.lqt = 10;
+            info7.wsinuse = 8;
+            info7.upe = 2;
+            info7.uph = 0;
+            info7.ct = 240;
+            info7.effect_ratio = 0.9m;
+            info7.nextprocid = 555555555555555;
+            info7.parentprocid = 111111111111111;
+            tech_Processes.Add(info7);
+
+            //包装4
+            mo_mes_tech_process info8 = new mo_mes_tech_process();
+            info8.id = 9999999999;
+            info8.mysql_id = 999999999999999;
+            info8.tech_id = 111111111111111;
+            info8.proc_id = 555555555555555;
+            info8.level = 1;
+            info8.readytime = 60;
+            info8.wctype = 2;
+            info8.lq = 10;
+            info8.lqt = 10;
+            info8.wsinuse = 2;
+            info8.upe = 2;
+            info8.uph = 0;
+            info8.ct = 28;
+            info8.effect_ratio = 0.9m;
+            info8.nextprocid = null;
+            info8.parentprocid = 111111111111111;
+            tech_Processes.Add(info8);
 
-            //};
-            ////Act
-            //var result = await sut.ProductiveExamine(prodExamine);
-            ////Assert
-            //Xunit.Assert.Equal(5, result);
+            return tech_Processes;
         }
     }
 }