feat:完善项目
This commit is contained in:
@ -33,6 +33,7 @@ type (
|
||||
} `json:"outside" form:"outside"`
|
||||
Within struct {
|
||||
Material []*model.WorkMaterialInfo `json:"material"`
|
||||
Purchase []*model.WorkPurchaseInfo `json:"purchase"`
|
||||
} `json:"within"`
|
||||
Distribution *model2.WorkInstanceDistribution `json:"distribution"`
|
||||
History []*model.WorkProgressInfo `json:"history"`
|
||||
@ -136,38 +137,63 @@ func (c *Instance) material(tx *gorm.DB, material []*InstanceLaunchParamsForMate
|
||||
}
|
||||
|
||||
/// purchase 采购操作
|
||||
func (c *Instance) purchase(tx *gorm.DB, purchase []*InstanceLaunchParamsForPurchase) error {
|
||||
mManageMaterialPurchase := model.NewManageMaterialPurchase()
|
||||
func (c *Instance) purchase(tx *gorm.DB, purchase []*InstanceLaunchParamsForPurchase, workID uint64) error {
|
||||
//mManageMaterialPurchase := model.NewManageMaterialPurchase()
|
||||
|
||||
_purchase := make([]*model2.ManageMaterialPurchase, 0)
|
||||
//_purchase := make([]*model2.ManageMaterialPurchase, 0)
|
||||
|
||||
for _, v := range purchase {
|
||||
_purchase = append(_purchase, &model2.ManageMaterialPurchase{
|
||||
UID: c.UID,
|
||||
OrderNo: lib.OrderNo(),
|
||||
MaterialID: v.ID,
|
||||
SupplierID: v.SupplierID,
|
||||
Price: v.Price,
|
||||
Number: v.Number,
|
||||
Remark: "工单采购",
|
||||
})
|
||||
}
|
||||
if len(_purchase) > 0 {
|
||||
if err := model2.Creates(mManageMaterialPurchase.ManageMaterialPurchase, _purchase, tx); err != nil {
|
||||
mManageMaterialPurchase := model.NewManageMaterialPurchase()
|
||||
|
||||
mManageMaterialPurchase.UID = c.UID
|
||||
mManageMaterialPurchase.OrderNo = lib.OrderNo()
|
||||
mManageMaterialPurchase.MaterialID = v.ID
|
||||
mManageMaterialPurchase.SupplierID = v.SupplierID
|
||||
mManageMaterialPurchase.Price = v.Price
|
||||
mManageMaterialPurchase.Number = v.Number
|
||||
mManageMaterialPurchase.Remark = "工单采购"
|
||||
|
||||
err := model2.Create(mManageMaterialPurchase.ManageMaterialPurchase, tx)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
mWorkPurchase := model.NewWorkPurchase()
|
||||
mWorkPurchase.WorkID = workID
|
||||
mWorkPurchase.MaterialPurchaseID = mManageMaterialPurchase.ID
|
||||
|
||||
if err = model2.Create(mWorkPurchase.WorkPurchase, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
//_purchase = append(_purchase, &model2.ManageMaterialPurchase{
|
||||
// UID: c.UID,
|
||||
// OrderNo: lib.OrderNo(),
|
||||
// MaterialID: v.ID,
|
||||
// SupplierID: v.SupplierID,
|
||||
// Price: v.Price,
|
||||
// Number: v.Number,
|
||||
// Remark: "工单采购",
|
||||
//})
|
||||
}
|
||||
//if len(_purchase) > 0 {
|
||||
// if err := model2.Creates(mManageMaterialPurchase.ManageMaterialPurchase, _purchase, tx); err != nil {
|
||||
// return err
|
||||
// }
|
||||
//}
|
||||
return nil
|
||||
}
|
||||
|
||||
// List 列表信息
|
||||
func (c *Instance) List(materialID uint64, kind, page, pageSize int) (*basic.PageDataResponse, error) {
|
||||
func (c *Instance) List(equipmentCode, equipmentTitle string, kind, page, pageSize int) (*basic.PageDataResponse, error) {
|
||||
mWorkInstance := model.NewWorkInstance()
|
||||
|
||||
where := make([]*model2.ModelWhere, 0)
|
||||
|
||||
if materialID > 0 {
|
||||
where = append(where, model2.NewWhere("w.material_id", materialID))
|
||||
if equipmentCode != "" {
|
||||
where = append(where, model2.NewWhereLike("e.code", equipmentCode))
|
||||
}
|
||||
if equipmentTitle != "" {
|
||||
where = append(where, model2.NewWhereLike("e.title", equipmentTitle))
|
||||
}
|
||||
if kind > 0 {
|
||||
where = append(where, model2.NewWhere("w.kind", kind))
|
||||
@ -285,14 +311,22 @@ func (c *Instance) Detail(id uint64) (*InstanceDetailInfo, error) {
|
||||
out.Distribution = mWorkInstance.GetDistributionAttribute()
|
||||
// 内修才有数据
|
||||
if out.WorkInstanceInfo.Kind == model2.WorkInstanceKindForWithin {
|
||||
// 器材信息
|
||||
materials := make([]*model.WorkMaterialInfo, 0)
|
||||
|
||||
if materials, err = model.NewWorkMaterial().Materials(id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// 采购信息
|
||||
purchases := make([]*model.WorkPurchaseInfo, 0)
|
||||
|
||||
if purchases, err = model.NewWorkPurchase().Purchases(id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
out.Within = struct {
|
||||
Material []*model.WorkMaterialInfo `json:"material"`
|
||||
}{Material: materials}
|
||||
Purchase []*model.WorkPurchaseInfo `json:"purchase"`
|
||||
}{Material: materials, Purchase: purchases}
|
||||
} else if out.WorkInstanceInfo.Kind == model2.WorkInstanceKindForOutside {
|
||||
out.Outside = struct {
|
||||
SupplierName string `json:"supplier_name"`
|
||||
@ -388,7 +422,7 @@ func (c *Instance) Launch(params *InstanceLaunchParams) error {
|
||||
return err
|
||||
}
|
||||
// 采购信息
|
||||
if err = c.purchase(tx, params.Purchase); err != nil {
|
||||
if err = c.purchase(tx, params.Purchase, mWorkInstance.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@ -496,7 +530,7 @@ func (c *Instance) Examine(id uint64, status int, remark string, isAssist int, p
|
||||
return err
|
||||
}
|
||||
// 采购信息
|
||||
if err = c.purchase(tx, params.Purchase); err != nil {
|
||||
if err = c.purchase(tx, params.Purchase, id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user