king
2025-02-06 d1cd5af5adb53e91efdd278328e1b6f8ad834fb5
src/utils/utils-custom.js
@@ -3533,6 +3533,11 @@
            isconst: item.constant === 'true'
          }
          if (item.type === 'linkMain' && item.verifyVal === 'true') {
            _item.$verify = true
            _item.label = item.label
          }
          if (_item.type === 'datemonth') {
            _item.type = 'text'
          } else if (_item.type === 'number' || _item.type === 'rate') {
@@ -3571,8 +3576,19 @@
      formdata.push(item)
    }
    let verifyValSql = ''
    // 获取字段键值对
    formdata && formdata.forEach(form => {
      if (form.$verify) {
        verifyValSql += `
        if @${form.key}=${form.type === 'number' ? 0 : `''`}
        begin
          select @errorcode='E',@retmsg='${form.label},关联主表失效'
          goto aaa
        end
        `
      }
      let _key = form.key.toLowerCase()
      if (!formkeys.includes(_key)) {
@@ -4279,6 +4295,10 @@
      }
    } else if (_backCustomScript) {
      _sql += _backCustomScript
    }
    if (verifyValSql) {
      _sql += verifyValSql
    }
    if (verify.workFlow === 'true' && process) {
@@ -5468,6 +5488,7 @@
        let _fields = unique.field.split(',')
        let _fields_ = _fields.map(_field => `a.${_field}=b.${_field}`)
        _fields_ = _fields_.join(' and ')
        _fields_ += ` and a.jskey != b.${setting.primaryKey || 'id'}`
        let _where = []
        _fields.forEach(f => {
@@ -5524,6 +5545,7 @@
    let declarefields = []
    let fields = []
    let upFields = []
    forms.forEach(col => {
      let key = col.field.toLowerCase()
@@ -5531,15 +5553,27 @@
      declarefields.push(`${col.field} ${col.datatype}`)
      fields.push(col.field)
      upFields.push(`${col.field}=t.${col.field}`)
    })
    fields = fields.join(',')
    upFields = upFields.join(',')
    let _insert = ''
    if (btn.default !== 'false') {
      _insert = `
        /* 默认sql */
        Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid)
        update a set ${upFields},modifydate=getdate(),modifyuserid=@UserID@,modifyuser=@username,modifystaff=@fullname,deleted=0
        from (select * from #${sheet} where data_type='upt') t
        inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'}
        update a set deleted=1,modifydate=getdate(),modifyuserid=@UserID@,modifyuser=@username,modifystaff=@fullname
        from (select * from #${sheet} where data_type='del') t
        inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'}
        delete t from #${sheet} t inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'}
        Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid)
        Select ${fields},@UserID@,@username,@fullname,@BID@ From #${sheet}
      `
    }