final_material_order_item.go 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package final
  2. import (
  3. "errors"
  4. "fmt"
  5. _ "image/gif"
  6. _ "image/jpeg"
  7. _ "image/png"
  8. "zhiyuan/pkg/db"
  9. "github.com/gin-gonic/gin"
  10. )
  11. type FinalMaterialOrderItem struct {
  12. ID int64 `json:"id" prop:"add:false"`
  13. ItemId int64 `json:"item_id" label:"项目类型ID" type:"int"`
  14. OrderId int64 `json:"order_id" label:"订单号" type:"int" prop:"add:false" search:"="`
  15. Name string `json:"name" label:"项目名称" type:"string" prop:"add:false"`
  16. MatId int64 `json:"mat_id" label:"材料ID" type:"int" prop:"add"`
  17. Price float64 `json:"price" label:"单价" type:"float" prop:"add" default:"0"`
  18. Num float64 `json:"num" label:"数量" type:"float" prop:"add edit"`
  19. Total float64 `json:"total" label:"金额" type:"float" prop:"add edit"`
  20. Remark string `json:"remark" label:"备注" type:"string" prop:"edit"`
  21. DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
  22. CreatedAt int64 `json:"created_at" prop:"add:false"`
  23. UpdatedAt int64 `json:"updated_at" prop:"add:false"`
  24. db.BaseModel
  25. }
  26. func (FinalMaterialOrderItem) TableName() string {
  27. return "zy_final_material_order_item"
  28. }
  29. func (model FinalMaterialOrderItem) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  30. return true
  31. }
  32. func (FinalMaterialOrderItem) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
  33. return errors.New("没有权限")
  34. }
  35. func (FinalMaterialOrderItem) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
  36. return errors.New("没有权限")
  37. }
  38. func (FinalMaterialOrderItem) DelPrivilege(c *gin.Context, id int64) error {
  39. return errors.New("没有权限")
  40. }
  41. func (FinalMaterialOrderItem) Page() bool {
  42. return false
  43. }
  44. func (FinalMaterialOrderItem) Count() bool {
  45. return false
  46. }
  47. type FinalMaterialOrderItemMobile struct {
  48. Typename string `json:"type_name" label:"类型名称" prop:"select:finalmattype.name" search:"like"`
  49. Unit string `json:"unit" label:"单位" prop:"select:finalmattype.unit" search:"like"`
  50. IsCustom int64 `json:"is_custom" label:"是否定制" prop:"select:finalmattype.is_custom" search:"="`
  51. MatName string `json:"mat_name" type:"string" prop:"select:concat(finalmat.brand,'\\t',finalmat.series,'\\t',finalmat.model,'\\t',finalmat.specs,'\\t',finalmat.color)"`
  52. MatPrice float64 `json:"mat_price" type:"float" prop:"select:finalmat.price"`
  53. ItemName string `json:"item_name" label:"项目名称" prop:"select:finalmatitem.name"`
  54. FinalMaterialOrderItem
  55. }
  56. func (model FinalMaterialOrderItemMobile) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
  57. return model.FinalMaterialOrderItem.EditPrivilege(c, id, data, post)
  58. }
  59. func (model FinalMaterialOrderItemMobile) GroupBy() string {
  60. return fmt.Sprintf("`%s`.`id`", model.TableName())
  61. }
  62. func (model FinalMaterialOrderItemMobile) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  63. return append(model.FinalMaterialOrderItem.LeftJoin(data, s), db.JoinModel{
  64. Model: FinalMat{},
  65. As: "finalmat",
  66. On: []string{"`finalmat`.`id` = " + model.TableName() + ".`mat_id` AND `finalmat`.`deleted_at` = 0"},
  67. }, db.JoinModel{
  68. Model: FinalMatType{},
  69. As: "finalmattype",
  70. On: []string{"`finalmattype`.`id` = `finalmat`.`type_id` AND `finalmattype`.`deleted_at` = 0"},
  71. }, db.JoinModel{
  72. Model: FinalMatItem{},
  73. As: "finalmatitem",
  74. On: []string{"`finalmatitem`.`id` = " + model.TableName() + ".`item_id`"},
  75. })
  76. }