| | |
| | | */ |
| | | static getguid () { |
| | | // 产生一个新的GUID值 |
| | | let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { |
| | | let r = Math.random() * 16 | 0 |
| | | // eslint-disable-next-line |
| | | let v = (c === 'x') ? r : (r & 0x3 | 0x8) |
| | | return v.toString(16) |
| | | }) |
| | | return uuid |
| | | let uuid = [] |
| | | let d = new Date() |
| | | let options = '0123456789abcdefghigklmnopqrstuv' |
| | | for (let i = 0; i < 19; i++) { |
| | | uuid.push(options.substr(Math.floor(Math.random() * 0x20), 1)) |
| | | } |
| | | uuid = moment().format('YYYYMMDDHHmmss') + d.getMilliseconds() + uuid.join('') |
| | | return uuid.toUpperCase() |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description 使用系统函数时(sPC_TableData_InUpDe ),生成sql语句 |
| | | * @return {String} type 执行类型 |
| | | * @return {String} table 表名 |
| | | */ |
| | | static getSysDefaultSql (btn, setting, formdata) { |
| | | console.log(btn) |
| | | console.log(formdata) |
| | | let _sql = '' |
| | | if (btn.OpenType === 'pop' && btn.sqlType === 'insert') { |
| | | let keys = [] |
| | | let values = [] |
| | | formdata.forEach(item => { |
| | | if (!item.readonly && item.type === 'number') { |
| | | keys.push(item.key) |
| | | values.push(item.value) |
| | | } else if (!item.readonly) { |
| | | keys.push(item.key) |
| | | values.push('\'' + item.value + '\'') |
| | | } |
| | | }) |
| | | keys = keys.join(',') |
| | | values = values.join(',') |
| | | |
| | | _sql = `insert into ${btn.sql} (${keys}, createuserid) select ${values},@userid` |
| | | } else if (btn.OpenType === 'pop' && btn.sqlType === 'update') { |
| | | let _form = [] |
| | | formdata.forEach(item => { |
| | | if (!item.readonly && item.type === 'number') { |
| | | _form.push(item.key + '=' + item.value) |
| | | } else if (!item.readonly) { |
| | | _form.push(item.key + '=\'' + item.value + '\'') |
| | | } |
| | | }) |
| | | _form = _form.join(',') |
| | | _sql = `update ${btn.sql} set ${_form},modifydate=getdate(),modifyuserid=@userid where ${setting.primaryKey}=@id` |
| | | } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'LogicDelete') { // 逻辑删除 |
| | | _sql = `update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid where ${setting.primaryKey}=@id` |
| | | } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'delete') { |
| | | _sql = `insert into snote (remark,createuserid) select '删除表:${btn.sql} 数据: id='+@id,@userid delete ${btn.sql} where ${setting.primaryKey}=@id` |
| | | } |
| | | //insert into 表名 (表单字段,逗号分隔,如果主键为可编辑则传填写内容,只读或没有配置表单,则传前端生成id,+createuserid) |
| | | // +select 表单字段值+@userid |
| | | |
| | | // 修改:update 表名 set 表单非只读字段=表单值,modifydate=getdate(),modifyuserid=@userid where 主键=@id行id |
| | | |
| | | // 逻辑删除:update 表名 set deleted=1,modifydate=getdate(),modifyuserid=@userid where 主键=@id行id |
| | | |
| | | // 物理删除:insert into snote (remark,createuserid) select '删除表 '+表名+'数据 '+id=@id delete 表名 where 主键=@id行id |
| | | console.log(_sql) |
| | | return _sql |
| | | } |
| | | |
| | | /** |
| | | * @description 删除存储过程sql |
| | | * @return {String} name 存储过程名称 |
| | | */ |
| | |
| | | if (item.field) { |
| | | let type = '' |
| | | if (item.type.match(/date/ig)) { |
| | | type = 'datetime is null' |
| | | type = 'datetime=null' |
| | | } else if (item.type === 'number') { |
| | | type = `decimal(18,${item.decimal})=0` |
| | | } else { |
| | |
| | | ROLLBACK TRAN |
| | | |
| | | END` |
| | | console.log(Ltext) |
| | | Ltext = Ltext.replace(/\n\s{4}/ig, 'mchr13k') |
| | | console.log(Ltext) |
| | | return Ltext |
| | | } |
| | | } |