Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

types.go 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. package configure
  2. import (
  3. "time"
  4. "git.x2erp.com/qdy/go-base/model/request/queryreq"
  5. )
  6. // DicTableRequest 数据库表字典请求(主表+子表合并)
  7. type DicTableRequest struct {
  8. // 主表字段
  9. TableID string `json:"tableID" binding:"required"` // 表ID(主键)
  10. TableType string `json:"tableType" binding:"required"` // 表类型: 实体表,视图,物化视图
  11. Name string `json:"name" binding:"required"` // 表名称
  12. Description string `json:"description"` // 表描述
  13. // 子表字段(字段列表)
  14. Fields []DicTableFieldRequest `json:"fields"` // 表字段列表
  15. }
  16. // DicTableFieldRequest 数据库表字段字典请求(子表)
  17. type DicTableFieldRequest struct {
  18. // 注意:子表主键规则为 table_id + "." + field_name
  19. FieldID string `json:"fieldID" binding:"required"` // 字段ID(主键,由系统生成)
  20. TableID string `json:"tableID" binding:"required"` // 表ID(关联主表)
  21. FiledType string `json:"filedType" binding:"required"` // 字段类型: 实际字段,计算字段
  22. DataType string `json:"dataType" binding:"required"` // 数据类型: 字符型,数值型等
  23. FieldName string `json:"fieldName" binding:"required"` // 字段名称
  24. FieldNameCN string `json:"fieldNameCN"` // 字段中文名称(ERP中业务名称)
  25. Description string `json:"description"` // 字段描述
  26. }
  27. // DicTableDetail 数据库表字典详情(主表+子表)
  28. type DicTableDetail struct {
  29. // 主表信息
  30. Table DicTableDB `json:"table"`
  31. // 子表信息
  32. Fields []DicTableFieldDB `json:"fields"`
  33. }
  34. // DicTableList 数据库表字典列表
  35. type DicTableList struct {
  36. TotalCount int `json:"totalCount"`
  37. LastPage int `json:"lastPage"`
  38. Data []DicTableDB `json:"data"`
  39. }
  40. // DicTableQueryRequest 数据库表字典查询请求
  41. type DicTableQueryRequest struct {
  42. QueryRequest queryreq.QueryRequest `json:"queryRequest"`
  43. TableID string `json:"tableID,omitempty"`
  44. }
  45. // DicTableDB 数据库表字典数据库模型
  46. type DicTableDB struct {
  47. ID string `db:"id" json:"id"`
  48. TableID string `db:"table_id" json:"tableID"`
  49. TableType string `db:"table_type" json:"tableType"`
  50. Name string `db:"table_name" json:"name"`
  51. Description string `db:"description" json:"description"`
  52. Creator string `db:"creator" json:"creator"`
  53. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  54. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  55. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  56. }
  57. // DicTableFieldDB 数据库表字段字典数据库模型
  58. type DicTableFieldDB struct {
  59. ID string `db:"id" json:"id"`
  60. FieldID string `db:"field_id" json:"fieldID"`
  61. TableID string `db:"table_id" json:"tableID"`
  62. FiledType string `db:"filed_type" json:"filedType"`
  63. DataType string `db:"data_type" json:"dataType"`
  64. FieldName string `db:"field_name" json:"fieldName"`
  65. FieldNameCN string `db:"field_name_cn" json:"fieldNameCN"`
  66. Description string `db:"description" json:"description"`
  67. Creator string `db:"creator" json:"creator"`
  68. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  69. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  70. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  71. }
  72. // 数据库别名字典类型
  73. // 表别名字典数据库模型
  74. type DicTableAliasDB struct {
  75. ID string `db:"id" json:"id"`
  76. TableID string `db:"table_id" json:"tableID"`
  77. TableAlias string `db:"table_alias" json:"tableAlias"`
  78. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  79. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  80. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  81. }
  82. // 字段别名字典数据库模型
  83. type DicTableFieldAliasDB struct {
  84. ID string `db:"id" json:"id"`
  85. FieldID string `db:"field_id" json:"fieldID"`
  86. TableID string `db:"table_id" json:"tableID"`
  87. FieldName string `db:"field_name" json:"fieldName"`
  88. FieldAlias string `db:"field_alias" json:"fieldAlias"`
  89. Description string `db:"description" json:"description"`
  90. WhereCondition string `db:"where_condition" json:"whereCondition"`
  91. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  92. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  93. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  94. }
  95. // 表别名字典流水数据库模型
  96. type DicTableAliasFlowDB struct {
  97. ID string `db:"id" json:"id"`
  98. TableID string `db:"table_id" json:"tableID"`
  99. TableAlias string `db:"table_alias" json:"tableAlias"`
  100. TenantID string `db:"tenant_id" json:"tenantID"`
  101. ApprovalStatus int8 `db:"approval_status" json:"approvalStatus"`
  102. Approver string `db:"approver" json:"approver"`
  103. ApprovedAt *time.Time `db:"approved_at" json:"approvedAt"`
  104. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  105. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  106. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  107. }
  108. // 字段别名字典流水数据库模型
  109. type DicTableFieldAliasFlowDB struct {
  110. ID string `db:"id" json:"id"`
  111. FieldID string `db:"field_id" json:"fieldID"`
  112. TableID string `db:"table_id" json:"tableID"`
  113. FieldName string `db:"field_name" json:"fieldName"`
  114. FieldAlias string `db:"field_alias" json:"fieldAlias"`
  115. Description string `db:"description" json:"description"`
  116. WhereCondition string `db:"where_condition" json:"whereCondition"`
  117. TenantID string `db:"tenant_id" json:"tenantID"`
  118. ApprovalStatus int8 `db:"approval_status" json:"approvalStatus"`
  119. Approver string `db:"approver" json:"approver"`
  120. ApprovedAt *time.Time `db:"approved_at" json:"approvedAt"`
  121. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  122. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  123. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  124. }
  125. // 表别名字典查询请求
  126. type TableAliasQueryRequest struct {
  127. queryreq.QueryRequest // 通用查询请求(分页、排序、筛选)
  128. // 向后兼容的旧字段(新客户端应使用QueryRequest中的Filters)
  129. TableID string `json:"tableID,omitempty"` // 表ID模糊搜索
  130. TableAlias string `json:"tableAlias,omitempty"` // 别名模糊搜索
  131. SortField string `json:"sortField,omitempty"` // 排序字段(单字段)
  132. SortOrder string `json:"sortOrder,omitempty"` // 排序方向: asc/desc
  133. }
  134. // 表别名字典请求
  135. type TableAliasRequest struct {
  136. ID string `json:"id,omitempty"` // 主键(创建时可选,更新时必填)
  137. TableID string `json:"tableID" binding:"required"` // 表ID
  138. TableAlias string `json:"tableAlias" binding:"required"` // 别名
  139. }
  140. // 批量表别名字典请求
  141. type BatchTableAliasRequest struct {
  142. Items []TableAliasRequest `json:"items" binding:"required"` // 表别名列表
  143. }
  144. // 表别名字典详情
  145. type TableAliasDetail struct {
  146. TableAlias DicTableAliasDB `json:"tableAlias"` // 表别名字典信息
  147. }
  148. // 表别名字典列表
  149. type TableAliasList struct {
  150. TotalCount int `json:"totalCount"`
  151. LastPage int `json:"lastPage"`
  152. Data []DicTableAliasDB `json:"data"`
  153. }
  154. // 字段别名字典查询请求
  155. type TableFieldAliasQueryRequest struct {
  156. queryreq.QueryRequest // 通用查询请求(分页、排序、筛选)
  157. // 向后兼容的旧字段(新客户端应使用QueryRequest中的Filters)
  158. TableID string `json:"tableID,omitempty"` // 表ID模糊搜索
  159. FieldID string `json:"fieldID,omitempty"` // 字段ID模糊搜索
  160. FieldName string `json:"fieldName,omitempty"` // 字段名称模糊搜索
  161. FieldAlias string `json:"fieldAlias,omitempty"` // 字段别名模糊搜索
  162. SortField string `json:"sortField,omitempty"` // 排序字段(单字段)
  163. SortOrder string `json:"sortOrder,omitempty"` // 排序方向: asc/desc
  164. }
  165. // 字段别名字典请求
  166. type TableFieldAliasRequest struct {
  167. ID string `json:"id,omitempty"` // 主键(创建时可选,更新时必填)
  168. FieldID string `json:"fieldID" binding:"required"` // 字段ID
  169. TableID string `json:"tableID" binding:"required"` // 表ID
  170. FieldName string `json:"fieldName" binding:"required"` // 字段名称
  171. FieldAlias string `json:"fieldAlias" binding:"required"` // 字段别名
  172. Description string `json:"description"` // 字段别名描述
  173. WhereCondition string `json:"whereCondition"` // 此别名获取数据的查询条件描述
  174. }
  175. // 批量字段别名字典请求
  176. type BatchTableFieldAliasRequest struct {
  177. Items []TableFieldAliasRequest `json:"items" binding:"required"` // 字段别名列表
  178. }
  179. // 字段别名字典详情
  180. type TableFieldAliasDetail struct {
  181. TableFieldAlias DicTableFieldAliasDB `json:"tableFieldAlias"` // 字段别名字典信息
  182. }
  183. // 字段别名字典列表
  184. type TableFieldAliasList struct {
  185. TotalCount int `json:"totalCount"`
  186. LastPage int `json:"lastPage"`
  187. Data []DicTableFieldAliasDB `json:"data"`
  188. }
  189. // 表别名字典流水查询请求
  190. type TableAliasFlowQueryRequest struct {
  191. queryreq.QueryRequest // 通用查询请求(分页、排序、筛选)
  192. // 向后兼容的旧字段
  193. TableID string `json:"tableID,omitempty"` // 表ID模糊搜索
  194. TableAlias string `json:"tableAlias,omitempty"` // 别名模糊搜索
  195. TenantID string `json:"tenantID,omitempty"` // 租户ID精确搜索
  196. ApprovalStatus int8 `json:"approvalStatus,omitempty"` // 审批状态精确搜索
  197. SortField string `json:"sortField,omitempty"` // 排序字段(单字段)
  198. SortOrder string `json:"sortOrder,omitempty"` // 排序方向: asc/desc
  199. }
  200. // 字段别名字典流水查询请求
  201. type TableFieldAliasFlowQueryRequest struct {
  202. queryreq.QueryRequest // 通用查询请求(分页、排序、筛选)
  203. // 向后兼容的旧字段
  204. TableID string `json:"tableID,omitempty"` // 表ID模糊搜索
  205. FieldID string `json:"fieldID,omitempty"` // 字段ID模糊搜索
  206. FieldName string `json:"fieldName,omitempty"` // 字段名称模糊搜索
  207. FieldAlias string `json:"fieldAlias,omitempty"` // 字段别名模糊搜索
  208. TenantID string `json:"tenantID,omitempty"` // 租户ID精确搜索
  209. ApprovalStatus int8 `json:"approvalStatus,omitempty"` // 审批状态精确搜索
  210. SortField string `json:"sortField,omitempty"` // 排序字段(单字段)
  211. SortOrder string `json:"sortOrder,omitempty"` // 排序方向: asc/desc
  212. }
  213. // 批量审批流水请求
  214. type BatchApprovalFlowRequest struct {
  215. IDs []string `json:"ids" binding:"required"` // 流水记录ID列表
  216. ApprovalStatus int8 `json:"approvalStatus" binding:"required"` // 审批状态:0待审批,1通过,2拒绝
  217. Approver string `json:"approver" binding:"required"` // 审批人
  218. }
  219. // 表别名字典流水列表
  220. type TableAliasFlowList struct {
  221. TotalCount int `json:"totalCount"`
  222. LastPage int `json:"lastPage"`
  223. Data []DicTableAliasFlowDB `json:"data"`
  224. }
  225. // 字段别名字典流水列表
  226. type TableFieldAliasFlowList struct {
  227. TotalCount int `json:"totalCount"`
  228. LastPage int `json:"lastPage"`
  229. Data []DicTableFieldAliasFlowDB `json:"data"`
  230. }