ProductExamineTest.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. using Business.Core.MongoDBHelper;
  2. using Business.ResourceExamineManagement;
  3. using Business.ResourceExamineManagement.Dto;
  4. using Business.Model.Tech;
  5. using Business.MongoModel.Tech;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Security.Policy;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using Xunit;
  13. namespace Business.Test
  14. {
  15. /// <summary>
  16. /// 产能检查单元测试类
  17. /// </summary>
  18. public class ProductExamineTest
  19. {
  20. [Fact]
  21. public void ProductExamine()
  22. {
  23. //dev合并master测试注释
  24. //Arrange
  25. var sut = new ProductExamineAppService();
  26. sut.techs = CreateTechnique();
  27. sut.process = CreateProcess();
  28. sut.tech_Processes = CreateTechProcess();
  29. //Act
  30. ProdExamineParamDto prodExamine = new ProdExamineParamDto()
  31. {
  32. bom_number = "R650K",
  33. version = "3.0",
  34. packages = 1000
  35. };
  36. var result = sut.ProductiveExamine(prodExamine);
  37. //Assert
  38. Xunit.Assert.Equal(14030, result);
  39. }
  40. /// <summary>
  41. /// 创建工艺路径数据
  42. /// </summary>
  43. /// <returns></returns>
  44. public List<mo_mes_technique> CreateTechnique()
  45. {
  46. List<mo_mes_technique> techs = new List<mo_mes_technique>();
  47. mo_mes_technique info = new mo_mes_technique();
  48. info.id = 1111111111;
  49. info.mysql_id = 111111111111111;
  50. info.tech_name = "测试产能检查";
  51. info.level = 2;
  52. info.bom = "R650K";
  53. info.bomver = "3.0";
  54. info.desc = "断路器";
  55. techs.Add(info);
  56. return techs;
  57. }
  58. /// <summary>
  59. /// 创建工序数据
  60. /// </summary>
  61. /// <returns></returns>
  62. public List<mo_mes_process> CreateProcess()
  63. {
  64. List<mo_mes_process> processes = new List<mo_mes_process>();
  65. //插入工序数据
  66. mo_mes_process info1 = new mo_mes_process();
  67. info1.id = 2222222222;
  68. info1.mysql_id = 222222222222222;
  69. info1.proc_name = "前加工1";
  70. processes.Add(info1);
  71. mo_mes_process info2 = new mo_mes_process();
  72. info2.id = 3333333333;
  73. info2.mysql_id = 333333333333333;
  74. info2.proc_name = "组装2";
  75. processes.Add(info2);
  76. mo_mes_process info3 = new mo_mes_process();
  77. info3.id = 4444444444;
  78. info3.mysql_id = 444444444444444;
  79. info3.proc_name = "老化3";
  80. processes.Add(info3);
  81. mo_mes_process info4 = new mo_mes_process();
  82. info4.id = 5555555555;
  83. info4.mysql_id = 555555555555555;
  84. info4.proc_name = "包装4";
  85. processes.Add(info4);
  86. return processes;
  87. }
  88. /// <summary>
  89. /// 创建工艺工序数据
  90. /// </summary>
  91. /// <returns></returns>
  92. public List<mo_mes_tech_process> CreateTechProcess()
  93. {
  94. List<mo_mes_tech_process> tech_Processes = new List<mo_mes_tech_process>();
  95. //前加工1
  96. mo_mes_tech_process info5 = new mo_mes_tech_process();
  97. info5.id = 6666666666;
  98. info5.mysql_id = 666666666666666;
  99. info5.tech_id = 111111111111111;
  100. info5.proc_id = 222222222222222;
  101. info5.level = 1;
  102. info5.readytime = 60;
  103. info5.wctype = 1;
  104. info5.lq = 1;
  105. info5.lqt = 10;
  106. info5.wsinuse = 4;
  107. info5.upe = 2;
  108. info5.uph = 5;
  109. info5.ct = 0;
  110. info5.effect_ratio = 0.9m;
  111. info5.nextprocid = 333333333333333;
  112. info5.parentprocid = 111111111111111;
  113. tech_Processes.Add(info5);
  114. //组装2
  115. mo_mes_tech_process info6 = new mo_mes_tech_process();
  116. info6.id = 7777777777;
  117. info6.mysql_id = 777777777777777;
  118. info6.tech_id = 111111111111111;
  119. info6.proc_id = 333333333333333;
  120. info6.level = 1;
  121. info6.readytime = 60;
  122. info6.wctype = 2;
  123. info6.lq = 16;
  124. info6.lqt = 10;
  125. info6.wsinuse = 2;
  126. info6.upe = 2;
  127. info6.uph = 0;
  128. info6.ct = 37;
  129. info6.effect_ratio = 0.9m;
  130. info6.nextprocid = 444444444444444;
  131. info6.parentprocid = 111111111111111;
  132. tech_Processes.Add(info6);
  133. //老化3
  134. mo_mes_tech_process info7 = new mo_mes_tech_process();
  135. info7.id = 8888888888;
  136. info7.mysql_id = 888888888888888;
  137. info7.tech_id = 111111111111111;
  138. info7.proc_id = 444444444444444;
  139. info7.level = 1;
  140. info7.readytime = 60;
  141. info7.wctype = 3;
  142. info7.lq = 16;
  143. info7.lqt = 10;
  144. info7.wsinuse = 8;
  145. info7.upe = 2;
  146. info7.uph = 0;
  147. info7.ct = 240;
  148. info7.effect_ratio = 0.9m;
  149. info7.nextprocid = 555555555555555;
  150. info7.parentprocid = 111111111111111;
  151. tech_Processes.Add(info7);
  152. //包装4
  153. mo_mes_tech_process info8 = new mo_mes_tech_process();
  154. info8.id = 9999999999;
  155. info8.mysql_id = 999999999999999;
  156. info8.tech_id = 111111111111111;
  157. info8.proc_id = 555555555555555;
  158. info8.level = 1;
  159. info8.readytime = 60;
  160. info8.wctype = 2;
  161. info8.lq = 10;
  162. info8.lqt = 10;
  163. info8.wsinuse = 2;
  164. info8.upe = 2;
  165. info8.uph = 0;
  166. info8.ct = 28;
  167. info8.effect_ratio = 0.9m;
  168. info8.nextprocid = null;
  169. info8.parentprocid = 111111111111111;
  170. tech_Processes.Add(info8);
  171. return tech_Processes;
  172. }
  173. }
  174. }