WCF广州本田整车销售系统技术解析(五) 换车功能解析1
2015-06-07 22:16
337 查看
换车功能解析1
接车管理——换车是特约店与生产厂家之间的换车,开始由特约店提交换车申请,待厂方同意后方可换车;换回来的新车应进行结接车操作,可以查询以往历史换车的记录。该模块主要功能有:查询可换车车辆和已申请换车车辆、不定条件查询、查询车辆车况的问题列表、换车确认、接收车辆、查看已往换车记录等功能实现
换车的主界面在可换车中查询出可以换车的车辆,选中一条可换车车辆,然后点击换车确定,就提交了一条申请换车记录,待厂家同意后,方可进行换车操作!如图(图1)所示
(图1)
已申请换车界面,可以在本界面dgv单击详细信息,就会弹出检查列表和存在的问题或缺陷。如图(图2)所示
(图2)
从界面上可以看到我们这里用到的控件有
表与关系如图(图3)
(图3)
表1:CarList(车辆表)
Primary Key(s): CarID
表2:ApplyExChangeCarList(申请换车表)
Primary Key(s): ApplyExChangeCarID
表3:ExChangeCarList(换车车辆表)
Primary Key(s): ExChangeCarID
表4:CarInventoryList(车辆库存表)
Primary Key(s): CarInventoryID
一、 查询可换车车辆和已申请换车车辆
查询可换车车辆和已申请换车车辆分别如图(图4)和(图5)所示
[align=center](图4)[/align]
(图5)
1、 数据库的存储过程
2、 逻辑层(BLL)
3、 界面层(UIL)
二、 查询车辆车况的问题列表
查询车辆车况的问题列表如图(图6)所示
[align=center](图6)[/align]
1、 数据库的存储过程
2、 逻辑层(BLL)
3、 界面层(UIL)
本文仅供学习使用,禁止用于商业用途,否则后果自负!!!
接车管理——换车是特约店与生产厂家之间的换车,开始由特约店提交换车申请,待厂方同意后方可换车;换回来的新车应进行结接车操作,可以查询以往历史换车的记录。该模块主要功能有:查询可换车车辆和已申请换车车辆、不定条件查询、查询车辆车况的问题列表、换车确认、接收车辆、查看已往换车记录等功能实现
换车的主界面在可换车中查询出可以换车的车辆,选中一条可换车车辆,然后点击换车确定,就提交了一条申请换车记录,待厂家同意后,方可进行换车操作!如图(图1)所示
(图1)
已申请换车界面,可以在本界面dgv单击详细信息,就会弹出检查列表和存在的问题或缺陷。如图(图2)所示
(图2)
从界面上可以看到我们这里用到的控件有
控件名称 | 说明 |
日期控件(DateTimePicker) | 控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
下拉框(ComboBox) | |
文本(TextBox) | |
按钮(Button) | |
表格(DataGridView) | |
复选框(CheckBox) | |
选项卡(tabControl) |
(图3)
表1:CarList(车辆表)
Primary Key(s): CarID
Field | Type | Nulls? | 说明 |
CarID | int - Identity | No | 车辆ID |
FreightInvoicesDetailID | int | Yes | 货运单明细ID |
CarTypeID | int | Yes | 车辆类型ID |
CarFrameNumber | nchar (60) | Yes | 车架号 |
CarEngineNumber | nchar (60) | Yes | 发动机号 |
CarKindID | int | Yes | 车种ID |
CarMondelID | int | Yes | 车型ID |
CarBodyColorID | int | Yes | 车身颜色ID |
CarUnderOrnamentsColorID | int | Yes | 内饰颜色ID |
CarTransmissionID | int | Yes | 变速箱ID |
CarKeyNumber | nchar (20) | Yes | 钥匙号 |
CarStockPrice | decimal (18, 3) | Yes | 进货价格 |
ProductionManufacturersID | int | Yes | 生产厂家ID |
CarPDIWhetherDetection | bit | Yes | PDI检查否 |
CarStatusID | int | Yes | 车辆状态ID |
OldCarID | int | Yes | 原车辆ID |
OutSurveyCommodityCarID | int | Yes | 外调商品车ID |
WhetherSchedule | bit | Yes | 是否预定 |
ThoughtCarPDIWhetherDetection | bit | Yes | 通过PDI检查否 |
WhetherStraightMelt | bit | Yes | 直销车否 |
WhetherConnectCar | bit | Yes | 是否接车 |
Primary Key(s): ApplyExChangeCarID
Field | Type | Nulls? | 说明 |
ApplyExChangeCarID | int - Identity | No | 申请换车ID |
CarID | int | Yes | 车辆ID |
ProvinceID | int | Yes | 省份ID |
CityID | int | Yes | 市ID |
DistrictID | int | Yes | 地区ID |
ApplierID | int | Yes | 申请人ID |
ApplyTime | date | Yes | 申请时间 |
AffirmerID | int | Yes | 确认人ID |
AffirmTime | date | Yes | 确认时间 |
ApplyReason | nchar (100) | Yes | 申请原因 |
WhetherAgreeExChangeCar | bit | Yes | 同意换车否 |
Primary Key(s): ExChangeCarID
Field | Type | Nulls? | 说明 |
ExChangeCarID | int - Identity | No | 换车车辆ID |
ExChangeCarFrameNumber | nchar (60) | Yes | 换车车架号 |
ExChangeCarEngineNumber | nchar (60) | Yes | 换车发动机号 |
ExChangeCarKindID | int | Yes | 换车车种ID |
ExChangeCarMondelID | int | Yes | 换车车型ID |
ExChangeCarBodyColorID | int | Yes | 换车车身颜色ID |
ExChangeCarUnderOrnamentsColorID | int | Yes | 换车内饰颜色ID |
ExChangeCarTransmissionID | int | Yes | 换车变速箱ID |
ExChangeCarKeyNumber | nchar (20) | Yes | 换车钥匙号 |
ExChangeCarPrice | decimal (18, 3) | Yes | 换车价格 |
ExChangeCarProductionManufacturersID | int | Yes | 换车生产厂家ID |
WhetherConnectCar | bit | Yes | 是否接车 |
ApplyExChangeCarID | int | Yes | 申请换车ID |
Primary Key(s): CarInventoryID
Field | Type | Nulls? | 说明 |
CarInventoryID | int - Identity | No | 车辆库存ID |
CarID | int | Yes | 车辆ID |
PutHouseDay | int | Yes | 入库天数 |
InventoryReasonID | int | Yes | 库存原因ID |
InInventoryDate | date | Yes | 入库日期 |
查询可换车车辆和已申请换车车辆分别如图(图4)和(图5)所示
[align=center](图4)[/align]
(图5)
1、 数据库的存储过程
--查询可换车的车辆 if(@Type='frm_JieCheGuanLi_HuanCheShengQingLoad_SelectKeHuanCheLiang') begin begin SELECT CarList.CarID, CarList.CarFrameNumber, CarList.CarEngineNumber, CarList.CarKeyNumber, CarList.CarStockPrice, AttributeGatherDetailList.AttributeGatherDetail AS CarKind, AttributeGatherDetailList_1.AttributeGatherDetail AS CarMondel, ColorList.ColorName AS CarBodyColor, ColorList_1.ColorName AS UnderOrnamentsColor, AttributeGatherDetailList_2.AttributeGatherDetail AS CarTransmission, AttributeGatherDetailList_3.AttributeGatherDetail AS ProductionManufacturers, CarList.CarKindID, CarList.CarMondelID, CarList.CarBodyColorID, CarList.CarUnderOrnamentsColorID, CarList.CarTransmissionID, CarList.ProductionManufacturersID FROM AttributeGatherDetailList INNER JOIN CarList ON AttributeGatherDetailList.AttributeGatherDetailID = CarList.CarKindID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_1 ON CarList.CarMondelID = AttributeGatherDetailList_1.AttributeGatherDetailID INNER JOIN ColorList ON CarList.CarBodyColorID = ColorList.ColorID INNER JOIN ColorList AS ColorList_1 ON CarList.CarUnderOrnamentsColorID = ColorList_1.ColorID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_2 ON CarList.CarTransmissionID = AttributeGatherDetailList_2.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_3 ON CarList.ProductionManufacturersID = AttributeGatherDetailList_3.AttributeGatherDetailID Where CarList.CarID not in (Select ApplyExChangeCarList.CarID from ApplyExChangeCarList) and CarList.CarID not in (Select ApplyReturnCarList.CarID from ApplyReturnCarList) and CarList.CarStatusID=36 end end --查询已申请换车的车辆 if(@Type='frm_JieCheGuanLi_HuanCheShengQingLoad_YiShenQingHuanChe') begin SELECT ApplyExChangeCarList.ApplyExChangeCarID, ApplyExChangeCarList.CarID, ApplyExChangeCarList.WhetherAgreeExChangeCar, CarList.CarFrameNumber, CarList.CarEngineNumber, CarList.CarKeyNumber, CarList.CarStockPrice, AttributeGatherDetailList.AttributeGatherDetail AS CarKind, AttributeGatherDetailList_1.AttributeGatherDetail AS CarMondel, ColorList.ColorName AS CarBodyColor, ColorList_1.ColorName AS UnderOrnamentsColor, AttributeGatherDetailList_2.AttributeGatherDetail AS CarTransmission, AttributeGatherDetailList_3.AttributeGatherDetail AS ProductionManufacturers, CarList.CarKindID, CarList.CarMondelID, CarList.CarBodyColorID, CarList.CarUnderOrnamentsColorID, CarList.CarTransmissionID, CarList.ProductionManufacturersID FROM CarList INNER JOIN ApplyExChangeCarList ON CarList.CarID = ApplyExChangeCarList.CarID INNER JOIN AttributeGatherDetailList ON CarList.CarKindID = AttributeGatherDetailList.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_1 ON CarList.CarMondelID = AttributeGatherDetailList_1.AttributeGatherDetailID INNER JOIN ColorList ON CarList.CarBodyColorID = ColorList.ColorID INNER JOIN ColorList AS ColorList_1 ON CarList.CarUnderOrnamentsColorID = ColorList_1.ColorID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_2 ON CarList.CarTransmissionID = AttributeGatherDetailList_2.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_3 ON CarList.ProductionManufacturersID = AttributeGatherDetailList_3.AttributeGatherDetailID end
2、 逻辑层(BLL)
#region 查询可换车 [OperationContract] public DataSet frm_JieCheGuanLi_HuanCheShengQingLoad_SelectKeHuanCheLiang() { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), }; mySqlParameters[0].Value = "frm_JieCheGuanLi_HuanCheShengQingLoad_SelectKeHuanCheLiang"; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi_HuanChe", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion #region 查询已申请换车 [OperationContract] public DataSet frm_JieCheGuanLi_HuanCheShengQingLoad_YiShenQingHuanChe() { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), }; mySqlParameters[0].Value = "frm_JieCheGuanLi_HuanCheShengQingLoad_YiShenQingHuanChe"; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi_HuanChe", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion
3、 界面层(UIL)
/// <summary> /// 自定义绑定DGV的方法 /// </summary> public void BangDingDGV() { #region 绑定DGV dgvCar.DataSource = null; //this.dgvCar = PublicStaticMothd.SetDgv(dgvCar); dgvCar.AutoGenerateColumns = false; //查询车辆 dgvCar.DataSource = myfrm_JieCheGuanLi_HuanCheClient.frm_JieCheGuanLi_HuanCheShengQingLoad_SelectKeHuanCheLiang().Tables[0]; //查询车况 CheKuang(); rdbCanExChangeCar.Checked = true; #endregion } //rdb可换车 private void rdbKeHuanChe_Click(object sender, EventArgs e) { #region 绑定可换车DGV QingKongKongJian(); btnProductionManufacturersAgree.Visible = false; BangDingDGV(); btnSave.Enabled = true; cboProvince.Enabled = true; cboCity.Enabled = true; cboDistrict.Enabled = true; cboApplier.Enabled = true; dtpApplyTime.Enabled = true; cboAffirmer.Enabled = true; dtpAffirmTime.Enabled = true; txtApplyReason.Enabled = true; #endregion } //rdb已申请换车 private void rdbYiShenQingHuanChe_Click(object sender, EventArgs e) { #region 绑定已申请换车DGV QingKongKongJian(); btnProductionManufacturersAgree.Visible = true; dgvCar.AutoGenerateColumns = false; dgvCar.DataSource = null; //绑定已申请换车 dgvCar.DataSource = myfrm_JieCheGuanLi_HuanCheClient.frm_JieCheGuanLi_HuanCheShengQingLoad_YiShenQingHuanChe().Tables[0]; CheKuang(); btnSave.Enabled = false; cboProvince.Enabled = false; cboCity.Enabled = false; cboDistrict.Enabled = false; cboApplier.Enabled = false; dtpApplyTime.Enabled = false; cboAffirmer.Enabled = false; dtpAffirmTime.Enabled = false; txtApplyReason.Enabled = false; //循环 for (int i = 0; i < dgvCar.Rows.Count; i++) { //设置同已换车否 int intTongYiHuanCheFou = Convert.ToInt32(dgvCar.Rows[i].Cells["同意换车否"].Value); if (intTongYiHuanCheFou == 1) { //改变颜色 dgvCar.Rows[i].DefaultCellStyle.BackColor = Color.Pink; } } #endregion }
二、 查询车辆车况的问题列表
查询车辆车况的问题列表如图(图6)所示
[align=center](图6)[/align]
1、 数据库的存储过程
--查询PDI检查车况 if(@Type='frm_JieCheGuanLi_SelectPDICheckCheKuang') begin SELECT PDICheckBInvoicesList.Question, PDICheckBInvoicesList.ServiceCondition, PDICheckList.CarID FROM PDICheckBInvoicesList INNER JOIN PDICheckList ON PDICheckBInvoicesList.PDICheckID = PDICheckList.PDICheckID WHERE PDICheckList.CarID=@CarID AND KeYongFou=1 end --查询接车问题列表 if(@Type='frm_SelectWenTiLieBiao') begin SELECT ConnectCarCheckProjctRecordList.CarID, ConnectCarCheckProjctRecordList.CheckResult, ConnectCarCheckProjctRecordList.DiposeMethod, ConnectCarCheckProjctRecordList.Valuation, CheckProjectList.CheckProjectName, CheckProjectList.CheckProjectNumber FROM ConnectCarCheckProjctRecordList INNER JOIN CarList ON ConnectCarCheckProjctRecordList.CarID = CarList.CarID INNER JOIN CheckProjectList ON ConnectCarCheckProjctRecordList.CheckProjectID = CheckProjectList.CheckProjectID WHERE CarList.CarID=@CarID end
2、 逻辑层(BLL)
#region 查询车况 (PDI检查B单) [OperationContract] public DataSet frm_JieCheGuanLi_SelectPDICheckCheKuang(int CarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarID",SqlDbType.Int) }; mySqlParameters[0].Value = "frm_JieCheGuanLi_SelectPDICheckCheKuang"; mySqlParameters[1].Value = CarID; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi_TuiCheXinXi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion #region 查询接车问题列表 [OperationContract] public DataSet frm_SelectWenTiLieBiao(int CarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarID",SqlDbType.Int) }; mySqlParameters[0].Value = "frm_SelectWenTiLieBiao"; mySqlParameters[1].Value = CarID; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi_TuiCheXinXi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion
3、 界面层(UIL)
//绑定接车检查列表 dgvJieCheJianCha.DataSource = myfrm_JieCheGuanLi_TuiCheXinXiClient.frm_SelectWenTiLieBiao(intCheLiangID).Tables[0]; //绑定PDI检查列表 dgvPDIJianCha.DataSource = myfrm_JieCheGuanLi_TuiCheXinXiClient.frm_JieCheGuanLi_SelectPDICheckCheKuang(intCheLiangID).Tables[0];
本文仅供学习使用,禁止用于商业用途,否则后果自负!!!
相关文章推荐
- Haproxy的基础知识介绍
- Cvmat 的知识
- Codeforces Round #306 (Div. 2)
- 搭建Nginx+Java环境
- 一张图让你明白如何选择软件开源许可证
- arp
- Apache Maven 入门篇(下)
- Apache Maven 入门篇 ( 上 )
- [JVM]垃圾收集算法
- Java——(一)一切都是对象
- nyoj 47 过河问题
- openssl中dh算法实现
- 任正非《致新员工书》
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
- PostgreSQL的配置和入门操作
- 游戏策划概述(一)
- java安装及设置环境变量
- Pig数据类型
- iOS开发—01音频处理(音乐播放器1)
- iOS开发—03CoreLocation地理编码