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

This commit is contained in:
henry
2021-11-22 16:48:29 +08:00
parent 405213c376
commit f825e8d1f6
5 changed files with 41 additions and 40 deletions

View File

@ -43,20 +43,21 @@ func (c *Supplier) List(name, mobile string, kind model2.ManageSupplierKind, pag
Order: model2.NewOrder("id", model2.OrderModeToDesc), Order: model2.NewOrder("id", model2.OrderModeToDesc),
}} }}
if c.TenantID > 0 { if c.TenantID > 0 {
// TODO因不支持此写法故删除此写法
// 根据单位由下往上查看信息 // 根据单位由下往上查看信息
tenantInfo, err := model.NewSysTenant().Parent(c.TenantID) //tenantInfo, err := model.NewSysTenant().Parent(c.TenantID)
//
if err != nil { //if err != nil {
return nil, err // return nil, err
} //}
tenantIDs := make([]uint64, 0) //tenantIDs := make([]uint64, 0)
//
for _, v := range tenantInfo { //for _, v := range tenantInfo {
tenantIDs = append(tenantIDs, v.ID) // tenantIDs = append(tenantIDs, v.ID)
} //}
where = append(where, &model2.ModelWhereOrder{ //where = append(where, &model2.ModelWhereOrder{
Where: model2.NewWhereIn("tenant_id", tenantIDs), // Where: model2.NewWhereIn("tenant_id", tenantIDs),
}) //})
} }
if name != "" { if name != "" {
where = append(where, &model2.ModelWhereOrder{ where = append(where, &model2.ModelWhereOrder{

View File

@ -104,7 +104,7 @@ func (c *Instance) material(tx *gorm.DB, material []*InstanceLaunchParamsForMate
workMaterials := make([]*model2.WorkMaterial, 0) workMaterials := make([]*model2.WorkMaterial, 0)
for _, v := range material { for _, v := range material {
if v.ID <= 0 || v.SupplierID <= 0 || v.Number <= 0 { if v.ID <= 0 || v.SupplierID <= 0 {
return errors.New("操作错误,器材参数不完全") return errors.New("操作错误,器材参数不完全")
} }
workMaterials = append(workMaterials, &model2.WorkMaterial{ workMaterials = append(workMaterials, &model2.WorkMaterial{
@ -120,13 +120,15 @@ func (c *Instance) material(tx *gorm.DB, material []*InstanceLaunchParamsForMate
for _, v := range workMaterials { for _, v := range workMaterials {
v.WorkID = workID v.WorkID = workID
if err := model2.UpdatesWhere(mManageMaterialSupplier.ManageMaterialSupplier, map[string]interface{}{ if v.MaterialNumber > 0 {
"frozen_stock": gorm.Expr("frozen_stock + ?", v.MaterialNumber), "updated_at": now, if err := model2.UpdatesWhere(mManageMaterialSupplier.ManageMaterialSupplier, map[string]interface{}{
}, []*model2.ModelWhere{ "frozen_stock": gorm.Expr("frozen_stock + ?", v.MaterialNumber), "updated_at": now,
model2.NewWhere("material_id", v.MaterialID), }, []*model2.ModelWhere{
model2.NewWhere("supplier_id", v.MaterialSupplierID), model2.NewWhere("material_id", v.MaterialID),
}, tx); err != nil { model2.NewWhere("supplier_id", v.MaterialSupplierID),
return err }, tx); err != nil {
return err
}
} }
} }
mWorkMaterial := model.NewWorkMaterial() mWorkMaterial := model.NewWorkMaterial()

View File

@ -57,9 +57,7 @@ func (m *WorkRepair) Repairs(page, pageSize int, count *int64, where ...*model.M
// Detail 维修工单信息 // Detail 维修工单信息
func (m *WorkRepair) Detail(id uint64) (*WorkRepairInfo, error) { func (m *WorkRepair) Detail(id uint64) (*WorkRepairInfo, error) {
db := orm.GetDB().Table(m.TableName()+" r"). db := orm.GetDB().Table(m.TableName()+" r").
Select("r.id", "r.order_no", "r.work_id", "r.status", Select("r.*").Where("r.id = ?", id)
"r.created_at").
Where("r.id = ?", id)
out := new(WorkRepairInfo) out := new(WorkRepairInfo)

View File

@ -151,9 +151,9 @@ func (m *WorkSchedule) WorkSchedules(kind model.WorkScheduleKind, condition *Wor
sql := `SELECT id FROM %s WHERE sql := `SELECT id FROM %s WHERE
(CASE target (CASE target
WHEN %d THEN WHEN %d THEN
( SELECT GROUP_CONCAT( a.id SEPARATOR ',' ) FROM ( SELECT id FROM work_schedule WHERE target = 1 AND target_value IN (%s)) AS a ) ( SELECT GROUP_CONCAT( a.id ) FROM ( SELECT id FROM work_schedule WHERE target = 1 AND target_value IN (%s)) AS a )
WHEN %d THEN WHEN %d THEN
(SELECT GROUP_CONCAT( a.id SEPARATOR ',' ) FROM ( SELECT id FROM work_schedule WHERE target = 2 AND target_value IN (%s)) AS a ) (SELECT GROUP_CONCAT( a.id ) FROM ( SELECT id FROM work_schedule WHERE target = 2 AND target_value IN (%s)) AS a )
ELSE "" END) != '' AND kind = %d ELSE "" END) != '' AND kind = %d
AND is_deleted = %d` AND is_deleted = %d`

View File

@ -5,8 +5,8 @@
"title": "发起工单", "title": "发起工单",
"stage": 1, "stage": 1,
"step": 1, "step": 1,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "9",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
}, },
@ -16,8 +16,8 @@
"title": "业务科室审批", "title": "业务科室审批",
"stage": 1, "stage": 1,
"step": 2, "step": 2,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "8",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
}, },
@ -27,8 +27,8 @@
"title": "分管领导审批", "title": "分管领导审批",
"stage": 1, "stage": 1,
"step": 3, "step": 3,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "7",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
}, },
@ -38,8 +38,8 @@
"title": "总修理队审批", "title": "总修理队审批",
"stage": 2, "stage": 2,
"step": 1, "step": 1,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "5",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
}, },
@ -49,8 +49,8 @@
"title": "总业务科室审批", "title": "总业务科室审批",
"stage": 2, "stage": 2,
"step": 2, "step": 2,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "4",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
}, },
@ -60,8 +60,8 @@
"title": "总分管领导审批", "title": "总分管领导审批",
"stage": 2, "stage": 2,
"step": 3, "step": 3,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "3",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
}, },
@ -71,8 +71,8 @@
"title": "省武警总队审批", "title": "省武警总队审批",
"stage": 3, "stage": 3,
"step": 1, "step": 1,
"target": 1, "target": 2,
"target_value": "2098151543063711744", "target_value": "2",
"is_countersign": 0, "is_countersign": 0,
"is_deleted": 0 "is_deleted": 0
} }