Beispiel #1
0
        private void 完工ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (CureentCt == null)
            {
                return;
            }
            DoubleClickButton bt = (DoubleClickButton)CureentCt;

            string[] strs      = bt.ImageKey.Split(new Char[] { ',' });
            int      recordid  = int.Parse(bt.Name);
            string   sqlstring = "Update booking set State='完工', EndServiceTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "' where ID=" + recordid;

            if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
            {
                ClsBLL.AddMsg(recordid, "车牌号码:" + strs[1] + ",完工");
                if (bt.Tag.ToString() == "中断" || bt.Tag.ToString() == "过时")
                {
                    ClsBLL.ServicePauseStart(recordid);//结束中断
                }
                sqlstring  = @"Select Count(*) from Booking A,(Select CarNo,VIN,CreateDate From Booking Where ID=" + recordid + ")B";
                sqlstring += " Where A.CarNo=B.CarNo And A.VIN=B.VIN And A.CreateDate=B.CreateDate and A.State<>'完工'";
                int r = int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString());
                if (r > 0)
                {
                    MessageBox.Show("还有" + r.ToString() + "张分单未完工!");
                    ClsBLL.AddMsg(recordid, "车牌号码:" + bt.Tag.ToString() + "还有" + r.ToString() + "张分单未完工!" + ClsBLL.UserName);
                }
                bt.BackColor = Color.Blue;
                bt.Tag       = "完工";
            }
        }
Beispiel #2
0
        private void 洗车ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (CureentCt == null)
            {
                return;
            }
            DoubleClickButton bt = (DoubleClickButton)CureentCt;
            int recordid         = int.Parse(bt.Name);

            string[] strs      = bt.ImageKey.Split(new Char[] { ',' });
            string   sqlstring = @"Select Count(*) from Booking A,(Select CarNo,VIN,CreateDate From Booking Where ID=" + recordid + ")B";

            sqlstring += " Where A.CarNo=B.CarNo And A.VIN=B.VIN And A.CreateDate=B.CreateDate and A.State<>'完工'";
            int r = int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString());

            if (r > 0)
            {
                MessageBox.Show("还有" + r.ToString() + "张分单未完工,不能洗车。");
                return;
            }
            sqlstring  = "Update A set A.State='洗车'";
            sqlstring += " From Booking A,(Select CarNo,BookTime From Booking Where ID=" + recordid + ") B";
            sqlstring += " Where A.CarNo=B.CarNo And Substring(convert(nvarchar(50),A.booktime,120),1,10)=substring(convert(nvarchar(50),B.booktime,120),1,10)";
            if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
            {
                ClsBLL.AddMsg(recordid, "车牌号码:" + strs[1] + ",洗车");
                foreach (Control ct in dataGridView1.Controls)
                {
                    if (ct.Text == bt.Text)
                    {
                        dataGridView1.Controls.Remove(ct);
                    }
                }
            }
        }
Beispiel #3
0
 private void label1_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("你确定要关闭系统吗?", "关闭系统", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         if (DateTime.Now.Hour > 16)
         {
             object obj = SQLDbHelper.ExecuteScalar("Select Position from Worker Where WorkerName='" + ClsBLL.UserName + "'");
             if (obj != null)
             {
                 string usergroup = obj.ToString();
                 if (usergroup == "主管")
                 {
                     string sqlstring = "Select count(*) from Booking Where StartServiceTime between '" + DateTime.Today.ToShortDateString() + "' and '" + DateTime.Now.ToString() + "' and ServiceType='" + ClsBLL.UserGroup + "' and State in ('中断','维修进行中','过时')";
                     int    bills     = int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString());
                     if (bills > 0)
                     {
                         string message = "有" + bills.ToString() + "张单没有完成,请处理完之后再关闭系统!!!";
                         if (MessageBox.Show(message, "系统提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
                         {
                             ClsBLL.AddMsg(-1, message + "--" + ClsBLL.UserName);
                             return;
                         }
                     }
                 }
             }
         }
         this.Close();
     }
 }
