广州本田整车销售管理系统技术分析(四)

广州本田整车销售管理系统技术分析(四)

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移除后的结果筛选数据
                dtNewWaiDiaoShangPinChe = 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
        }

注:仅提供于学习用途,禁止用于商业用途!
 
 








  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值