|
|
@@ -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;
|
|
|
}
|
|
|
}
|
|
|
}
|