多表查询

多表查询

开发工具以及关键技术:Visual Studio 2017 MVC JQuery
撰写时间:2019-04-18

今天在这里给大家分享的功能是多表查询

效果图:
在这里插入图片描述

MVC代码:

public ActionResult SelectOverdueBillInfo(BsgridPage bsgridPage, int ManagerTypeID, int AreaID, int CustomerTypeID, int CustomerStatusID, int BusinessTypeID, int NumberStatusID, int ArrearsTypeID, string CustomerIdentification, string ContractNumber, string ZoneDescription, string UserNumber)
{
    var list = (from tbOverdueBillInfo in myModels.XPW_OverdueBillInfo
                join tbManagerType in myModels.XSYS_ManagerType on tbOverdueBillInfo.ManagerTypeID equals tbManagerType.ManagerTypeID
                 join tbArea in myModels.XSYS_Area on tbOverdueBillInfo.AreaID equals tbArea.AreaID
                 join tbCustomerType in myModels.XSYS_CustomerType on tbOverdueBillInfo.CustomerTypeID equals tbCustomerType.CustomerTypeID
                 join tbCustomerStatus in myModels.XSYS_StatusType on tbOverdueBillInfo.CustomerStatusID equals tbCustomerStatus.StatusTypeID
                 join tbBusinessType in myModels.XSYS_BusinessType on tbOverdueBillInfo.BusinessTypeID equals tbBusinessType.BusinessTypeID
                 join tbNumberStatus in myModels.XSYS_StatusType on tbOverdueBillInfo.NumberStatusID equals tbNumberStatus.StatusTypeID
                 join tbArrearsType in myModels.XSYS_ArrearsType on tbOverdueBillInfo.ArrearsTypeID equals tbArrearsType.ArrearsTypeID
                 join tbCustomerManager in myModels.PW_Staff on tbOverdueBillInfo.CustomerManagerID equals tbCustomerManager.StaffID
                 orderby tbOverdueBillInfo.OverdueBillInfoID ascending
                 select new OverdueBillInfoVo
                 {
                     OverdueBillInfoID = tbOverdueBillInfo.OverdueBillInfoID,//欠费ID
                     ManagerTypeID = tbOverdueBillInfo.ManagerTypeID,//经理类型ID
                     AreaID = tbOverdueBillInfo.AreaID,//区域ID
                     CustomerTypeID = tbOverdueBillInfo.CustomerTypeID,//客户类型ID
                     CustomerStatusID = tbOverdueBillInfo.CustomerStatusID,//客户状态ID
                     BusinessTypeID = tbOverdueBillInfo.BusinessTypeID,//业务类型ID
                     NumberStatusID = tbOverdueBillInfo.NumberStatusID,//号码状态ID
                     ArrearsTypeID = tbOverdueBillInfo.ArrearsTypeID,//欠费类型ID
                     ManagerTypeName = tbManagerType.ManagerType,//经理类型
                     AreaName = tbArea.Area,//区域
                     CustomerTypeName = tbCustomerType.CustomerType,//客户类型
                     CustomerStatusName = tbCustomerStatus.StatusType,//客户状态
                     BusinessTypeName = tbBusinessType.BusinessType,//业务类型
                     NumberStatusName = tbNumberStatus.StatusType,//号码状态
                     ArrearsTypeName = tbArrearsType.ArrearsType,//欠费类型
                     ContractNumber = tbOverdueBillInfo.ContractNumber,//合同号码
                     ZoneDescription = tbOverdueBillInfo.ZoneDescription,//区号
                     UserNumber = tbOverdueBillInfo.UserNumber,//用户号码
                     CustomerIdentification = tbOverdueBillInfo.CustomerIdentification,//客户标识
                     CustomerName = tbOverdueBillInfo.CustomerName,//客户名称
                     CustomerAddress = tbOverdueBillInfo.CustomerAddress,//客户地址
                     CustomerManagerID = tbOverdueBillInfo.CustomerManagerID,//客户经理ID
                     CustomerManagerName = tbCustomerManager.StaffName,//客户经理名称
                     ArrearsMoney = tbOverdueBillInfo.ArrearsMoney,//欠费金额
                     LateFeeEstimation = tbOverdueBillInfo.LateFeeEstimation,//滞留金估算
                     ArrearsMonthly = tbOverdueBillInfo.ArrearsMonthly,//欠费月次
                     ContactPhoneNumber = tbOverdueBillInfo.ContactPhoneNumber,//联系人电话号码
                     StartOverdueTimeStr = tbOverdueBillInfo.StartOverdueTime.ToString(),//最早欠费时间
                     EndOverdueTimeStr = tbOverdueBillInfo.EndOverdueTime.ToString()//最后欠费时间
                 });
    if (ManagerTypeID > 0)//经理类型ID
    {
        list = list.Where(m => m.ManagerTypeID == ManagerTypeID);
    }
    if (AreaID > 0)//区域ID
    {
        list = list.Where(m => m.AreaID == AreaID);
    }
    if (CustomerTypeID > 0)//客户类型ID
    {
        list = list.Where(m => m.CustomerTypeID == CustomerTypeID);
    }
    if (CustomerStatusID > 0)//客户状态ID
    {
        list = list.Where(m => m.CustomerStatusID == CustomerStatusID);
    }
    if (BusinessTypeID > 0)//业务类型ID
    {
        list = list.Where(m => m.BusinessTypeID == BusinessTypeID);
    }
    if (NumberStatusID > 0)//号码状态ID
    {
        list = list.Where(m => m.NumberStatusID == NumberStatusID);
    }
    if (ArrearsTypeID > 0)//欠费类型ID
    {
        list = list.Where(m => m.ArrearsTypeID == ArrearsTypeID);
    }
    if (!string.IsNullOrEmpty(CustomerIdentification)||!string.IsNullOrEmpty(ContractNumber) ||!string.IsNullOrEmpty(ZoneDescription) ||!string.IsNullOrEmpty(UserNumber))//客户标识,合同号码,区号,用户号码
    {
        list = list.Where(m => m.CustomerIdentification.Contains(CustomerIdentification.Trim()) || m.ContractNumber.Contains(ContractNumber.Trim()) || m.ZoneDescription.Contains(ZoneDescription.Trim()) || m.UserNumber.Contains(UserNumber.Trim()));
    }

    int intTotalRows = list.Count();

    List<OverdueBillInfoVo> OverdueBillInfoVo = list.Skip(bsgridPage.GetStartIndex()).Take(bsgridPage.pageSize).ToList();
    Bsgrid<OverdueBillInfoVo> bsgrid = new Bsgrid<OverdueBillInfoVo>()
    {
        success = true,
        totalRows = intTotalRows,
        curPage = bsgridPage.curPage,
        data = OverdueBillInfoVo
    };
    return Json(bsgrid, JsonRequestBehavior.AllowGet);
}

