版博士V2.0程序
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

290 wiersze
11 KiB

  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Models
  8. {
  9. [SugarIndex("index_{table}_code", nameof(Product.Code), OrderByType.Asc, isUnique: true)]
  10. public class Product : BaseTable
  11. {
  12. public string Code { get; set; }
  13. public string Name { get; set; }
  14. [SugarColumn(IsNullable = true)]
  15. public string Spec { get; set; }
  16. //类别
  17. public int ClassesId { get; set; }
  18. [Navigate(NavigateType.ManyToOne, nameof(ClassesId))]
  19. public Classes ClassesInfo { get; set; }
  20. //目数
  21. public int HoleCount { get; set; }
  22. //外观检测模型文件 //不存在默认使用 .\onnx\default.onnx
  23. [SugarColumn(IsNullable = true)]
  24. public string DefectModelFile { get; set; }
  25. //Files Type0-产品图纸
  26. [Navigate(NavigateType.OneToMany, nameof(Attachment.Pid))]
  27. public List<Attachment> AttachmentList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  28. //当前最新批次号
  29. public string BatchId { get; set; }
  30. /// <summary>
  31. /// 目标数量
  32. /// </summary>
  33. public int TargetCount { get; set; }
  34. /// <summary>
  35. /// 完成数量
  36. /// </summary>
  37. public int CompleteCount { get; set; }
  38. [Navigate(NavigateType.OneToMany, nameof(BatchHistory.Pid))]
  39. public List<BatchHistory> BatchHistoryList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  40. /// <summary>
  41. /// 合格标准
  42. /// </summary>
  43. [Navigate(NavigateType.OneToMany, nameof(QualifiedCriterion.Pid))]
  44. public List<QualifiedCriterion> QualifiedCriterionList { get; set; }
  45. [SugarColumn(IsNullable = true)]
  46. public string Note { get; set; }
  47. //判断上下限
  48. public double TensionBaseValue { get; set; }
  49. public double TensionUpFloatValue { get; set; }
  50. public double TensionDownFloatValue { get; set; }
  51. public double HeightBaseValue { get; set; }
  52. public double HeightUpFloatValue { get; set; }
  53. public double HeightDownFloatValue { get; set; }
  54. public double LineWidthBaseValue { get; set; }
  55. public double LineWidthUpFloatValue { get; set; }
  56. public double LineWidthDownFloatValue { get; set; }
  57. //以前只支持Y方向PT
  58. public double PTBaseValue { get; set; }
  59. public double PTUpFloatValue { get; set; }
  60. public double PTDownFloatValue { get; set; }
  61. //新增X方向PT
  62. public double PTXBaseValue { get; set; }
  63. public double PTXUpFloatValue { get; set; }
  64. public double PTXDownFloatValue { get; set; }
  65. //新增检测项2024-2-20
  66. //反面检测
  67. public double FLineWidthBaseValue { get; set; }
  68. public double FLineWidthUpFloatValue { get; set; }
  69. public double FLineWidthDownFloatValue { get; set; }
  70. //主栅连接线检测
  71. public double MGridIntervalBaseValue { get; set; }
  72. public double MGridIntervalUpFloatValue { get; set; }
  73. public double MGridIntervalDownFloatValue { get; set; }
  74. //主栅宽度
  75. public double MGridWidthBaseValue { get; set; }
  76. public double MGridWidthUpFloatValue { get; set; }
  77. public double MGridWidthDownFloatValue { get; set; }
  78. //主栅间距
  79. public double MGridSpreadBaseValue { get; set; }
  80. public double MGridSpreadUpFloatValue { get; set; }
  81. public double MGridSpreadDownFloatValue { get; set; }
  82. //细栅间距检测
  83. public double FGridSpreadBaseValue { get; set; }
  84. public double FGridSpreadUpFloatValue { get; set; }
  85. public double FGridSpreadDownFloatValue { get; set; }
  86. //背极宽度
  87. public double BackPoleWidthBaseValue { get; set; }
  88. public double BackPoleWidthUpFloatValue { get; set; }
  89. public double BackPoleWidthDownFloatValue { get; set; }
  90. //主栅长度检测
  91. public double MGridLengthBaseValue { get; set; }
  92. public double MGridLengthUpFloatValue { get; set; }
  93. public double MGridLengthDownFloatValue { get; set; }
  94. //Mark点横向间距
  95. public double MarkXDisBaseValue { get; set; }
  96. public double MarkXDisUpFloatValue { get; set; }
  97. public double MarkXDisDownFloatValue { get; set; }
  98. //Mark点竖向间距
  99. public double MarkYDisBaseValue { get; set; }
  100. public double MarkYDisUpFloatValue { get; set; }
  101. public double MarkYDisDownFloatValue { get; set; }
  102. //鱼叉口长
  103. public double ForkLengthBaseValue { get; set; }
  104. public double ForkLengthUpFloatValue { get; set; }
  105. public double ForkLengthDownFloatValue { get; set; }
  106. //鱼叉口宽
  107. public double ForkWidthBaseValue { get; set; }
  108. public double ForkWidthUpFloatValue { get; set; }
  109. public double ForkWidthDownFloatValue { get; set; }
  110. //鱼叉口间距
  111. public double ForkDisBaseValue { get; set; }
  112. public double ForkDisUpFloatValue { get; set; }
  113. public double ForkDisDownFloatValue { get; set; }
  114. //高度BASE值
  115. public string HeightBaseDec { get; set; }
  116. //====生产流程绑定
  117. [SugarColumn(IsNullable = true)]
  118. public int? StepId { get; set; }
  119. [Navigate(NavigateType.ManyToOne, nameof(StepId))]
  120. public Step StepInfo { get; set; }
  121. //流程工序列表
  122. [Navigate(NavigateType.OneToMany, nameof(ProductProcess.Pid))]
  123. public List<ProductProcess> ProductProcessList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  124. //====校正流程绑定
  125. [SugarColumn(IsNullable = true)]
  126. public int? ReviseStepId { get; set; }
  127. [Navigate(NavigateType.ManyToOne, nameof(ReviseStepId))]
  128. public Step ReviseStepInfo { get; set; }
  129. //校正流程工序列表
  130. [Navigate(NavigateType.OneToMany, nameof(ProductReviseProcess.Pid))]
  131. public List<ProductReviseProcess> ProductReviseProcessList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  132. //====修复流程绑定
  133. [SugarColumn(IsNullable = true)]
  134. public int? AssistStepId { get; set; }
  135. [Navigate(NavigateType.ManyToOne, nameof(AssistStepId))]
  136. public Step AssistStepInfo { get; set; }
  137. //校正流程工序列表
  138. [Navigate(NavigateType.OneToMany, nameof(ProductAssistProcess.Pid))]
  139. public List<ProductAssistProcess> ProductAssistProcessList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  140. //生产记录(用于导航删除)
  141. [Navigate(NavigateType.OneToMany, nameof(Order.ProductId))]
  142. public List<Order> OrderList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  143. //2023-11-2 加入mark使用
  144. //mark类型 0:无mark
  145. public int MarkType { get; set; }
  146. //mark尺寸
  147. public double MarkSize { get; set; }
  148. //抓点图像
  149. [SugarColumn(IsNullable = true)]
  150. public string MapPath { get; set; }
  151. //抓取点位
  152. [SugarColumn(IsNullable = true, Length = 2048)]
  153. public string GetPointList { get; set; }
  154. //2023-12-18 加入mark干扰判断,是否主栅
  155. public int MarkDisturb { get; set; }
  156. public int MainGrid { get; set; }
  157. //2023-12-19 新流程方案参数
  158. //工单
  159. [SugarColumn(IsNullable = true)]
  160. public string WorkOrderCode { get; set; }
  161. //灵活测试点位
  162. [Navigate(NavigateType.OneToMany, nameof(TestDefectPoints.Pid))]
  163. public List<TestDefectPoints> TestDefectPointsList { get; set; }
  164. //2024-1-24 加入是否存在pad点
  165. [SugarColumn(IsNullable = true)]
  166. public int HavePad { get; set; }
  167. }
  168. /// <summary>
  169. /// 结束的批次才加入
  170. /// </summary>
  171. public class Attachment : BaseTable
  172. {
  173. /// <summary>
  174. /// 源表名,小写
  175. /// </summary>
  176. public string TBName { get; set; }
  177. /// <summary>
  178. /// 子类 看TB主表对应类型
  179. /// </summary>
  180. public int Type { get; set; } = 0;
  181. public int Pid { get; set; }
  182. /// <summary>
  183. /// 原始文件名还扩展名
  184. /// </summary>
  185. public string Name { get; set; }
  186. /// <summary>
  187. /// 本地文件名 子路径+文件名(无扩展名):{TBName}\\{NameTimestamp} //NameTimestamp=id\\A
  188. /// </summary>
  189. public string NameTimestamp { get; set; }
  190. /// <summary>
  191. /// .pdf/.doc
  192. /// </summary>
  193. public string ExtendName { get; set; }
  194. }
  195. /// <summary>
  196. /// 非全量copy于StepProcess工序,只有产品修改工序参数时保存
  197. /// </summary>
  198. public class ProductProcess : BaseTable
  199. {
  200. public int Pid { get; set; }
  201. public string ProcessCode { get; set; }
  202. /// <summary>
  203. /// json
  204. /// </summary>
  205. [SugarColumn(IsNullable = true, Length = 2048)]
  206. public string ProcessParams { get; set; }
  207. }
  208. public class ProductReviseProcess : ProductProcess
  209. {
  210. }
  211. public class ProductAssistProcess : ProductProcess
  212. {
  213. }
  214. /// <summary>
  215. /// 结束的批次才加入
  216. /// </summary>
  217. public class BatchHistory : BaseTable
  218. {
  219. public int Pid { get; set; }
  220. public string BatchId { get; set; }
  221. /// <summary>
  222. /// 目标数量
  223. /// </summary>
  224. public int TargetCount { get; set; }
  225. /// <summary>
  226. /// 当前数量
  227. /// </summary>
  228. public int CompleteCount { get; set; }
  229. }
  230. /// <summary>
  231. /// 合格标准
  232. /// </summary>
  233. public class QualifiedCriterion : BaseTable
  234. {
  235. public int Pid { get; set; }
  236. public string DefectCode { get; set; }//pp,sx,... EnumUtil.Convert2Enum
  237. /// <summary>
  238. /// 尺寸
  239. /// </summary>
  240. public float Size { get; set; }
  241. /// <summary>
  242. /// 最大允许缺陷数量
  243. /// </summary>
  244. public int MaxDefectCount { get; set; }
  245. }
  246. /// <summary>
  247. /// 2023-12-25 单点测试点位
  248. /// </summary>
  249. public class TestDefectPoints : BaseTable
  250. {
  251. public int Pid { get; set; }
  252. /// <summary>
  253. /// 点位代码
  254. /// </summary>
  255. public string PointCode { get; set; }
  256. /// <summary>
  257. /// 点位X
  258. /// </summary>
  259. public double X { get; set; }
  260. /// <summary>
  261. /// 点位Y
  262. /// </summary>
  263. public double Y { get; set; }
  264. }
  265. }