首页 > 其他分享 >VOL框架 GetPageData 前端加入自定义查询条件的处理方法

VOL框架 GetPageData 前端加入自定义查询条件的处理方法

时间:2024-03-30 09:02:15浏览次数:24  
标签:Name 自定义 VOL GetPageData QuerySql item options

VOL框架 GetPageData 前端加入自定义查询条件的处理方法

前端加入两个自定义条件:开始日期,结束日期

        public override PageGridData<ST_QueryFeeReceiveable> GetPageData(PageDataOptions options)
        {
            QuerySql = $@"SELECT   FeeReceivableID, R.FeeID, C.CustomerID
                FROM     ST_FeeReceivable R 
                left join ST_CodeMeter M on R.MeterId=M.MeterID
                where 1=1
            ";

            string companycode = UserContext.Current.UserInfo.CompanyCode;
            if (companycode != "00")
            {
                QuerySql += $" and C.CompanyCode='{UserContext.Current.UserInfo.CompanyCode}'";
            }
            //获取所有查询条件
            List<SearchParameters> list = options.Wheres.DeserializeObject<List<SearchParameters>>();

            if (list.Count>0)
            {
                //将自定义查询条件,加入到 QuerySql 中
                foreach (SearchParameters item in list)
                {
                    if (item.Name == "StartDate")
                    {
                        if (!string.IsNullOrEmpty(item.Value))
                        {
                            QuerySql += $" and R.MeterMonth>='{item.Value}'";
                        }
                    }
                    if (item.Name == "EndDate")
                    {
                        if (!string.IsNullOrEmpty(item.Value))
                        {
                            QuerySql += $" and R.MeterMonth<='{item.Value}'";
                        }
                    }
                }
            }
            //调用 base.GetPageData 之前,排除掉自定义查询条件
            var xx = list.Where(a => a.Name != "StartDate").Where(a => a.Name != "EndDate");
            
            options.Wheres = JsonConvert.SerializeObject(xx);

            return base.GetPageData(options);
        }

 

标签:Name,自定义,VOL,GetPageData,QuerySql,item,options
From: https://www.cnblogs.com/wishit/p/18104997

相关文章

  • C语言中的自定义类型
    在C语言中有三种常见的自定义类型:结构体,联合体,枚举。1.1 结构体1.1.1结构体的声明structtag{  member-list;//成员清单}variable-list; //变量清单例如:我们创建一个结构体的变量,来描述一个学生。structStudent{charname[20];intage;cha......
  • 【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Network
    (ELA)EfficientLocalAttentionforDeepConvolutionalNeuralNetworks论文链接:ELA:EfficientLocalAttentionforDeepConvolutionalNeuralNetworks(arxiv.org)作者:WeiXu,YiWan单位:兰州大学信息科学与工程学院,青海省物联网重点实验室,青海师范大学引用:XuW,W......
  • postgresql自定义函数实现功能有两个数组arr1,arr2,返回第一个数组中不在第二个数组的
    CREATEORREPLACEFUNCTIONarray_difference(arr1text[],arr2text[])RETURNStext[]AS$$DECLAREresult_arrtext[];BEGIN--初始化结果数组为一个空数组result_arr:='{}';--遍历第一个数组中的每个元素FORiIN1..array_leng......
  • postgresql自定义函数实现三个数组存在相同数据,且在第四个数组中不存在的数据
    --使用postgresql语言写一个函数,实现以下功能:--1有管理权限用户数组、列表权限用户数组、查看权限用户数组、无权限用户数组四个用户数组--2当无权限用户数组存在用户数据时,如果管理权限用户数组,列表权限用户数组,查看权限用户数组中存在相同的用户数据,并且和无权限用户数......
  • Large Language Models As Evolution Strategies
    本文是LLM系列文章,针对《LargeLanguageModelsAsEvolutionStrategies》的翻译。作为进化策略的大型语言模型摘要1引言2相关工作3背景4将LLMS转化为ES算法5LLMS作为零样本进化策略6EVOLLM消融研究7EVOLLM与教师微调8讨论摘要大型Transformer模......
  • QT 自定义插件问题 error: LNK2001: 无法解析的外部符号
    为了重复利用已有的代码,我使用自定义插件进行开发。当每个插件独立开发时没有遇到问题,但是当插件B引用了插件A时就会在编译时报错error:LNK2001:无法解析的外部符号。例如,先定义一个插件ColorPicker,用于颜色选取。关键代码如下:classQDESIGNER_WIDGET_EXPORTColorPicker:......
  • H5get请求重定向后页面没有跳转重定向的地址是什么问题;H5get请求重定向后页面不跳转自
    Ajax请求的处理:如果使用了XMLHttpRequest或FetchAPI进行GET请求,并通过异步处理来获取响应数据,那么浏览器不会自动跳转到重定向的地址。如果在H5的GET请求中,服务器返回了重定向响应(HTTP状态码为3xx),但页面没有跳转到重定向的地址,可能有几种可能的原因:JavaScript......
  • Qt自定义插件写Excel表格
    网上找到一个开源的Qt插件,下载下来,生成头文件和库文件,可以不依赖电脑是否安装Excel软件,是否有Excel驱动,可以直接输出excel文档https://github.com/dbzhang800/QtXlsxWriter/tree/master/src/xlsx#include"CopyAllFileThread.h"#include<QFileInfo>#include"LocalDb.h"#inc......
  • Windows10 安装Docker及自定义安装路径
    本文主要介绍了Windows平台下Docker的安装过程,包括安装包下载、自定义安装路径、安装过程、安装后配置和运行验证。一、前提条件,windows10内部版本要升级到19044以上。可以在官网下载升级工具:下载Windows10二、打开控制面板,参照下图打开“启动或关闭windows功能”,Hyper-V......
  • 自定义的基于System.Net.Http.HttpClient的WebClient,可以作为微信支付宝的发起请求时
    个人编写的,自己用于自己的微信api的请求的实现当中,源码公开,大家可以查看反编译源码。以下是使用方法:第一步搜索和安装zmjtool第二步发起请求1/**引入命名空间*/2usingZmjTool;34/**发起Get请求*/5using(varcl=newZmjTool.WebClient())6{7cl.......