|
@ -9,6 +9,7 @@ import ( |
|
|
"strings" |
|
|
"strings" |
|
|
"time" |
|
|
"time" |
|
|
"xorm.io/core" |
|
|
"xorm.io/core" |
|
|
|
|
|
"github.com/go-xorm/xorm" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
type PmWo struct { |
|
|
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) |
|
|
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 { |
|
|
if err != nil { |
|
|
return err |
|
|
return err |
|
|
} |
|
|
} |
|
|
if affw > 0 { |
|
|
if affw > 0 { |
|
|
return errors.New("数据已经存在!") |
|
|
return errors.New("数据已经存在!") |
|
|
} |
|
|
} |
|
|
_, err = e.Table("pm_wo").Insert(t) |
|
|
|
|
|
|
|
|
_, err = session.Table("pm_wo").Insert(t) |
|
|
|
|
|
|
|
|
if err != nil { |
|
|
if err != nil { |
|
|
return err |
|
|
return err |
|
@ -80,23 +80,72 @@ func (t *PmWo) Add() error { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
func (t *PmWo) InsertOne() 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() |
|
|
now := time.Now() |
|
|
today := now.Format("20060102") |
|
|
|
|
|
nowTime := now.Format("20060102150405") |
|
|
|
|
|
snr := new(Snrtab) |
|
|
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 { |
|
|
if err != nil { |
|
|
|
|
|
session.Rollback() |
|
|
return errors.New("生成Maintwoid出错:" + err.Error()) |
|
|
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 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//删
|
|
|
//删
|
|
|