| | |
| | | */ |
| | | 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 存储过程名称 |
| | | */ |
| | |
| | | */ |
| | | static getfunc (param) { |
| | | let form = '' |
| | | let formParam = '' |
| | | |
| | | if (param.fields && param.fields.length > 0) { |
| | | let _fields = [] |
| | | param.fields.forEach(item => { |
| | | if (item.field) { |
| | | let type = '' |
| | | if (item.type.match(/date/ig)) { |
| | | type = 'datetime=null' |
| | | } else if (item.type === 'number') { |
| | | type = `decimal(18,${item.decimal})=0` |
| | | } else { |
| | | type = 'nvarchar(50)=\'\'' |
| | | } |
| | | formParam = formParam + `mchr13k@${item.field} ${type},` |
| | | |
| | | _fields.push(item.field) |
| | | } |
| | | }) |
| | |
| | | field3 = field3.join(',') |
| | | |
| | | form = ` |
| | | insert into ${param.name} (${field1}) select ${field2},@UserID |
| | | insert into ${param.name} (${field1},createuserid) select ${field2},@UserID |
| | | |
| | | update ${param.name} set ${field3},modifydate=getdate(),modifyuserid=@UserID |
| | | ` |
| | | } |
| | | |
| | | let Ltext = `create proc ${param.name} |
| | | let Ltext = `create proc ${param.funcName} |
| | | ( |
| | | @BID nvarchar(50)='', |
| | | @ID nvarchar(50)='', |
| | | 表单传值,文本用nvarchar(50)='',日期用datetime is null ,数值用decimal(18,小数点位数)=0, |
| | | @sEPTMenuNo='', --传菜单参数 |
| | | @ID nvarchar(50)='',${formParam} |
| | | @sEPTMenuNo nvarchar(50)='${param.menuNo}', |
| | | @lang nvarchar(50)='', |
| | | @debug nvarchar(50)='', |
| | | @LoginUID nvarchar(50)='', |