From 312836d8e35cb33d27d9528dfb7e1b67c7d55bc0 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Tue, 13 Apr 2021 14:03:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=B4=E6=8A=A4=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E9=A1=B5=E6=8A=BD=E5=B1=89=E5=AF=B9=E5=BA=94=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=A4=E4=B8=AA=E6=8E=A5=E5=8F=A3=EF=BC=8C1.=20?= =?UTF-8?q?=E9=80=9A=E8=BF=87assetid=E6=9F=A5=E8=AF=A2=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E7=BB=B4=E6=8A=A4=E6=9C=8D=E5=8A=A1=202.=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E5=88=9B=E5=BB=BA=E7=BB=B4=E6=8A=A4=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/controllers/pm_service_controller.go | 24 ++++++++++++++++++ web/controllers/pm_wo_controller.go | 32 ++++++++++++++++++++++++ web/models/pm_service_model.go | 15 +++++++++++ web/models/pm_wo_model.go | 21 ++++++++++++++++ web/routes/routes.go | 3 +++ 5 files changed, 95 insertions(+) diff --git a/web/controllers/pm_service_controller.go b/web/controllers/pm_service_controller.go index 9d9d1af..1d5e31d 100644 --- a/web/controllers/pm_service_controller.go +++ b/web/controllers/pm_service_controller.go @@ -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) +} \ No newline at end of file diff --git a/web/controllers/pm_wo_controller.go b/web/controllers/pm_wo_controller.go index f1cffd1..9377cbb 100644 --- a/web/controllers/pm_wo_controller.go +++ b/web/controllers/pm_wo_controller.go @@ -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) +} \ No newline at end of file diff --git a/web/models/pm_service_model.go b/web/models/pm_service_model.go index 30e44fd..8600b6e 100644 --- a/web/models/pm_service_model.go +++ b/web/models/pm_service_model.go @@ -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 +} \ No newline at end of file diff --git a/web/models/pm_wo_model.go b/web/models/pm_wo_model.go index f288bda..5b8c609 100644 --- a/web/models/pm_wo_model.go +++ b/web/models/pm_wo_model.go @@ -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) { } } } + diff --git a/web/routes/routes.go b/web/routes/routes.go index d138e38..596ed4a 100644 --- a/web/routes/routes.go +++ b/web/routes/routes.go @@ -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")