feat:兼容Sqlite3,去除Find_in_set函数,将数据拆分读取

This commit is contained in:
henry
2021-11-22 14:06:49 +08:00
parent 8147865ebb
commit 405213c376
10 changed files with 174 additions and 54 deletions

View File

@ -5,6 +5,8 @@ import (
"ArmedPolice/app/controller/basic"
"ArmedPolice/app/model"
"ArmedPolice/app/service"
"ArmedPolice/config"
"time"
)
type Breakdown struct{ *service.Session }
@ -69,15 +71,23 @@ func (c *Breakdown) Form(id uint64, title, remark string) error {
mSysBreakdown := model.NewSysBreakdown()
if id > 0 {
mSysBreakdown.ID = mSysBreakdown.ID
mSysBreakdown.ID = id
return model2.Updates(mSysBreakdown.SysBreakdown, map[string]interface{}{
"title": title, "remark": remark,
})
if err := model2.Updates(mSysBreakdown.SysBreakdown, map[string]interface{}{
"title": title, "remark": remark, "updated_at": time.Now(),
}); err != nil {
return err
}
} else {
mSysBreakdown.Title = title
mSysBreakdown.Remark = remark
if err := model2.Create(mSysBreakdown.SysBreakdown); err != nil {
return err
}
}
mSysBreakdown.Title = title
mSysBreakdown.Remark = remark
return model2.Create(mSysBreakdown.SysBreakdown)
config.SystemBreakdown[id] = title
return nil
}
// Delete 删除操作

View File

@ -51,17 +51,25 @@ func (c *Instance) Workbench(limit int) ([]*instanceInfoForWorkbench, error) {
if err != nil {
return nil, err
}
// 筛选用户可操作的流程信息
condition := &model.WorkbenchCondition{
UID: c.UIDToString(), RoleIDs: roleIDs,
}
if condition.WorkSchedule, err = model.NewWorkSchedule().WorkSchedules(model2.WorkScheduleKindForRepair, condition); err != nil {
return nil, err
}
mWorkInstance := model.NewWorkInstance()
out := make([]*model.WorkInstanceInfo, 0)
if out, err = mWorkInstance.Workbench(&model.WorkbenchCondition{
UID: c.UIDToString(), RoleIDs: roleIDs,
}, limit); err != nil {
if out, err = mWorkInstance.Workbench(condition, limit); err != nil {
return nil, err
}
list := make([]*instanceInfoForWorkbench, 0)
mSysBreakdown := model.NewSysBreakdown()
for _, v := range out {
mWorkInstance.SetID(v.ID)
@ -69,7 +77,7 @@ func (c *Instance) Workbench(limit int) ([]*instanceInfoForWorkbench, error) {
CommonIDString: basic.CommonIDString{ID: mWorkInstance.GetEncodeID()},
EquipmentCode: v.EquipmentCode,
EquipmentTitle: v.EquipmentTitle,
BreakdownTitle: v.BreakdownTitle,
BreakdownTitle: mSysBreakdown.BreakdownTitle(v.Breakdown),
Username: v.Username,
CreatedAt: v.CreatedAt,
})

View File

@ -209,8 +209,11 @@ func (c *Instance) List(equipmentCode, equipmentTitle string, kind, page, pageSi
}
list := make([]*InstanceInfo, 0)
mSysBreakdown := model.NewSysBreakdown()
for _, v := range out {
mWorkInstance.ID = v.ID
v.BreakdownTitle = mSysBreakdown.BreakdownTitle(v.Breakdown)
list = append(list, &InstanceInfo{
CommonIDString: basic.CommonIDString{ID: mWorkInstance.GetEncodeID()}, WorkInstanceInfo: v,
@ -243,8 +246,11 @@ func (c *Instance) Person(equipmentCode, equipmentTitle string, kind, page, page
}
list := make([]*InstanceInfo, 0)
mSysBreakdown := model.NewSysBreakdown()
for _, v := range out {
mWorkInstance.ID = v.ID
v.BreakdownTitle = mSysBreakdown.BreakdownTitle(v.Breakdown)
list = append(list, &InstanceInfo{
CommonIDString: basic.CommonIDString{ID: mWorkInstance.GetEncodeID()}, WorkInstanceInfo: v,
@ -277,19 +283,28 @@ func (c *Instance) Workbench(equipmentCode, equipmentTitle string, kind, page, p
if kind > 0 {
where = append(where, model2.NewWhere("w.kind", kind))
}
// 筛选用户可操作的流程信息
condition := &model.WorkbenchCondition{
UID: c.UIDToString(), RoleIDs: roleIDs,
}
if condition.WorkSchedule, err = model.NewWorkSchedule().WorkSchedules(model2.WorkScheduleKindForRepair, condition); err != nil {
return nil, err
}
var count int64
out := make([]*model.WorkInstanceInfo, 0)
if out, err = mWorkInstance.Workbenchs(&model.WorkbenchCondition{
UID: c.UIDToString(), RoleIDs: roleIDs,
}, page, pageSize, &count, where...); err != nil {
if out, err = mWorkInstance.Workbenchs(condition, page, pageSize, &count, where...); err != nil {
return nil, err
}
list := make([]*InstanceInfo, 0)
mSysBreakdown := model.NewSysBreakdown()
for _, v := range out {
mWorkInstance.ID = v.ID
v.BreakdownTitle = mSysBreakdown.BreakdownTitle(v.Breakdown)
list = append(list, &InstanceInfo{
CommonIDString: basic.CommonIDString{ID: mWorkInstance.GetEncodeID()}, WorkInstanceInfo: v,
@ -313,6 +328,7 @@ func (c *Instance) Detail(id uint64) (*InstanceDetailInfo, error) {
out.CommonIDString = basic.CommonIDString{
ID: mWorkInstance.GetEncodeID(),
}
out.WorkInstanceInfo.BreakdownTitle = model.NewSysBreakdown().BreakdownTitle(out.WorkInstanceInfo.Breakdown)
out.EquipmentID = (&model2.Model{ID: out.WorkInstanceInfo.EquipmentID}).GetEncodeID()
out.ScheduleID = (&model2.Model{ID: out.WorkInstanceInfo.ScheduleID}).GetEncodeID()
// 位置信息

View File

@ -54,7 +54,11 @@ func (c *Repair) List(orderNo, equipmentCode, equipmentTitle string, page, pageS
}
list := make([]*RepairInfo, 0)
mSysBreakdown := model.NewSysBreakdown()
for _, v := range out {
v.BreakdownTitle = mSysBreakdown.BreakdownTitle(v.Breakdown)
list = append(list, &RepairInfo{
CommonIDString: basic.CommonIDString{ID: v.GetEncodeID()},
WorkRepairInfo: v,
@ -92,7 +96,7 @@ func (c *Repair) Detail(id uint64) (*RepairDetailInfo, error) {
// 器材信息
materials := make([]*model.WorkMaterialInfo, 0)
if materials, err = model.NewWorkMaterial().Materials(id); err != nil {
if materials, err = model.NewWorkMaterial().Materials(repair.WorkID); err != nil {
return nil, err
}
// 采购信息