jiangshuai
2023-09-21 2b3b678a0e0156e68415aa287fdf85d05583a5b4
1.修改出入库列表显示异常的问题
9个文件已修改
130 ■■■■■ 已修改文件
controllers/operation.go 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/location.go 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/operation.go 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/operation_details.go 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
request/operation.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/router.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/operation.go
@@ -65,9 +65,9 @@
        if location, err := models.NewLocationSearch().SetType(int(constvar.LocationTypeVendor)).First(); err != nil {
            return err
        } else {
            params.FromLocationId = location.Id
            params.FromLocationID = location.Id
        }
        if params.ToLocationId == 0 {
        if params.ToLocationID == 0 {
            return errors.New("请选择目标位置")
        }
    }
@@ -75,17 +75,17 @@
        if location, err := models.NewLocationSearch().SetType(int(constvar.LocationTypeCustomer)).First(); err != nil {
            return err
        } else {
            params.ToLocationId = location.Id
            params.ToLocationID = location.Id
        }
        if params.FromLocationId == 0 {
        if params.FromLocationID == 0 {
            return errors.New("请选择源位置")
        }
    }
    if operationType.BaseOperationType == constvar.BaseOperationTypeInternal {
        if params.ToLocationId == 0 {
        if params.ToLocationID == 0 {
            return errors.New("请选择目标位置")
        }
        if params.FromLocationId == 0 {
        if params.FromLocationID == 0 {
            return errors.New("请选择源位置")
        }
    }
@@ -117,7 +117,7 @@
        if v.ProductName == "" {
            return errors.New("产品名称异常")
        }
        if v.Quantity.IsNegative() {
        if v.Amount.IsNegative() {
            return errors.New("产品数量出错")
        }
    }
@@ -172,7 +172,7 @@
// @Param     object  body request.UpdateOperation true  "入库信息"
// @Param     id  path int true  "入库信息id"
// @Success   200 {object} util.Response "成功"
// @Router    /api-wms/v1/operation/operation/{id} [post]
// @Router    /api-wms/v1/operation/operation/{id} [put]
func (slf OperationController) Update(c *gin.Context) {
    id := cast.ToUint(c.Param("id"))
    if id == 0 {
@@ -315,7 +315,7 @@
            }
            for _, v := range listDetails {
                listProdtId = append(listProdtId, v.ProductId)
                mapProdt[v.ProductId] = v.Quantity
                mapProdt[v.ProductId] = v.Amount
            }
            if err := models.NewMaterialSearch().Orm.Where("id IN ?", listProdtId).Find(&listProdt).Error; err != nil {
                return err
docs/docs.go
@@ -565,7 +565,7 @@
            }
        },
        "/api-wms/v1/operation/operation/{id}": {
            "post": {
            "put": {
                "produces": [
                    "application/json"
                ],
@@ -1584,14 +1584,6 @@
        "models.Location": {
            "type": "object",
            "properties": {
                "company": {
                    "description": "公司",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.Company"
                        }
                    ]
                },
                "companyId": {
                    "description": "公司id",
                    "type": "integer"
@@ -1635,7 +1627,7 @@
                    "type": "boolean"
                },
                "type": {
                    "description": "位置类型",
                    "description": "Company              Company                       ` + "`" + `json:\"company\" gorm:\"foreignKey:CompanyId\"` + "`" + `                       //公司",
                    "allOf": [
                        {
                            "$ref": "#/definitions/constvar.LocationType"
docs/swagger.json
@@ -553,7 +553,7 @@
            }
        },
        "/api-wms/v1/operation/operation/{id}": {
            "post": {
            "put": {
                "produces": [
                    "application/json"
                ],
@@ -1572,14 +1572,6 @@
        "models.Location": {
            "type": "object",
            "properties": {
                "company": {
                    "description": "公司",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.Company"
                        }
                    ]
                },
                "companyId": {
                    "description": "公司id",
                    "type": "integer"
@@ -1623,7 +1615,7 @@
                    "type": "boolean"
                },
                "type": {
                    "description": "位置类型",
                    "description": "Company              Company                       `json:\"company\" gorm:\"foreignKey:CompanyId\"`                       //公司",
                    "allOf": [
                        {
                            "$ref": "#/definitions/constvar.LocationType"
docs/swagger.yaml
@@ -221,10 +221,6 @@
    type: object
  models.Location:
    properties:
      company:
        allOf:
        - $ref: '#/definitions/models.Company'
        description: 公司
      companyId:
        description: 公司id
        type: integer
@@ -257,7 +253,8 @@
      type:
        allOf:
        - $ref: '#/definitions/constvar.LocationType'
        description: 位置类型
        description: Company              Company                       `json:"company"
          gorm:"foreignKey:CompanyId"`                       //公司
      updateTime:
        type: string
    type: object
@@ -1247,7 +1244,7 @@
      summary: 删除入库/出库信息
      tags:
      - 入库/出库
    post:
    put:
      parameters:
      - description: 入库信息
        in: body
models/location.go
@@ -11,17 +11,17 @@
    // Location 位置
    Location struct {
        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
        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:位置类型"`                     //位置类型
        CountFrequency       int                           `json:"countFrequency" gorm:"type:tinyint;comment:盘点频率(天)"`        //盘点频率(天)
        IsScrapLocation      bool                          `json:"isScrapLocation" gorm:"type:tinyint;comment:是否报废位置"`        //是否报废位置
        IsReturnLocation     bool                          `json:"isReturnLocation" gorm:"type:tinyint;comment:是否退货位置"`       //是否退货位置
        ReplenishLocation    bool                          `json:"replenishLocation" gorm:"type:tinyint;comment:是否补充位置"`      //是否补充位置
        ForceRemovalStrategy constvar.ForceRemovalStrategy `json:"forceRemovalStrategy" gorm:"type:tinyint;comment:下架策略"`     //下架策略
        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
        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:位置类型"`                 //位置类型
        CountFrequency       int                           `json:"countFrequency" gorm:"type:tinyint;comment:盘点频率(天)"`    //盘点频率(天)
        IsScrapLocation      bool                          `json:"isScrapLocation" gorm:"type:tinyint;comment:是否报废位置"`    //是否报废位置
        IsReturnLocation     bool                          `json:"isReturnLocation" gorm:"type:tinyint;comment:是否退货位置"`   //是否退货位置
        ReplenishLocation    bool                          `json:"replenishLocation" gorm:"type:tinyint;comment:是否补充位置"`  //是否补充位置
        ForceRemovalStrategy constvar.ForceRemovalStrategy `json:"forceRemovalStrategy" gorm:"type:tinyint;comment:下架策略"` //下架策略
    }
    LocationSearch struct {
@@ -59,8 +59,8 @@
    return slf
}
func (slf *LocationSearch) SetID(id int) *LocationSearch {
    slf.Id = id
func (slf *LocationSearch) SetID(ID int) *LocationSearch {
    slf.Id = ID
    return slf
}
func (slf *LocationSearch) SetParents(ids []string) *LocationSearch {
@@ -101,8 +101,8 @@
func (slf *LocationSearch) build() *gorm.DB {
    var db = slf.Orm.Table(slf.TableName())
    if slf.Id != 0 {
        db = db.Where("id = ?", slf.Id)
    if slf.ID != 0 {
        db = db.Where("id = ?", slf.ID)
    }
    if slf.Order != "" {
models/operation.go
@@ -12,14 +12,14 @@
    Operation struct {
        WmsModel
        Id              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
        Number          string                   `json:"number" gorm:"type:varchar(255)"`                         //单号
        SourceNumber    string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                   //源单号
        OperationTypeId int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"` //作业类型id
        Status          constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:状态"`          //状态
        FromLocationId  int                      `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"` //源位置id
        FromLocation    Location                 `json:"fromLocation"     gorm:"foreignKey:FromLocationId"`       //源位置
        ToLocationId    int                      `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"` //目标位置id
        ToLocation      Location                 `json:"toLocation"      gorm:"foreignKey:ToLocationId"`          //目标位置
        Number          string                   `json:"number" gorm:"type:varchar(255)"`                                 //单号
        SourceNumber    string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                           //源单号
        OperationTypeId int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"`         //作业类型id
        Status          constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:状态"`                  //状态
        FromLocationID  int                      `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"`         //源位置id
        FromLocation    Location                 `json:"fromLocation"     gorm:"foreignKey:FromLocationID;references:Id"` //源位置
        ToLocationID    int                      `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"`         //目标位置id
        ToLocation      Location                 `json:"toLocation"      gorm:"foreignKey:ToLocationID;references:Id"`    //目标位置
        OperationDate   string                   `json:"operationDate" gorm:"type:varchar(31);comment:安排日期"`
        ContacterID     int                      `json:"contacterID" gorm:"type:int;comment:联系人ID"`
        ContacterName   string                   `json:"contacterName" gorm:"type:varchar(63);comment:联系人姓名"`
@@ -27,7 +27,7 @@
        CompanyName     string                   `json:"companyName" gorm:"type:varchar(127);comment:公司名称-客户"`
        Comment         string                   `json:"comment" gorm:"type:text;comment:备注"`
        Details []*OperationDetails `json:"details"`
        Details []*OperationDetails `json:"details" gorm:"foreignKey:OperationID;references:Id"`
        //Weight          decimal.Decimal          `json:"weight" gorm:"type:decimal(20,2);comment:重量(kg)"`
        //TransferWeight  decimal.Decimal          `json:"transferWeight" gorm:"type:decimal(20,2);comment:物流重量(kg)"`
@@ -70,8 +70,8 @@
    return slf
}
func (slf *OperationSearch) SetID(id int) *OperationSearch {
    slf.Id = id
func (slf *OperationSearch) SetID(ID int) *OperationSearch {
    slf.Id = ID
    return slf
}
@@ -93,8 +93,8 @@
func (slf *OperationSearch) build() *gorm.DB {
    var db = slf.Orm.Model(&Operation{})
    if slf.Id != 0 {
        db = db.Where("id = ?", slf.Id)
    if slf.ID != 0 {
        db = db.Where("id = ?", slf.ID)
    }
    if slf.Order != "" {
        db = db.Order(slf.Order)
@@ -109,7 +109,7 @@
    }
    if slf.Preload {
        db = db.Model(&Operation{}).Preload("Details")
        db = db.Model(&Operation{}).Preload("Details").Preload("FromLocation").Preload("ToLocation")
    }
    return db
models/operation_details.go
@@ -11,12 +11,11 @@
    // OperationDetails 操作明细表
    OperationDetails struct {
        WmsModel
        Id          int             `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
        OperationId int             `json:"OperationId" gorm:"type:int;not null;comment:操作记录id"`        //操作id
        OperationID int             `json:"operationId" gorm:"type:int;not null;comment:操作记录id"`        //操作id
        ProductId   string          `json:"productId" gorm:"type:varchar(191);not null;comment:产品id"`   //产品id
        ProductName string          `json:"productName" gorm:"type:varchar(255);not null;comment:产品名称"` //产品名称
        Quantity    decimal.Decimal `json:"quantity" gorm:"type:decimal(20,2);not null;comment:数量"`     //数量
        Amount      decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:数量"`       //数量
        Unit        string          `json:"unit" gorm:"type:varchar(31);comment:单位"`
    }
@@ -54,8 +53,8 @@
    return slf
}
func (slf *OperationDetailsSearch) SetID(id uint) *OperationDetailsSearch {
    slf.ID = id
func (slf *OperationDetailsSearch) SetID(ID int) *OperationDetailsSearch {
    slf.Id = ID
    return slf
}
@@ -70,7 +69,7 @@
}
func (slf *OperationDetailsSearch) SetOperationId(operationId int) *OperationDetailsSearch {
    slf.OperationId = operationId
    slf.OperationID = operationId
    return slf
}
@@ -89,8 +88,8 @@
        db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
    }
    if slf.OperationId != 0 {
        db = db.Where("operation_id = ?", slf.OperationId)
    if slf.OperationID != 0 {
        db = db.Where("operation_id = ?", slf.OperationID)
    }
    return db
request/operation.go
@@ -6,7 +6,7 @@
)
type AddOperation struct {
    Id              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
    ID              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
    Number          string                   `json:"number" gorm:"column:number;type:varchar(255)"`           //单号
    SourceNumber    string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                   //源单号
    OperationTypeId int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"` //作业类型id
@@ -42,7 +42,7 @@
}
type UpdateOperation struct {
    Id              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
    ID              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
    Number          string                   `json:"number" gorm:"column:number;type:varchar(255)"`           //单号
    SourceNumber    string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                   //源单号
    OperationTypeId int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"` //作业类型id
router/router.go
@@ -79,7 +79,7 @@
    {
        operationAPI.GET("operation", operationController.List)
        operationAPI.POST("operation", operationController.Add)
        operationAPI.POST("operation/:id", operationController.Update)
        operationAPI.PUT("operation/:id", operationController.Update)
        operationAPI.DELETE("operation/:id", operationController.Delete)
        operationAPI.PUT("Finish/:id", operationController.Finish)
    }