Beispiel #4
0
        private void 中断ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (CureentCt == null)
            {
                return;
            }
            DoubleClickButton bt = (DoubleClickButton)CureentCt;
            int recordid         = int.Parse(bt.Name);

            if (中断ToolStripMenuItem.Text == "中断")
            {
                frmPause fpr = new frmPause(recordid);
                if (fpr.ShowDialog() == DialogResult.OK)
                {
                    刷新ToolStripMenuItem_Click(null, null);
                }
            }
            else
            {
                //设置中断并开始的记录
                ClsBLL.ServicePauseStart(recordid);
                string[] strs         = bt.ImageKey.Split(new Char[] { ',' });
                string   startdate    = strs[4]; //中断之前的开始时间
                string   plancomplete = strs[5]; //预计完成时间
                DateTime PlanEndDate  = DateTime.Parse(plancomplete).AddMinutes(ClsBLL.Pausemins(recordid, DateTime.Parse(startdate)));
                //新的预计完成时间
                string sqlstring = "Update Booking Set PlanCompleteTime='" + PlanEndDate + "',State='维修进行中' where ID=" + recordid;
                SQLDbHelper.ExecuteSql(sqlstring);
                ClsBLL.AddMsg(recordid, "车牌号码:" + strs[1] + ",中断后继续维修");
                刷新ToolStripMenuItem_Click(null, null);
            }
        }
