diff --git a/lib/OFramework.js b/lib/OFramework.js index 71efdf6..972e5ad 100644 --- a/lib/OFramework.js +++ b/lib/OFramework.js @@ -717,57 +717,63 @@ m.insertEntity = function (oodbc, databaseConfig, instanceConfig, paras) { "insertion": {} }; + //检测字段是否存在 + var completion = false; + for (var i in instanceConfig.tableFiles) { + if (instanceConfig.tableFiles[i] == "id") { + completion = true; //兼容以前的代码 + break; + } + } + /** * 自动创建主键 * 如果未指定主键,则使用 */ - m.getID('A', null, function (id) { - /** - * 主键检测 - */ - if (!paras.hasOwnProperty('id') && instanceConfig.tableFiles["id"]) { - paras.id = id; - } - /** - * 参数封装:insert表字段从字段配置表中遍历 - * 每个表的字段不一致,封装的参数直接拼接成insert语句的SQL,请注意字段名称必须是同数据库字段名称一致的 - * 不用参数遍历,这里手动指定 - */ - for (var i = 0; i < instanceConfig.tableFiles.length; i++) { - /** - * 字段多少、字段的排序,以配置结构为准 - */ - if (paras.hasOwnProperty(instanceConfig.tableFiles[i])) { - p.insertion[instanceConfig.tableFiles[i]] = paras[instanceConfig.tableFiles[i]]; - } - } + if (!paras.hasOwnProperty('id') && completion) { + paras.id = m.getID('A', null, null); + } + + /** + * 参数封装:insert表字段从字段配置表中遍历 + * 每个表的字段不一致,封装的参数直接拼接成insert语句的SQL,请注意字段名称必须是同数据库字段名称一致的 + * 不用参数遍历,这里手动指定 + */ + for (var i = 0; i < instanceConfig.tableFiles.length; i++) { /** - * 参数默认值处理 + * 字段多少、字段的排序,以配置结构为准 */ - //创建时间 - if (!p.insertion['created_time'] && instanceConfig.tableFiles['created_time']) { - p.insertion['created_time'] = new Date(); - } - //最近更新时间 - if (!p.insertion['update_time'] && instanceConfig.tableFiles['update_time']) { - p.insertion['update_time'] = new Date(); - } - //是否有效(0无效;1有效) - if (!p.insertion['valid'] && instanceConfig.tableFiles['valid']) { - p.insertion['valid'] = 1; + if (paras.hasOwnProperty(instanceConfig.tableFiles[i])) { + p.insertion[instanceConfig.tableFiles[i]] = paras[instanceConfig.tableFiles[i]]; } + } + /** + * 参数默认值处理 + */ + //创建时间 + if (!p.insertion['created_time'] && instanceConfig.tableFiles['created_time']) { + p.insertion['created_time'] = new Date(); + } + //最近更新时间 + if (!p.insertion['update_time'] && instanceConfig.tableFiles['update_time']) { + p.insertion['update_time'] = new Date(); + } + //是否有效(0无效;1有效) + if (!p.insertion['valid'] && instanceConfig.tableFiles['valid']) { + p.insertion['valid'] = 1; + } + + /** + * 执行SQL,底层方法通用,配置好了参数集合列表底层自动完成 + */ + ofInstance(oodbc, databaseConfig, _instance).insertion(p) + .then(function (data) { + resolve(data); + }) + .catch(function (err) { + reject(err); + }); - /** - * 执行SQL,底层方法通用,配置好了参数集合列表底层自动完成 - */ - ofInstance(oodbc, databaseConfig, _instance).insertion(p) - .then(function (data) { - resolve(data); - }) - .catch(function (err) { - reject(err); - }); - }); }); }