版博士V2.0程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

236 line
8.4 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. //高度BASE值
  66. public string HeightBaseDec { get; set; }
  67. //====生产流程绑定
  68. [SugarColumn(IsNullable = true)]
  69. public int? StepId { get; set; }
  70. [Navigate(NavigateType.ManyToOne, nameof(StepId))]
  71. public Step StepInfo { get; set; }
  72. //流程工序列表
  73. [Navigate(NavigateType.OneToMany, nameof(ProductProcess.Pid))]
  74. public List<ProductProcess> ProductProcessList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  75. //====校正流程绑定
  76. [SugarColumn(IsNullable = true)]
  77. public int? ReviseStepId { get; set; }
  78. [Navigate(NavigateType.ManyToOne, nameof(ReviseStepId))]
  79. public Step ReviseStepInfo { get; set; }
  80. //校正流程工序列表
  81. [Navigate(NavigateType.OneToMany, nameof(ProductReviseProcess.Pid))]
  82. public List<ProductReviseProcess> ProductReviseProcessList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  83. //====修复流程绑定
  84. [SugarColumn(IsNullable = true)]
  85. public int? AssistStepId { get; set; }
  86. [Navigate(NavigateType.ManyToOne, nameof(AssistStepId))]
  87. public Step AssistStepInfo { get; set; }
  88. //校正流程工序列表
  89. [Navigate(NavigateType.OneToMany, nameof(ProductAssistProcess.Pid))]
  90. public List<ProductAssistProcess> ProductAssistProcessList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  91. //生产记录(用于导航删除)
  92. [Navigate(NavigateType.OneToMany, nameof(Order.ProductId))]
  93. public List<Order> OrderList { get; set; }//注意禁止给books手动赋值,也不能new初始化,否则导航查询不到
  94. //2023-11-2 加入mark使用
  95. //mark类型 0:无mark
  96. public int MarkType { get; set; }
  97. //mark尺寸
  98. public double MarkSize { get; set; }
  99. //抓点图像
  100. [SugarColumn(IsNullable = true)]
  101. public string MapPath { get; set; }
  102. //抓取点位
  103. [SugarColumn(IsNullable = true, Length = 2048)]
  104. public string GetPointList { get; set; }
  105. //2023-12-18 加入mark干扰判断,是否主栅
  106. public int MarkDisturb { get; set; }
  107. public int MainGrid { get; set; }
  108. //2023-12-19 新流程方案参数
  109. //工单
  110. [SugarColumn(IsNullable = true)]
  111. public string WorkOrderCode { get; set; }
  112. //灵活测试点位
  113. [Navigate(NavigateType.OneToMany, nameof(TestDefectPoints.Pid))]
  114. public List<TestDefectPoints> TestDefectPointsList { get; set; }
  115. }
  116. /// <summary>
  117. /// 结束的批次才加入
  118. /// </summary>
  119. public class Attachment : BaseTable
  120. {
  121. /// <summary>
  122. /// 源表名,小写
  123. /// </summary>
  124. public string TBName { get; set; }
  125. /// <summary>
  126. /// 子类 看TB主表对应类型
  127. /// </summary>
  128. public int Type { get; set; } = 0;
  129. public int Pid { get; set; }
  130. /// <summary>
  131. /// 原始文件名还扩展名
  132. /// </summary>
  133. public string Name { get; set; }
  134. /// <summary>
  135. /// 本地文件名 子路径+文件名(无扩展名):{TBName}\\{NameTimestamp} //NameTimestamp=id\\A
  136. /// </summary>
  137. public string NameTimestamp { get; set; }
  138. /// <summary>
  139. /// .pdf/.doc
  140. /// </summary>
  141. public string ExtendName { get; set; }
  142. }
  143. /// <summary>
  144. /// 非全量copy于StepProcess工序,只有产品修改工序参数时保存
  145. /// </summary>
  146. public class ProductProcess : BaseTable
  147. {
  148. public int Pid { get; set; }
  149. public string ProcessCode { get; set; }
  150. /// <summary>
  151. /// json
  152. /// </summary>
  153. [SugarColumn(IsNullable = true, Length = 2048)]
  154. public string ProcessParams { get; set; }
  155. }
  156. public class ProductReviseProcess : ProductProcess
  157. {
  158. }
  159. public class ProductAssistProcess : ProductProcess
  160. {
  161. }
  162. /// <summary>
  163. /// 结束的批次才加入
  164. /// </summary>
  165. public class BatchHistory : BaseTable
  166. {
  167. public int Pid { get; set; }
  168. public string BatchId { get; set; }
  169. /// <summary>
  170. /// 目标数量
  171. /// </summary>
  172. public int TargetCount { get; set; }
  173. /// <summary>
  174. /// 当前数量
  175. /// </summary>
  176. public int CompleteCount { get; set; }
  177. }
  178. /// <summary>
  179. /// 合格标准
  180. /// </summary>
  181. public class QualifiedCriterion : BaseTable
  182. {
  183. public int Pid { get; set; }
  184. public string DefectCode { get; set; }//pp,sx,... EnumUtil.Convert2Enum
  185. /// <summary>
  186. /// 尺寸
  187. /// </summary>
  188. public float Size { get; set; }
  189. /// <summary>
  190. /// 最大允许缺陷数量
  191. /// </summary>
  192. public int MaxDefectCount { get; set; }
  193. }
  194. /// <summary>
  195. /// 2023-12-25 单点测试点位
  196. /// </summary>
  197. public class TestDefectPoints : BaseTable
  198. {
  199. public int Pid { get; set; }
  200. /// <summary>
  201. /// 点位代码
  202. /// </summary>
  203. public string PointCode { get; set; }
  204. /// <summary>
  205. /// 点位X
  206. /// </summary>
  207. public double X { get; set; }
  208. /// <summary>
  209. /// 点位Y
  210. /// </summary>
  211. public double Y { get; set; }
  212. }
  213. }