king
2023-08-01 cbf443a8ff216ef86e4c4cd482b6aae23ec6a302
src/utils/utils-datamanage.js
@@ -15,13 +15,13 @@
   * @param {String}   BID          上级ID
   * @return {Object}  param
   */
  static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id) {
  static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id, year) {
    let param = null
    if (setting.interType === 'system') {
      param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID)
      param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID, year)
    } else {
      param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, id)
      param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, id, year)
    }
    if (BID) {
@@ -38,7 +38,7 @@
  /**
   * @description 获取用户自定义存储过程传参
   */
  static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, id) {
  static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, id, year) {
    let param = Utils.formatCustomMainSearch(search)
    if (orderBy) {
@@ -50,6 +50,8 @@
    } else if (setting.laypage) {
      param.PageIndex = pageIndex
      param.PageSize = pageSize
    } else if (setting.$re_year) {
      param.mk_year = year
    }
    if (setting.interType === 'inner') {
@@ -98,7 +100,7 @@
  /**
   * @description 获取系统存储过程的参数
   */
  static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID) {
  static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID, year) {
    let param = {
      func: 'sPC_Get_TableData',
      obj_name: 'data',
@@ -160,34 +162,38 @@
    _dataresource = _dataresource.replace(/@typename@/ig, `'admin'`)
    _customScript = _customScript.replace(/@typename@/ig, `'admin'`)
    let regoptions = null
    if (setting.queryType === 'statistics' || _customScript) {
      let allSearch = Utils.getAllSearchOptions(search)
      regoptions = allSearch.map(item => {
        return {
          reg: new RegExp('@' + item.key + '@', 'ig'),
          value: `'${item.value}'`
        }
      })
      regoptions.push({
        reg: new RegExp('@orderBy@', 'ig'),
        value: orderBy
      }, {
        reg: new RegExp('@pageSize@', 'ig'),
        value: setting.laypage ? pageSize : '9999'
      }, {
        reg: new RegExp('@pageIndex@', 'ig'),
        value: pageIndex
      })
    if (setting.$re_year) {
      _dataresource = _dataresource.replace(/@mk_year@/ig, year)
      _customScript = _customScript.replace(/@mk_year@/ig, year)
    }
    let allSearch = Utils.getAllSearchOptions(search)
    let regoptions = allSearch.map(item => {
      return {
        reg: new RegExp('@' + item.key + '@', 'ig'),
        value: `'${item.value}'`
      }
    })
    regoptions.push({
      reg: new RegExp('@orderBy@', 'ig'),
      value: orderBy
    }, {
      reg: new RegExp('@pageSize@', 'ig'),
      value: setting.laypage ? pageSize : '9999'
    }, {
      reg: new RegExp('@pageIndex@', 'ig'),
      value: pageIndex
    })
    regoptions.forEach(item => {
      _dataresource = _dataresource.replace(item.reg, item.value)
      _customScript = _customScript.replace(item.reg, item.value)
    })
    let _search = ''
    
    if (_dataresource) {
      if (setting.queryType === 'statistics') { // 统计数据源,内容替换
        regoptions.forEach(item => {
          _dataresource = _dataresource.replace(item.reg, item.value)
        })
        if (id) {
          _dataresource = _dataresource + ` where ${setting.primaryKey || 'ID'}='${id}'`
        }
@@ -203,9 +209,6 @@
    }
    if (_customScript) {
      regoptions.forEach(item => {
        _customScript = _customScript.replace(item.reg, item.value)
      })
      if (window.GLOB.breakpoint) {
        _customScript = _customScript.replace(/\$breakpoint_proc@/ig, window.GLOB.breakpoint)
        param.func = 'sPC_Get_TableData_debug'
@@ -220,11 +223,15 @@
    }
    if (_dataresource && setting.laypage && orderBy && !id) {
      LText = `/*system_query*/select top ${pageSize} ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows `
      if (setting.sub_field) {
        DateCount = `/*system_query*/select count(1) as total from (select distinct ${setting.primaryKey} from ${_dataresource} ${_search})a`
      if (setting.custompage) {
        LText = `/*system_query*/select ${arrFields} from ${_dataresource} ${_search} `
      } else {
        DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}`
        LText = `/*system_query*/select top ${pageSize} ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows `
        if (setting.sub_field) {
          DateCount = `/*system_query*/select count(1) as total from (select distinct ${setting.primaryKey} from ${_dataresource} ${_search})a`
        } else {
          DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}`
        }
      }
    } else if (_dataresource && orderBy) {
      LText = `/*system_query*/select ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows `
@@ -237,13 +244,13 @@
        LText = `${LText}
          aaa:
          if @ErrorCode!=''
            insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@
            insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}'
        `
      } else {
        _customScript = `${_customScript}
          aaa:
          if @ErrorCode!=''
            insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@
            insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}'
        `
      }
    } else {
@@ -361,44 +368,37 @@
    _dataresource = _dataresource.replace(/@typename@/ig, `'admin'`)
    _customScript = _customScript.replace(/@typename@/ig, `'admin'`)
    let regoptions = null
    if (setting.queryType === 'statistics' || _customScript) {
      let allSearch = Utils.getAllSearchOptions(search)
    let allSearch = Utils.getAllSearchOptions(search)
    let regoptions = allSearch.map(item => {
      return {
        reg: new RegExp('@' + item.key + '@', 'ig'),
        value: `'${item.value}'`
      }
    })
      regoptions = allSearch.map(item => {
        return {
          reg: new RegExp('@' + item.key + '@', 'ig'),
          value: `'${item.value}'`
        }
      })
      regoptions.push({
        reg: new RegExp('@orderBy@', 'ig'),
        value: orderBy
      }, {
        reg: new RegExp('@pageSize@', 'ig'),
        value: 999999
      }, {
        reg: new RegExp('@pageIndex@', 'ig'),
        value: 1
      })
    }
    regoptions.push({
      reg: new RegExp('@orderBy@', 'ig'),
      value: orderBy
    }, {
      reg: new RegExp('@pageSize@', 'ig'),
      value: 999999
    }, {
      reg: new RegExp('@pageIndex@', 'ig'),
      value: 1
    })
    let _search = Utils.joinMainSearchkey(search)
    if (_search) {
      _search = 'where ' + _search
    }
    regoptions.forEach(item => {
      _dataresource = _dataresource.replace(item.reg, item.value)
      _customScript = _customScript.replace(item.reg, item.value)
    })
    let _search = ''
    
    if (setting.queryType === 'statistics') { // 统计数据源,内容替换
      regoptions.forEach(item => {
        _dataresource = _dataresource.replace(item.reg, item.value)
      })
      _search = ''
    }
    if (_customScript) {
      regoptions.forEach(item => {
        _customScript = _customScript.replace(item.reg, item.value)
      })
    if (setting.queryType !== 'statistics') { // 统计数据源,内容替换
      _search = Utils.joinMainSearchkey(search)
      if (_search) {
        _search = 'where ' + _search
      }
    }
    let LText = ` /*system_query*/select ${statFields.map(col => `isnull(sum(${col.field}),0) as ${col.field}`).join(',')} from ${_dataresource} ${_search} `
@@ -407,7 +407,7 @@
      LText = `${LText}
        aaa:
        if @ErrorCode!=''
          insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@
          insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,'${sessionStorage.getItem('UserID') || ''}'
      `
    } else {
      LText = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100)
@@ -460,22 +460,18 @@
  let _dataresource = setting.dataresource
  let _customScript = setting.customScript
  
  if (setting.queryType === 'statistics' || _customScript) {
    let allSearch = Utils.getAllSearchOptions(searchlist)
    let regoptions = allSearch.map(item => {
      return {
        reg: new RegExp('@' + item.key + '@', 'ig'),
        value: `'${item.value}'`
      }
    })
  let allSearch = Utils.getAllSearchOptions(searchlist)
  let regoptions = allSearch.map(item => {
    return {
      reg: new RegExp('@' + item.key + '@', 'ig'),
      value: `'${item.value}'`
    }
  })
    regoptions.forEach(item => {
      if (_dataresource && setting.queryType === 'statistics') {
        _dataresource = _dataresource.replace(item.reg, item.value)
      }
      _customScript = _customScript.replace(item.reg, item.value)
    })
  }
  regoptions.forEach(item => {
    _dataresource = _dataresource.replace(item.reg, item.value)
    _customScript = _customScript.replace(item.reg, item.value)
  })
  _dataresource = _dataresource.replace(/@select\$|\$select@/ig, '')
  _customScript = _customScript.replace(/@select\$|\$select@/ig, '')