提交 f8562e51 authored 作者: zs's avatar zs

edit

上级 4fb061b4
import SqlliteDbUtil from '@/utils/sqllitedb'
import table from './sqllite/table.js'
import {
fixNullVal
} from "@/utils/common";
// 用户
export default {
async selectList() {
let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
try {
let rs = await sqllitedb.selectSQL(`select * from ${table.userName}`)
return rs
} catch (e) {
console.log(e.message)
} finally {
await sqllitedb.closeDB();
}
},
async remove(id) {
let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
try {
if (!id) {
return
}
let sql = `delete from ${table.userName} where userId = '${id}'`;
await sqllitedb.executeSQL(sql);
} catch (e) {
console.log(e.message)
} finally {
// await sqllitedb.closeDB();
}
},
async info(id) {
let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
let sql = `select * from ${table.userName} where userId = '${id}'`;
let res = await sqllitedb.selectSQL(sql);
if (res && res.length > 0) {
return res[0]
}
},
async saveDevices(data) {
let sqllitedb = await SqlliteDbUtil.initSqlliteDB();
let values = data.map(data => `(
'${data.id}',
'${data.imgPath}',
'${data.date}',
'${data.time}',
'${data.selected}',
'${data.synchronization}'
)`).join(', ');
try {
let sql = `insert into ${table.listDevicesName}(
id,
imgPath,
date,
time,
selected,
synchronization
) values ${values}
`;
let result = await sqllitedb.executeReturnDataSQL(sql);
return result;
} catch (e) {
console.log(e.message);
} finally {
await sqllitedb.closeDB();
}
},
async updateDevices(data,key){
let ids = '(' + data.join(',') + ')'
let sql = `update ${table.listDevicesName} set ${key} = 1 where id in ${ids}`
let sqllitedb = await SqlliteDbUtil.initSqlliteDB();
try {
let rs = await sqllitedb.executeReturnDataSQL(sql);
return rs
} catch (e) {
console.log(e.message);
} finally {
await sqllitedb.closeDB();
}
},
async saveBatch(list) {
if (list.length === 0) {
return;
}
console.log('开始保存用户信息....' + list.length)
let sqllitedb = await SqlliteDbUtil.initSqlliteDB()
try {
for (let data of list) {
let column = ''
let values = ''
let idx = 0
for (let attr in data) {
let dataField = table['listDevices'].find(v => {
if (v.field === attr) {
return v
}
})
if (!dataField) {
continue
}
column += dataField.field + ','
values += "'" + fixNullVal(data[attr]) + "',"
idx++
}
column = column.endsWith(',') ? column.substring(0, column.length - 1) : column
values = values.endsWith(',') ? values.substring(0, values.length - 1) : values
let sql = `insert into ${table.listDevicesName}(${column}) values(${values})`
let has = await this.info(data.id)
if (has && has.id) {
await this.remove(data.id)
}
await sqllitedb.executeSQL(sql)
}
} catch (e) {
console.log(e.message)
} finally {
await sqllitedb.closeDB();
}
console.log('导入完成...')
}
}
\ No newline at end of file
......@@ -69,6 +69,7 @@ export default {
await sqllitedb.createTable(table.inspectionRecordName, table.inspectionRecord) // 巡检记录表
await sqllitedb.createTable(table.assRoomName, table.assRoom) // 机房、井道信息表
await sqllitedb.createTable(table.assBuildingName, table.assBuilding) // 楼宇信息
// await sqllitedb.createTable(table.listDevicesName, table.listDevices) // 设备上架信息
} catch (e) {
console.log(e.message)
} finally {
......
......@@ -245,5 +245,32 @@ module.exports = {
field: "synFlag",
format: "TEXT",
}
],
// 数据库设置
listDevicesName: 'SYS_LISTDEVICES',
listDevices: [{
field: "id",
format: "TEXT PRIMARY KEY ",
}, {
field: "imgPath",
format: "TEXT",
},
{
field: "date",
format: "TEXT",
}, {
field: "time",
format: "TEXT",
}, {
field: "selected",
format: "TEXT",
}, {
field: "synchronization",
format: "TEXT",
},
{
field: "delFlag",
format: "INTEGER DEFAULT 0 ",
}
]
};
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论