CheckIsOrdinal.js 1.33 KB
Newer Older
wangcong committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
// 获取子表某列最大值或最小值
export default {
    execute: function () {
        console.log("进入:检查某字段是否有序");
        let preValue = '';
        let isOrdinal = 1
        if (arguments && arguments[0] && arguments[0][0] && arguments[1]) {
            let table = arguments[0][0].FieldTableCode, field = arguments[0][0].FieldCode, orderType = arguments[0][1].StaticValue, context = arguments[1];
            if (context.getTableType) {
                let _tn = context.getTableType(table);
                let _data = context.getSubData(_tn.title);
                if (_data instanceof Array) {
                    for (const iterator of _data) {
                        let _val = iterator.getValue(field)
                        if (!_val) {
                            continue
                        } else if (_val && (preValue == '' || (orderType == 'desc' && preValue > _val) || (orderType == 'asc' && preValue < _val))) {
                            preValue = _val
                        } else {
                            isOrdinal = -1
                            break
                        }
                    }
                }
            }
        }
        return isOrdinal
    },
    getResultType: function () {
        return FMR.ConstDataTypes.General;
    }
}