feat:完善项目

This commit is contained in:
henry
2021-11-10 11:26:40 +08:00
parent fb77e15579
commit 095bdcfe4c
10 changed files with 263 additions and 35 deletions

View File

@ -130,12 +130,31 @@ func (c *Instance) Workbench(materialID uint64, kind, page, pageSize int) (*basi
mSysUserRole := model.NewSysUserRole()
roleIDs := make([]string, 0)
err := model2.Pluck(mSysUserRole.SysUserRole, "id", &roleIDs, model2.NewWhere("uid", c.UID))
err := model2.Pluck(mSysUserRole.SysUserRole, "role_id", &roleIDs, model2.NewWhere("uid", c.UID))
if err != nil {
return nil, err
}
return nil, nil
mWorkInstance := model.NewWorkInstance()
where := make([]*model2.ModelWhere, 0)
if materialID > 0 {
where = append(where, model2.NewWhere("w.material_id", materialID))
}
if kind > 0 {
where = append(where, model2.NewWhere("w.kind", kind))
}
var count int64
out := make([]*model.WorkInstanceInfo, 0)
if out, err = mWorkInstance.Workbench(&model.WorkbenchCondition{
UID: c.UIDToString(), RoleIDs: roleIDs,
}, page, pageSize, &count, where...); err != nil {
return nil, err
}
return &basic.PageDataResponse{Data: out, Count: count}, nil
}
func (c *Instance) Detail(id uint64) (interface{}, error) {
@ -187,14 +206,16 @@ func (c *Instance) Launch(params *InstanceLaunchParams) error {
return errors.New("操作错误,无工单流程信息,请先核实数据")
}
mWorkInstance.Schedule = mWorkSchedule.ID
mWorkInstance.Status = model2.WorkInstanceStatusForComplete
// 下一流程
nextWorkSchedule := new(model.WorkScheduleInfo)
if nextWorkSchedule, err = mWorkSchedule.NextSchedule(mWorkInstance.IsAssist == model2.WorkInstanceAssistForYes); err != nil {
return err
}
if nextWorkSchedule == nil {
mWorkInstance.Status = model2.WorkInstanceStatusForComplete
if nextWorkSchedule != nil {
mWorkInstance.Status = model2.WorkInstanceStatusForOngoing
mWorkInstance.Schedule = nextWorkSchedule.ID
}
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
if err = model2.Create(mWorkInstance.WorkInstance, tx); err != nil {
@ -240,7 +261,7 @@ func (c *Instance) Examine(id uint64, status int, remark string, isAssist int) e
mWorkSchedule := model.NewWorkSchedule()
mWorkSchedule.ID = mWorkInstance.Schedule
if isExist, err = model2.First(mWorkSchedule); err != nil {
if isExist, err = model2.First(mWorkSchedule.WorkSchedule); err != nil {
return err
} else if !isExist {
return errors.New("操作错误,未知的工单流程")