Files
ArmedPolice/app/controller/manage/material_suppler.go
2021-11-11 14:05:52 +08:00

75 lines
2.1 KiB
Go

package manage
import (
model2 "ArmedPolice/app/common/model"
"ArmedPolice/app/controller/basic"
"ArmedPolice/app/model"
"ArmedPolice/app/service"
)
type MaterialSuppler struct{ *service.Session }
type MaterialSupplerHandle func(session *service.Session) *MaterialSuppler
type (
// MaterialSupplerBasic 基本信息
MaterialSupplerBasic struct {
basic.CommonIDString
*model.ManageMaterialSupplierBasic
}
)
func (c *MaterialSuppler) List() (*basic.PageDataResponse, error) {
return &basic.PageDataResponse{Data: nil, Count: 0}, nil
}
// Select 筛选信息
func (c *MaterialSuppler) Select(materialID uint64) ([]*MaterialSupplerBasic, error) {
mManageMaterSupplier := model.NewManageMaterialSupplier()
out, err := mManageMaterSupplier.Basic(model2.NewWhere("m_s.material_id", materialID))
if err != nil {
return nil, err
}
list := make([]*MaterialSupplerBasic, 0)
for _, v := range out {
mManageMaterSupplier.SetID(v.ID)
list = append(list, &MaterialSupplerBasic{
CommonIDString: basic.CommonIDString{ID: mManageMaterSupplier.GetEncodeID()},
ManageMaterialSupplierBasic: v,
})
}
return list, nil
}
// Form 数据操作
func (c *MaterialSuppler) Form(materialID, supplierID uint64, stock float64) error {
mManageMaterSupplier := model.NewManageMaterialSupplier()
var count int64
if err := model2.Count(mManageMaterSupplier.ManageMaterialSupplier, &count, model2.NewWhere("material_id", materialID),
model2.NewWhere("supplier_id", supplierID)); err != nil {
return err
}
mManageMaterSupplier.MaterialID = materialID
mManageMaterSupplier.SupplierID = supplierID
mManageMaterSupplier.Stock = stock
return model2.Create(mManageMaterSupplier.ManageMaterialSupplier)
}
// Delete 删除操作
func (c *MaterialSuppler) Delete(id uint64) error {
mManageMaterSupplier := model.NewManageMaterialSupplier()
mManageMaterSupplier.SetID(id)
return model2.Delete(mManageMaterSupplier.ManageMaterialSupplier)
}
func NewMaterialSuppler() MaterialSupplerHandle {
return func(session *service.Session) *MaterialSuppler {
return &MaterialSuppler{session}
}
}