liujiandao
2023-10-27 a3de6fbf95c9d3ca08ac5b78217c7a065c9a39a7
退货单修改
13个文件已修改
66 ■■■■ 已修改文件
api/v1/contract.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/salesDetails.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/SalesReturnProduct.go 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/contract.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/request/contract.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/request/salesDetails.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/salesDetails.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/salesDetailsProduct.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/salesDetails.go 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/salesReturn.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/contract.go
@@ -140,6 +140,7 @@
        File:         contract.File,
        CodeStandID:  contract.CodeStandID,
        ContractName: contract.ContractName,
        SendTime:     contract.SendTime,
    }
    return ecode.OK, contractModel
api/v1/salesDetails.go
@@ -159,6 +159,7 @@
    salesDetailsModel.LogisticCost = salesDetails.LogisticCost
    salesDetailsModel.CodeStandID = salesDetails.CodeStandID
    salesDetailsModel.DeliverType = salesDetails.DeliverType
    salesDetailsModel.QuotationId = salesDetails.QuotationId
    return ecode.OK, salesDetailsModel
}
docs/docs.go
@@ -11150,6 +11150,9 @@
                "quotationId": {
                    "type": "integer"
                },
                "sendTime": {
                    "type": "string"
                },
                "serviceContractStatus": {
                    "$ref": "#/definitions/model.ServiceContractStatus"
                },
