Browse Source

添加维护工单页抽屉对应新增两个接口,1. 通过assetid查询对应的维护服务 2.手动创建维护工单

pull/101/head
zhangxin 3 years ago
parent
commit
312836d8e3
5 changed files with 95 additions and 0 deletions
  1. +24
    -0
      web/controllers/pm_service_controller.go
  2. +32
    -0
      web/controllers/pm_wo_controller.go
  3. +15
    -0
      web/models/pm_service_model.go
  4. +21
    -0
      web/models/pm_wo_model.go
  5. +3
    -0
      web/routes/routes.go

+ 24
- 0
web/controllers/pm_service_controller.go View File

@ -188,3 +188,27 @@ func SelectArrPmService(ctx iris.Context) {
}
supports.Ok(ctx, "成功", res)
}
// 通过assetid 查询对应资产下面的维护服务
func SelectServiceByParam(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
pmService := new(models.PmService)
assetId, err := ctx.URLParamInt("assetid")
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, "未获取到资产id", nil)
return
}
data, err := pmService.Select(assetId)
if err != nil {
supports.Error(ctx, iris.StatusInternalServerError, "查询服务出错:" + err.Error(), nil)
return
}
result := make(map[string]interface{})
result["data"] = data
supports.Ok(ctx, "成功", result)
}

+ 32
- 0
web/controllers/pm_wo_controller.go View File

@ -182,3 +182,35 @@ func GetPmWoAll(ctx iris.Context) {
}
supports.Ok(ctx, supports.OptionSuccess, result)
}
// 手动创建维护工单接口
func InsertOnePMWO(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
//日志
logs := new(models.LeitServerLog)
logs.File = "/controllers/PmWo_controller.go"
logs.Level = "info"
logs.Function = "InsertOne"
logs.Message = "创建维护工单"
logs.Operator = user.Userid
logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
logs.InsertRecord()
pmOrder := new(models.PmWo)
if err := ctx.ReadJSON(pmOrder); err != nil {
supports.Error(ctx, iris.StatusBadRequest, "解析参数错误:" + err.Error(), nil)
return
}
pmOrder.Finr = user.Pid
pmOrder.Lastuser = user.Userid
err := pmOrder.InsertOne()
if err != nil {
supports.Error(ctx, iris.StatusInternalServerError, "创建维护工单失败,错误: " + err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, nil)
}

+ 15
- 0
web/models/pm_service_model.go View File

@ -37,6 +37,12 @@ type PmService struct {
UnValst []PmAttribute `json:"unvalst" xorm:"-"`
}
type PMServiceAsset struct {
PmService `xorm:"extends"`
PmAssetTemplatelst `xorm:"extends"`
PmTemplateServicelst `xorm:"extends"`
}
func (t *PmService) TableName() string {
return "pm_service"
}
@ -212,3 +218,12 @@ func (t *PmService) GetPage(descr string, pageSize int, pageIndex int) ([]PmServ
}
return data, int(count), nil
}
func (t *PmService) Select(assetId int) ([]PMServiceAsset, error) {
pmServiceLi := make([]PMServiceAsset, 0)
e := db.Eloquent.Master()
query := e.Table(t.TableName()).Join("LEFT", "pm_template_servicelst", "pm_service.finr = pm_template_servicelst.finr and pm_service.mainserviceid = pm_template_servicelst.mainservicenr")
query = query.Join("LEFT", "pm_asset_templatelst", "pm_template_servicelst.finr = pm_asset_templatelst.finr and pm_template_servicelst.maintemplatenr = pm_asset_templatelst.maintemplatenr")
err := query.Where("pm_asset_templatelst.assetid = ?", assetId).Find(&pmServiceLi)
return pmServiceLi, err
}

+ 21
- 0
web/models/pm_wo_model.go View File

@ -81,6 +81,26 @@ func (t *PmWo) Add() error {
return nil
}
func (t *PmWo) InsertOne() error {
now := time.Now()
today := now.Format("20060102")
nowTime := now.Format("20060102150405")
snr := new(Snrtab)
snr.Finr = 100
woid, err := snr.GetNextSnr("WOID")
if err != nil {
return errors.New("生成Maintwoid出错:" + err.Error())
}
t.Maintwoid = woid
t.Status = 26
t.Plbegdat = today
t.Schedbegtime = nowTime
t.Schedendtime = nowTime
t.Credatuz = nowTime
t.Lastmodif = nowTime
return t.Add()
}
//删
func (t *PmWo) Del() bool {
e := db.Eloquent.Master()
@ -817,3 +837,4 @@ func doSth(ctx context.Context) {
}
}
}

+ 3
- 0
web/routes/routes.go View File

@ -198,6 +198,8 @@ func Hub(app *iris.Application) {
pm_service.Delete("/del", controllers.DeletePmService)
pm_service.Put("/upinfo", controllers.UpdatePmService)
pm_service.Get("/selectall", controllers.SelectArrPmService)
pm_service.Get("/query", controllers.SelectServiceByParam)
//维护模板
pm_template := admin.Party("/pm_template")
@ -226,6 +228,7 @@ func Hub(app *iris.Application) {
pm_wo.Get("/selectone", controllers.GetPmWo)
pm_wo.Get("/selectall", controllers.GetPmWoAll)
pm_wo.Put("/upinfo", controllers.UpdatePmWo)
pm_wo.Post("/insertone", controllers.InsertOnePMWO)
//维护工单服务属性
pm_wo_attr := admin.Party("/pm_wo_attr")


Loading…
Cancel
Save