| | |
| | | if (item.subButton.intertype === 'system' && !item.subButton.sqlType) { |
| | | errors.push({ level: 0, detail: `${item.subButton.label} 按钮请设置操作类型`}) |
| | | } |
| | | if (item.subButton.Ot === 'requiredSgl' && card.wrap.datatype === 'static') { |
| | | errors.push({ level: 0, detail: `${item.subButton.label} 按钮选行时不可使用静态数据源`}) |
| | | } |
| | | if (item.subButton.verify && !item.subButton.output) { |
| | | if (item.subButton.verify.noteEnable === 'true') { |
| | | errors.push({ level: 0, detail: `${item.subButton.label} 按钮未设置返回值短信发送无效!`}) |
| | |
| | | let _ch_d = sql.match(/@check\$/ig) |
| | | let _m_b = sql.match(/\$@/ig) |
| | | let _m_d = sql.match(/@\$/ig) |
| | | let caseErr = false |
| | | |
| | | _quot = _quot ? _quot.length : 0 |
| | | _lparen = _lparen ? _lparen.length : 0 |
| | |
| | | _ch_d = _ch_d ? _ch_d.length : 0 |
| | | _m_b = _m_b ? _m_b.length : 0 |
| | | _m_d = _m_d ? _m_d.length : 0 |
| | | |
| | | if (/case\s+when\s+[\s\S]+\send(\s|\n|$)/ig.test(sql)) { |
| | | sql.match(/case\s+when\s+[\s\S]+\send(\s|\n|$)/ig).forEach(line => { |
| | | if (!/\selse\s/ig.test(line)) { |
| | | caseErr = true |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (_quot % 2 !== 0) { |
| | | notification.warning({ |
| | |
| | | }) |
| | | return false |
| | | } else if (/\sdecimal\(8,/ig.test(sql)) { |
| | | let lines = '' |
| | | sql.split(/\n/).forEach((s, i) => { |
| | | if (/(^|\s)decimal\(8,/ig.test(s)) { |
| | | lines = '第' + (i + 1) + '行中' |
| | | } |
| | | }) |
| | | |
| | | notification.warning({ |
| | | top: 92, |
| | | message: `不可使用 decimal(8`, |
| | | message: `${lines}不可使用 decimal(8`, |
| | | duration: 5 |
| | | }) |
| | | return false |
| | | } else if (caseErr) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: 'case when 语句需要有 else', |
| | | duration: 5 |
| | | }) |
| | | return false |