Beispiel #5
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (Bt.Tag.ToString() == "中断")  //如果是中断状态,做了延迟到明天的动作
            {
                ClsBLL.ServicePauseStart(RecordID);
            }
            string sqlstring = string.Empty;

            try
            {
                if (comboBox1.Text == string.Empty)
                {
                    MessageBox.Show("延迟中断原因不能为空!");
                    return;
                }
                sqlstring  = "Insert into DelayService(BookID,Worker,StartServiceTime,PlanCompleteTime,DelayReason) select ID,Worker,StartServiceTime,PlanCompleteTime,'" + comboBox1.Text + "' from Booking where ID=" + RecordID;
                sqlstring += ";Update booking set State='延时到明天',DelayComplete='延时到明天' where ID=" + RecordID;

                Bt.BackColor = Color.Orange;
                Bt.Tag       = "延时到明天";
                ClsBLL.AddMsg(RecordID, "车牌号码:" + CarNo + "维修延时到明天--" + ClsBLL.UserName);

                if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                {
                    DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            decimal servicehours = 0;
            string  sqlstring    = string.Empty;

            if (state == "中断" || state == "过时")
            {
                ClsBLL.ServicePauseStart(RecordID);//如果是中断则结束中断
            }
            if (txtHours.Text != string.Empty)
            {
                servicehours = decimal.Parse(txtHours.Text);
                if (servicehours < 50)
                {
                    MessageBox.Show("维修工时错误!");
                    return;
                }
                else
                {
                    servicehours = decimal.Parse(servicehours.ToString()) / 100;
                }
            }
            decimal hours = servicehours + decimal.Parse(txtServiceHour.Text) / 100;
            //新的计划完成时间=当前时间+追加工时
            DateTime plancompletetime = PlanCompleteTime.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));

            if (state == "中断")
            {
                plancompletetime = plancompletetime.AddMinutes(ClsBLL.Pausemins(RecordID, StartServiceTime));
            }
            if (plancompletetime.CompareTo(DateTime.Today.AddHours(9)) == -1)  //如果小于今天
            {
                plancompletetime = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));
            }
            try
            {
                sqlstring = "Update booking set State='维修进行中',ServiceHour=" + hours + ",PlanCompleteTime='" + plancompletetime + "',EndServiceTime=Null,ServiceItem=ServiceItem + '," + txtItem.Text + "',Remark=isnull(Remark,'')+',追加维修项目' where ID=" + RecordID;
                if (txtHours.Text != string.Empty)
                {
                    sqlstring += ";Insert Into ServiceAddHours(BookID,OldHours,AddHours,AddItem,Worker,AddTime)values(" + RecordID + "," + decimal.Parse(txtServiceHour.Text) / 100 + "," + decimal.Parse(txtHours.Text) / 100 + ",'" + txtAddItem.Text + "','" + worker + "','" + DateTime.Today.ToShortTimeString() + "')";
                }
                if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                {
                    DialogResult = DialogResult.OK;
                    ClsBLL.AddMsg(RecordID, "车牌号码:" + this.Text + txtHours.Text + "TU--" + ClsBLL.UserName);
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            decimal servicehours = 0;
            string  sqlstring    = string.Empty;

            if (state == "中断" || state == "过时")
            {
                ClsBLL.ServicePauseStart(RecordID);//如果是中断则结束中断
            }
            if (txtHours.Text != string.Empty)
            {
                servicehours = decimal.Parse(txtHours.Text);
                if (servicehours < 50)
                {
                    MessageBox.Show("维修工时错误!");
                    return;
                }
                else
                {
                    servicehours = decimal.Parse(servicehours.ToString()) / 100;
                }
            }
            decimal hours = servicehours + decimal.Parse(textBox1.Text) / 100;
            //新的计划完成时间=当前时间+追加工时
            DateTime plancompletetime = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));

            try
            {
                sqlstring  = "Insert Into Reservice(BookID,Worker,PlanCompleteTime,StartServiceTime,EndServiceTime,AddHours)Select ID,Worker,PlanCompleteTime,StartServiceTime,EndServiceTime," + servicehours + " From Booking Where ID=" + RecordID;
                sqlstring += ";Update booking set State='维修进行中',ServiceHour=" + hours + ",StartServiceTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "',EndServiceTime=Null,PlanCompleteTime='" + plancompletetime + "',Worker='" + comboBox1.Text + "',Remark=isnull(Remark,'')+',返修' where ID=" + RecordID;
                if (txtHours.Text != string.Empty)
                {
                    sqlstring += ";Insert Into ServiceAddHours(BookID,OldHours,AddHours,Worker,AddTime)values(" + RecordID + "," + decimal.Parse(textBox1.Text) / 100 + "," + decimal.Parse(txtHours.Text) / 100 + ",'" + comboBox1.Text + "','" + DateTime.Today.ToShortTimeString() + "')";
                }
                if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                {
                    DialogResult = DialogResult.OK;
                    ClsBLL.AddMsg(RecordID, "车牌号码:" + this.Text + txtHours.Text + "TU--" + ClsBLL.UserName);
                    this.Close();
                }
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
Beispiel #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            decimal addhours   = 0;
            decimal newhours   = 0;
            decimal starthours = 0;

            if (state == "中断" || state == "过时")
            {
                ClsBLL.ServicePauseStart(RecordID);//如果是中断则结束中断
            }
            if (txtAddHours.Text != string.Empty)
            {
                addhours = decimal.Parse(txtAddHours.Text);
                addhours = decimal.Parse(addhours.ToString()) / 100;
            }
            newhours = addhours + decimal.Parse(txtHours.Text) / 100;
            //新的计划完成时间=当前时间+追加工时
            starthours = ClsBLL.GetFactHours(RecordID);
            if (newhours > starthours)
            {
                starthours = newhours - starthours;  //预计维修工时减实际做过
            }
            DateTime plancompletetime = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(starthours * 60)));

            try
            {
                string sqlstring = "Update booking set State='维修进行中',StartServiceTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "',Worker='" + comboBox1.Text + "' ,ServiceHour=" + newhours + ",PlanCompleteTime='" + plancompletetime + "',Remark=isnull(Remark,'')+'," + this.Text + txtAddHours.Text + "TU' where ID=" + RecordID;
                if (txtAddHours.Text != string.Empty)
                {
                    sqlstring += ";Insert Into ServiceAddHours(BookID,OldHours,AddHours,Worker,AddTime)values(" + RecordID + "," + decimal.Parse(txtHours.Text) / 100 + "," + decimal.Parse(txtAddHours.Text) / 100 + ",'" + comboBox1.Text + "','" + DateTime.Today.ToShortTimeString() + "')";
                }
                if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                {
                    DialogResult = DialogResult.OK;
                    ClsBLL.AddMsg(RecordID, "车牌号码:" + this.Text + txtAddHours.Text + "TU--" + ClsBLL.UserName);
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
Beispiel #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (comboBox1.Text == string.Empty)
                {
                    MessageBox.Show("请选择中断原因!");
                    return;
                }

                ClsBLL.AddServicePause(RecordID, Worker, comboBox1.Text);
                ClsBLL.AddMsg(RecordID, "车牌号码:" + CarNo + "维修中断,原因是" + comboBox1.Text + "--" + ClsBLL.UserName);

                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
Beispiel #10
0
        private void button1_Click(object sender, EventArgs e)
        {
            string sqlstring = string.Empty;

            if (IntTag == 0)
            {
                sqlstring = "Update Booking set ParkSite='" + textBox1.Text + "' Where ID=" + RecordID;
            }
            else
            {
                sqlstring  = "Update A set A.State='洗车',A.ParkSite='" + textBox1.Text + "',A.ClearCarTime='" + dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm") + "'";
                sqlstring += " From Booking A,(Select CarNo,BookTime From Booking Where ID=" + RecordID + ") B";
                sqlstring += " Where A.CarNo=B.CarNo And substring(convert(nvarchar(50),A.booktime,120),1,10)=substring(convert(nvarchar(50),B.booktime,120),1,10)";
            }
            if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
            {
                DialogResult = DialogResult.OK;
            }
            ClsBLL.AddMsg(RecordID, "车牌号码:" + CarNo + "现在开始洗车--" + ClsBLL.UserName);

            this.Close();
        }
Beispiel #11
0
 private void wbt_MouseUp(object sender, MouseEventArgs e)
 {
     if (!ClsBLL.IsPower("派工"))
     {
         MessageBox.Show("你没有权限派工!");
         ((Control)sender).Top  = PcStartTop;
         ((Control)sender).Left = PcStartLeft;
         return;
     }
     if (IsMove)
     {
         decimal top    = decimal.Parse(Convert.ToString(((Control)sender).Top - dataGridView1.ColumnHeadersHeight));
         decimal height = decimal.Parse(dataGridView1.Rows[0].Height.ToString());
         Rowindex = int.Parse(decimal.Round(top / height, 0).ToString());
         int left      = ((Control)sender).Left;
         int startleft = dataGridView1.Columns[0].Width + dataGridView1.Columns[1].Width;
         Colindex = (left - startleft) / dataGridView1.Columns[2].Width;
         Colindex = Colindex + 2;
         if (top == 0 || left < dataGridView1.Columns[0].Width)
         {
             ((Control)sender).Top  = PcStartTop;
             ((Control)sender).Left = PcStartLeft;
             return;
         }
         if (Rowindex == -1)
         {
             Rowindex = 0;
         }
         ((Control)sender).Top  = Rowindex * dataGridView1.Rows[0].Height + dataGridView1.ColumnHeadersHeight;
         ((Control)sender).Left = (Colindex - 2) * dataGridView1.Columns[2].Width + startleft;
         try
         {
             if (Rowindex > -1)
             {
                 if (((Control)sender).Name != string.Empty)
                 {
                     string            sqlstring = string.Empty;
                     DoubleClickButton bt        = (DoubleClickButton)((Control)sender);
                     //记录ID
                     int      recordid = int.Parse(bt.Name);
                     string[] strinfo  = bt.ImageKey.Split(new Char[] { ',' });
                     if (strinfo[1] == "延时到明天")
                     {
                         //延时到明天的单,第二天派工时确认追加工时,预计完成时间是当前时间加上追加工时
                         if (ClsBLL.GetFendanNum(recordid) > 1)
                         {    //如果有两张同时延时到明天的单,则进入分单界面。
                             frmServiceItem fsi = new frmServiceItem(recordid);
                             if (fsi.ShowDialog() == DialogResult.OK)
                             {
                                 刷新ToolStripMenuItem_Click(null, null);
                             }
                             else
                             {
                                 ((Control)sender).Top  = PcStartTop;
                                 ((Control)sender).Left = PcStartLeft;
                                 return;
                             }
                         }
                         else
                         {
                             frmAddHour2Day frmaddhour = new frmAddHour2Day(recordid);
                             if (frmaddhour.ShowDialog() == DialogResult.OK)
                             {
                                 ClsBLL.AddMsg(recordid, "车牌号码:" + strinfo[2] + ",派工给" + ClsBLL.GetWorker(recordid));
                                 刷新ToolStripMenuItem_Click(null, null);
                             }
                             else
                             {
                                 ((Control)sender).Top  = PcStartTop;
                                 ((Control)sender).Left = PcStartLeft;
                                 return;
                             }
                         }
                     }
                     else
                     {
                         //维修工时
                         decimal servicehours = ClsBLL.GetServiceHour(recordid);
                         //维修工人
                         string   serviceworker  = dataGridView1.Rows[Rowindex].Cells[1].Value.ToString();
                         DateTime DtPlanComplete = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));
                         sqlstring = "Update Booking Set AssignTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "', StartServiceTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "',PlanCompleteTime='" + DtPlanComplete + "', Worker='" + serviceworker + "',State='维修进行中' where ID=" + recordid;
                         if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                         {
                             ClsBLL.AddMsg(recordid, "车牌号码:" + strinfo[2] + ",派工给" + serviceworker);
                             ClsBLL.ServicePauseStart(recordid);
                             刷新ToolStripMenuItem_Click(null, null);
                         }
                     }
                 }
             }
         }
         catch (Exception Err)
         {
             MessageBox.Show(Err.Message);
         }
     }
     IsMove = false;
 }
