liujiandao
2023-09-26 482fe65f34d1acf2483814821570c80c92547c5e
位置字段修改
3个文件已修改
48 ■■■■■ 已修改文件
controllers/location.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/warehouse.go 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/location.go 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/location.go
@@ -4,6 +4,7 @@
    "errors"
    "github.com/gin-gonic/gin"
    "strconv"
    "strings"
    "wms/extend/code"
    "wms/extend/util"
    "wms/models"
@@ -30,6 +31,18 @@
        util.ResponseFormat(c, code.RequestParamError, err)
        return
    }
    if params.ParentId != 0 {
        //查询上级名称
        first, err := models.NewLocationSearch().SetParentId(params.ParentId).First()
        if err != nil {
            util.ResponseFormat(c, code.RequestParamError, "查询上级名称失败")
            return
        }
        params.JointName = first.JointName + "/" + params.Name
    } else {
        params.JointName = params.Name
    }
    err := models.NewLocationSearch().Create(&params)
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "创建失败")
@@ -59,9 +72,6 @@
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        return
    }
    for _, location := range list {
        location.JointName = location.ParentId + "/" + location.Name
    }
    util.ResponseFormatList(c, code.Success, list, int(total))
@@ -105,6 +115,14 @@
        util.ResponseFormat(c, code.RequestParamError, err)
        return
    }
    index := strings.LastIndex(params.JointName, "/")
    if index > 0 {
        jn := params.JointName[:index]
        oldName := params.JointName[index+1:]
        if oldName != params.Name {
            params.JointName = jn + "/" + params.Name
        }
    }
    err := models.NewLocationSearch().Update(&params)
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "位置信息更新失败")
controllers/warehouse.go
@@ -44,7 +44,7 @@
    //创建默认位置
    location := &models.Location{
        Name:              "默认位置",
        ParentId:          params.Code,
        JointName:         params.Code,
        Type:              constvar.LocationTypeInternal,
        ReplenishLocation: true,
    }
@@ -101,7 +101,7 @@
    //更新位置信息
    if oldRecord != nil && params.Code != oldRecord.Code {
        m := make(map[string]interface{})
        m["parent_id"] = params.Code
        m["joint_name"] = params.Code
        err := models.NewLocationSearch().SetID(oldRecord.LocationId).UpdateByMap(m)
        if err != nil {
            return errors.New("更新位置信息失败")
@@ -143,7 +143,7 @@
    for _, warehouse := range list {
        codes = append(codes, warehouse.Code)
    }
    locations, err := models.NewLocationSearch().SetParents(codes).FindNotTotal()
    locations, err := models.NewLocationSearch().SetCodes(codes).FindNotTotal()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "位置信息查找失败")
        return
models/location.go
@@ -13,7 +13,7 @@
        WmsModel
        Id        int    `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
        Name      string `json:"name" gorm:"index;type:varchar(255);not null;comment:位置名称"` //位置名称
        ParentId  string `json:"parentId" gorm:"type:varchar(255)"`                         //上级id
        ParentId  int    `json:"parentId" gorm:"type:int;comment:上级id"`                     //上级id
        CompanyId int    `json:"companyId" gorm:"type:int"`                                 //公司id
        //Company              Company                       `json:"company" gorm:"foreignKey:CompanyId"`                       //公司
        Type                 constvar.LocationType         `json:"type" gorm:"type:int(11);comment:位置类型"`                 //位置类型
@@ -25,7 +25,7 @@
        Notes                string                        `json:"notes" gorm:"type:varchar(255);comment:外部备注"`           //外部备注
        RecentlyCount        string                        `json:"recentlyCount" gorm:"type:varchar(255);comment:最近盘点"`   //最近盘点
        NextCount            string                        `json:"nextCount" gorm:"type:varchar(255);comment:下次盘点"`       //下次盘点
        JointName            string                        `json:"jointName" gorm:"-"`                                    //拼接名称
        JointName            string                        `json:"jointName" gorm:"type:varchar(255);comment:拼接名称"`       //拼接名称
    }
    LocationSearch struct {
@@ -36,7 +36,7 @@
        Keyword  string
        Orm      *gorm.DB
        Preload  bool
        Parents  []string
        Codes    []string
    }
)
@@ -67,8 +67,8 @@
    slf.Id = ID
    return slf
}
func (slf *LocationSearch) SetParents(ids []string) *LocationSearch {
    slf.Parents = ids
func (slf *LocationSearch) SetCodes(ids []string) *LocationSearch {
    slf.Codes = ids
    return slf
}
@@ -92,7 +92,7 @@
    return slf
}
func (slf *LocationSearch) SetParentId(parentId string) *LocationSearch {
func (slf *LocationSearch) SetParentId(parentId int) *LocationSearch {
    slf.ParentId = parentId
    return slf
}
@@ -125,14 +125,14 @@
        db = db.Where("type=?", slf.Type)
    }
    if slf.ParentId != "" {
    if slf.ParentId > 0 {
        db = db.Where("parent_id=?", slf.ParentId)
    }
    if slf.CompanyId != 0 {
        db = db.Where("company_id=?", slf.CompanyId)
    }
    if len(slf.Parents) != 0 {
        db = db.Where("parent_id in (?)", slf.Parents)
    if len(slf.Codes) != 0 {
        db = db.Where("warehouse_code in (?)", slf.Codes)
    }
    return db