html代码:
在这里插入图片描述
JQuery代码:
使用的是bsgrid插件

    //绑定表格
    $(function () {
	    tabOverdueBillInfo = $.fn.bsgrid.init("tabOverdueBillInfo", {
	    url: '/QueryPlatform/AccountInfoQuery/SelectOverdueBillInfo',
	    autoLoad: false,
	    stripeRows: true,
	    rowHoverColor: true,
	    displayBlankRows: false,
	    pageSize: 10,
	    pageSizeSelect: true,
	    paingLittleToolbar: true,
	    pagingToolbarAlign: "left",
	    event: {
	        customRowEvents: {
	            click: function (record, rowIndex, trObj, options) {
	                if (record != null) {
	                    OverdueBillInfoID = record.OverdueBillInfoID;
	                    searchUserArrearsInfo();
	                    searchAccountArrearsInfo();
	                }
	            }
	        }
	    }
	    searchOverdueBillInfo();
    });
    
    //执行查询按钮
    function searchOverdueBillInfo() {
        var ManagerTypeID = $("#SelectManagerType").val();
        var AreaID = $("#SelectArea").val();
        var CustomerTypeID = $("#SelectCustomerType").val();
        var CustomerStatusID = $("#SelectCustomerStatus").val();
        var BusinessTypeID = $("#SelectBusinessType").val();
        var NumberStatusID = $("#SelectNumberStatus").val();
        var ArrearsTypeID = $("#SelectArrearsType").val();
        var CustomerIdentification = $("#txtCustomerIdentification").val();
        var ContractNumber = $("#txtContractNumber").val();
        var ZoneDescription = $("#txtZoneDescription").val();
        var UserNumber = $("#txtUserNumber").val();

    if (ManagerTypeID == undefined || ManagerTypeID == "") {
        ManagerTypeID = 0;
    }
    if (AreaID == undefined || AreaID == "") {
        AreaID = 0;
    }
    if (CustomerTypeID == undefined || CustomerTypeID == "") {
        CustomerTypeID = 0;
    }
    if (CustomerStatusID == undefined || CustomerStatusID == "") {
        CustomerStatusID = 0;
    }
    if (BusinessTypeID == undefined || BusinessTypeID == "") {
        BusinessTypeID = 0;
    }
    if (NumberStatusID == undefined || NumberStatusID == "") {
        NumberStatusID = 0;
    }
    if (ArrearsTypeID == undefined || ArrearsTypeID == "") {
        ArrearsTypeID = 0;
    }
    tabOverdueBillInfo.search("ManagerTypeID=" + ManagerTypeID + "&AreaID=" + AreaID + "&CustomerTypeID=" + CustomerTypeID + "&CustomerStatusID=" + CustomerStatusID + "&BusinessTypeID=" + BusinessTypeID + "&NumberStatusID=" + NumberStatusID + "&ArrearsTypeID=" + ArrearsTypeID + "&CustomerIdentification=" + CustomerIdentification + "&ContractNumber=" + ContractNumber + "&ZoneDescription=" + ZoneDescription + "&UserNumber=" + UserNumber);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值