zhangqian
2024-03-11 ebf654c57e65b074ce4cc3b7016cf157a85fb3ad
wms采购范围
4个文件已修改
52 ■■■■■ 已修改文件
docs/docs.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/material.go 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go
@@ -3326,6 +3326,12 @@
                "purchaseType": {
                    "$ref": "#/definitions/constvar.PurchaseType"
                },
                "purchaseTypeList": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "reorderRuleNum": {
                    "type": "integer"
                },
docs/swagger.json
@@ -3314,6 +3314,12 @@
                "purchaseType": {
                    "$ref": "#/definitions/constvar.PurchaseType"
                },
                "purchaseTypeList": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "reorderRuleNum": {
                    "type": "integer"
                },
docs/swagger.yaml
@@ -565,6 +565,10 @@
        type: number
      purchaseType:
        $ref: '#/definitions/constvar.PurchaseType'
      purchaseTypeList:
        items:
          type: integer
        type: array
      reorderRuleNum:
        type: integer
      salePrice:
models/material.go
@@ -3,7 +3,9 @@
import (
    "fmt"
    "github.com/shopspring/decimal"
    "github.com/spf13/cast"
    "gorm.io/gorm"
    "strings"
    "wms/constvar"
    "wms/pkg/mysqlx"
)
@@ -34,6 +36,8 @@
        //ProduceAheadDay   int                     `gorm:"type:int(11);comment:制造提前期(天)" json:"produceAheadDay"`
        MinPurchaseAmount decimal.Decimal       `gorm:"type:decimal(35,18);comment:最小采购量" json:"minPurchaseAmount"` //最小采购量
        PurchaseType      constvar.PurchaseType `gorm:"type:int(11);comment:采购类型" json:"purchaseType"`
        PurchaseTypes     string                `gorm:"type:varchar(255);comment:采购类型范围" json:"-"`
        PurchaseTypeList  []int                 `gorm:"-" json:"purchaseTypeList"`
        IsSale            bool                  `gorm:"type:tinyint(1);comment:是否销售" json:"isSale"`        //是否销售
        SalePrice         decimal.Decimal       `gorm:"type:decimal(35,18);comment:销售单价" json:"salePrice"` //销售单价
        AutoIncr          uint                  `gorm:"type:int(11);comment:自增ID;default:0;" json:"autoIncr"`
@@ -109,6 +113,38 @@
    return "material"
}
func (slf *Material) AfterFind(tx *gorm.DB) (err error) {
    if slf.PurchaseTypes != "" && strings.Contains(slf.PurchaseTypes, ",") {
        list := strings.Split(slf.PurchaseTypes, ",")
        for _, v := range list {
            slf.PurchaseTypeList = append(slf.PurchaseTypeList, cast.ToInt(v))
        }
    } else if slf.PurchaseType != 0 { //兼容旧数据
        slf.PurchaseTypeList = append(slf.PurchaseTypeList, int(slf.PurchaseType))
    }
    return
}
func (slf *Material) BeforeCreate(tx *gorm.DB) (err error) {
    if len(slf.PurchaseTypeList) > 0 {
        var typeList []string
        for _, v := range slf.PurchaseTypeList {
            if v != 0 {
                typeList = append(typeList, cast.ToString(v))
            }
        }
        slf.PurchaseTypes = strings.Join(typeList, ",")
        if len(slf.PurchaseTypeList) == 1 {
            slf.PurchaseType = constvar.PurchaseType(slf.PurchaseTypeList[0])
        }
    }
    return
}
func (slf *Material) BeforeUpdate(tx *gorm.DB) (err error) {
    return slf.BeforeCreate(tx)
}
func NewMaterialSearch() *MaterialSearch {
    return &MaterialSearch{Orm: mysqlx.GetDB().Where("is_storage = ?", 1)} //只查询有库存的
}