From fee4c914548fa5a079bdfe4880d4101c39abd50f Mon Sep 17 00:00:00 2001 From: "DESKTOP-4672LME\\Xu Tengfei" Date: Thu, 25 Nov 2021 14:57:10 +0800 Subject: [PATCH] =?UTF-8?q?pm=E6=A8=A1=E5=9D=97bug=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/pm/Service.model.go | 4 +- models/pm/ServiceAttrLst.model.go | 1 + services/pm/implments/Service.service.impl.go | 97 +++++++++++++++++++ task/task.go | 2 +- 4 files changed, 101 insertions(+), 3 deletions(-) diff --git a/models/pm/Service.model.go b/models/pm/Service.model.go index e34a29b..2748020 100644 --- a/models/pm/Service.model.go +++ b/models/pm/Service.model.go @@ -33,12 +33,12 @@ type Service struct { MaintByHourToggle bool `xorm:"bit 'MaintByHourToggle' not null" json:"PM_Service-MaintByHourToggle"` DueHourInterval int `xorm:"int 'DueHourInterval' not null" json:"PM_Service-DueHourInterval"` NodifyHours int `xorm:"int 'NodifyHours' not null" json:"PM_Service-NodifyHours"` - DueHourOn grmi.Date `xorm:"date 'DueHourOn'" json:"PM_Service-DueHourOn"` + DueHourOn grmi.DateTime `xorm:"date 'DueHourOn'" json:"PM_Service-DueHourOn"` MaintByMileageToggle bool `xorm:"bit 'MaintByMileageToggle' not null" json:"PM_Service-MaintByMileageToggle"` DueMileageInterval int `xorm:"int 'DueMileageInterval' not null" json:"PM_Service-DueMileageInterval"` NodifyMileages int `xorm:"int 'NodifyMileages' not null" json:"PM_Service-NodifyMileages"` DueMileageAt int `xorm:"int 'DueMileageAt' not null" json:"PM_Service-DueMileageAt"` - NeedSchedule int `xorm:"int 'NeedSchedule' not null" json:"PM_Service-NeedSchedule"` + NeedScheduleToggle bool `xorm:"int 'NeedScheduleToggle' not null" json:"PM_Service-NeedScheduleToggle"` MainTimeLen float64 `xorm:"decimal 'MainTimeLen' not null" json:"PM_Service-MainTimeLen"` TimeUnit string `xorm:"varchar(5) 'TimeUnit' not null" json:"PM_Service-TimeUnit"` SchedType string `xorm:"varchar(14) 'SchedType' not null" json:"PM_Service-SchedType"` diff --git a/models/pm/ServiceAttrLst.model.go b/models/pm/ServiceAttrLst.model.go index 34532bd..09ed2f1 100644 --- a/models/pm/ServiceAttrLst.model.go +++ b/models/pm/ServiceAttrLst.model.go @@ -30,6 +30,7 @@ type ServiceAttrLst struct { LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"PM_ServiceAttrLst-LastModify"` LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"PM_ServiceAttrLst-LastUser"` CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"PM_ServiceAttrLst-CreateTime"` + Attrname string `json:"PM_ServiceAttrLst-Attrname" xorm:"-"` } /****************************************************************************** diff --git a/services/pm/implments/Service.service.impl.go b/services/pm/implments/Service.service.impl.go index 96e5238..2e83c6d 100644 --- a/services/pm/implments/Service.service.impl.go +++ b/services/pm/implments/Service.service.impl.go @@ -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" ) /****************************************************************************** @@ -110,6 +112,10 @@ func (impl *ServiceServiceImplement) 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.NewServiceDAO(session, user.PlantNr, user.UserId) record, err := dao.SelectOne(entity.MainServiceNr) if err != nil { @@ -118,10 +124,48 @@ func (impl *ServiceServiceImplement) InsertOne(user *global.User, entity *model. if record != nil { return grmi.NewBusinessError("已经存在相同主键的记录!") } + + snrDao := baseDal.NewSnrDAO(session, user.PlantNr, user.UserId) + Serviceid, err := snrDao.GetNextSnr("Serviceid") + if err != nil { + session.Rollback() + return err + } + entity.MainServiceNr = utils.ValueToInt(Serviceid,0) + err = dao.InsertOne(entity) if err != nil { + session.Rollback() return err } + + //批量插入 + alldata := make([]model.ServiceAttrLst, 0) + for k, v := range entity.Valst { + one := model.ServiceAttrLst{} + one.PlantNr = entity.PlantNr + one.MainServiceNr = entity.MainServiceNr + one.Pos = k + 1 + one.AttrNr = v.AttrNr + one.Descr = v.Descr + one.Attrname = v.AttrName + one.Parameter = v.Parameter + one.CreateTime = entity.CreateTime + one.LastUser = entity.LastUser + one.LastModify = entity.LastModify + alldata = append(alldata, one) + } + dao_asset_templatelst := dal.NewServiceAttrLstDAO(session, user.PlantNr, user.UserId) + err = dao_asset_templatelst.Insert(&alldata) + if err != nil { + session.Rollback() + return err + } + err = session.Commit() + if err != nil { + return err + } + return nil } @@ -137,6 +181,10 @@ func (impl *ServiceServiceImplement) DeleteOne(user *global.User, mainServiceNr engine := db.Eloquent.Master() session := engine.NewSession() defer session.Close() + err := session.Begin() + if err != nil { + return err + } dao := dal.NewServiceDAO(session, user.PlantNr, user.UserId) record, err := dao.SelectOne(mainServiceNr) if err != nil { @@ -146,6 +194,18 @@ func (impl *ServiceServiceImplement) DeleteOne(user *global.User, mainServiceNr return grmi.NewBusinessError("不存在指定记录!") } err = dao.DeleteOne(mainServiceNr) + if err != nil { + session.Rollback() + return err + } + + dao_asset_templatelst := dal.NewServiceAttrLstDAO(session, user.PlantNr, user.UserId) + err = dao_asset_templatelst.DeleteWhere([]grmi.Predicate{meta.ServiceAttrLst_PlantNr.NewPredicate(grmi.Equal, record.PlantNr), meta.ServiceAttrLst_MainServiceNr.NewPredicate(grmi.Equal, record.MainServiceNr)}) + if err != nil { + session.Rollback() + return err + } + err = session.Commit() if err != nil { return err } @@ -184,6 +244,10 @@ func (impl *ServiceServiceImplement) 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.NewServiceDAO(session, user.PlantNr, user.UserId) record, err := dao.SelectOne(entity.MainServiceNr) if err != nil { @@ -196,6 +260,39 @@ func (impl *ServiceServiceImplement) UpdateOne(user *global.User, entity *model. if err != nil { return err } + dao_asset_templatelst := dal.NewServiceAttrLstDAO(session, user.PlantNr, user.UserId) + err = dao_asset_templatelst.DeleteWhere([]grmi.Predicate{meta.ServiceAttrLst_PlantNr.NewPredicate(grmi.Equal, record.PlantNr), meta.ServiceAttrLst_MainServiceNr.NewPredicate(grmi.Equal, record.MainServiceNr)}) + if err != nil { + session.Rollback() + return err + } + //批量插入 + alldata := make([]model.ServiceAttrLst, 0) + for k, v := range entity.Valst { + one := model.ServiceAttrLst{} + one.PlantNr = entity.PlantNr + one.MainServiceNr = entity.MainServiceNr + one.Pos = k + 1 + one.AttrNr = v.AttrNr + one.Descr = v.Descr + one.Attrname = v.AttrName + one.Parameter = v.Parameter + one.CreateTime = entity.CreateTime + one.LastUser = entity.LastUser + one.LastModify = entity.LastModify + alldata = append(alldata, one) + } + + err = dao_asset_templatelst.Insert(&alldata) + if err != nil { + session.Rollback() + return err + } + err = session.Commit() + if err != nil { + return err + } + return nil } diff --git a/task/task.go b/task/task.go index f8a2cd6..d6af0f0 100644 --- a/task/task.go +++ b/task/task.go @@ -76,7 +76,7 @@ func CreateOrder() { dataone.TaskType = "B" //B是按照小时维护 } else if v.Service.MaintByMileageToggle { dataone.TaskType = "C" //C是按照仪表值维护 - } else if v.Service.NeedSchedule > 0 { + } else if v.Service.NeedScheduleToggle { dataone.TaskType = "D" //D是按照调度维护 } else { continue