Browse Source

手动创建维护工单

pull/403/head
娄文智 3 years ago
parent
commit
cd1148badc
1 changed files with 65 additions and 16 deletions
  1. +65
    -16
      web/models/pm_wo_model.go

+ 65
- 16
web/models/pm_wo_model.go View File

@ -9,6 +9,7 @@ import (
"strings"
"time"
"xorm.io/core"
"github.com/go-xorm/xorm"
)
type PmWo struct {
@ -61,17 +62,16 @@ func (t *PmWo) Clipped() {
}
//增
func (t *PmWo) Add() error {
e := db.Eloquent.Master()
func (t *PmWo) AddSession(session *xorm.Session) error {
count := new(PmWo)
affw, err := e.Table("pm_wo").ID(core.PK{t.Finr, t.Maintwoid}).Count(count)
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 = e.Table("pm_wo").Insert(t)
_, err = session.Table("pm_wo").Insert(t)
if err != nil {
return err
@ -80,23 +80,72 @@ func (t *PmWo) Add() error {
}
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
}
//删


Loading…
Cancel
Save