work_pkg_node.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package models
  2. import (
  3. "zhiyuan/pkg/db"
  4. "github.com/gin-gonic/gin"
  5. )
  6. type WorkPkgNode struct {
  7. ID int64 `json:"id" prop:"add:false"`
  8. PkgId int64 `json:"pkg_id" type:"int" prop:"add" search:"="`
  9. NodeId int64 `json:"node_id" type:"int" prop:"add edit" search:"="`
  10. Name string `json:"name" label:"节点名称" type:"string" prop:"add edit" search:"like"`
  11. Startday int64 `json:"startday" label:"开始天数" type:"int" prop:"add edit" default:"0"`
  12. Days int64 `json:"days" label:"工期" type:"int" prop:"add edit" default:"0"`
  13. ProcessIds string `json:"process_ids" label:"工序" type:"string" prop:"add edit"`
  14. Mark string `json:"mark" label:"备注" type:"string" prop:"edit"`
  15. QualityAcceptID int64 `json:"quality_accept_id" label:"质检验收" type:"int" prop:"edit" default:"0"`
  16. ReturnVisitID int64 `json:"return_visit_id" label:"客服回访" type:"int" prop:"edit" default:"0"`
  17. State int64 `json:"state" label:"状态" type:"int" prop:"edit" default:"0"`
  18. OrderAt int64 `json:"order_at" prop:"add:false select:false"`
  19. DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
  20. CreatedAt int64 `json:"created_at" prop:"add:false select:false"`
  21. UpdatedAt int64 `json:"updated_at" prop:"add:false select:false"`
  22. db.BaseModel
  23. }
  24. func (WorkPkgNode) TableName() string {
  25. return "zy_work_pkg_node"
  26. }
  27. func (WorkPkgNode) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  28. return true
  29. }
  30. func (WorkPkgNode) OnePrivilege(c *gin.Context, id int64) bool {
  31. return true
  32. }
  33. func (WorkPkgNode) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
  34. return nil
  35. }
  36. func (WorkPkgNode) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
  37. return nil
  38. }
  39. func (WorkPkgNode) DelPrivilege(c *gin.Context, id int64) error {
  40. return nil
  41. }
  42. func (WorkPkgNode) OrderField() string {
  43. return "order_at"
  44. }
  45. func (WorkPkgNode) Page() bool {
  46. return false
  47. }
  48. func (WorkPkgNode) Count() bool {
  49. return true
  50. }
  51. func CopyWorkPkgNodes(nodes []WorkPkgNode, returnVisitId int64, order int64) error {
  52. for i, node := range nodes {
  53. _, err := node.Copy(returnVisitId, order+int64(len(nodes)-i))
  54. if err != nil {
  55. return err
  56. }
  57. }
  58. return nil
  59. }
  60. func (model WorkPkgNode) Copy(pkgId int64, order int64) (int64, error) {
  61. id, err := db.InsertModel(db.Type(model), map[string]interface{}{
  62. "pkg_id": pkgId,
  63. "node_id": model.NodeId,
  64. "name": model.Name,
  65. "startday": model.Startday,
  66. "days": model.Days,
  67. "process_ids": model.ProcessIds,
  68. "mark": model.Mark,
  69. "quality_accept_id": model.QualityAcceptID,
  70. "return_visit_id": model.ReturnVisitID,
  71. "state": model.State,
  72. "order_at": order,
  73. })
  74. if err != nil {
  75. return 0, err
  76. }
  77. return id, nil
  78. }