This commit is contained in:
henry
2021-11-22 09:47:00 +08:00
parent 6f10d771ed
commit 5d3d6ac9f5
6 changed files with 43 additions and 11 deletions

View File

@ -25,7 +25,8 @@ type (
// RepairDetailInfo 详细信息
RepairDetailInfo struct {
*RepairInfo
Details []*model2.WorkRepairDetail `json:"details"`
//Details []*model2.WorkRepairDetail `json:"details"`
Work *InstanceDetailInfo `json:"work"`
}
)
@ -64,26 +65,58 @@ func (c *Repair) List(orderNo, equipmentCode, equipmentTitle string, page, pageS
// Detail 详细信息
func (c *Repair) Detail(id uint64) (*RepairDetailInfo, error) {
repair, err := model.NewWorkRepair().Detail(id)
if err != nil {
return nil, err
}
details := make([]*model2.WorkRepairDetail, 0)
work := new(InstanceDetailInfo)
if err = model2.Find(model.NewWorkRepairDetail().WorkRepairDetail, &details, &model2.ModelWhereOrder{
Where: model2.NewWhere("repair_id", id),
Order: model2.NewOrder("id", model2.OrderModeToAsc),
}); err != nil {
mWorkInstance := model.NewWorkInstance()
// 基本信息
if work.WorkInstanceInfo, err = mWorkInstance.Detail(repair.WorkID); err != nil {
return nil, err
}
mWorkInstance.SetID(work.WorkInstanceInfo.ID)
work.CommonIDString = basic.CommonIDString{
ID: mWorkInstance.GetEncodeID(),
}
work.EquipmentID = (&model2.Model{ID: work.WorkInstanceInfo.EquipmentID}).GetEncodeID()
work.ScheduleID = (&model2.Model{ID: work.WorkInstanceInfo.ScheduleID}).GetEncodeID()
// 位置信息
mWorkInstance.Distribution = work.WorkInstanceInfo.Distribution
work.Distribution = mWorkInstance.GetDistributionAttribute()
// 内修才有数据
if work.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
}
work.Within = struct {
Material []*model.WorkMaterialInfo `json:"material"`
Purchase []*model.WorkPurchaseInfo `json:"purchase"`
}{Material: materials, Purchase: purchases}
} else if work.WorkInstanceInfo.Kind == model2.WorkInstanceKindForOutside {
work.Outside = struct {
SupplierName string `json:"supplier_name"`
}{SupplierName: work.WorkInstanceInfo.SupplierName}
}
return &RepairDetailInfo{
RepairInfo: &RepairInfo{
CommonIDString: basic.CommonIDString{ID: repair.GetEncodeID()},
WorkRepairInfo: repair,
},
Details: details,
Work: work,
//Details: details,
}, nil
}