| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package tables
-
- import (
- "time"
-
- "git.x2erp.com/qdy/go-db/sqldef"
- )
-
- func init() {
- sqldef.AddRegistration(func(r *sqldef.Registry) {
- tb := sqldef.NewTable("bill_inventory_count", "库存盘点单据表").
- ChineseName("库存盘点单据表").Aliases("库存盘点单据").
- ID("id", 50).NotNull().Comment("主键ID").ChineseName("主键ID").End().
- String("tenant_id", 50).NotNull().Comment("租户ID").ChineseName("租户ID").End().
- String("bill_id", 50).NotNull().Comment("单据编号").ChineseName("单据编号").End().
- String("bill_type", 20).NotNull().Default("'INVENTORY_CHECK'").Comment("单据类型 (INVENTORY_CHECK盘点)").ChineseName("单据类型").End().
- String("bill_status", 20).NotNull().Comment("单据状态 (DRAFT草稿/COUNTING盘点中/REVIEWED已复核/APPROVED已审核/ADJUSTED已调整/CANCELLED已取消)").ChineseName("单据状态").End().
- Int("check_type").NotNull().Comment("盘点类型:1:盘赢;2:盘亏").ChineseName("盘点类型:1:盘赢;2:盘亏").End().
- String("store_id", 50).NotNull().Comment("店铺ID").ChineseName("店铺ID").End().
- String("company_id", 50).Comment("公司ID").ChineseName("公司ID").End().
- String("business_type_id", 50).Comment("业务类型ID").ChineseName("业务类型ID").End().
- String("business_type_name", 100).Comment("业务类型名称").ChineseName("业务类型名称").End().
- String("price_type_id", 50).Comment("价格类型ID").ChineseName("价格类型ID").End().
- String("price_type_name", 100).Comment("价格类型名称").ChineseName("价格类型名称").End().
- String("finance_type_id", 50).Comment("财务类型ID").ChineseName("财务类型ID").End().
- String("finance_type_name", 100).Comment("财务类型名称").ChineseName("财务类型名称").End().
- Int("sure_status").NotNull().Default("0").Comment("登账标识 (0:草稿, 1:已登账)").ChineseName("登账标识").Aliases("ID").End().
- Date("sure_date").Comment("登账日期").ChineseName("登账日期").Aliases("时间").End().
- String("product_id", 50).NotNull().Comment("商品ID").ChineseName("商品ID").End().
- String("product_code", 50).NotNull().Comment("商品编码").ChineseName("商品编码").Aliases("编码").End().
- String("product_name", 200).NotNull().Comment("商品名称").ChineseName("商品名称").Aliases("名称").End().
- String("size_code", 10).Comment("尺码代码").ChineseName("尺码代码").End().
- String("color_code", 10).Comment("颜色代码").ChineseName("颜色代码").End().
- Decimal("settlement_qty", 12, 4).NotNull().Default("0").Comment("结算数量").ChineseName("结算数量").End().
- Decimal("settlement_price", 12, 2).NotNull().Default("0").Comment("结算单价").ChineseName("结算单价").End().
- Decimal("settlement_amount", 12, 2).NotNull().Default("0").Comment("结算金额").ChineseName("结算金额").End().
- Decimal("discount_rate", 5, 4).NotNull().Default("0").Comment("折扣率").ChineseName("折扣率").End().
- String("check_person_id", 50).Comment("盘点人ID").ChineseName("盘点人ID").End().
- String("check_person_name", 100).Comment("盘点人姓名").ChineseName("盘点人姓名").End().
- String("reviewer_id", 50).Comment("复核人ID").ChineseName("复核人ID").End().
- String("reviewer_name", 100).Comment("复核人姓名").ChineseName("复核人姓名").End().
- DateTime("reviewed_time").Comment("复核时间").ChineseName("复核时间").Aliases("时间").End().
- String("approver_id", 50).Comment("审核人ID").ChineseName("审核人ID").End().
- String("approver_name", 100).Comment("审核人姓名").ChineseName("审核人姓名").End().
- DateTime("approved_time").Comment("审核时间").ChineseName("审核时间").Aliases("时间").End().
- String("remark", 500).Comment("备注").ChineseName("备注").End().
- String("creator", 32).NotNull().Comment("创建人").ChineseName("创建人").End().
- DateTime("created_at").NotNull().Default("CURRENT_TIMESTAMP").Comment("创建时间").ChineseName("创建时间").Aliases("时间").End().
- DateTime("updated_at").NotNull().Default("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP").Comment("更新时间").ChineseName("更新时间").Aliases("时间").End().
- Date("data_date").NotNull().Comment("数据日期 (数据仓库快照)").ChineseName("数据日期").End()
-
- tb.AddUniqueIndex("idx_bill_id_product", "bill_id", "product_id", "size_code", "color_code")
- tb.AddIndex("idx_tenant_id", "tenant_id")
- tb.AddIndex("idx_bill_status", "bill_status")
- tb.AddIndex("idx_store_id", "store_id")
- tb.AddIndex("idx_product_id", "product_id")
- tb.AddIndex("idx_company_id", "company_id")
- tb.AddIndex("idx_sure_status", "sure_status")
- tb.AddIndex("idx_tenant_id_bill_status", "tenant_id", "bill_status")
- tb.AddIndex("idx_tenant_id_sure_status", "tenant_id", "sure_status")
-
- r.RegisterTable(tb.Build())
- })
- }
-
- type BillInventoryCount struct {
- ID string `gorm:"column:id;type:varchar(50);not null;primaryKey;comment:主键ID"`
- TenantID string `gorm:"column:tenant_id;type:varchar(50);not null;comment:租户ID"`
- BillID string `gorm:"column:bill_id;type:varchar(50);not null;comment:单据编号"`
- BillType string `gorm:"column:bill_type;type:varchar(20);not null;default:INVENTORY_CHECK;comment:单据类型 (INVENTORY_CHECK盘点)"`
- BillStatus string `gorm:"column:bill_status;type:varchar(20);not null;comment:单据状态 (DRAFT草稿/COUNTING盘点中/REVIEWED已复核/APPROVED已审核/ADJUSTED已调整/CANCELLED已取消)"`
- CheckType int32 `gorm:"column:check_type;type:int;not null;comment:盘点类型:1:盘赢;2:盘亏"`
- StoreID string `gorm:"column:store_id;type:varchar(50);not null;comment:店铺ID"`
- CompanyID string `gorm:"column:company_id;type:varchar(50);comment:公司ID"`
- BusinessTypeID string `gorm:"column:business_type_id;type:varchar(50);comment:业务类型ID"`
- BusinessTypeName string `gorm:"column:business_type_name;type:varchar(100);comment:业务类型名称"`
- PriceTypeID string `gorm:"column:price_type_id;type:varchar(50);comment:价格类型ID"`
- PriceTypeName string `gorm:"column:price_type_name;type:varchar(100);comment:价格类型名称"`
- FinanceTypeID string `gorm:"column:finance_type_id;type:varchar(50);comment:财务类型ID"`
- FinanceTypeName string `gorm:"column:finance_type_name;type:varchar(100);comment:财务类型名称"`
- SureStatus int32 `gorm:"column:sure_status;type:int;not null;default:0;comment:登账标识 (0:草稿, 1:已登账)"`
- SureDate *time.Time `gorm:"column:sure_date;comment:登账日期"`
- ProductID string `gorm:"column:product_id;type:varchar(50);not null;comment:商品ID"`
- ProductCode string `gorm:"column:product_code;type:varchar(50);not null;comment:商品编码"`
- ProductName string `gorm:"column:product_name;type:varchar(200);not null;comment:商品名称"`
- SizeCode string `gorm:"column:size_code;type:varchar(10);comment:尺码代码"`
- ColorCode string `gorm:"column:color_code;type:varchar(10);comment:颜色代码"`
- SettlementQty float64 `gorm:"column:settlement_qty;type:decimal(12,4);not null;default:0;comment:结算数量"`
-
- SettlementPrice float64 `gorm:"column:settlement_price;type:decimal(12,2);not null;default:0;comment:结算单价"`
- SettlementAmount float64 `gorm:"column:settlement_amount;type:decimal(12,2);not null;default:0;comment:结算金额"`
- DiscountRate float64 `gorm:"column:discount_rate;type:decimal(5,4);not null;default:0;comment:折扣率"`
-
- CheckPersonID string `gorm:"column:check_person_id;type:varchar(50);comment:盘点人ID"`
- CheckPersonName string `gorm:"column:check_person_name;type:varchar(100);comment:盘点人姓名"`
- ReviewerID string `gorm:"column:reviewer_id;type:varchar(50);comment:复核人ID"`
- ReviewerName string `gorm:"column:reviewer_name;type:varchar(100);comment:复核人姓名"`
- ReviewedTime *time.Time `gorm:"column:reviewed_time;comment:复核时间"`
- ApproverID string `gorm:"column:approver_id;type:varchar(50);comment:审核人ID"`
- ApproverName string `gorm:"column:approver_name;type:varchar(100);comment:审核人姓名"`
- ApprovedTime *time.Time `gorm:"column:approved_time;comment:审核时间"`
- Remark string `gorm:"column:remark;type:varchar(500);comment:备注"`
- Creator string `gorm:"column:creator;type:varchar(32);not null;comment:创建人"`
- CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间"`
- UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;comment:更新时间"`
- DataDate time.Time `gorm:"column:data_date;type:date;not null;comment:数据日期 (数据仓库快照)"`
- }
-
- type BillInventoryCountDB struct {
- ID string `db:"id" json:"id"`
- TenantID string `db:"tenant_id" json:"tenantID"`
- BillID string `db:"bill_id" json:"billID"`
- BillType string `db:"bill_type" json:"billType"`
- BillStatus string `db:"bill_status" json:"billStatus"`
- CheckType int32 `db:"check_type" json:"checkType"`
- StoreID string `db:"store_id" json:"storeID"`
- CompanyID string `db:"company_id" json:"companyID"`
- BusinessTypeID string `db:"business_type_id" json:"businessTypeID"`
- BusinessTypeName string `db:"business_type_name" json:"businessTypeName"`
- PriceTypeID string `db:"price_type_id" json:"priceTypeID"`
- PriceTypeName string `db:"price_type_name" json:"priceTypeName"`
- FinanceTypeID string `db:"finance_type_id" json:"financeTypeID"`
- FinanceTypeName string `db:"finance_type_name" json:"financeTypeName"`
- SureStatus int32 `db:"sure_status" json:"sureStatus"`
- SureDate *time.Time `db:"sure_date" json:"sureDate"`
- ProductID string `db:"product_id" json:"productID"`
- ProductCode string `db:"product_code" json:"productCode"`
- ProductName string `db:"product_name" json:"productName"`
- SizeCode string `db:"size_code" json:"sizeCode"`
- ColorCode string `db:"color_code" json:"colorCode"`
- SettlementQty float64 `db:"settlement_qty" json:"settlementQty"`
-
- SettlementPrice float64 `db:"settlement_price" json:"settlementPrice"`
- SettlementAmount float64 `db:"settlement_amount" json:"settlementAmount"`
- DiscountRate float64 `db:"discount_rate" json:"discountRate"`
-
- CheckPersonID string `db:"check_person_id" json:"checkPersonID"`
- CheckPersonName string `db:"check_person_name" json:"checkPersonName"`
- ReviewerID string `db:"reviewer_id" json:"reviewerID"`
- ReviewerName string `db:"reviewer_name" json:"reviewerName"`
- ReviewedTime *time.Time `db:"reviewed_time" json:"reviewedTime"`
- ApproverID string `db:"approver_id" json:"approverID"`
- ApproverName string `db:"approver_name" json:"approverName"`
- ApprovedTime *time.Time `db:"approved_time" json:"approvedTime"`
- Remark string `db:"remark" json:"remark"`
- Creator string `db:"creator" json:"creator"`
- CreatedAt time.Time `db:"created_at" json:"createdAt"`
- UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
- DataDate time.Time `db:"data_date" json:"dataDate"`
- }
-
- func (BillInventoryCount) TableName() string {
- return "bill_inventory_count"
- }
|