超越宝典汽配汽修管理系统
在控制器中执行相应的代码,以便更好的从数据库中获取需要的数据。
-
使用linq 来查询多表数据。
-
对应的‘进厂日期’ 和 ‘计划完结日期’ 需要添加上
Tostring()
进行格式的转换。因为设计日期使用‘datetime’类型,如果不进行转换会导致获取不了需要的数据。
using QPQXMS.EntityClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using QPQXMS.Models;
namespace QPQXMS.Areas.MaintenanceBusiness.Controllers
{
public class WorkshopManagementController : Controller
{
// GET: MaintenanceBusiness/WorkshopManagement
Models.QPQX_MSEntities myModel = new Models.QPQX_MSEntities();
//车间管理页面
public ActionResult Index()
{
return View();
}
//查询维修委托单表
public ActionResult SelectBusinessInfor(LayuiTablePage layuiTablePage) {
// 连表查询
List<ListWorkshop> listWorkshop = (from tbMaintainOdd in myModel.R_MaintainOdd //维修单表
join tbCar in myModel.S_car on tbMaintainOdd.carID equals tbCar.carID //车辆信息表
join tbServiceType in myModel.S_ServiceType on tbMaintainOdd.ServiceTypeID equals tbServiceType.ServiceTypeID //维修类型表
select new ListWorkshop
{
MaintainOddNumber = tbMaintainOdd.MaintainOddNumber,//维修单号
BusNumber = tbCar.BusNumber,//车牌号
VehiclModel = tbCar.vehiclModel,//车型
factoryTime = tbMaintainOdd.FactoryTime.ToString(),//进厂日期
plannedEndTime = tbMaintainOdd.PlannedEndTime.ToString(),//计划完结日期
ServiceTypeName = tbServiceType.ServiceTypeName,//维修类型
}).ToList();
//统计总条数
int totalCount = listWorkshop.Count();
//倒序 ,分页查询
List<ListWorkshop> listWorkshopInfor = listWorkshop.OrderByDescending(m => m.MaintainOddID).Skip(layuiTablePage.GetStartIndex()).Take(layuiTablePage.limit).ToList();
// 实例化对象
LayuiTableData<ListWorkshop> layuiTableData = new LayuiTableData<ListWorkshop>
{
count = totalCount,
data = listWorkshopInfor,
};
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}
2.EntityClass,新建一个文件夹名为EntityClass用于存放自定义类,在里面添加‘实体类’。(有2种方式)
01.因为 ListWorkshop 实体类 继承 R_MaintainOdd表格的内容,所以我们可以省略书写 R_MaintainOdd 中的内容。因为这些都是可以全盘继承的。很大程度上减少了代码量的书写。查询数据时,我们只需要在‘实体类’中书写在R_MaintainOdd 表格中没有的数据即可。
02.如果不使用继承,那么就需要填写上所有需要的数据。代码量增加,不建议使用,但是可以了解一下。
总的来说,使用继承可以省略掉很多的步骤,有一些数据如果可以通过继承来获取,那么就没有必要在使用的时候再次来获取数据。类似于父子关系,儿子可以继承父亲财产。
注意:注释掉的数据是R_MaintainOdd 中的数据。
using QPQXMS.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace QPQXMS.EntityClass
{
//ListWorkshop 实体类 继承 R_MaintainOdd表格的内容
public class ListWorkshop: R_MaintainOdd //维修单表。 : 继承的符号
{
// //维修单号
// public string MaintainOddNumber { get; set; }
// //车牌号
public string BusNumber { get; set; }
// //车架号
public string VIN { get; set; }
// //车型
public string VehiclModel { get; set; }
// //厂牌
public string BrandName { get; set; }
// //车类
public string CarTypeName { get; set; }
// //引擎号
public string EngineNo { get; set; }
// //车主
public string CarOwnerName { get; set; }
// //联系人
public string ContactMan { get; set; }
// //电话号码
public string PhoneNumber { get; set; }
// //地址
public string CarOwnerAddress { get; set; }
// //自编号
// public string Tcount { get; set; }
// //进厂日期 ,日期转换格式
public string ftime { get; set; }
public string factoryTime
{
set
{
try
{
DateTime ft = Convert.ToDateTime(value);
ftime = ft.ToString("yyyy-MM-dd HH:mm:ss");
}
catch (Exception)
{
ftime = value;
}
}
get
{
return ftime;
}
}
//计划完结日期
public string plannedEndTime
{
set
{
try
{
DateTime ft = Convert.ToDateTime(value);
ftime = ft.ToString("yyyy-MM-dd HH:mm:ss");
}
catch (Exception)
{
ftime = value;
}
}
get
{
return ftime;
}
}
// //接车员
public string StaffName { get; set; }
// //进厂里程
// public string FactoryMileage { get; set; }
// //油表
public string OilGauge { get; set; }
// //维修类
public string ServiceTypeName { get; set; }
// //计划完结
// public DateTime? PlannedEndTime { get; set; }
// //工时折扣
// public decimal? TimeDiscount { get; set; }
// //工配折扣
// public decimal? WorkWithDiscount { get; set; }
// //管理费
// public decimal? ManagementCost { get; set; }
// //合计金额
// public decimal? AmountInTotal { get; set; }
// //优惠金额
// public decimal? Coupon { get; set; }
// //实收金额
// public decimal? MoneyReceived { get; set; }
}
}