广州本田整车销售管理系统技术分析(四)
2015-06-01 19:51
459 查看
广州本田整车销售管理系统技术分析(四)
2、外调商品车
外调商品车接车包括:查询、新增、删除、修改等功能
A、外调商品车接车界面:
图:2.1
新增外调商品车界面:
图:2.2
图:2.3
数据库表与表之间的关系图:
图:2.4
以上的关系图用到的表:
dbo.CarList (车辆表)
PrimaryKey(s): CarID
外调商品车表:
dbo.OutSurveyCommodityCarLList (外调商品车表)
PrimaryKey(s): OutSurveyCommodityCarID
接车检查项目记录表:
dbo.ConnectCarCheckProjctRecordList (接车检查项目记录表)
PrimaryKey(s): ConnectCarCheckProjctRecordID
查询功能:
思路分析:第一步查询所有外调商品车数据---->根据输入的查询条件筛选数据----->将筛选的数据绑定对应的dgv中
注:在查询全部打钩---->撤消查询条件---->再点击查询按钮(查询全部)
第一步:写储存过程
外调商品车新增功能的实现:
<p><pre name="code" class="sql">----新增外调商品车
if(@Type='btnBaoCun_Click_WaiDiaoShangPingCheLiang_Insert')
begin
insert into OutSurveyCommodityCarLList(OutSurveyCommodityCarFrameNumber, OutSurveyCommodityCarEngineNumber, OutSurveyCommodityCarKindID, OutSurveyCommodityCarMondelID, OutSurveyCommodityCarBodyColorID,
OutSurveyCommodityCarUnderOrnamentsColorID, OutSurveyCommodityCarTransmissionID, OutSurveyCommodityCarKeyNumber, OutSurveyCommodityCarPrice,
OutSurveyCommodityCarProductionManufacturersID, WhetherConnectCar,KeYongFou)
values (@OutSurveyCommodityCarFrameNumber, @OutSurveyCommodityCarEngineNumber, @OutSurveyCommodityCarKindID, @OutSurveyCommodityCarMondelID, @OutSurveyCommodityCarBodyColorID,
@OutSurveyCommodityCarUnderOrnamentsColorID, @OutSurveyCommodityCarTransmissionID, @OutSurveyCommodityCarKeyNumber, @OutSurveyCommodityCarPrice,
@OutSurveyCommodityCarProductionManufacturersID, 0,1)
end
修改功能:
实现步骤:先绑定原先的数据--->修改数据---->保存
第一步:写储存过程
删除功能:
注:当车辆被销售后,那么该车就不能在修改
第一步:写储存过程
接车确认/修改接车功能:
A、接车确认:
实现功能步骤:选择一条还没进行接车操作的车辆(已销售的车辆步能再修改接车)---->点击接车确认按钮---->接车界面---->有问题就录入接车问题否则直接保存
思路分析:单击车辆列表获取车型ID及生产厂家ID和车辆ID,将获取的ID传值到接车界面,在接车界面的Load事件查询接车检查项目信息,然后绑定到相对应的dgv中,在检查车辆时录入相关信息,最后按保存按钮(具体思路:1、新增车辆表2、新增车辆库存表3、在车辆表插入外调商品车ID 4、新增接车检查项目表)完成接车功能。
注:如果该车还没接车,则按钮就显示为“接车确认”,否则就显示“修改接车”
B、修改接车:
实现功能步骤:单击车辆列表获取车型ID及生产厂家ID和车辆ID,将获取的ID传值到接车界面,在修改接车界面的Load事件查询接车检车项目记录表并绑定,让然后修改有关信息,最后按保存按钮完成修改接车功能。
第一步:写储存过程
此储存过程的意思就是:根据车辆ID查询接车检查项目表,若有值则执行第一段储存过程,否则就执行第二段储存过程
注:仅提供于学习用途,禁止用于商业用途!
2、外调商品车
外调商品车接车包括:查询、新增、删除、修改等功能
A、外调商品车接车界面:
图:2.1
新增外调商品车界面:
图:2.2
图:2.3
数据库表与表之间的关系图:
图:2.4
以上的关系图用到的表:
dbo.CarList (车辆表)
PrimaryKey(s): CarID
Field | Type | Nulls? | 主键/外键 | Comments |
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 | | 是否接车 |
dbo.OutSurveyCommodityCarLList (外调商品车表)
PrimaryKey(s): OutSurveyCommodityCarID
Field | Type | Nulls? | 主键/外键 | Comments |
OutSurveyCommodityCarID | int - Identity | No | 主键 | 外调商品车ID |
OutSurveyCommodityCarFrameNumber | nchar (60) | Yes | | 外调商品车车架号 |
OutSurveyCommodityCarEngineNumber | nchar (60) | Yes | | 外调商品车发动机号 |
OutSurveyCommodityCarKindID | int | Yes | 外键 | 外调商品车车种ID |
OutSurveyCommodityCarMondelID | int | Yes | 外键 | 外调商品车车型ID |
OutSurveyCommodityCarBodyColorID | int | Yes | 外键 | 外调商品车车身颜色ID |
OutSurveyCommodityCarUnderOrnamentsColorID | int | Yes | 外键 | 外调商品车内饰颜色ID |
OutSurveyCommodityCarTransmissionID | int | Yes | 外键 | 外调商品车变速箱ID |
OutSurveyCommodityCarKeyNumber | nchar (60) | Yes | | 外调商品车钥匙号 |
OutSurveyCommodityCarPrice | decimal (18, 3) | Yes | | 外调商品车价格 |
OutSurveyCommodityCarProductionManufacturersID | int | Yes | 外键 | 外调商品车生产厂家ID |
WhetherConnectCar | bit | Yes | | |
KeYongFou | bit | Yes | | |
dbo.ConnectCarCheckProjctRecordList (接车检查项目记录表)
PrimaryKey(s): ConnectCarCheckProjctRecordID
Field | Type | Nulls? | Comments |
ConnectCarCheckProjctRecordID | int - Identity | No | 接车检查项目记录ID |
CarID | int | Yes | 车辆ID |
CheckProjectID | int | Yes | 检查项目ID |
CheckResult | nchar (40) | Yes | 检查结果 |
DiposeMethod | nchar (100) | Yes | 处理方法 |
Valuation | decimal (18, 3) | Yes | 估计 |
CheckerID | int | Yes | 检查人ID |
SignDate | datetime | Yes | 签字日期 |
查询功能:
思路分析:第一步查询所有外调商品车数据---->根据输入的查询条件筛选数据----->将筛选的数据绑定对应的dgv中
注:在查询全部打钩---->撤消查询条件---->再点击查询按钮(查询全部)
第一步:写储存过程
</pre><pre name="code" class="sql">----查询外调商品车信息 if(@Type='frm_JieCheGuanLi_Load_Select_WaiDiaoShangPingCheLiang') begin SELECT OutSurveyCommodityCarLList.OutSurveyCommodityCarID, OutSurveyCommodityCarLList.OutSurveyCommodityCarFrameNumber, OutSurveyCommodityCarLList.OutSurveyCommodityCarEngineNumber, OutSurveyCommodityCarLList.OutSurveyCommodityCarKeyNumber, OutSurveyCommodityCarLList.OutSurveyCommodityCarPrice, AttributeGatherDetailList.AttributeGatherDetail AS Wai_CheZhong, AttributeGatherDetailList_1.AttributeGatherDetail AS Wai_CheXing, AttributeGatherDetailList_2.AttributeGatherDetail AS Wai_CheShenYanShe, AttributeGatherDetailList_3.AttributeGatherDetail AS Wai_NeiShiYanShe, AttributeGatherDetailList_4.AttributeGatherDetail AS Wai_BianSuXiang, AttributeGatherDetailList_5.AttributeGatherDetail AS Wai_ShenChanChangJia, OutSurveyCommodityCarLList.OutSurveyCommodityCarProductionManufacturersID, OutSurveyCommodityCarLList.OutSurveyCommodityCarMondelID, OutSurveyCommodityCarLList.WhetherConnectCar, ConnectCarCheckProjctRecordList.SignDate FROM ConnectCarCheckProjctRecordList RIGHT OUTER JOIN CarList ON ConnectCarCheckProjctRecordList.CarID = CarList.CarID RIGHT OUTER JOIN AttributeGatherDetailList INNER JOIN OutSurveyCommodityCarLList ON AttributeGatherDetailList.AttributeGatherDetailID = OutSurveyCommodityCarLList.OutSurveyCommodityCarKindID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_1 ON OutSurveyCommodityCarLList.OutSurveyCommodityCarMondelID = AttributeGatherDetailList_1.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_2 ON OutSurveyCommodityCarLList.OutSurveyCommodityCarBodyColorID = AttributeGatherDetailList_2.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_3 ON OutSurveyCommodityCarLList.OutSurveyCommodityCarUnderOrnamentsColorID = AttributeGatherDetailList_3.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_4 ON OutSurveyCommodityCarLList.OutSurveyCommodityCarTransmissionID = AttributeGatherDetailList_4.AttributeGatherDetailID INNER JOIN AttributeGatherDetailList AS AttributeGatherDetailList_5 ON OutSurveyCommodityCarLList.OutSurveyCommodityCarProductionManufacturersID = AttributeGatherDetailList_5.AttributeGatherDetailID ON CarList.OutSurveyCommodityCarID = OutSurveyCommodityCarLList.OutSurveyCommodityCarID WHERE (OutSurveyCommodityCarLList.KeYongFou = 1) group by OutSurveyCommodityCarLList.OutSurveyCommodityCarID, OutSurveyCommodityCarLList.OutSurveyCommodityCarFrameNumber, OutSurveyCommodityCarLList.OutSurveyCommodityCarEngineNumber, OutSurveyCommodityCarLList.OutSurveyCommodityCarKeyNumber, OutSurveyCommodityCarLList.OutSurveyCommodityCarPrice, AttributeGatherDetailList.AttributeGatherDetail , AttributeGatherDetailList_1.AttributeGatherDetail, AttributeGatherDetailList_2.AttributeGatherDetail , AttributeGatherDetailList_3.AttributeGatherDetail , AttributeGatherDetailList_4.AttributeGatherDetail, AttributeGatherDetailList_5.AttributeGatherDetail, OutSurveyCommodityCarLList.OutSurveyCommodityCarProductionManufacturersID, OutSurveyCommodityCarLList.OutSurveyCommodityCarMondelID, OutSurveyCommodityCarLList.WhetherConnectCar,ConnectCarCheckProjctRecordList.SignDate order by ConnectCarCheckProjctRecordList.SignDate desc End
第二步:写逻辑层 #region 查询外调商品车数据 [OperationContract] public DataSet frm_JieCheGuanLi_Load_Select_WaiDiaoShangPingCheLiang() { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char) }; mySqlParameters[0].Value = "frm_JieCheGuanLi_Load_Select_WaiDiaoShangPingCheLiang"; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion
第三步:写界面层 在Load事件写代码调用 WaiDiaoShangPinChe();//自定义一个绑定外调商品车的方法 A、: /// <summary> /// 自定义一个绑定外调商品车的方法 /// </summary> public void WaiDiaoShangPinChe() { dgvCar_Wai.Rows.Clear();//清空dgvCar_Wai dtWaiDiaoShangPinChe = myfrm_JieCheGuanLi_JieCheClient.frm_JieCheGuanLi_Load_Select_WaiDiaoShangPingCheLiang().Tables[0]; for (int i = 0; i < dtWaiDiaoShangPinChe.Rows.Count; i++) { dgvCar_Wai.Rows.Add(1); dgvCar_Wai.Rows[i].Cells["外调商品车ID"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarID"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调_车型ID"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarMondelID"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调_生产厂家ID"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarProductionManufacturersID"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车车架号"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarFrameNumber"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车发动机号"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarEngineNumber"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车车种MC"].Value = dtWaiDiaoShangPinChe.Rows[i]["Wai_CheZhong"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车车型MC"].Value = dtWaiDiaoShangPinChe.Rows[i]["Wai_CheXing"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车车身颜色MC"].Value = dtWaiDiaoShangPinChe.Rows[i]["Wai_CheShenYanShe"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车内饰颜色MC"].Value = dtWaiDiaoShangPinChe.Rows[i]["Wai_NeiShiYanShe"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车变速箱MC"].Value = dtWaiDiaoShangPinChe.Rows[i]["Wai_BianSuXiang"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车钥匙号"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarKeyNumber"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车价格"].Value = dtWaiDiaoShangPinChe.Rows[i]["OutSurveyCommodityCarPrice"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["外调商品车生产厂家MC"].Value = dtWaiDiaoShangPinChe.Rows[i]["Wai_ShenChanChangJia"].ToString().Trim(); dgvCar_Wai.Rows[i].Cells["接车时间"].Value = dtWaiDiaoShangPinChe.Rows[i]["SignDate"].ToString().Trim(); if (Convert.ToBoolean(dtWaiDiaoShangPinChe.Rows[i]["WhetherConnectCar"]) == true)//判断该车是否已接车,若已接车,则改变该行颜色 { dgvCar_Wai.Rows[i].DefaultCellStyle.ForeColor = Color.Blue;//改变该行颜色 } } }
/// <summary> /// 外调商品车查询按钮事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void btnSelect_Wai_Click(object sender, EventArgs e) { string strRongQi=""; System.Data.DataTable dtNewWaiDiaoShangPinChe; dgvCar_Wai.DataSource = dtWaiDiaoShangPinChe; DataView dv = new DataView(dtWaiDiaoShangPinChe);//将dtYouTiaoJianChaXunHuoYunDan绑定dv视图(目的为了后面的数据筛选) if (dtWaiDiaoShangPinChe.Rows.Count == 0) { MessageBox.Show("抱歉,没要检测到您要的数据!!!"); return; } if (cboCarFrameNumber.SelectedIndex >= 0) { strRongQi += " OutSurveyCommodityCarFrameNumber like '%" + cboCarFrameNumber.Text + "%' and"; } if (cboCarMondel.SelectedIndex >= 0) { strRongQi += " Wai_CheXing like '%" + cboCarMondel.Text + "%' and"; } if (cboCarBodyColor.SelectedIndex >= 0) { strRongQi += " Wai_CheShenYanShe like '%" + cboCarBodyColor.Text + "%' and"; } if (cboCarUnderOrnamentsColor.SelectedIndex >= 0) { strRongQi += " Wai_NeiShiYanShe like '%" + cboCarUnderOrnamentsColor.Text + "%' and"; } if (cboCarProductionManufacturers.SelectedIndex >= 0) { strRongQi += " Wai_ShenChanChangJia like '%" + cboCarProductionManufacturers.Text + "%' and"; } if (cboCarTransmission.SelectedIndex >= 0) { strRongQi += " Wai_BianSuXiang like '%" + cboCarTransmission.Text + "%' and"; } if (dtpConnectCarKaiShi.ShowCheckBox == true) { strRongQi += " SignDate>='" + dtpConnectCarKaiShi.Value + "'AND SignDate<='" + dtpConnectCarJieShu.Value + "'and"; } if (strRongQi.Length < 3)//没进行多条件查询操作 { } else//进行多条件操作 { dv.RowFilter = strRongQi.Remove(strRongQi.Length - 3);//移除strRongQi中的“and”,并且根据strRongQi移除后的结果筛选数据 dtNewWa 16483 iDiaoShangPinChe = dv.ToTable();//将筛选后的结果赋值给dtNewHuoYunDan if (dtNewWaiDiaoShangPinChe.Rows.Count == 0)//判断dtNewHuoYunDan存在数据,若没数据则提示! { MessageBox.Show("抱歉,没要检测到您要的数据!!!"); return; } dgvCar_Wai.DataSource = dtNewWaiDiaoShangPinChe;//将根据条件查出的数据绑定到dgvFreightInvoices中 } }
外调商品车新增功能的实现:
<p><pre name="code" class="sql">----新增外调商品车
if(@Type='btnBaoCun_Click_WaiDiaoShangPingCheLiang_Insert')
begin
insert into OutSurveyCommodityCarLList(OutSurveyCommodityCarFrameNumber, OutSurveyCommodityCarEngineNumber, OutSurveyCommodityCarKindID, OutSurveyCommodityCarMondelID, OutSurveyCommodityCarBodyColorID,
OutSurveyCommodityCarUnderOrnamentsColorID, OutSurveyCommodityCarTransmissionID, OutSurveyCommodityCarKeyNumber, OutSurveyCommodityCarPrice,
OutSurveyCommodityCarProductionManufacturersID, WhetherConnectCar,KeYongFou)
values (@OutSurveyCommodityCarFrameNumber, @OutSurveyCommodityCarEngineNumber, @OutSurveyCommodityCarKindID, @OutSurveyCommodityCarMondelID, @OutSurveyCommodityCarBodyColorID,
@OutSurveyCommodityCarUnderOrnamentsColorID, @OutSurveyCommodityCarTransmissionID, @OutSurveyCommodityCarKeyNumber, @OutSurveyCommodityCarPrice,
@OutSurveyCommodityCarProductionManufacturersID, 0,1)
end
第二步:写逻辑层 #region 新增外调商品车辆表 [OperationContract] public int btnBaoCun_Click_WaiDiaoShangPingCheLiang_Insert(string OutSurveyCommodityCarFrameNumber, string OutSurveyCommodityCarEngineNumber, int OutSurveyCommodityCarKindID, int OutSurveyCommodityCarMondelID, int OutSurveyCommodityCarBodyColorID , int OutSurveyCommodityCarUnderOrnamentsColorID, int OutSurveyCommodityCarTransmissionID, string OutSurveyCommodityCarKeyNumber, decimal OutSurveyCommodityCarPrice, int OutSurveyCommodityCarProductionManufacturersID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarFrameNumber",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarEngineNumber",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarKindID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarMondelID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarBodyColorID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarUnderOrnamentsColorID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarTransmissionID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarKeyNumber",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarPrice",SqlDbType.Decimal), new SqlParameter("@OutSurveyCommodityCarProductionManufacturersID",SqlDbType.Int) }; mySqlParameters[0].Value = "btnBaoCun_Click_WaiDiaoShangPingCheLiang_Insert"; mySqlParameters[1].Value = OutSurveyCommodityCarFrameNumber; mySqlParameters[2].Value = OutSurveyCommodityCarEngineNumber; mySqlParameters[3].Value = OutSurveyCommodityCarKindID; mySqlParameters[4].Value = OutSurveyCommodityCarMondelID; mySqlParameters[5].Value = OutSurveyCommodityCarBodyColorID; mySqlParameters[6].Value = OutSurveyCommodityCarUnderOrnamentsColorID; mySqlParameters[7].Value = OutSurveyCommodityCarTransmissionID; mySqlParameters[8].Value = OutSurveyCommodityCarKeyNumber; mySqlParameters[9].Value = OutSurveyCommodityCarPrice; mySqlParameters[10].Value = OutSurveyCommodityCarProductionManufacturersID; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion 第三步:写界面层 /// <summary> /// 新增外调商品车代码 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void btnBaoCun_Click(object sender, EventArgs e) { if (txtJinHuoJia.Text != "") { #region 字段的声明与赋值 int intShengChanChangJiaID = Convert.ToInt32(cboShengChanChangJia.SelectedValue); string strCheJiaHao = txtCheJiaHao.Text; int intCheZhongID = Convert.ToInt32(cboCheZhong.SelectedValue); int intCheXingID = Convert.ToInt32(cboCheXing.SelectedValue); int intCheShenYanSheID = Convert.ToInt32(cboCheShengYanShe.SelectedValue); int intNeiShiYanSheID = Convert.ToInt32(cboNeiShiYanShe.SelectedValue); int intBianShuXiangID = Convert.ToInt32(cboBianShuXiangHao.SelectedValue); string strFaDongJiHao = txtFaDongJiHao.Text; string strYaoShiHao = txtYaoShiHao.Text; decimal decJinHuoJia = Convert.ToDecimal(txtJinHuoJia.Text); #endregion int intWaiDiaoShangPinChe = myfrm_JieCheGuanLi_JieCheClient.btnBaoCun_Click_WaiDiaoShangPingCheLiang_Insert(strCheJiaHao, strFaDongJiHao, intCheZhongID, intCheXingID, intCheShenYanSheID, intNeiShiYanSheID, intBianShuXiangID, strYaoShiHao, decJinHuoJia, intShengChanChangJiaID); if (intWaiDiaoShangPinChe > 0) { MessageBox.Show("保存成功!!!"); //接车管理.frm_JieCheGuanLi myfrm_JieCheGuanLi = new frm_JieCheGuanLi(); //myfrm_JieCheGuanLi.ShuaXin(); this.Close(); } else { MessageBox.Show("保存失败!!!"); } } else { MessageBox.Show("您还没有输入完整数据,请核对后再继续!!!"); } }
修改功能:
实现步骤:先绑定原先的数据--->修改数据---->保存
第一步:写储存过程
第一步:写储存过程 --修改外调商品车 if(@Type='btnXiuGai_Click_WaiDiaoShangPingCheLiang_Update') begin Update OutSurveyCommodityCarLList Set OutSurveyCommodityCarFrameNumber=@OutSurveyCommodityCarFrameNumber, OutSurveyCommodityCarEngineNumber=@OutSurveyCommodityCarEngineNumber, OutSurveyCommodityCarKindID=@OutSurveyCommodityCarKindID, OutSurveyCommodityCarMondelID=@OutSurveyCommodityCarMondelID, OutSurveyCommodityCarBodyColorID=@OutSurveyCommodityCarBodyColorID, OutSurveyCommodityCarUnderOrnamentsColorID=@OutSurveyCommodityCarUnderOrnamentsColorID, OutSurveyCommodityCarTransmissionID=@OutSurveyCommodityCarTransmissionID, OutSurveyCommodityCarKeyNumber=@OutSurveyCommodityCarKeyNumber, OutSurveyCommodityCarPrice=@OutSurveyCommodityCarPrice, OutSurveyCommodityCarProductionManufacturersID=@OutSurveyCommodityCarProductionManufacturersID, WhetherConnectCar=0 WHERE OutSurveyCommodityCarLList.OutSurveyCommodityCarID=@OutSurveyCommodityCarID End
第二步:写逻辑层 #region 有条件查询外调商品车数据 [OperationContract] public DataSet frm_JieCheGuanLi_WaiDiaoShangPingChe_Updatecs_Load_Select_WaiDiaoShangPingCheLiang(int OutSurveyCommodityCarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarID",SqlDbType.Int) }; mySqlParameters[0].Value = "frm_JieCheGuanLi_WaiDiaoShangPingChe_Updatecs_Load_Select_WaiDiaoShangPingCheLiang"; mySqlParameters[1].Value = OutSurveyCommodityCarID; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion #region 修改外调商品车辆表 [OperationContract] public int btnXiuGai_Click_WaiDiaoShangPingCheLiang_Update(string OutSurveyCommodityCarFrameNumber, string OutSurveyCommodityCarEngineNumber, int OutSurveyCommodityCarKindID, int OutSurveyCommodityCarMondelID, int OutSurveyCommodityCarBodyColorID , int OutSurveyCommodityCarUnderOrnamentsColorID, int OutSurveyCommodityCarTransmissionID, string OutSurveyCommodityCarKeyNumber, decimal OutSurveyCommodityCarPrice, int OutSurveyCommodityCarProductionManufacturersID,int OutSurveyCommodityCarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarFrameNumber",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarEngineNumber",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarKindID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarMondelID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarBodyColorID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarUnderOrnamentsColorID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarTransmissionID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarKeyNumber",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarPrice",SqlDbType.Decimal), new SqlParameter("@OutSurveyCommodityCarProductionManufacturersID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarID",SqlDbType.Int) }; mySqlParameters[0].Value = "btnXiuGai_Click_WaiDiaoShangPingCheLiang_Update"; mySqlParameters[1].Value = OutSurveyCommodityCarFrameNumber; mySqlParameters[2].Value = OutSurveyCommodityCarEngineNumber; mySqlParameters[3].Value = OutSurveyCommodityCarKindID; mySqlParameters[4].Value = OutSurveyCommodityCarMondelID; mySqlParameters[5].Value = OutSurveyCommodityCarBodyColorID; mySqlParameters[6].Value = OutSurveyCommodityCarUnderOrnamentsColorID; mySqlParameters[7].Value = OutSurveyCommodityCarTransmissionID; mySqlParameters[8].Value = OutSurveyCommodityCarKeyNumber; mySqlParameters[9].Value = OutSurveyCommodityCarPrice; mySqlParameters[10].Value = OutSurveyCommodityCarProductionManufacturersID; mySqlParameters[11].Value = OutSurveyCommodityCarID; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion 第三步:写界面层 绑定数据: 在Load事件写代码: /// <summary> /// 修改界面的Load事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void frm_JieCheGuanLi_WaiDiaoShangPingChe_Updatecs_Load(object sender, EventArgs e) { //禁用发票控件和订单编号 txtFaPiao.Enabled = false; txtDingDanBiaoHao.Enabled = false; txtFaPiao.Enabled = false; txtDingDanBiaoHao.Enabled = false; WaiDiaoShangPingCheXiaLaKuanDeBangDing();//调用自定义的绑定下拉框方法 YuanXianShuJuDeBangDing();//调用自定义的绑定数据方法 } /// <summary> /// 自定义的绑定数据方法 /// </summary> public void YuanXianShuJuDeBangDing() { System.Data.DataTable dtWaiDiaoShangPingChe = myfrm_JieCheGuanLi_JieCheClient.frm_JieCheGuanLi_WaiDiaoShangPingChe_Updatecs_Load_Select_WaiDiaoShangPingCheLiang(intWaiDiaoShangPingCheID).Tables[0]; //字段的声明与赋值 int intShengChanChangJiaID = Convert.ToInt32(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarProductionManufacturersID"]); string strCheJiaHao = Convert.ToString(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarFrameNumber"]); int intCheXingID = Convert.ToInt32(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarMondelID"]); int intCheZhongID = Convert.ToInt32(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarKindID"]); int intChengShengYanSheID = Convert.ToInt32(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarBodyColorID"]); int intNeiShiYanSheID = Convert.ToInt32(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarUnderOrnamentsColorID"]); int intBianShuXiangID = Convert.ToInt32(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarTransmissionID"]); string strFaDongJiHaO = Convert.ToString(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarEngineNumber"]); string strYaoShiHao = Convert.ToString(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarKeyNumber"]); decimal decJinHuoJia = Convert.ToDecimal(dtWaiDiaoShangPingChe.Rows[0]["OutSurveyCommodityCarPrice"]); //绑定数据 cboShengChanChangJia.SelectedValue = intShengChanChangJiaID; txtCheJiaHao.Text = strCheJiaHao; cboCheXing.SelectedValue = intCheXingID; cboCheZhong.SelectedValue = intCheZhongID; cboCheShengYanShe.SelectedValue = intChengShengYanSheID; cboNeiShiYanShe.SelectedValue = intNeiShiYanSheID; cboBianShuXiangHao.SelectedValue = intBianShuXiangID; txtFaDongJiHao.Text = strFaDongJiHaO; txtYaoShiHao.Text = strYaoShiHao; txtJinHuoJia.Text = Convert.ToString(decJinHuoJia); } /// <summary> /// 自定义的绑定下拉框方法 /// </summary> public void WaiDiaoShangPingCheXiaLaKuanDeBangDing() { #region 下拉框的绑定 //获取数据源 System.Data.DataTable dtShengChangChanJia = my公共方法_Combox绑定Client.Select_ShengChangChangJia().Tables[0]; System.Data.DataTable dtCheXing = my公共方法_Combox绑定Client.Select_CboCheXing().Tables[0]; System.Data.DataTable dtYanShe = my公共方法_Combox绑定Client.Select_CboYanSe().Tables[0]; System.Data.DataTable dtCheZhong = my公共方法_Combox绑定Client.Select_CboCheZhong().Tables[0]; System.Data.DataTable dtBianShuXiangHao = my公共方法_Combox绑定Client.Select_BianSuXiang().Tables[0]; //绑定车型 cboCheXing.DataSource = dtCheXing; cboCheXing.DisplayMember = "AttributeGatherDetail"; cboCheXing.ValueMember = "AttributeGatherDetailID"; //绑定生产厂家 cboShengChanChangJia.DataSource = dtShengChangChanJia; cboShengChanChangJia.DisplayMember = "AttributeGatherDetail"; cboShengChanChangJia.ValueMember = "AttributeGatherDetailID"; //车身颜色 cboCheShengYanShe.DataSource = dtYanShe; cboCheShengYanShe.DisplayMember = "ColorName"; cboCheShengYanShe.ValueMember = "ColorID"; //内饰颜色 cboNeiShiYanShe.DataSource = dtYanShe.Copy(); cboNeiShiYanShe.DisplayMember = "ColorName"; cboNeiShiYanShe.ValueMember = "ColorID"; //车种 cboCheZhong.DataSource = dtCheZhong; cboCheZhong.DisplayMember = "AttributeGatherDetail"; cboCheZhong.ValueMember = "AttributeGatherDetailID"; //变速箱号 cboBianShuXiangHao.DataSource = dtBianShuXiangHao; cboBianShuXiangHao.DisplayMember = "AttributeGatherDetail"; cboBianShuXiangHao.ValueMember = "AttributeGatherDetailID"; #endregion } /// <summary> /// 外调商品车修改按钮单击事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void btnBaoCun_Click(object sender, EventArgs e) { //字段的声明与赋值 int intShengChanChangJiaID = Convert.ToInt32(cboShengChanChangJia.SelectedValue); string strCheJiaHao = txtCheJiaHao.Text; int intCheXingID = Convert.ToInt32(cboCheXing.SelectedValue); int intCheZhongID = Convert.ToInt32( cboCheZhong.SelectedValue); int intChengShengYanSheID = Convert.ToInt32(cboCheShengYanShe.SelectedValue); int intNeiShiYanSheID = Convert.ToInt32(cboNeiShiYanShe.SelectedValue); int intBianShuXiangID =Convert.ToInt32( cboBianShuXiangHao.SelectedValue); string strFaDongJiHaO = txtFaDongJiHao.Text ; string strYaoShiHao = txtYaoShiHao.Text; decimal decJinHuoJia =Convert.ToDecimal(txtJinHuoJia.Text); int intXiuGaiWaiDiaoShangPinChe = myfrm_JieCheGuanLi_JieCheClient.btnXiuGai_Click_WaiDiaoShangPingCheLiang_Update(strCheJiaHao, strFaDongJiHaO, intCheZhongID, intCheXingID, intChengShengYanSheID, intNeiShiYanSheID, intBianShuXiangID, strYaoShiHao, decJinHuoJia, intShengChanChangJiaID,intWaiDiaoShangPingCheID); if (intXiuGaiWaiDiaoShangPinChe > 0) { MessageBox.Show("修改成功!!!"); this.Close(); } else { MessageBox.Show("修改失败!!!"); } }
删除功能:
注:当车辆被销售后,那么该车就不能在修改
第一步:写储存过程
--根据外调商品车ID查询车辆表 if(@Type='btnShanChu_Click_Select_CheLiaoBiao') begin SELECT CarList.CarStatusID FROM CarList where CarList.OutSurveyCommodityCarID =@OutSurveyCommodityCarID end --将外调商品车的可用否改为假 if(@Type='btnShanChu_Click_UpdateWaiDiaoShangPinChe') begin update OutSurveyCommodityCarLList set OutSurveyCommodityCarLList.KeYongFou=0 where OutSurveyCommodityCarLList.OutSurveyCommodityCarID=@OutSurveyCommodityCarID end
第二步:写逻辑层 #region 根据外调商品车ID查询车辆表 [OperationContract] public DataSet btnShanChu_Click_Select_CheLiaoBiao(int OutSurveyCommodityCarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarID",SqlDbType.Int) }; mySqlParameters[0].Value = "btnShanChu_Click_Select_CheLiaoBiao"; mySqlParameters[1].Value = OutSurveyCommodityCarID; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion #region 根据外调车辆ID删除外调商品车表 [OperationContract] public int btnShanChu_Click_UpdateWaiDiaoShangPinChe(int OutSurveyCommodityCarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@OutSurveyCommodityCarID",SqlDbType.Int) }; mySqlParameters[0].Value = "btnShanChu_Click_UpdateWaiDiaoShangPinChe"; mySqlParameters[1].Value = OutSurveyCommodityCarID; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion 第三步:写界面层 /// <summary> /// 删除按钮事件(外调商品车) /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void btnShanChu_Click(object sender, EventArgs e) { if (intWaiDianShngPingCheID == 0)//判断是否已选择要删除的车辆 { MessageBox.Show("当前您还没有选择要删除的车辆,请选择后再继续。。。。"); return; } //根据外调商品车ID查询车辆表 DataTable dtYiGouCheDengJi = myfrm_JieCheGuanLi_JieCheClient.btnShanChu_Click_Select_CheLiaoBiao(intWaiDianShngPingCheID).Tables[0]; if (dtYiGouCheDengJi.Rows.Count > 0)//判断dtYiGouCheDengJi是否有值 { if (Convert.ToInt32(dtYiGouCheDengJi.Rows[0]["CarStatusID"]) == 37)//判断该商品车是否已销售 { MessageBox.Show("抱歉该车已经出售,不能删除,请选择其他车辆。。。。"); return; } } int intShanChuWaiDiaoShangPinChe = myfrm_JieCheGuanLi_JieCheClient.btnShanChu_Click_UpdateWaiDiaoShangPinChe(intWaiDianShngPingCheID); if (intShanChuWaiDiaoShangPinChe > 0)//判断是否成功 { MessageBox.Show("删除成功!!!!!"); dgvCar_Wai.Rows.Remove(dgvCar_Wai.CurrentRow);//在dgvCar_Wai移除该车辆 } else { MessageBox.Show("删除失败!!!!!"); } }
接车确认/修改接车功能:
A、接车确认:
实现功能步骤:选择一条还没进行接车操作的车辆(已销售的车辆步能再修改接车)---->点击接车确认按钮---->接车界面---->有问题就录入接车问题否则直接保存
思路分析:单击车辆列表获取车型ID及生产厂家ID和车辆ID,将获取的ID传值到接车界面,在接车界面的Load事件查询接车检查项目信息,然后绑定到相对应的dgv中,在检查车辆时录入相关信息,最后按保存按钮(具体思路:1、新增车辆表2、新增车辆库存表3、在车辆表插入外调商品车ID 4、新增接车检查项目表)完成接车功能。
注:如果该车还没接车,则按钮就显示为“接车确认”,否则就显示“修改接车”
B、修改接车:
实现功能步骤:单击车辆列表获取车型ID及生产厂家ID和车辆ID,将获取的ID传值到接车界面,在修改接车界面的Load事件查询接车检车项目记录表并绑定,让然后修改有关信息,最后按保存按钮完成修改接车功能。
第一步:写储存过程
此储存过程的意思就是:根据车辆ID查询接车检查项目表,若有值则执行第一段储存过程,否则就执行第二段储存过程
--查询检查项目表 if(@Type='Select_JianChaXiangMuXinXi') begin IF EXISTS ( SELECT ConnectCarCheckProjctRecordList.CarID FROM ConnectCarCheckProjctRecordList where ConnectCarCheckProjctRecordList.CarID=@CarID ) begin SELECT ConnectCarCheckProjctList.ConnectCarCheckProjctID, ConnectCarCheckProjctList.ProductionManufacturersID, ConnectCarCheckProjctList.CarMondelID, ConnectCarCheckProjctList.CheckProjectID, LTRIM(RTRIM(CheckProjectList.CheckProjectName)) AS CheckProjectName, LTRIM(RTRIM(CheckProjectList.CheckProjectNumber)) AS CheckProjectNumber, ConnectCarCheckProjctRecordList.CheckResult, ConnectCarCheckProjctRecordList.DiposeMethod, ConnectCarCheckProjctRecordList.Valuation, ConnectCarCheckProjctRecordList.SignDate, ConnectCarCheckProjctRecordList.CheckerID, ConnectCarCheckProjctRecordList.ConnectCarCheckProjctRecordID FROM CheckProjectList LEFT OUTER JOIN ConnectCarCheckProjctRecordList ON CheckProjectList.CheckProjectID = ConnectCarCheckProjctRecordList.CheckProjectID RIGHT OUTER JOIN ConnectCarCheckProjctList ON CheckProjectList.CheckProjectID = ConnectCarCheckProjctList.CheckProjectID where ConnectCarCheckProjctList.CarMondelID=@CarMondelID and ConnectCarCheckProjctList.ProductionManufacturersID=@ProductionManufacturersID and ConnectCarCheckProjctRecordList.CarID=@CarID end ELSE BEGIN SELECT ConnectCarCheckProjctList.ConnectCarCheckProjctID, ConnectCarCheckProjctList.ProductionManufacturersID, ConnectCarCheckProjctList.CarMondelID, ConnectCarCheckProjctList.CheckProjectID, LTRIM(RTRIM(CheckProjectList.CheckProjectName)) AS CheckProjectName, LTRIM(RTRIM(CheckProjectList.CheckProjectNumber)) AS CheckProjectNumber FROM CheckProjectList RIGHT OUTER JOIN ConnectCarCheckProjctList ON CheckProjectList.CheckProjectID = ConnectCarCheckProjctList.CheckProjectID where ConnectCarCheckProjctList.CarMondelID=@CarMondelID and ConnectCarCheckProjctList.ProductionManufacturersID=@ProductionManufacturersID end End --新增库存表 if(@Type='bSave_Click_CheLiangKuCun_Insert') begin insert into CarInventoryList(CarID, PutHouseDay, InventoryReasonID,InInventoryDate) values (@CarID, 1, @InventoryReasonID,@InInventoryDate) end --新增车辆表 if(@Type='CheLiang_Insert') begin begin tran insert into CarList(FreightInvoicesDetailID, CarTypeID, CarFrameNumber, CarEngineNumber, CarKindID, CarMondelID, CarBodyColorID, CarUnderOrnamentsColorID, CarTransmissionID, CarKeyNumber, CarStockPrice, ProductionManufacturersID, CarPDIWhetherDetection, CarStatusID, OldCarID, OutSurveyCommodityCarID, WhetherSchedule, ThoughtCarPDIWhetherDetection) Values(@FreightInvoicesDetailID, @CarTypeID, @CarFrameNumber, @CarEngineNumber, @CarKindID, @CarMondelID, @CarBodyColorID, @CarUnderOrnamentsColorID, @CarTransmissionID, @CarKeyNumber, @CarStockPrice, @ProductionManufacturersID, @CarPDIWhetherDetection, 36, 0, @OutSurveyCommodityCarID, 0, 0) select @@IDENTITY commit tran End --修改车辆表(插入外调商品车ID) if(@Type='CheLiangBiao(ChaRuWaiShangPinCheID)_Update') begin UPDATE CarList set CarList.OutSurveyCommodityCarID =@OutSurveyCommodityCarID where CarList.CarID=@CarID end --新增接车记录表 if(@Type='bSave_Click_JieCheJianChaXiangMuJiLu_Insert') begin insert into ConnectCarCheckProjctRecordList(CarID, CheckProjectID, CheckResult, DiposeMethod, Valuation, CheckerID, SignDate) values (@CarID, @CheckProjectID, @CheckResult, @DiposeMethod, @Valuation, @CheckerID, @SignDate) end --修改接车记录表 if(@Type='bSave_Click_JieCheJianChaXiangMuJiLu_Update') begin update ConnectCarCheckProjctRecordList set CarID=@CarID, CheckProjectID=@CheckProjectID, CheckResult=@CheckResult, DiposeMethod=@DiposeMethod, Valuation=@Valuation, CheckerID=@CheckerID, SignDate=@SignDate where ConnectCarCheckProjctRecordList.ConnectCarCheckProjctRecordID=@ConnectCarCheckProjctRecordID End
第二步:写逻辑层 #region 查询检查项目信息 [OperationContract] public DataSet Select_JianChaXiangMuXinXi(int CarMondelID, int ProductionManufacturersID, int CarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarMondelID",SqlDbType.Int), new SqlParameter("@ProductionManufacturersID",SqlDbType.Int), new SqlParameter("@CarID",SqlDbType.Int) }; mySqlParameters[0].Value = "Select_JianChaXiangMuXinXi"; mySqlParameters[1].Value = CarMondelID; mySqlParameters[2].Value = ProductionManufacturersID; mySqlParameters[3].Value =CarID; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion #region 新增车辆表 [OperationContract] public DataSet CheLiang_Insert(int FreightInvoicesDetailID, string CarFrameNumber, string CarEngineNumber, int CarKindID, int CarMondelID , int CarBodyColorID, int CarTransmissionID, decimal CarStockPrice, int ProductionManufacturersID, string CarKeyNumber, int CarUnderOrnamentsColorID, int CarTypeID, int OutSurveyCommodityCarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@FreightInvoicesDetailID",SqlDbType.Int), new SqlParameter("@CarFrameNumber",SqlDbType.Char), new SqlParameter("@CarEngineNumber",SqlDbType.Char), new SqlParameter("@CarKindID",SqlDbType.Int), new SqlParameter("@CarMondelID",SqlDbType.Int), new SqlParameter("@CarBodyColorID",SqlDbType.Int), new SqlParameter("@CarTransmissionID",SqlDbType.Int), new SqlParameter("@CarStockPrice",SqlDbType.Decimal), new SqlParameter("@ProductionManufacturersID",SqlDbType.Int), new SqlParameter("@CarKeyNumber",SqlDbType.Char), new SqlParameter("@CarUnderOrnamentsColorID",SqlDbType.Int), new SqlParameter("@CarTypeID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarID",SqlDbType.Int) }; mySqlParameters[0].Value = "CheLiang_Insert"; mySqlParameters[1].Value = FreightInvoicesDetailID; mySqlParameters[2].Value = CarFrameNumber; mySqlParameters[3].Value = CarEngineNumber; mySqlParameters[4].Value = CarKindID; mySqlParameters[5].Value = CarMondelID; mySqlParameters[6].Value = CarBodyColorID; mySqlParameters[7].Value = CarTransmissionID; mySqlParameters[8].Value = CarStockPrice; mySqlParameters[9].Value = ProductionManufacturersID; mySqlParameters[10].Value = CarKeyNumber; mySqlParameters[11].Value = CarUnderOrnamentsColorID; mySqlParameters[12].Value = CarTypeID; mySqlParameters[13].Value = OutSurveyCommodityCarID; DataTable dt = myDALMethod.QueryDataTable("接车管理_frm_JieCheGuanLi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; } #endregion #region 新增库存表 [OperationContract] public int bSave_Click_CheLiangKuCun_Insert(int CarID, int InventoryReasonID, DateTime InInventoryDate) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarID",SqlDbType.Int), new SqlParameter("@InventoryReasonID",SqlDbType.Int), new SqlParameter("@InInventoryDate",SqlDbType.Date) }; mySqlParameters[0].Value = "bSave_Click_CheLiangKuCun_Insert"; mySqlParameters[1].Value = CarID; mySqlParameters[2].Value = InventoryReasonID; mySqlParameters[3].Value = InInventoryDate; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion #region 修改车辆表(插入外调车辆表) [OperationContract] public int CheLiangBiaoChaRuWaiShangPinCheID_Update(int CarID, int OutSurveyCommodityCarID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarID",SqlDbType.Int), new SqlParameter("@OutSurveyCommodityCarID",SqlDbType.Int) }; mySqlParameters[0].Value = "CheLiangBiao(ChaRuWaiShangPinCheID)_Update"; mySqlParameters[1].Value = CarID; mySqlParameters[2].Value = OutSurveyCommodityCarID; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion #region 新增接车检查项目表 [OperationContract] public int bSave_Click_JieCheJianChaXiangMuJiLu_Insert(int CarID, int CheckProjectID, string CheckResult, string DiposeMethod, decimal Valuation, int CheckerID, DateTime SignDate) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarID",SqlDbType.Int), new SqlParameter("@CheckProjectID",SqlDbType.Int), new SqlParameter("@CheckResult",SqlDbType.Char), new SqlParameter("@DiposeMethod",SqlDbType.Char), new SqlParameter("@Valuation",SqlDbType.Decimal), new SqlParameter("@CheckerID",SqlDbType.Int), new SqlParameter("@SignDate",SqlDbType.DateTime) }; mySqlParameters[0].Value = "bSave_Click_JieCheJianChaXiangMuJiLu_Insert"; mySqlParameters[1].Value = CarID; mySqlParameters[2].Value = CheckProjectID; mySqlParameters[3].Value = CheckResult; mySqlParameters[4].Value = DiposeMethod; mySqlParameters[5].Value = Valuation; mySqlParameters[6].Value = CheckerID; mySqlParameters[7].Value = SignDate; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion #region 修改接车检查项目表 [OperationContract] public int bSave_Click_JieCheJianChaXiangMuJiLu_Update(int CarID, int CheckProjectID, string CheckResult, string DiposeMethod, decimal Valuation, int CheckerID, DateTime SignDate, int ConnectCarCheckProjctRecordID) { SqlParameter[] mySqlParameters = { new SqlParameter("@Type",SqlDbType.Char), new SqlParameter("@CarID",SqlDbType.Int), new SqlParameter("@CheckProjectID",SqlDbType.Int), new SqlParameter("@CheckResult",SqlDbType.Char), new SqlParameter("@DiposeMethod",SqlDbType.Char), new SqlParameter("@Valuation",SqlDbType.Decimal), new SqlParameter("@CheckerID",SqlDbType.Int), new SqlParameter("@SignDate",SqlDbType.DateTime), new SqlParameter("@ConnectCarCheckProjctRecordID",SqlDbType.Int) }; mySqlParameters[0].Value = "bSave_Click_JieCheJianChaXiangMuJiLu_Update"; mySqlParameters[1].Value = CarID; mySqlParameters[2].Value = CheckProjectID; mySqlParameters[3].Value = CheckResult; mySqlParameters[4].Value = DiposeMethod; mySqlParameters[5].Value = Valuation; mySqlParameters[6].Value = CheckerID; mySqlParameters[7].Value = SignDate; mySqlParameters[8].Value = ConnectCarCheckProjctRecordID; int dt = myDALMethod.UpdateData("接车管理_frm_JieCheGuanLi", mySqlParameters); return dt; } #endregion
<pre name="code" class="csharp">第三步:写界面层 A、接车确认按钮代码: /// <summary> /// 接车确认按钮事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void btnQueRen_Click(object sender, EventArgs e) { int intCheXingID = Convert.ToInt32(dgvCar_Wai.CurrentRow.Cells["外调_车型ID"].Value.ToString().Trim());//获取车型ID int intShengChanChangJiaID = Convert.ToInt32(dgvCar_Wai.CurrentRow.Cells["外调_生产厂家ID"].Value.ToString().Trim());//获取车身颜色ID frm_JieCheGuanLi_WaiDiaoShangPinCheQueRen myWaiDiaoShangPinCheQueRen = new frm_JieCheGuanLi_WaiDiaoShangPinCheQueRen(intCheXingID, intShengChanChangJiaID, intWaiDianShngPingCheID, strFaDongJiHao, strCheJiaHao, intCheLiangID_Xiu, strXiuGaiJieChe); myWaiDiaoShangPinCheQueRen.ShowDialog(); WaiDiaoShangPinChe();//刷新 } B、界面与界面有关数据的传值 #region 声明字段 int intCheXinID_Xiu = 0; int intShengChanChangJiaID = 0; int intWaiDiaoShangPinCheID = 0; int intCheLiangID_Xiu = 0; int intXiuGaiChengGongTiaoShu = 0; string strFaDongJiHao = ""; string strCheJiaHao = ""; string strXiuGaiJieChe; #endregion public frm_JieCheGuanLi_WaiDiaoShangPinCheQueRen(int CheXinID,int ShengChangChanJiaID,int WaiDiaoShangPinCheID,string FaDongJiHao,string CheJiaHao,int intCarID,string strXiuGai) { #region 界面之间的传值 intCheXinID_Xiu = CheXinID; intCheLiangID_Xiu = intCarID; strFaDongJiHao=FaDongJiHao; strCheJiaHao = CheJiaHao; strXiuGaiJieChe = strXiuGai; intShengChanChangJiaID = ShengChangChanJiaID; intWaiDiaoShangPinCheID = WaiDiaoShangPinCheID; #endregion InitializeComponent(); } C、接车界面的Load事件 /// <summary> /// 接车界面Load事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void frm_JieCheGuanLi_WaiDiaoShangPinCheQueRen_Load(object sender, EventArgs e) { dgvJianChaXiangMu.AutoGenerateColumns = false; dtpChengYunFangQianZiRiQI.Enabled = false;//禁用乘运方签字日期控件 System.Data.DataTable dtJianChaZhe = my公共方法_Combox绑定Client.Select_CboJingBanRen().Tables[0]; //获取数据 cboJianChaZhe.DataSource = dtJianChaZhe; cboJianChaZhe.DisplayMember = "StaffName"; cboJianChaZhe.ValueMember = "StaffID"; System.Data.DataTable dtWaiDiaoShangPinCheJianChaXiangMuXinXi = myfrm_JieCheGuanLi_JieCheClient.Select_JianChaXiangMuXinXi(intCheXinID_Xiu, intShengChanChangJiaID, intCheLiangID_Xiu).Tables[0]; dgvJianChaXiangMu.DataSource = dtWaiDiaoShangPinCheJianChaXiangMuXinXi; if (dtWaiDiaoShangPinCheJianChaXiangMuXinXi.Rows.Count > 0)//判断dtWaiDiaoShangPinCheJianChaXiangMuXinXi的行数 { if (strXiuGaiJieChe == "修改接车") { dtpQianZiRiQi.Enabled = true; cboJianChaZhe.SelectedValue=Convert.ToInt32(dtWaiDiaoShangPinCheJianChaXiangMuXinXi.Rows[0]["CheckerID"]);//绑定检查人 dtpQianZiRiQi.Value = Convert.ToDateTime(dtWaiDiaoShangPinCheJianChaXiangMuXinXi.Rows[0]["SignDate"]);//绑定签字日期 } } } D、dgvJianChaXiangMu开始编辑事件(目的是当你在dgvJianChaXiangMu.CurrentRow.Cells["处理方法"].Value输入时则dgvJianChaXiangMu.CurrentRow.Cells["检查结果"].Value赋值为“OK”) /// <summary> /// dgvJianChaXiangMu开始编辑事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void dgvJianChaXiangMu_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (dgvJianChaXiangMu.CurrentRow.Cells["处理方法"].Value == null) { dgvJianChaXiangMu.CurrentRow.Cells["检查结果"].Value = "Ok"; } } E、以上面对的事件效果相反 /// <summary> /// dgvJianChaXiangMu停止编辑事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void dgvJianChaXiangMu_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { dgvJianChaXiangMu.CurrentRow.Cells["检查结果"].Value = "No"; } F、保存按钮代码(接车保存代码和修改接车保存代码) /// <summary> /// btnBaoCun按钮单击事件 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发环境</param> private void btnBaoCun_Click(object sender, EventArgs e) { //判断是否选择车辆 if (intWaiDiaoShangPinCheID == 0) { MessageBox.Show("你还没有选择车辆,请选择后再继续。。。。。"); return; } #region 字段的声明与赋值 System.Data.DataTable dtCheLiangShuJu = myfrm_JieCheGuanLi_JieCheClient.frm_JieCheGuanLi_WaiDiaoShangPingChe_Updatecs_Load_Select_WaiDiaoShangPingCheLiang(intWaiDiaoShangPinCheID).Tables[0]; int intCheZhongID = Convert.ToInt32(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarKindID"]); int intCheXingID = Convert.ToInt32(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarMondelID"]); int intCheShengYanSheID = Convert.ToInt32(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarBodyColorID"]); int intNeiShiYanSheID = Convert.ToInt32(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarUnderOrnamentsColorID"]); int intBianShuXiangID = Convert.ToInt32(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarTransmissionID"]); decimal decJingHuoDanJian = Convert.ToDecimal(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarPrice"]); int intShengChanChangJiaID = Convert.ToInt32(dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarProductionManufacturersID"]); string strYanShiHao = dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarKeyNumber"].ToString(); string strWaiDiaoShangPinCheCheJiaHao = dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarFrameNumber"].ToString(); string strWaiDiaoShangPinFaDongJiHao = dtCheLiangShuJu.Rows[0]["OutSurveyCommodityCarEngineNumber"].ToString(); #endregion if (strXiuGaiJieChe == "修改接车") { for (int x = 0; x < dgvJianChaXiangMu.Rows.Count; x++) { int intJianChaXiangMuID = Convert.ToInt32(dgvJianChaXiangMu.Rows[x].Cells["检查项目ID"].Value.ToString().Trim()); string strJianChaJieGuo = dgvJianChaXiangMu.Rows[x].Cells["检查结果"].Value.ToString().Trim(); string strChuLiFangFa = dgvJianChaXiangMu.Rows[x].Cells["处理方法"].Value.ToString().Trim(); decimal decGuJia = Convert.ToDecimal(dgvJianChaXiangMu.Rows[x].Cells["估价"].Value.ToString().Trim()); int intJianChaRenID = Convert.ToInt32(cboJianChaZhe.SelectedValue); int intJieCheJianChaXianMuID = Convert.ToInt32(dgvJianChaXiangMu.Rows[x].Cells["接车检项目ID"].Value); DateTime dtQianZiRiQi = dtpQianZiRiQi.Value; //新增接车检查记录表 int intJianChaJiLuBiao = myfrm_JieCheGuanLi_JieCheClient.bSave_Click_JieCheJianChaXiangMuJiLu_Update(intCheLiangID_Xiu, intJianChaXiangMuID, strJianChaJieGuo, strChuLiFangFa, decGuJia, intJianChaRenID, dtQianZiRiQi, intJieCheJianChaXianMuID); if (intJianChaJiLuBiao > 0) { intXiuGaiChengGongTiaoShu++; } } if (intXiuGaiChengGongTiaoShu == dgvJianChaXiangMu.Rows.Count) { MessageBox.Show("修改成功!!!"); this.Close(); return; } else { MessageBox.Show("修改失败!!!"); this.Close(); return; } } #region 车辆表的新增、车辆库存表的新增、接车检查项目记录表的新增 //新增车辆表 int intCheLiangID = Convert.ToInt32(myfrm_JieCheGuanLi_JieCheClient.CheLiang_Insert(0, strWaiDiaoShangPinCheCheJiaHao, strWaiDiaoShangPinFaDongJiHao, intCheZhongID, intCheXingID, intCheShengYanSheID, intBianShuXiangID, decJingHuoDanJian, intShengChanChangJiaID, strYanShiHao, intNeiShiYanSheID, 35, intWaiDiaoShangPinCheID).Tables[0].Rows[0][0]); if (intCheLiangID > 0)//判断新增车辆是否成功 { int intKuCunBiao = myfrm_JieCheGuanLi_JieCheClient.bSave_Click_CheLiangKuCun_Insert(intCheLiangID, 33, DateTime.Now);//新增库存 if (intKuCunBiao > 0) { int n = myfrm_JieCheGuanLi_JieCheClient.CheLiangBiaoChaRuWaiShangPinCheID_Update(intCheLiangID, intWaiDiaoShangPinCheID); if (n > 0) { for (int x = 0; x < dgvJianChaXiangMu.Rows.Count; x++) { int intJianChaXiangMuID = Convert.ToInt32(dgvJianChaXiangMu.Rows[x].Cells["检查项目ID"].Value.ToString().Trim()); if (dgvJianChaXiangMu.Rows[x].Cells["检查结果"].Value == null) { dgvJianChaXiangMu.Rows[x].Cells["检查结果"].Value = "OK"; } string strJianChaJieGuo = dgvJianChaXiangMu.Rows[x].Cells["检查结果"].Value.ToString().Trim(); if (dgvJianChaXiangMu.Rows[x].Cells["处理方法"].Value == null) { dgvJianChaXiangMu.Rows[x].Cells["处理方法"].Value = "无需处理"; } string strChuLiFangFa = dgvJianChaXiangMu.Rows[x].Cells["处理方法"].Value.ToString().Trim(); if (dgvJianChaXiangMu.Rows[x].Cells["估价"].Value == null) { dgvJianChaXiangMu.Rows[x].Cells["估价"].Value = "0.00"; } decimal decGuJia = Convert.ToDecimal(dgvJianChaXiangMu.Rows[x].Cells["估价"].Value.ToString().Trim()); int intJianChaRenID = Convert.ToInt32(cboJianChaZhe.SelectedValue); DateTime dtQianZiRiQi = dtpQianZiRiQi.Value; //新增接车检查记录表 int intJianChaJiLuBiao = myfrm_JieCheGuanLi_JieCheClient.bSave_Click_JieCheJianChaXiangMuJiLu_Insert(intCheLiangID, intJianChaXiangMuID, strJianChaJieGuo, strChuLiFangFa, decGuJia, intJianChaRenID, dtQianZiRiQi); if (intJianChaJiLuBiao > 0) { //修改外调商品车接车否状态 intXiuGaiWaiDiaoShangPingChe = myfrm_JieCheGuanLi_JieCheClient.btnBaoCun_Click_WaiDiaoShangPinCheBiao_Update(intWaiDiaoShangPinCheID); } } } } } if (intXiuGaiWaiDiaoShangPingChe > 0) { MessageBox.Show("接车成功!!!"); this.Close(); } else { MessageBox.Show("接车失败!!!"); } #endregion }
注:仅提供于学习用途,禁止用于商业用途!
相关文章推荐
- 我是运营,我没有假期
- DB2数据库的安装
- “传奇”图象数据存储方式
- 解析Silverlight调用WCF/Rest异常的解决方法
- 修复mysql数据库
- SQLServer 数据导入导出的几种方法小结
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法
- C#将Sql数据保存到Excel文件中的方法
- 把excel表格里的数据导入sql数据库的两种方法
- winform异型不规则界面设计的实现方法
- 用文本作数据处理
- 桌面中心(一)创建数据库
- 桌面中心(四)数据显示
- SQL Server Management Studio Express管理器 没有导入导出数据的向导的解决方法
- ASP.NET页面间数据传递的几种方法介绍
- ASP 循环导入导出数据处理 不使用缓存
- JS实现两表格里数据来回转移的方法