Beispiel #12
0
        private void bt_MouseUp(object sender, MouseEventArgs e)
        {
            if (IsMove)
            {
                if (((Control)sender).Tag.ToString() != "维修进行中" && ((Control)sender).Tag.ToString() != "中断")
                {
                    ((Control)sender).Top  = PcStartTop;
                    ((Control)sender).Left = PcStartLeft;
                    return;
                }
                decimal top    = decimal.Parse(Convert.ToString(((Control)sender).Top - dataGridView1.ColumnHeadersHeight));
                decimal height = decimal.Parse(dataGridView1.Rows[0].Height.ToString());
                Rowindex = int.Parse(decimal.Round(top / height, 0).ToString());

                if (Math.Abs(((Control)sender).Top - PcStartTop) < dataGridView1.Rows[2].Height / 2)
                {
                    ((Control)sender).Top  = PcStartTop;
                    ((Control)sender).Left = PcStartLeft;
                    return;
                }
                if (top == 0)
                {
                    ((Control)sender).Top  = PcStartTop;
                    ((Control)sender).Left = PcStartLeft;
                    return;
                }
                if (Rowindex == -1)
                {
                    Rowindex = 0;
                }
                ((Control)sender).Top = Rowindex * dataGridView1.Rows[0].Height + dataGridView1.ColumnHeadersHeight;
                try
                {
                    if (Rowindex > -1)
                    {
                        if (((Control)sender).Name != string.Empty)
                        {
                            //记录ID
                            int recordid = int.Parse(((Control)sender).Name);
                            //维修工时
                            decimal servicehours = ClsBLL.GetServiceHour(recordid);
                            //维修工人
                            string serviceworker = dataGridView1.Rows[Rowindex].Cells[1].Value.ToString();
                            if (MessageBox.Show("你确定要把该单转给<" + serviceworker + ">做吗?", "", MessageBoxButtons.YesNo) == DialogResult.No)
                            {
                                ((Control)sender).Top  = PcStartTop;
                                ((Control)sender).Left = PcStartLeft;
                                return;
                            }
                            DoubleClickButton bt           = (DoubleClickButton)((Control)sender);
                            string[]          strs         = bt.ImageKey.Split(new Char[] { ',' });
                            string            startdate    = strs[4]; //计划完成工作时间 = 开始工作时间 + 维修工时
                            string            plancomplete = strs[5]; //预计完成时间
                            if (((Control)sender).Tag.ToString() == "中断")
                            {
                                ClsBLL.ServicePauseStart(recordid);
                                plancomplete = DateTime.Parse(plancomplete).AddMinutes(ClsBLL.Pausemins(recordid, DateTime.Parse(startdate))).ToShortDateString();
                            }
                            string sqlstring = "Insert Into BookingAdd(BookID,OldWorker,StartServiceTime)Select ID,Worker,StartServiceTime from Booking where ID=" + recordid;
                            sqlstring += ";Update Booking Set StartServiceTime='" + DateTime.Now.ToString() + "',PlanCompleteTime='" + plancomplete + "', Worker='" + serviceworker + "',State='维修进行中' where ID=" + recordid;
                            SQLDbHelper.ExecuteSql(sqlstring);
                            ClsBLL.AddMsg(recordid, "车牌号码:" + strs[1] + ",该单转给<" + serviceworker + ">做");
                            刷新ToolStripMenuItem_Click(null, null);
                        }
                    }
                }
                catch (Exception Err)
                {
                    MessageBox.Show(Err.Message);
                }
            }
            IsMove = false;
        }
