From c0930736f5b5955efecdac4c0ca85957d4f7b574 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 16 十二月 2019 22:55:17 +0800 Subject: [PATCH] 2019-12-16 --- src/utils/utils.js | 89 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 77 insertions(+), 12 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index d561d04..62df4d8 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -25,13 +25,14 @@ */ static getguid () { // 浜х敓涓�涓柊鐨凣UID鍊� - 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() } /** @@ -317,6 +318,59 @@ } /** + * @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 + + // 淇敼锛歶pdate 琛ㄥ悕 set 琛ㄥ崟闈炲彧璇诲瓧娈�=琛ㄥ崟鍊硷紝modifydate=getdate(),modifyuserid=@userid where 涓婚敭=@id琛宨d + + // 閫昏緫鍒犻櫎:update 琛ㄥ悕 set deleted=1锛宮odifydate=getdate(),modifyuserid=@userid where 涓婚敭=@id琛宨d + + // 鐗╃悊鍒犻櫎锛歩nsert into snote (remark,createuserid) select '鍒犻櫎琛� '+琛ㄥ悕+'鏁版嵁 '+id=@id delete 琛ㄥ悕 where 涓婚敭=@id琛宨d + console.log(_sql) + return _sql + } + + /** * @description 鍒犻櫎瀛樺偍杩囩▼sql * @return {String} name 瀛樺偍杩囩▼鍚嶇О */ @@ -330,10 +384,22 @@ */ 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) } }) @@ -348,18 +414,17 @@ 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)='', - 琛ㄥ崟浼犲��,鏂囨湰鐢╪varchar(50)='',鏃ユ湡鐢╠atetime is null ,鏁板�肩敤decimal(18,灏忔暟鐐逛綅鏁�)=0, - @sEPTMenuNo='', --浼犺彍鍗曞弬鏁� + @ID nvarchar(50)='',${formParam} + @sEPTMenuNo nvarchar(50)='${param.menuNo}', @lang nvarchar(50)='', @debug nvarchar(50)='', @LoginUID nvarchar(50)='', -- Gitblit v1.8.0