package models import ( "zhiyuan/pkg/db" "github.com/gin-gonic/gin" ) type WorkPkgNode struct { ID int64 `json:"id" prop:"add:false"` PkgId int64 `json:"pkg_id" type:"int" prop:"add" search:"="` NodeId int64 `json:"node_id" type:"int" prop:"add edit" search:"="` Name string `json:"name" label:"节点名称" type:"string" prop:"add edit" search:"like"` Startday int64 `json:"startday" label:"开始天数" type:"int" prop:"add edit" default:"0"` Days int64 `json:"days" label:"工期" type:"int" prop:"add edit" default:"0"` ProcessIds string `json:"process_ids" label:"工序" type:"string" prop:"add edit"` Mark string `json:"mark" label:"备注" type:"string" prop:"edit"` QualityAcceptID int64 `json:"quality_accept_id" label:"质检验收" type:"int" prop:"edit" default:"0"` ReturnVisitID int64 `json:"return_visit_id" label:"客服回访" type:"int" prop:"edit" default:"0"` State int64 `json:"state" label:"状态" type:"int" prop:"edit" default:"0"` OrderAt int64 `json:"order_at" prop:"add:false select:false"` DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"` CreatedAt int64 `json:"created_at" prop:"add:false select:false"` UpdatedAt int64 `json:"updated_at" prop:"add:false select:false"` db.BaseModel } func (WorkPkgNode) TableName() string { return "zy_work_pkg_node" } func (WorkPkgNode) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool { return true } func (WorkPkgNode) OnePrivilege(c *gin.Context, id int64) bool { return true } func (WorkPkgNode) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error { return nil } func (WorkPkgNode) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error { return nil } func (WorkPkgNode) DelPrivilege(c *gin.Context, id int64) error { return nil } func (WorkPkgNode) OrderField() string { return "order_at" } func (WorkPkgNode) Page() bool { return false } func (WorkPkgNode) Count() bool { return true } func CopyWorkPkgNodes(nodes []WorkPkgNode, returnVisitId int64, order int64) error { for i, node := range nodes { _, err := node.Copy(returnVisitId, order+int64(len(nodes)-i)) if err != nil { return err } } return nil } func (model WorkPkgNode) Copy(pkgId int64, order int64) (int64, error) { id, err := db.InsertModel(db.Type(model), map[string]interface{}{ "pkg_id": pkgId, "node_id": model.NodeId, "name": model.Name, "startday": model.Startday, "days": model.Days, "process_ids": model.ProcessIds, "mark": model.Mark, "quality_accept_id": model.QualityAcceptID, "return_visit_id": model.ReturnVisitID, "state": model.State, "order_at": order, }) if err != nil { return 0, err } return id, nil }