@@ -13578,7 +13581,7 @@
                    "type": "integer"
                },
                "sendTime": {
                    "description": "发货时间s",
                    "description": "发货时间",
                    "type": "string"
                },
                "status_id": {
@@ -16515,7 +16518,7 @@
                    "type": "integer"
                },
                "sendTime": {
                    "description": "发货时间s",
                    "description": "发货时间",
                    "type": "string"
                },
                "status_id": {
docs/swagger.json
@@ -11138,6 +11138,9 @@
                "quotationId": {
                    "type": "integer"
                },
                "sendTime": {
                    "type": "string"
                },
                "serviceContractStatus": {
                    "$ref": "#/definitions/model.ServiceContractStatus"
                },
@@ -13566,7 +13569,7 @@
                    "type": "integer"
                },
                "sendTime": {
                    "description": "发货时间s",
                    "description": "发货时间",
                    "type": "string"
                },
                "status_id": {
@@ -16503,7 +16506,7 @@
                    "type": "integer"
                },
                "sendTime": {
                    "description": "发货时间s",
                    "description": "发货时间",
                    "type": "string"
                },
                "status_id": {
docs/swagger.yaml
@@ -762,6 +762,8 @@
        $ref: '#/definitions/model.Quotation'
      quotationId:
        type: integer
      sendTime:
        type: string
      serviceContractStatus:
        $ref: '#/definitions/model.ServiceContractStatus'
      statusId:
@@ -2390,7 +2392,7 @@
      quotation_id:
        type: integer
      sendTime:
        description: 发货时间s
        description: 发货时间
        type: string
      status_id:
        type: integer
@@ -4405,7 +4407,7 @@
      quotation_id:
        type: integer
      sendTime:
        description: 发货时间s
        description: 发货时间
        type: string
      status_id:
        type: integer
model/SalesReturnProduct.go
@@ -9,22 +9,23 @@
type (
    // SalesReturnProduct 服务合同和产品关联
    SalesReturnProduct struct {
        SalesReturnId int  `json:"id" gorm:"column:service_contract_id;type:int;primary_key;not null;default:0"`
        SalesReturnId int  `json:"id" gorm:"column:sales_return_id;type:int;primary_key;not null;default:0"`
        ProductId     uint `json:"name" gorm:"primary_key;column:product_id;type:int;not null;default:0;comment:产品id"`
    }
    // SalesReturnProductSearch 销售明细和产品关联搜索条件
    SalesReturnProductSearch struct {
        SalesReturnProduct
        Orm      *gorm.DB
        Keyword  string
        PageNum  int
        PageSize int
        Orm        *gorm.DB
        Keyword    string
        PageNum    int
        PageSize   int
        ProductIds []uint
    }
)
func (SalesReturnProduct) TableName() string {
    return "service_contract_product"
    return "sales_return_product"
}
func NewSalesReturnProductSearch() *SalesReturnProductSearch {
@@ -35,10 +36,18 @@
func (slf *SalesReturnProductSearch) build() *gorm.DB {
    var db = slf.Orm.Model(&SalesReturnProduct{})
    if len(slf.ProductIds) > 0 {
        db = db.Where("product_id in (?)", slf.ProductIds)
    }
    return db
}
func (slf *SalesReturnProductSearch) SetProductIds(ids []uint) *SalesReturnProductSearch {
    slf.ProductIds = ids
    return slf
}
func (slf *SalesReturnProductSearch) Create(record *SalesReturnProduct) error {
    var db = slf.build()
    return db.Create(record).Error
model/contract.go
@@ -22,7 +22,7 @@
        File                  string                `json:"file" gorm:"column:file;type:varchar(255);comment:合同文件"`
        CreatedAt             *CustomTime           `json:"created_at" gorm:"column:created_at;type:datetime;comment:创建时间"`
        CodeStandID           string                `json:"codeStandID" gorm:"column:code_stand_id;type:varchar(255);comment:编码id"`
        //SendTime              string                `json:"sendTime" gorm:"column:send_time;type:varchar(255);comment:发货时间"`
        SendTime              string                `json:"sendTime" gorm:"column:send_time;type:varchar(255);comment:发货时间"`
        gormModel
    }
model/request/contract.go
@@ -13,7 +13,7 @@
    StatusId     int    `json:"status_id"`
    File         string `json:"file"`
    CodeStandID  string `json:"codeStandID"` //编码id
    SendTime     string `json:"sendTime"`    //发货时间s
    SendTime     string `json:"sendTime"`    //发货时间
}
type UpdateContract struct {
model/request/salesDetails.go
@@ -11,7 +11,7 @@
type SalesDetails struct {
    ClientId            int              `json:"clientId" gorm:"column:client_id;type:int;comment:客户id"`
    Number              string           `json:"number" gorm:"column:number;type:varchar(255);comment:销售子单号"`
    Number              string           `json:"number" gorm:"column:number;type:varchar(255);comment:销售明细单号"`
    SaleChanceId        int              `json:"saleChanceId" gorm:"column:sale_chance_id;type:int;comment:销售机会id"`
    SaleType            int              `json:"saleType" gorm:"column:sale_type;type:int;comment:销售类型"`
    SignTime            string           `json:"signTime" gorm:"column:sign_time;type:datetime;comment:签单时间"`
@@ -43,5 +43,5 @@
    Keyword      string                           `json:"keyword"`
    SaleChanceId int                              `json:"saleChanceId"` //销售机会id
    ClientId     int                              `json:"clientId"`     //客户id
    Number       string                           `json:"number"`       //销售子单号
    Number       string                           `json:"number"`       //销售明细单号
}
model/salesDetails.go
@@ -14,7 +14,7 @@
        Id                  int               `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
        ClientId            int               `json:"clientId" gorm:"column:client_id;type:int;comment:客户id"`
        Client              Client            `json:"client" gorm:"foreignKey:ClientId"`
        Number              string            `json:"number" gorm:"column:number;type:varchar(255);comment:销售子单号"`
        Number              string            `json:"number" gorm:"column:number;type:varchar(255);comment:销售明细单号"`
        SaleChanceId        int               `json:"saleChanceId" gorm:"column:sale_chance_id;type:int;comment:销售机会id"`
        SaleChance          SaleChance        `json:"saleChance" gorm:"foreignKey:SaleChanceId"`
        SaleType            int               `json:"saleType" gorm:"column:sale_type;type:int;comment:销售类型"`
model/salesDetailsProduct.go
@@ -23,6 +23,7 @@
        Keyword     string
        PageNum     int
        PageSize    int
        ProductIds  []uint
    }
)
@@ -38,10 +39,18 @@
func (slf *SalesDetailsProductSearch) build() *gorm.DB {
    var db = slf.Orm.Model(&SalesDetailsProduct{})
    if len(slf.ProductIds) > 0 {
        db = db.Where("product_id in (?)", slf.ProductIds)
    }
    return db
}
func (slf *SalesDetailsProductSearch) SetProductIds(ids []uint) *SalesDetailsProductSearch {
    slf.ProductIds = ids
    return slf
}
func (slf *SalesDetailsProductSearch) Create(record *SalesDetailsProduct) error {
    var db = slf.build()
    return db.Create(record).Error
service/salesDetails.go
@@ -22,6 +22,9 @@
    salesDetails.AmountTotal = salesDetails.AmountTotal.Round(2)
    salesDetails.AmountReceivable = salesDetails.AmountTotal
    salesDetails.AmountUnInvoiced = salesDetails.AmountTotal
    for _, product := range salesDetails.Products {
        product.Id = 0
    }
    err := model.NewSalesDetailsSearch().Create(salesDetails)
    if err != nil {
        return ecode.SalesDetailsExist
service/salesReturn.go
@@ -17,6 +17,7 @@
    salesReturn.AmountTotal = decimal.Zero
    for _, product := range salesReturn.Products {
        salesReturn.AmountTotal = salesReturn.AmountTotal.Add(product.Amount.Mul(product.Price))
        product.Id = 0
    }
    salesReturn.AmountShouldRefund = salesReturn.AmountTotal
    err := model.NewSalesReturnSearch().Create(salesReturn)