|
|
@ -3,12 +3,14 @@ |
|
|
|
package implments |
|
|
|
|
|
|
|
import ( |
|
|
|
baseDal "LAPP_ACURA_MOM_BACKEND/dao/base" |
|
|
|
dal "LAPP_ACURA_MOM_BACKEND/dao/pm" |
|
|
|
"LAPP_ACURA_MOM_BACKEND/db" |
|
|
|
"LAPP_ACURA_MOM_BACKEND/global" |
|
|
|
"LAPP_ACURA_MOM_BACKEND/grmi" |
|
|
|
meta "LAPP_ACURA_MOM_BACKEND/meta/pm" |
|
|
|
model "LAPP_ACURA_MOM_BACKEND/models/pm" |
|
|
|
"LAPP_ACURA_MOM_BACKEND/utils" |
|
|
|
) |
|
|
|
|
|
|
|
/****************************************************************************** |
|
|
@ -95,15 +97,52 @@ func (impl *TemplateServiceImplement) InsertOne(user *global.User, entity *model |
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
|
err := session.Begin() |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
dao := dal.NewTemplateDAO(session, user.PlantNr, user.UserId) |
|
|
|
record, err := dao.SelectOne(entity.MainTemplateNr) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
if record != nil { |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("已经存在相同主键的记录!") |
|
|
|
} |
|
|
|
snrDao := baseDal.NewSnrDAO(session, user.PlantNr, user.UserId) |
|
|
|
Maintemplatenr, err := snrDao.GetNextSnr("Templateid") |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
entity.MainTemplateNr = utils.ValueToInt(Maintemplatenr,0) |
|
|
|
err = dao.InsertOne(entity) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
//批量插入
|
|
|
|
alldata := make([]model.TemplateServiceLst, 0) |
|
|
|
for k, v := range entity.Valst { |
|
|
|
one := model.TemplateServiceLst{} |
|
|
|
one.PlantNr = entity.PlantNr |
|
|
|
one.Pos = k + 1 |
|
|
|
one.Descr = v.Descr |
|
|
|
one.MainTemplateNr = entity.MainTemplateNr |
|
|
|
one.MainServiceNr = utils.ValueToInt(v.MainServiceNr, 0) |
|
|
|
one.CreateTime = entity.CreateTime |
|
|
|
one.LastUser = entity.LastUser |
|
|
|
one.LastModify = entity.LastModify |
|
|
|
alldata = append(alldata, one) |
|
|
|
} |
|
|
|
_, err = session.Table("PM_TemplateServiceLst").Insert(&alldata) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
err = session.Commit() |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
@ -122,6 +161,10 @@ func (impl *TemplateServiceImplement) DeleteOne(user *global.User, mainTemplateN |
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
|
err := session.Begin() |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
dao := dal.NewTemplateDAO(session, user.PlantNr, user.UserId) |
|
|
|
record, err := dao.SelectOne(mainTemplateNr) |
|
|
|
if err != nil { |
|
|
@ -131,6 +174,18 @@ func (impl *TemplateServiceImplement) DeleteOne(user *global.User, mainTemplateN |
|
|
|
return grmi.NewBusinessError("不存在指定记录!") |
|
|
|
} |
|
|
|
err = dao.DeleteOne(mainTemplateNr) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
dao_TemplateServiceLst := dal.NewTemplateServiceLstDAO(session, user.PlantNr, user.UserId) |
|
|
|
err = dao_TemplateServiceLst.DeleteWhere([]grmi.Predicate{meta.TemplateServiceLst_PlantNr.NewPredicate(grmi.Equal, record.PlantNr), meta.TemplateServiceLst_MainTemplateNr.NewPredicate(grmi.Equal, record.MainTemplateNr)}) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
err = session.Commit() |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
@ -154,6 +209,45 @@ func (impl *TemplateServiceImplement) SelectOne(user *global.User, mainTemplateN |
|
|
|
if err != nil { |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
|
|
|
|
if result == nil{ |
|
|
|
return result, err |
|
|
|
} |
|
|
|
|
|
|
|
var datalist []model.Service |
|
|
|
var tem1 []model.Service |
|
|
|
var tem2 []model.TemplateServiceLst |
|
|
|
var maintemplatenrs []int |
|
|
|
err = session.Table("PM_Service").Find(&tem1) |
|
|
|
if err != nil { |
|
|
|
return result, err |
|
|
|
} |
|
|
|
err = session.Table("PM_TemplateServiceLst").Find(&tem2) |
|
|
|
if err != nil { |
|
|
|
return result, err |
|
|
|
} |
|
|
|
|
|
|
|
var Maintemplatenrs []int |
|
|
|
for _, v := range tem1 { |
|
|
|
for _, v2 := range tem2{ |
|
|
|
if v.PlantNr == v2.PlantNr && v.MainServiceNr == v2.MainServiceNr{ |
|
|
|
dataone := model.Service{} |
|
|
|
dataone.MainServiceNr = v.MainServiceNr |
|
|
|
dataone.Descr = v.Descr |
|
|
|
maintemplatenrs = append(maintemplatenrs, v2.MainTemplateNr) |
|
|
|
datalist = append(datalist, dataone) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
result.Valst = datalist |
|
|
|
|
|
|
|
var templatedata []model.Service |
|
|
|
err = session.Table("PM_Service").NotIn("MainServiceNr", Maintemplatenrs).Where("PlantNr = ?", result.PlantNr).Find(&templatedata) |
|
|
|
if err != nil { |
|
|
|
return result, err |
|
|
|
} |
|
|
|
result.UnValst = templatedata |
|
|
|
|
|
|
|
return result, nil |
|
|
|
} |
|
|
|
|
|
|
@ -169,6 +263,10 @@ func (impl *TemplateServiceImplement) UpdateOne(user *global.User, entity *model |
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
|
err := session.Begin() |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
dao := dal.NewTemplateDAO(session, user.PlantNr, user.UserId) |
|
|
|
record, err := dao.SelectOne(entity.MainTemplateNr) |
|
|
|
if err != nil { |
|
|
@ -181,6 +279,38 @@ func (impl *TemplateServiceImplement) UpdateOne(user *global.User, entity *model |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
dao_TemplateServiceLst := dal.NewTemplateServiceLstDAO(session, user.PlantNr, user.UserId) |
|
|
|
err = dao_TemplateServiceLst.DeleteWhere([]grmi.Predicate{meta.TemplateServiceLst_PlantNr.NewPredicate(grmi.Equal, record.PlantNr), meta.TemplateServiceLst_MainTemplateNr.NewPredicate(grmi.Equal, record.MainTemplateNr)}) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
//批量插入
|
|
|
|
alldata := make([]model.TemplateServiceLst, 0) |
|
|
|
for k, v := range entity.Valst { |
|
|
|
one := model.TemplateServiceLst{} |
|
|
|
one.PlantNr = entity.PlantNr |
|
|
|
one.Pos = k + 1 |
|
|
|
one.Descr = v.Descr |
|
|
|
one.MainTemplateNr = entity.MainTemplateNr |
|
|
|
one.MainServiceNr = utils.ValueToInt(v.MainServiceNr, 0) |
|
|
|
one.CreateTime = entity.CreateTime |
|
|
|
one.LastUser = entity.LastUser |
|
|
|
one.LastModify = entity.LastModify |
|
|
|
alldata = append(alldata, one) |
|
|
|
} |
|
|
|
_, err = session.Table("PM_TemplateServiceLst").Insert(&alldata) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
err = session.Commit() |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|