using Business.Core.MongoDBHelper;
using Business.ResourceExamineManagement;
using Business.ResourceExamineManagement.Dto;
using Business.Model.Tech;
using Business.MongoModel.Tech;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using Xunit;
namespace Business.Test
{
///
/// 产能检查单元测试类
///
public class ProductExamineTest
{
[Fact]
public void ProductExamine()
{
//dev合并master测试注释
//Arrange
var sut = new ProductExamineAppService();
sut.techs = CreateTechnique();
sut.process = CreateProcess();
sut.tech_Processes = CreateTechProcess();
//Act
ProdExamineParamDto prodExamine = new ProdExamineParamDto()
{
bom_number = "R650K",
version = "3.0",
packages = 1000
};
var result = sut.ProductiveExamine(prodExamine);
//Assert
Xunit.Assert.Equal(14030, result);
}
///
/// 创建工艺路径数据
///
///
public List CreateTechnique()
{
List techs = new List();
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 = "断路器";
techs.Add(info);
return techs;
}
///
/// 创建工序数据
///
///
public List CreateProcess()
{
List processes = new List();
//插入工序数据
mo_mes_process info1 = new mo_mes_process();
info1.id = 2222222222;
info1.mysql_id = 222222222222222;
info1.proc_name = "前加工1";
processes.Add(info1);
mo_mes_process info2 = new mo_mes_process();
info2.id = 3333333333;
info2.mysql_id = 333333333333333;
info2.proc_name = "组装2";
processes.Add(info2);
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;
}
///
/// 创建工艺工序数据
///
///
public List CreateTechProcess()
{
List tech_Processes = new List();
//前加工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);
return tech_Processes;
}
}
}