From b3547d1c531e479021219fda5df153a11b9b52a3 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 31 八月 2020 17:28:09 +0800 Subject: [PATCH] 2020-08-31 --- src/utils/utils.js | 181 +++++++++++++++++++++----------------------- 1 files changed, 86 insertions(+), 95 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 3d0e29e..3c58522 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -689,7 +689,7 @@ arrfield = arrfield.join(',') if (item.orderBy) { - sql = 'select distinct ' + arrfield + ',' + item.orderBy + ' as orderfield from ' + _datasource + ' order by orderfield ' + item.orderType + sql = `select ${arrfield} from (select distinct ${arrfield},${item.orderBy} as orderfield from ${_datasource} ) a order by orderfield ${item.orderType}` } else { sql = 'select distinct ' + arrfield + ' from ' + _datasource } @@ -765,11 +765,11 @@ val = val.replace(/(^\s*$)|\t*|\v*/ig, '') - if (!val && col.required === 'true') { // 蹇呭~鏍¢獙 + if (!val && col.required === 'true') { // 蹇呭~鏍¢獙 errors.push(_position + dict['main.excel.content.emptyerror']) - } else if (val.length > col.limit) { // 闀垮害鏍¢獙 + } else if (col.limit && val.length > col.limit) { // 闀垮害鏍¢獙 errors.push(_position + dict['main.excel.content.maxlimit']) - } else { // 鍏抽敭瀛楁牎楠� + } else { // 鍏抽敭瀛楁牎楠� keys.forEach(key => { let _patten = new RegExp('(^' + key + '\\s+)|(\\s+' + key + '\\s+)', 'ig') if (_patten.test(val)) { @@ -815,7 +815,10 @@ if (val > 2958465 || val <= 0) { // 鏃堕棿杩囧ぇ鎴栧皬浜庣瓑浜�0 errors.push(_position + dict['main.excel.content.date.over']) } else { // 鏃堕棿鏍煎紡鍖� - val = this.formatExcelDate(val) + if (val < 60) { // 1900-2-29锛宔xcel涓瓨鍦紝瀹為檯涓嶅瓨鍦� + val++ + } + val = moment('19000101', 'YYYYMMDD').add(Math.floor(val - 2), 'days').format('YYYY-MM-DD') } } else if (typeof(val) === 'string') { val = val.replace(/(^\s*$)|\t*|\v*/ig, '') @@ -945,8 +948,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` - // if (window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') { - if (window.GLOB.systemType !== 'production') { + if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { let fsql = ` ${_sql} ${_sqlInsert} @@ -967,7 +969,7 @@ Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}' ` } - + return { sql: _sql, lines: result.map((list, index) => { @@ -980,20 +982,6 @@ bottom: _sqlBottom, errors: errors.join('; ') } - } - - /** - * @description 鏍煎紡鍖杄xcel涓殑date鍊� - * @param {Number} number 鏃堕棿鍊� - */ - static formatExcelDate(number) { - const time = new Date((number - 1) * 24 * 3600000 + 1) - time.setYear(time.getFullYear() - 70) - const year = time.getFullYear() - const month = time.getMonth() + 1 - const date = time.getDate() - 1 - - return `${year}-${(month < 10 ? '0' + month : month)}-${(date < 10 ? '0' + date : date)}` } /** @@ -1259,6 +1247,77 @@ ` }) } + + // 鑷畾涔夐獙璇� + verify.customverifys && verify.customverifys.forEach(item => { + _sql += ` + /* 鑷畾涔夐獙璇� */ + select @tbid='', @ErrorCode='',@retmsg='' + select top 1 @tbid='X' from (${item.sql}) a + If @tbid ${item.result === 'true' ? '!=' : '='}'' + Begin + select @ErrorCode='${item.errorCode}',@retmsg='${item.errmsg}' + goto aaa + end + ` + }) + + // 鍗曞彿鐢熸垚锛屼娇鐢ㄤ笂绾d锛圔ID锛夋垨鍒楄〃鏁版嵁锛屽0鏄庡彉閲忥紙妫�楠岋級 + let _billcodesSql = '' + if (verify.billcodes && verify.billcodes.length > 0) { + verify.billcodes.forEach(item => { + let _ModularDetailCode = '' + let _lpline = '' + if (item.TypeCharOne === 'Lp') { + if (item.linkField === 'BID' && BID) { // 鏇挎崲bid + _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)` + } else { + _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)` + } + _ModularDetailCode = '@ModularDetailCode' + } else if (item.TypeCharOne === 'BN') { + let _val = '' + if (item.linkField === 'BID' && BID) { // 鏇挎崲bid + _val = BID + } else if (data && data.hasOwnProperty(item.linkField)) { + _val = data[item.linkField] + } + _ModularDetailCode = `'${item.TypeCharOne + _val}'` + } else { + _ModularDetailCode = `'${item.ModularDetailCode}'` + } + + let _declare = '' + let _key = item.field.toLowerCase() + + if (!_vars.includes(_key)) { + _declare = `Declare @${_key} nvarchar(50)` + _vars.push(_key) + } + + _billcodesSql += ` + /* 鍗曞彿鐢熸垚 */ + ${_declare} + select @BillCode='', @${_key}='', @ModularDetailCode='' + ${_lpline} + exec s_get_BillCode + @ModularDetailCode=${_ModularDetailCode}, + @Type=${item.Type}, + @TypeCharOne='${item.TypeCharOne}', + @TypeCharTwo ='${item.TypeCharTwo}', + @BillCode =@BillCode output, + @ErrorCode =@ErrorCode output, + @retmsg=@retmsg output + if @ErrorCode!='' + goto aaa + set @${_key}=@BillCode + ` + }) + + if (_actionType !== 'insertOrUpdate') { + _sql += _billcodesSql + } + } // 鍞竴鎬ч獙璇侊紝蹇呴』瀛樺湪琛ㄥ崟锛堣〃鍗曞瓨鍦ㄦ椂锛屼富閿潎涓哄崟鍊硷級,蹇呴』濉啓鏁版嵁婧愶紝澶氳鎷兼帴鏃朵笉鍙敤 if (formdata && verify.uniques && verify.uniques.length > 0 && btn.Ot !== 'requiredOnce') { @@ -1334,77 +1393,6 @@ ` }) } - - // 鑷畾涔夐獙璇� - verify.customverifys && verify.customverifys.forEach(item => { - _sql += ` - /* 鑷畾涔夐獙璇� */ - select @tbid='', @ErrorCode='',@retmsg='' - select top 1 @tbid='X' from (${item.sql}) a - If @tbid ${item.result === 'true' ? '!=' : '='}'' - Begin - select @ErrorCode='${item.errorCode}',@retmsg='${item.errmsg}' - goto aaa - end - ` - }) - - // 鍗曞彿鐢熸垚锛屼娇鐢ㄤ笂绾d锛圔ID锛夋垨鍒楄〃鏁版嵁锛屽0鏄庡彉閲忥紙妫�楠岋級 - let _billcodesSql = '' - if (verify.billcodes && verify.billcodes.length > 0) { - verify.billcodes.forEach(item => { - let _ModularDetailCode = '' - let _lpline = '' - if (item.TypeCharOne === 'Lp') { - if (item.linkField === 'BID' && BID) { // 鏇挎崲bid - _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)` - } else { - _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)` - } - _ModularDetailCode = '@ModularDetailCode' - } else if (item.TypeCharOne === 'BN') { - let _val = '' - if (item.linkField === 'BID' && BID) { // 鏇挎崲bid - _val = BID - } else if (data && data.hasOwnProperty(item.linkField)) { - _val = data[item.linkField] - } - _ModularDetailCode = `'${item.TypeCharOne + _val}'` - } else { - _ModularDetailCode = `'${item.ModularDetailCode}'` - } - - let _declare = '' - let _key = item.field.toLowerCase() - - if (!_vars.includes(_key)) { - _declare = `Declare @${_key} nvarchar(50)` - _vars.push(_key) - } - - _billcodesSql += ` - /* 鍗曞彿鐢熸垚 */ - ${_declare} - select @BillCode='', @${_key}='', @ModularDetailCode='' - ${_lpline} - exec s_get_BillCode - @ModularDetailCode=${_ModularDetailCode}, - @Type=${item.Type}, - @TypeCharOne='${item.TypeCharOne}', - @TypeCharTwo ='${item.TypeCharTwo}', - @BillCode =@BillCode output, - @ErrorCode =@ErrorCode output, - @retmsg=@retmsg output - if @ErrorCode!='' - goto aaa - set @${_key}=@BillCode - ` - }) - - if (_actionType !== 'insertOrUpdate') { - _sql += _billcodesSql - } - } let hasvoucher = false @@ -1441,6 +1429,8 @@ let values = [] formdata.forEach(item => { + if (item.writein === false) return + keys.push(item.key.toLowerCase()) values.push('@' + item.key) }) @@ -1484,6 +1474,8 @@ let _arr = [] formdata.forEach(item => { + if (item.writein === false) return + _arr.push(item.key.toLowerCase()) _form.push(item.key + '=@' + item.key) }) @@ -1593,8 +1585,7 @@ _sql += ` aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` - // if (window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') { - if (window.GLOB.systemType !== 'production') { + if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { _sql = _sql.replace(/\n\s{8}/ig, '\n') console.log(_sql) } -- Gitblit v1.8.0