《智百盛汽修汽配管理系统》项目研发总
功能实现
1、基础数据
2、配件库存
经典代码
开发总结
功能实现
1、基础数据
仓库信息设置
对供应商的信息进行新增、删除、查询、修改
供应商基本资料
对供应商的信息进行新增、删除、查询、修改
维修客户基本资料
点击客户区域菜单栏,可以对信息进行筛选,点击相对应的按钮,可以对信息进行增删查改
配件大类设置
对配件大类进行新增、删除、查询、修改
配件信息设置
点击客户区域菜单栏,可以对信息进行筛选,点击相对应的按钮,可以对信息进行增删查改
销售客户设置
点击客户区域菜单栏,可以对信息进行筛选,点击相对应的按钮,可以对信息进行增删查改
客户区域设置
对客户区域进行查询
维修项目设置
点击修理大类菜单栏,可以对信息进行筛选,点击相对应的按钮,可以对信息进行增删查改
2、配件库存
配件库存
可以根据配件的编码,名称,类别,仓库进行数量查询查询,而数量的统计类型有两种,一是根据仓库库存查询,二是按物料统计
经典代码
都是在MVC框架中用代码进行操作数据库的(LINQ语句),简单的增删查改
新增
public ActionResult InsertMaintenance(SYS_MaintenanceCus MaintenanceCus)
{
string strMsg = "failed";
try
{
//判断维修客户表中是否已经存在新增的维修客户信息
var SelectCount = (from tbMaintenanceCus in myModels.SYS_MaintenanceCus
where tbMaintenanceCus.MaintenanceCusID == MaintenanceCus.MaintenanceCusID ||
tbMaintenanceCus.IdNumber == MaintenanceCus.IdNumber
select tbMaintenanceCus).Count();
if (SelectCount == 0)
{
myModels.SYS_MaintenanceCus.Add(MaintenanceCus);
myModels.SaveChanges();
strMsg = "success";
}
else
{
strMsg = "该维修客户信息已经存在,不需要重复输入数据!";
}
}
catch (Exception e)
{
strMsg = "failed";
}
return Json(strMsg, JsonRequestBehavior.AllowGet);
}
修改
public ActionResult SelectMaintenanceByID(int MaintenanceCusID)
{
var list = myModels.SYS_MaintenanceCus.Where(m => m.MaintenanceCusID == MaintenanceCusID).Select(m => new
{
MaintenanceCusID = m.MaintenanceCusID,//维修客户ID
Owner = m.Owner,//车主
Birthday = m.Birthday.ToString(),//生日
IdNumber = m.IdNumber,//身份证号
MobilePhone = m.MobilePhone,//车主手机
LicenseCode = m.LicenseCode,//车牌号码
VehicleType = m.VehicleType,//车型
EngineNum = m.EngineNum,//发动机号
FrameNum = m.FrameNum,//车架
RepairMan = m.RepairMan,//送修人
RepairTele = m.RepairTele, //送修人电话
InsuranceComID = m.InsuranceComID,//保险公司
InsuranceSpeID = m.InsuranceSpeID,//保险种类
InitialStartDate = m.InitialStartDate.ToString(), //保险起始日
InitialEndDate = m.InitialEndDate.ToString(), //保险终止日
Address = m.Address,//地址
CustomerNum = m.CustomerNum,//客户编号
DriveDate = m.DriveDate.ToString(),//行驶证年审
RegionID = m.RegionID,//所属区域
DepartmentID = m.DepartmentID,//所属部门
CarderID = m.CarderID,//所属员工
CustomerLevelID = m.CustomerLevelID,//客户等级
CustomerSouID = m.CustomerSouID,//客户来源
CustomerTypeID = m.CustomerTypeID,//客户类别
InputPerson = m.InputPerson,//录入人
DrivingDate = m.DrivingDate.ToString(),//驾驶证年审
});
return Json(list, JsonRequestBehavior.AllowGet);
}
public ActionResult UpdateMaintenance(SYS_MaintenanceCus Maintenance)
{
var strMsg = "failed";
try
{
//判断修改后的数据是否与数据库重复
var oldMaintenanceCusRow = (from tbMaintenance in myModels.SYS_MaintenanceCus
where tbMaintenance.MaintenanceCusID != Maintenance.MaintenanceCusID &&
(tbMaintenance.IdNumber == Maintenance.IdNumber)
select tbMaintenance).Count();
if (oldMaintenanceCusRow == 0)
{
myModels.Entry(Maintenance).State = System.Data.Entity.EntityState.Modified;
//保存数据库
myModels.SaveChanges();
strMsg = "success";
}
else
{
strMsg = "该客户信息已经存在,不需要重复录入!";
}
}
catch (Exception)
{
strMsg = "failed";
}
return Json(strMsg, JsonRequestBehavior.AllowGet);
}
删除
public ActionResult DelectMaintenance(int MaintenanceCusID)
{
try
{
var listMaintenance = myModels.SYS_MaintenanceCus
.Where(m => m.MaintenanceCusID == MaintenanceCusID).Single();
myModels.SYS_MaintenanceCus.Remove(listMaintenance);
if (myModels.SaveChanges() > 0)
{
return Json(true, JsonRequestBehavior.AllowGet);
}
else
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
catch (Exception e)
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
查询
public ActionResult SelectMaintenance(BsgridPage bsgridPage, int RegionID)
{
var listMaintenance = (from tbMaintenance in myModels.SYS_MaintenanceCus
//join tbVehicleType in myModels.SYS_VehicleType on tbMaintenance.VehicleTypeID equals tbVehicleType.VehicleTypeID//车型
join tbInsuranceSpe in myModels.SYS_InsuranceSpe on tbMaintenance.InsuranceSpeID equals tbInsuranceSpe.InsuranceSpeID//保险种类
join tbDepartment in myModels.SYS_Department on tbMaintenance.DepartmentID equals tbDepartment.DepartmentID//所属部门
join tbCarder in myModels.SYS_Carder on tbMaintenance.CarderID equals tbCarder.CarderID//所属员工
join tbCustomerType in myModels.SYS_CustomerType on tbMaintenance.CustomerLevelID equals tbCustomerType.CustomerTypeID//客户类别
join tbCustomerLevel in myModels.SYS_CustomerLevel on tbMaintenance.CustomerLevelID equals tbCustomerLevel.CustomerLevelID//客户等级
join tbRegion in myModels.SYS_Region on tbMaintenance.RegionID equals tbRegion.RegionID//所在区域
join tbCustomerSou in myModels.SYS_CustomerSou on tbMaintenance.CustomerSouID equals tbCustomerSou.CustomerSouID//客户来源
select new MaintenanceVo
{
RegionID = tbRegion.RegionID,//区域ID
MaintenanceCusID = tbMaintenance.MaintenanceCusID,//维修客户ID
CustomerNum = tbMaintenance.CustomerNum,//客户编号
Owner = tbMaintenance.Owner,//车主
LicenseCode = tbMaintenance.LicenseCode,//车牌号码
VehicleType = tbMaintenance.VehicleType,//车型
EngineNum = tbMaintenance.EngineNum,//发动机号
FrameNum = tbMaintenance.FrameNum,//车架号
RepairMan = tbMaintenance.RepairMan,//送修人
RepairTele = tbMaintenance.RepairTele,//送修人电话
MobilePhone = tbMaintenance.MobilePhone,//车主手机
InsuranceSpeName = tbInsuranceSpe.InsuranceSpeName,//保险种类
InitialStartDates = tbMaintenance.InitialStartDate.ToString(),//保险起始日
InitialEndDates = tbMaintenance.InitialEndDate.ToString(),//保险终止日
Address = tbMaintenance.Address,//车主地址
DriveDates = tbMaintenance.DriveDate.ToString(),//行驶证年审日期
DepartmentName = tbDepartment.DepartmentName,//所属部门
Carder = tbCarder.CarderName,//所属员工
CustomerLevel = tbCustomerLevel.CustomerLevel,//客户等级
CustomerSou = tbCustomerSou.CustomerSou,//客户来源
CustomerType = tbCustomerType.CustomerType,//客户类别
Region = tbRegion.RegionName,//所在区域
InputPerson = tbMaintenance.InputPerson,//录入人
}).ToList();
if (RegionID > 0)
{
listMaintenance = listMaintenance.Where(m => m.RegionID == RegionID).ToList();
}
int count = listMaintenance.Count();
List<MaintenanceVo> listFittingsInfo = listMaintenance.OrderByDescending(m => RegionID).Skip(bsgridPage.GetStartIndex()).Take(bsgridPage.pageSize).ToList();
Bsgrid<MaintenanceVo> bsgrid = new Bsgrid<MaintenanceVo>()
{
success = true,
totalRows = count,
curPage = bsgridPage.curPage,
data = listFittingsInfo,
};
return Json(bsgrid, JsonRequestBehavior.AllowGet);
}
开发总结
在整个项目中我负责的模块比较简单,几乎没有什么业务流程可言。即使这样我也对自己没信心,所以在开发过程中,我经常请求搭档找bug。他劝告我应该先独立思考,实在不懂再请教别人。在这之后,我尝试了自己改bug,还真的解决了。最大的感悟就是当面对困难的的时候不去逃避而是想着如何解决吧。下次的项目开发,我可不能只负责基础数据了。