Browse Source

Merge pull request '手动生成服务' (#395) from fix_pms into develop

Reviewed-on: http://101.201.121.115:3000/leo/LAPP_GAAS_GFrame_BACKEND/pulls/395
Reviewed-by: weichenglei <chenglei.wei@le-it.com.cn>
pull/396/head
weichenglei 3 years ago
parent
commit
cd11e30a13
3 changed files with 105 additions and 18 deletions
  1. +5
    -5
      web/models/pm_service_model.go
  2. +19
    -0
      web/models/pm_wo_attrlst_model.go
  3. +81
    -13
      web/models/pm_wo_model.go

+ 5
- 5
web/models/pm_service_model.go View File

@ -38,8 +38,8 @@ type PmService struct {
}
type PMServiceAsset struct {
PmService `xorm:"extends"`
PmAssetTemplatelst `xorm:"extends"`
PmService `xorm:"extends"`
PmAssetTemplatelst `xorm:"extends"`
PmTemplateServicelst `xorm:"extends"`
}
@ -219,11 +219,11 @@ func (t *PmService) GetPage(descr string, pageSize int, pageIndex int) ([]PmServ
return data, int(count), nil
}
func (t *PmService) Select(assetId int) ([]PMServiceAsset, error) {
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)
err := query.Where("pm_asset_templatelst.assetid = ? and pm_service.schedtype = ?", assetId, "MANUAL").Find(&pmServiceLi)
return pmServiceLi, err
}
}

+ 19
- 0
web/models/pm_wo_attrlst_model.go View File

@ -4,6 +4,7 @@ import (
"LAPP_GAAS_GFrame_BACKEND/db"
"LAPP_GAAS_GFrame_BACKEND/utils"
"errors"
"github.com/go-xorm/xorm"
"xorm.io/core"
)
@ -53,6 +54,24 @@ func (t *PmWoAttrlst) Add() error {
return nil
}
//增
func (t *PmWoAttrlst) AddSession(session *xorm.Session) error {
count := new(PmWoAttrlst)
affw, err := session.Table("pm_wo_attrlst").ID(core.PK{t.Finr, t.Maintwoid, t.Mainservicenr, t.Attrnr}).Count(count)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = session.Table("pm_wo_attrlst").Insert(t)
if err != nil {
return err
}
return nil
}
//改
func (t *PmWoAttrlst) Update() error {
e := db.Eloquent.Master()


+ 81
- 13
web/models/pm_wo_model.go View File

@ -4,6 +4,7 @@ import (
"LAPP_GAAS_GFrame_BACKEND/db"
"LAPP_GAAS_GFrame_BACKEND/utils"
"LAPP_GAAS_GFrame_BACKEND/web/middleware/glog"
"github.com/go-xorm/xorm"
"context"
"errors"
"fmt"
@ -82,24 +83,91 @@ func (t *PmWo) Add() error {
return nil
}
//增
func (t *PmWo) AddSession(session *xorm.Session) error {
count := new(PmWo)
affw, err := session.Table("pm_wo").ID(core.PK{t.Finr, t.Maintwoid}).Count(count)
if err != nil {
return err
}
if affw > 0 {
return errors.New("数据已经存在!")
}
_, err = session.Table("pm_wo").Insert(t)
if err != nil {
return err
}
return nil
}
func (t *PmWo) InsertOne() error {
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
// add Begin() before any action
err := session.Begin()
if err != nil {
return err
}
now := time.Now()
today := now.Format("20060102")
nowTime := now.Format("20060102150405")
snr := new(Snrtab)
snr.Finr = 100
woid, err := snr.GetNextSnr("WOID")
snr.Finr = t.Finr
//生成ID
woid, err := snr.GetNextSnrWithSession(session, "WOID")
if err != nil {
session.Rollback()
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()
//符合逻辑生成维护工单
pm := new(PmWo)
pm.Finr = t.Finr
pm.Maintwoid = woid
pm.Mainservicenr = t.Mainservicenr
pm.Descr = t.Descr
pm.Status = 26
pm.Priority = t.Priority
pm.Assetid = t.Assetid
pm.Plbegdat = utils.TimeFormat(now, "yyyyMMdd")
pm.Schedbegtime = utils.TimeFormat(now, "yyyyMMddHHmmss")
pm.Schedendtime = utils.TimeFormat(now, "yyyyMMddHHmmss")
pm.Mainttype = t.Mainttype
pm.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
pm.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
err = pm.AddSession(session)
if err != nil {
session.Rollback()
return err
}
me := new(PmServiceAttrlst)
me.Finr = t.Finr
me.Mainserviceid = t.Mainservicenr
data, err := me.SelectAll()
if err != nil {
session.Rollback()
return err
}
//生成属性
for _, v := range data {
at := new(PmWoAttrlst)
at.Finr = v.Finr
at.Descr = v.Descr
at.Mainservicenr = v.Mainserviceid
at.Maintwoid = woid
at.Pos = v.Pos
at.Parameter = v.Parameter
at.Paravalue = v.Paravalue
at.Attrnr = v.Attrnr
at.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
at.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
err := at.AddSession(session)
if err != nil {
session.Rollback()
return err
}
}
session.Commit()
return nil
}
//删
@ -420,7 +488,7 @@ func (t *PmWo) CreateOrder() {
query = query.Join("INNER", "pm_template_servicelst", "pm_template.finr = pm_template_servicelst.finr and pm_template.maintemplatenr = pm_template_servicelst.maintemplatenr")
query = query.Join("INNER", "pm_service", "pm_service.finr = pm_template_servicelst.finr and pm_service.mainserviceid = pm_template_servicelst.mainservicenr")
query = query.Where("pm_asset.finr = ? and pm_service.schedtype = ?", t.Finr,"AUTO")
query = query.Where("pm_asset.finr = ? and pm_service.schedtype = ?", t.Finr, "AUTO")
err := query.Find(&data)
if err != nil {
return


Loading…
Cancel
Save