Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

types.go 12KB

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