Beispiel #13
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (!CheckReg())
            {
                return;
            }
            string sqlstring = string.Empty;

            if (IsUpdateParts)  //配件部修改零件
            {
                SaveParts();
                return;
            }
            if (!CheckText())
            {
                return;
            }
            DateTime BookTime = DateTime.Parse(dateTimePicker1.Value.ToShortDateString() + " " + numericUpDown1.Value.ToString() + ":" + numericUpDown2.Value.ToString());
            int      IsBook   = 1;
            //if (!checkBox1.Visible)  //按照设置的规则确定是预约来店还是自行来店
            //{
            //    string hou = ClsBLL.GetSet("txtSet8");
            //    int hourset = 3;
            //    if (hou != string.Empty) hourset = int.Parse(hou);
            //    TimeSpan ts = BookTime.Subtract(DateTime.Now);
            //    if (ts.Hours >= hourset)
            //    {
            //        checkBox1.Checked = true;
            //    }
            //    else
            //    {
            //        checkBox2.Checked = true;
            //    }
            //}
            //if (checkBox2.Checked) IsBook = 0;
            int    IsRemind     = 0;
            int    IsRemindSuc  = 1;
            string RemindResult = string.Empty;

            if (chkIsRemind.Checked)
            {
                IsRemind = 1;
                if (radioButton2.Checked)
                {
                    IsRemindSuc  = 0;
                    RemindResult = cmbRemindResult.Text;
                    if (RemindResult == string.Empty)
                    {
                        MessageBox.Show("请选择提醒结果!");
                        return;
                    }
                }
            }
            string sendservice = string.Empty;

            if (chkReCar.Checked)
            {
                sendservice = "代步车";
            }
            if (chkRentCar.Checked)
            {
                sendservice += ",出租车";
            }
            if (chkSend.Checked)
            {
                sendservice += ",接送";
            }
            if (sendservice.StartsWith(","))
            {
                sendservice = sendservice.Substring(1);
            }
            decimal RunKM = 0;

            if (txtRunKM.Text != string.Empty)
            {
                RunKM = decimal.Parse(txtRunKM.Text);
            }
            decimal servicehours = decimal.Parse(txtBookHour.Text) / 100;

            string sertype1 = string.Empty;
            string sertype2 = string.Empty;

            if (chkJD.Checked)
            {
                sertype1 = "机电维修";
                if (RID == -1 && CheckExsit(sertype1))
                {
                    return;
                }
            }
            if (chkBJ.Checked)
            {
                sertype2 = "车身维修";
                if (RID == -1 && CheckExsit(sertype2))
                {
                    return;
                }
            }
            int ID = -1;

            try
            {
                if (RID == -1)  //新增
                {
                    int     BookIndex = 0;
                    decimal jdhour    = servicehours;
                    decimal cshour    = servicehours;
                    if (panWorkHours.Visible)
                    {
                        jdhour = decimal.Parse(txtJDHours.Text) / 100;
                        cshour = decimal.Parse(txtCSHours.Text) / 100;
                    }
                    if (sertype1 != string.Empty)
                    {
                        sqlstring  = "Insert Into Booking(BookIndex,BookTime,CarNo,CarType,ServiceItem,ServiceType,LinkMan,Tel,BookHour,ServiceHour,Creator,Remark,VIN,IsBook,IsRemind,IsRemindSuc,RemindResult,PreSA,RunKM,Email,SendService)";
                        sqlstring += "Values('" + BookIndex + "','" + BookTime + "','" + txtCarNo.Text + "','" + cmbCarType.Text + "'";
                        sqlstring += ",'" + txtServiceItem.Text + "','" + sertype1 + "','" + txtLinkMan.Text + "','" + txtTel.Text + "'," + jdhour + "," + jdhour + ",'" + ClsBLL.UserName + "','" + txtRemark.Text + "'";
                        sqlstring += ",'" + txtVIN.Text + "'," + IsBook + "," + IsRemind + "," + IsRemindSuc + ",'" + RemindResult + "'";
                        sqlstring += ",'" + cmbPreSA.Text + "'," + RunKM + ",'" + txtEmail.Text + "','" + sendservice + "')";
                        if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                        {
                            ID = int.Parse(SQLDbHelper.ExecuteScalar("Select Max(ID) as MaxID from Booking").ToString());
                            ClsBLL.AddSysLog(ID, "新增预约,车牌号码:" + txtCarNo.Text + ",维修类型:" + sertype1);
                            AddCarHandle(ID);
                        }
                    }
                    if (sertype2 != string.Empty)
                    {
                        sqlstring  = "Insert Into Booking(BookIndex,BookTime,CarNo,CarType,ServiceItem,ServiceType,LinkMan,Tel,BookHour,ServiceHour,Creator,Remark,VIN,IsBook,IsRemind,IsRemindSuc,RemindResult,PreSA,RunKM,Email,SendService)";
                        sqlstring += "Values('" + BookIndex + "','" + BookTime + "','" + txtCarNo.Text + "','" + cmbCarType.Text + "'";
                        sqlstring += ",'" + txtServiceItem.Text + "','" + sertype2 + "','" + txtLinkMan.Text + "','" + txtTel.Text + "'," + cshour + "," + cshour + ",'" + ClsBLL.UserName + "','" + txtRemark.Text + "'";
                        sqlstring += ",'" + txtVIN.Text + "'," + IsBook + "," + IsRemind + "," + IsRemindSuc + ",'" + RemindResult + "'";
                        sqlstring += ",'" + cmbPreSA.Text + "'," + RunKM + ",'" + txtEmail.Text + "','" + sendservice + "')";
                        if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                        {
                            ID = int.Parse(SQLDbHelper.ExecuteScalar("Select Max(ID) as MaxID from Booking").ToString());
                            ClsBLL.AddSysLog(ID, "新增预约,车牌号码:" + txtCarNo.Text + ",维修类型:" + sertype2);
                            AddCarHandle(ID);
                        }
                    }
                    MessageBox.Show("新增成功!");
                    this.Close();
                }
                else
                {    //修改
                    string delay = string.Empty;
                    //if (DateT.CompareTo(BookTime) != 0) delay = "延迟预约";
                    string updatesertype = sertype1;
                    if (updatesertype == string.Empty)
                    {
                        updatesertype = sertype2;
                    }
                    //if (sertype1 != string.Empty && sertype2 != string.Empty) updatesertype = servicetypeold;
                    if (updatesertype != servicetypeold)
                    {
                        if (CheckExsit(updatesertype))
                        {
                            return;
                        }
                    }
                    sqlstring  = "Update Booking Set BookTime='" + BookTime + "',CarNo='" + txtCarNo.Text + "'";
                    sqlstring += ",CarType='" + cmbCarType.Text + "',ServiceItem='" + txtServiceItem.Text + "',ServiceType='" + updatesertype + "'";
                    sqlstring += ",LinkMan='" + txtLinkMan.Text + "',Tel='" + txtTel.Text + "',UpdateDate='" + DateTime.Now + "'";
                    sqlstring += ",DelayBook='" + delay + "',BookHour=" + servicehours + ",ServiceHour=" + servicehours + ",Remark=isnull(Remark,'')+'," + txtRemark.Text + "'";
                    sqlstring += ",VIN='" + txtVIN.Text + "',IsRemind=" + IsRemind + ",IsBook=" + IsBook;
                    sqlstring += ",IsRemindSuc=" + IsRemindSuc + ",RemindResult='" + RemindResult + "',LastUpdate='" + ClsBLL.UserName + "'";
                    sqlstring += ",PreSA='" + cmbPreSA.Text + "',RunKM=" + RunKM + ",Email='" + txtEmail.Text + "',SendService='" + sendservice + "'";
                    sqlstring += " Where ID=" + RID;

                    if (State == "失约" || State == "取消")
                    {
                        sqlstring += ";Update A Set A.State='预约' From Booking A,(Select CarNo,booktime From Booking Where ID=" + RID + ") B";
                        sqlstring += " Where A.CarNo=B.CarNo And substring(convert(nvarchar(50),A.booktime,120),1,10)=substring(convert(nvarchar(50),B.booktime,120),1,10)";
                    }
                    if (SQLDbHelper.ExecuteSql(sqlstring) > 0)
                    {
                        int doubleid = ClsBLL.GetDoubleID(RID, BookTime);
                        if (doubleid > -1)
                        {
                            //修改公共部分
                            sqlstring  = "Update A Set A.BookTime='" + BookTime + "',A.CarNo='" + txtCarNo.Text + "'";
                            sqlstring += ",A.CarType='" + cmbCarType.Text + "',A.LinkMan='" + txtLinkMan.Text + "',A.Tel='" + txtTel.Text + "'";
                            sqlstring += ",A.DelayBook='" + delay + "',A.VIN='" + txtVIN.Text + "',A.IsRemind=" + IsRemind + ",A.IsBook=" + IsBook;
                            sqlstring += ",A.IsRemindSuc=" + IsRemindSuc + ",A.RemindResult='" + RemindResult + "',A.LastUpdate='" + ClsBLL.UserName + "'";
                            sqlstring += ",A.PreSA='" + cmbPreSA.Text + "',A.RunKM=" + RunKM + ",A.Email='" + txtEmail.Text + "',A.SendService='" + sendservice + "'";
                            sqlstring += " From Booking A,(Select ID,CarNo,BookTime From Booking Where ID=" + RID + ") B";
                            sqlstring += " Where A.CarNo=B.CarNo And substring(convert(nvarchar(50),A.booktime,120),1,10)=substring(convert(nvarchar(50),B.booktime,120),1,10) And A.ID<>B.ID";
                            SQLDbHelper.ExecuteSql(sqlstring);
                        }
                        ClsBLL.AddSysLog(RID, "修改预约,车牌号码:" + txtCarNo.Text);
                        //if (sertype1 != string.Empty && sertype2!=string.Empty)
                        //{    //修改时增加维修类型
                        //    string temptype = "机电维修";
                        //    if (servicetypeold == "机电维修")
                        //    {
                        //        temptype = "车身维修";
                        //    }
                        //    if (CheckExsit(temptype)) return;
                        //    sqlstring = "Insert Into Booking(BookIndex,booktime,carno,vin,cartype,linkman,tel,bookhour,servicehour,serviceitem,";
                        //    sqlstring += "servicetype,state,CarTopNo,Creator,Createdate,Updatedate,Success,ComeTime,AssignTime,PlanOutTime,PlanCompleteTime,StartServiceTime,Remark,IsBook,IsRemind,IsRemindSuc,";
                        //    sqlstring += "RemindResult,Receiver,LastUpdate,PreSA,RunKM,Email,SendService,PreParts,Parts)";
                        //    sqlstring +=            "Select BookIndex,booktime,carno,vin,cartype,linkman,tel,bookhour,servicehour, serviceitem,";
                        //    sqlstring += "'"+ temptype +"' as Servicetype,state,CarTopNo,Creator,Createdate,Updatedate,Success,ComeTime,AssignTime,PlanOutTime,PlanCompleteTime,StartServiceTime,Remark,IsBook,IsRemind,IsRemindSuc,";
                        //    sqlstring += "RemindResult,Receiver,LastUpdate,PreSA,RunKM,Email,SendService,PreParts,Parts from booking where ID=" + RID;
                        //    SQLDbHelper.ExecuteSql(sqlstring);
                        //}
                        MessageBox.Show("修改成功!");
                        this.DialogResult = DialogResult.OK;
                    }
                    if (decimal.Parse(txtBookHour.Text) != bookhoursold * 100)
                    {
                        ClsBLL.AddMsg(RID, "车牌号码:" + txtCarNo.Text + "修改了预约维修工时。--" + ClsBLL.UserName);
                    }
                }
                this.Close();
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }