king
2020-05-15 25b1262a25df82f32296afe3802836e768f2143f
src/utils/utils.js
@@ -1051,10 +1051,15 @@
        datasource = '(' + datasource + ') tb'
      }
      let _ID = '=@ID@'
      if (btn.Ot === 'requiredOnce') {
        _ID = ' in (select ID from  dbo.SplitComma(@ID@))'
      }
      _sql += `
        /* 失效验证 */
        select @tbid='', @ErrorCode='',@retmsg=''
        select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ='${primaryId}'
        select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ${_ID}
        If @tbid=''
        Begin
          select @ErrorCode='E',@retmsg='数据已失效'
@@ -1130,18 +1135,20 @@
      }
      verify.uniques.forEach(item => {
        console.log(item)
        // `有同类数据验证:
        // 与唯一性验证一样,可以选几个字段
        // Set @tbid=’’
        let _primaryKey = item.field.split(',').includes(primaryKey) ? '' : ',' + primaryKey
        _sql += `
        /* 同类数据验证 */
        Set @tbid=''
        Select top 1 @tbid='X' from (select ${item.field}${_primaryKey},1 an n from ${datasource} ) tb  inner join (select ID from  dbo.SplitComma(@ID@)) sp on tb.${primaryKey}=sp.ID group by ${item.field} having sum(n)>1
        
        // Select top 1 @tbid=’X’ from (select 多个字段逗号分隔,主键,1 an n from 数据源 ) tb  inner join (select ID from  dbo.SplitComma(@ID@)) sp on tb.主键=sp.ID group by 多个字段逗号分隔 having sum(n)>1
        // If @tbid!=’’
        // Begin
        //     Set @errorcode=’E’ ,Set @remsg=’多个字段逗号分隔 值不唯一’ goto aaa
        // end
        // `
        If @tbid!=''
        Begin
          Set @errorcode='E' ,Set @remsg='${item.fieldlabel} 值不唯一'
          goto aaa
        end
        `
      })
    }