feat:完善项目
This commit is contained in:
@ -44,7 +44,7 @@ type (
|
||||
}
|
||||
// EquipmentParams 装备参数信息
|
||||
EquipmentParams struct {
|
||||
ID uint64
|
||||
ID, ParentID uint64
|
||||
Code, Title, Image, Config, Remark string
|
||||
}
|
||||
)
|
||||
@ -186,6 +186,7 @@ func (c *Equipment) Form(params *EquipmentParams) error {
|
||||
}
|
||||
}
|
||||
}
|
||||
mManageEquipment.ParentID = params.ParentID
|
||||
mManageEquipment.Code = params.Code
|
||||
mManageEquipment.Title = params.Title
|
||||
mManageEquipment.Image.Image = params.Image
|
||||
@ -210,11 +211,7 @@ func (c *Equipment) Form(params *EquipmentParams) error {
|
||||
func (c *Equipment) Delete(id uint64) error {
|
||||
mManageEquipment := model.NewManageEquipment()
|
||||
mManageEquipment.ID = id
|
||||
|
||||
if err := model2.Delete(mManageEquipment.ManageEquipment); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
return model2.Delete(mManageEquipment.ManageEquipment)
|
||||
}
|
||||
|
||||
func NewEquipment() EquipmentHandle {
|
||||
|
@ -6,7 +6,9 @@ import (
|
||||
"ArmedPolice/app/model"
|
||||
"ArmedPolice/app/service"
|
||||
"ArmedPolice/config"
|
||||
"ArmedPolice/serve/orm"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -23,13 +25,17 @@ type (
|
||||
// MaterialInfo 基本信息
|
||||
MaterialInfo struct {
|
||||
basic.CommonIDString
|
||||
ManufacturerID string `json:"manufacturer_id"`
|
||||
*model.ManageMaterialInfo
|
||||
}
|
||||
// MaterialParams 基本参数
|
||||
MaterialParams struct {
|
||||
ID, ManufacturerID uint64
|
||||
Code, Title, Image, Remark string
|
||||
Unit int
|
||||
ID, ManufacturerID, MaterialID uint64
|
||||
Code, Title, Image, Remark string
|
||||
Unit int
|
||||
Price float64
|
||||
SupplierID uint64
|
||||
Stock float64
|
||||
}
|
||||
)
|
||||
|
||||
@ -62,7 +68,7 @@ func (c *Material) List(manufacturerID, supplierID uint64, code, title string, p
|
||||
}
|
||||
var count int64
|
||||
|
||||
out, err := mManageMaterial.Materials(page, pageSize, &count)
|
||||
out, err := mManageMaterial.Materials(page, pageSize, &count, where...)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -70,9 +76,14 @@ func (c *Material) List(manufacturerID, supplierID uint64, code, title string, p
|
||||
list := make([]*MaterialInfo, 0)
|
||||
|
||||
for _, v := range out {
|
||||
mManageMaterial.SetID(v.ManageMaterial.ManufacturerID)
|
||||
|
||||
v.Stock -= v.FrozenStock
|
||||
v.Image.Image = v.Analysis(config.SettingInfo.Domain)
|
||||
|
||||
list = append(list, &MaterialInfo{
|
||||
CommonIDString: basic.CommonIDString{ID: v.GetEncodeID()},
|
||||
ManufacturerID: mManageMaterial.GetEncodeID(),
|
||||
ManageMaterialInfo: v,
|
||||
})
|
||||
}
|
||||
@ -122,9 +133,13 @@ func (c *Material) Form(params *MaterialParams) error {
|
||||
return errors.New("操作错误,已存在此对应的器材编码")
|
||||
}
|
||||
}
|
||||
if mManageMaterial.TenantID != c.TenantID {
|
||||
return errors.New("操作错误,无权限操作")
|
||||
}
|
||||
}
|
||||
mManageMaterial.ManufacturerID = params.ManufacturerID
|
||||
mManageMaterial.Code = params.Code
|
||||
mManageMaterial.Price = params.Price
|
||||
mManageMaterial.Title = params.Title
|
||||
mManageMaterial.Unit = model2.ManageMaterialUnit(params.Unit)
|
||||
mManageMaterial.Remark = params.Remark
|
||||
@ -133,15 +148,44 @@ func (c *Material) Form(params *MaterialParams) error {
|
||||
mManageMaterial.UpdatedAt = time.Now()
|
||||
return model2.Updates(mManageMaterial.ManageMaterial, mManageMaterial.ManageMaterial)
|
||||
}
|
||||
isExist, err := params.isExistForCode(mManageMaterial, c.TenantID)
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
if params.MaterialID <= 0 {
|
||||
isExist, err := params.isExistForCode(mManageMaterial, c.TenantID)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if isExist {
|
||||
return errors.New("操作错误,已存在此对应的器材编码")
|
||||
}
|
||||
mManageMaterial.TenantID = c.TenantID
|
||||
|
||||
if err = model2.Create(mManageMaterial.ManageMaterial, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
params.MaterialID = mManageMaterial.ID
|
||||
} else {
|
||||
if params.SupplierID <= 0 {
|
||||
return errors.New("操作错误,未知的供应商信息")
|
||||
}
|
||||
}
|
||||
mManageMaterialSupplier := model.NewManageMaterialSupplier()
|
||||
|
||||
var count int64
|
||||
|
||||
err := model2.Count(mManageMaterialSupplier.ManageMaterialSupplier, &count, model2.NewWhere("material_id", params.MaterialID),
|
||||
model2.NewWhere("supplier_id", params.SupplierID))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if count > 0 {
|
||||
return errors.New("操作错误,该器材已含有供应商信息")
|
||||
}
|
||||
mManageMaterialSupplier.MaterialID = params.MaterialID
|
||||
mManageMaterialSupplier.SupplierID = params.SupplierID
|
||||
mManageMaterialSupplier.Stock = params.Stock
|
||||
return model2.Create(mManageMaterialSupplier.ManageMaterialSupplier, tx)
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if isExist {
|
||||
return errors.New("操作错误,已存在此对应的器材编码")
|
||||
}
|
||||
mManageMaterial.TenantID = c.TenantID
|
||||
return model2.Create(mManageMaterial.ManageMaterial)
|
||||
}
|
||||
|
||||
// Delete 删除操作
|
||||
|
Reference in New Issue
Block a user