示例#1
0
        //双击卡片修改预约
        private void bt_Click(object sender, EventArgs e)
        {
            DoubleClickButton ct = (DoubleClickButton)sender;
            int ID = -1;

            if (ct.Name != string.Empty)
            {
                ID = int.Parse(ct.Name);
            }
            if (ID > -1)
            {
                frmBookNew fb = new frmBookNew(ID, false);
                if (fb.ShowDialog() == DialogResult.OK)
                {
                    刷新ToolStripMenuItem_Click(null, null);
                }
            }
        }
示例#2
0
        private void ChangeWidth()
        {
            //int rowindex,int colindex, DoubleClickButton bt
            //int m = 0;
            //foreach (Control ct in dataGridView1.Controls)
            //{   //当一个单元格有多个卡片时,调整卡片宽度
            //    if (ct.AccessibleDescription == bt.AccessibleDescription && ct.Top == bt.Top && ct.Name != bt.Name)
            //    {
            //        m++;
            //        ct.Width = dataGridView1.Columns[2].Width / Cards[rowindex, colindex];
            //        bt.Width = dataGridView1.Columns[2].Width / Cards[rowindex, colindex];
            //        if (m == 2)
            //        {
            //            ct.Left = ct.Left - dataGridView1.Columns[2].Width / 6;
            //        }
            //        bt.Left = ct.Left + ct.Width;
            //    }
            //}
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                for (int j = 0; j < 23; j++)
                {
                    if (Cards[i, j] > 1)
                    {
                        int m = 0;
                        foreach (Control ct in dataGridView1.Controls)
                        {
                            if (ct.AccessibleDescription != null)
                            {
                                DoubleClickButton dcb = (DoubleClickButton)ct;
                                if (dcb.TabIndex == i && ct.AccessibleDescription == j.ToString())
                                {
                                    int left = dataGridView1.Columns[0].Width + dataGridView1.Columns[1].Width + dataGridView1.Columns[2].Width * j;

                                    ct.Width = ct.Width / Cards[i, j];
                                    ct.Left  = left + m * ct.Width;
                                    m++;
                                }
                            }
                        }
                    }
                }
            }
        }
示例#3
0
 private void fb_UpdateCardHandle(string ID, DateTime booktime, string detail)
 {
     //如果修改之后的日期不是当天,则删除卡片
     if (DateTime.Parse(label1.Text).ToString("yyyy-MM-dd") != booktime.ToString("yyyy-MM-dd"))
     {
         foreach (Control ct in dataGridView1.Controls)
         {
             if (ct.Name == ID)
             {
                 dataGridView1.Controls.Remove(ct);
             }
         }
     }
     else
     {
         UpdateDetail = detail;
         ToolTip           tt = new ToolTip();
         DoubleClickButton bt = (DoubleClickButton)CureentCt;
         tt.SetToolTip(bt, detail);
     }
 }
示例#4
0
 private void 返修ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (CureentCt != null)
     {
         int recordid           = int.Parse(CureentCt.Name);
         DoubleClickButton bt   = (DoubleClickButton)CureentCt;
         string[]          strs = bt.ImageKey.Split(new Char[] { ',' });
         if (strs.Length > 1)
         {
             if (strs[1] == "完工" || strs[1] == "洗车")
             {
                 frmAddHourReser fdt = new frmAddHourReser(recordid);
                 if (fdt.ShowDialog() == DialogResult.OK)
                 {
                     刷新ToolStripMenuItem_Click(null, null);
                 }
             }
             else
             {
                 MessageBox.Show("只能在“完工”和“洗车”状态才能返修!");
             }
         }
     }
 }
示例#5
0
        //添加车辆预约卡片
        private void AddCarCard(DataRow dr)
        {
            DateTime      booktime = DateTime.Parse(dr["BookTime"].ToString());
            string        recordid = dr["ID"].ToString();
            string        state    = dr["State"].ToString();
            StringBuilder sb       = new StringBuilder();

            sb.AppendLine("车    牌:" + dr["CarNo"].ToString());
            sb.AppendLine("车    型:" + dr["CarType"].ToString());
            sb.AppendLine("维修类型:" + dr["ServiceType"].ToString());
            sb.AppendLine("维修项目:" + dr["ServiceItem"].ToString());
            sb.AppendLine("状    态:" + dr["State"].ToString());
            string carnotype = dr["CarNo"].ToString().Trim() + dr["ServiceType"].ToString().Trim();

            if (!CmbCars.Items.Contains(carnotype))
            {
                CmbCars.Items.Add(carnotype);
            }
            else
            {
                //MessageBox.Show(dr["CarNo"].ToString().Trim() + dr["ServiceType"].ToString().Trim());
                return;
            }
            if (DateTime.Parse(labDateTime.Text).ToString("yyyy-MM-dd") != booktime.ToString("yyyy-MM-dd"))
            {
                return;
            }
            DoubleClickButton bt = new DoubleClickButton();

            CheckRowindex(booktime);
            bt.Tag      = state;
            bt.ImageKey = sb.ToString();
            if (state == "失约")
            {
                bt.BackColor = Color.Red;
            }
            else if (state == "取消")
            {
                bt.BackColor = Color.Gray;
            }
            else if (state == "预约")
            {
                bt.BackColor = Color.Yellow;
            }
            else
            {
                bt.BackColor = Color.Blue;
                bt.ForeColor = Color.White;
            }
            bt.Name   = recordid;
            bt.Width  = sizewidth + 5;
            bt.Height = dataGridView1.Rows[0].Height;
            int tempcol = 1;

            if (dr["ServiceType"].ToString() == "车身维修")
            {
                tempcol = 2;
            }

            int left = 0;
            int top  = Rowindex * dataGridView1.Rows[0].Height + dataGridView1.ColumnHeadersHeight;

            for (int i = 0; i < tempcol; i++)
            {
                left += dataGridView1.Columns[i].Width;
            }
            bt.Top       = top;
            bt.Left      = left + Cards[Rowindex, tempcol] * bt.Width; //已经存在cards的数量
            bt.TextAlign = ContentAlignment.MiddleLeft;
            string remindstr = string.Empty;

            if (dr["IsRemind"].ToString().ToLower() == "true")
            {
                if (dr["IsRemindSuc"].ToString().ToLower() == "true")
                {
                    remindstr = " √";  //×√
                }
                else
                {
                    remindstr = " ×";
                }
            }
            string Sa = dr["PreSA"].ToString();

            if (bt.BackColor == Color.Blue)
            {
                Sa = dr["Receiver"].ToString();
            }
            string bookstr = "自";

            if (Convert.ToBoolean(dr["IsBook"].ToString()))
            {
                bookstr = "预";
            }
            if (dr["DelayBook"] != null && dr["DelayBook"].ToString().IndexOf("迟到") > -1)
            {
                bookstr = "迟";
            }
            bt.Text = Sa + "/" + dr["LinkMan"].ToString() + "\n" + dr["CarNo"].ToString() + " " + bookstr + remindstr;

            bt.ContextMenuStrip = contextMenuStrip1;
            ToolTip tt = new ToolTip();

            tt.SetToolTip(bt, sb.ToString());

            bt.MouseDown   += new MouseEventHandler(bt_MouseDown);
            bt.MouseMove   += new MouseEventHandler(bt_MouseMove);
            bt.MouseUp     += new MouseEventHandler(bt_MouseUp);
            bt.DoubleClick += new EventHandler(bt_Click);
            dataGridView1.Controls.Add(bt);
            Cards[Rowindex, tempcol] = Cards[Rowindex, tempcol] + 1;
            dataGridView1.ClearSelection();
        }
示例#6
0
        //添加车辆预约卡片
        private void AddCarCard(DataRow dr)
        {
            DateTime      booktime = DateTime.Parse(dr["BookTime"].ToString());
            string        recordid = dr["ID"].ToString();
            string        state    = dr["State"].ToString();
            StringBuilder sb       = new StringBuilder();

            sb.AppendLine("车    牌:" + dr["CarNo"].ToString());
            sb.AppendLine("车    型:" + dr["CarType"].ToString());
            sb.AppendLine("维修类型:" + dr["ServiceType"].ToString());
            sb.AppendLine("维修项目:" + dr["ServiceItem"].ToString());
            sb.AppendLine("零件准备:" + dr["PreParts"].ToString());

            if (DateTime.Parse(label1.Text).ToString("yyyy-MM-dd") != booktime.ToString("yyyy-MM-dd"))
            {
                return;
            }
            DoubleClickButton bt = new DoubleClickButton();

            CheckRowindex(booktime);
            bt.Tag      = state;
            bt.ImageKey = sb.ToString();
            if (state == "失约")
            {
                bt.BackColor = Color.Red;
            }
            else if (state == "取消")
            {
                bt.BackColor = Color.Gray;
            }
            else if (state == "预约")
            {
                bt.BackColor = Color.Yellow;
            }
            else
            {
                bt.BackColor = Color.Blue;
                bt.ForeColor = Color.White;
            }
            bt.Name   = recordid;
            bt.Width  = sizewidth + 5;
            bt.Height = dataGridView1.Rows[0].Height;
            int tempcol = 1;

            if (dr["ServiceType"].ToString() == "车身维修")
            {
                tempcol = 2;
            }

            int left = 0;
            int top  = Rowindex * dataGridView1.Rows[0].Height + dataGridView1.ColumnHeadersHeight;

            for (int i = 0; i < tempcol; i++)
            {
                left += dataGridView1.Columns[i].Width;
            }
            bt.Top       = top;
            bt.Left      = left + Cards[Rowindex, tempcol] * bt.Width; //已经存在cards的数量
            bt.TextAlign = ContentAlignment.MiddleLeft;
            string Sa = dr["PreSA"].ToString();

            if (bt.BackColor == Color.Blue)
            {
                Sa = dr["Receiver"].ToString();
            }
            string bookstr = string.Empty;

            if (dr["PreParts"].ToString() == "零件已备")
            {
                bookstr = "备";
            }
            bt.Text = Sa + "/" + dr["LinkMan"].ToString() + "\n" + dr["CarNo"].ToString() + "  " + bookstr;
            ToolTip tt = new ToolTip();

            tt.SetToolTip(bt, sb.ToString());

            bt.DoubleClick += new EventHandler(bt_Click);
            dataGridView1.Controls.Add(bt);
            Cards[Rowindex, tempcol] = Cards[Rowindex, tempcol] + 1;
            dataGridView1.ClearSelection();
        }
示例#7
0
        //添加车辆预约卡片
        private void AddCarCard(string ID, string info)
        {
            DoubleClickButton bt = new DoubleClickButton();

            string[] strs = info.Split(new Char[] { ',' });
            bt.Height = dataGridView1.RowTemplate.Height;
            bt.Width  = dataGridView1.Columns[0].Width - 10;
            bt.Tag    = strs[2];

            bt.Name     = ID;
            bt.ImageKey = info;
            int left = 0;
            int top  = Cards[Colindex] * dataGridView1.RowTemplate.Height + dataGridView1.ColumnHeadersHeight;

            for (int i = 0; i < Colindex; i++)
            {
                left += dataGridView1.Columns[i].Width;
            }

            foreach (Control ct in dataGridView1.Controls)
            {   //同车牌 并且状态相同,在此界面只显示一次
                if (ct.Tag != null)
                {
                    if (ct.Tag.ToString() == bt.Tag.ToString() && ct.Name != bt.Name)
                    {
                        DoubleClickButton cbt      = (DoubleClickButton)((Control)ct);
                        string[]          tempstrs = cbt.ImageKey.Split(new Char[] { ',' });
                        if (tempstrs[1] == strs[1])
                        {
                            return;
                        }
                    }
                }
            }
            bt.ContextMenuStrip = contextMenuStrip2;
            dataGridView1.Controls.Add(bt);
            bt.Top  = top;
            bt.Left = left + 5; //+ 50;  //已经存在cards的数量

            Color cl = Color.PowderBlue;

            if (Colindex == 0)
            {
                cl             = Color.Yellow;
                bt.MouseWheel += new MouseEventHandler(bt_MouseWheel);
            }
            if (Colindex == 1)
            {
                cl = Color.Green;
                if (strs[10].IndexOf("返修") > -1)
                {
                    cl = Color.MediumSeaGreen;
                }
                if (strs[10].IndexOf("追加项目") > -1)
                {
                    cl = Color.OliveDrab;
                }
            }
            if (Colindex == 2)
            {
                cl = Color.LightGray;
            }
            if (Colindex == 3)
            {
                cl = Color.Blue;
            }
            if (Colindex == 4)
            {
                cl = Color.Orange;
                if (strs[4] == string.Empty)
                {
                    cl = Color.MediumOrchid;
                }
            }
            if (Colindex == 1)
            {
                if (DateTime.Parse(DateTime.Today.Year.ToString() + "-" + strs[4]).CompareTo(DateTime.Today) < 0)
                {
                    cl = Color.Wheat;
                }
            }
            bt.BackColor    = cl;
            bt.Paint       += new PaintEventHandler(bt_Paint);
            bt.DoubleClick += new EventHandler(bt_DoubleClick);
            bt.MouseEnter  += new EventHandler(bt_MouseEnter);

            Cards[Colindex] = Cards[Colindex] + 1;
        }
示例#8
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;
 }
示例#9
0
        private void wbt_Paint(object sender, PaintEventArgs e)
        {
            DoubleClickButton bt = (DoubleClickButton)((Control)sender);

            if (bt.Tag != null)
            {
                if (txtCarNo.Text != string.Empty)
                {
                    if (bt.Tag.ToString().ToLower().EndsWith(txtCarNo.Text.ToLower()) && bt.Left == 1)
                    {
                        int   borderWidth = 3;
                        Color borderColor = Color.Red;
                        ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, borderColor,
                                                borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid);
                    }
                    else if (bt.Left == 1)
                    {
                        int   borderWidth = 3;
                        Color borderColor = Color.Transparent;
                        ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, borderColor,
                                                borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid, borderColor, borderWidth, ButtonBorderStyle.Solid);
                    }
                }
            }
            string info = bt.ImageKey;

            string[] Strs = info.Split(new Char[] { ',' });

            Font ft1 = new Font("宋体", 11, FontStyle.Regular);
            Font ft2 = new Font("宋体", 10, FontStyle.Regular);

            StringFormat sf   = new StringFormat(StringFormat.GenericTypographic);
            SizeF        size = e.Graphics.MeasureString(Strs[2], ft1, 1000, sf);

            int    xpoint = int.Parse(Convert.ToString(Math.Floor(bt.Width * 0.5)));
            int    ypoint = int.Parse(Convert.ToString(Math.Floor(bt.Height * 0.5)));
            string isbook = "自";

            if (Convert.ToBoolean(Strs[7]))
            {
                isbook = "预";
            }
            if (Strs[9].IndexOf("迟到") > -1)
            {
                isbook = "迟";
            }
            e.Graphics.DrawString(Strs[2] + "  " + isbook, ft1, Brushes.Black, 10, 5);                                                //车牌
            e.Graphics.DrawString("进场时间:" + DateTime.Parse(Strs[5]).ToString("MM-dd HH:mm"), ft2, Brushes.Black, 5, size.Height + 5); //时间差
            if (Strs[1] == "延时到明天")
            {
                string delayreason = ClsBLL.DelayReason(int.Parse(bt.Name));
                e.Graphics.DrawString("中断:" + delayreason, ft2, Brushes.Black, 5, size.Height + 20); //维修类型
            }
            else
            {
                if (Strs[6] != string.Empty)
                {
                    e.Graphics.DrawString("计划完成:" + DateTime.Parse(Strs[6]).ToString("MM-dd HH:mm"), ft2, Brushes.Black, 5, size.Height + 20);  //时间差
                }
            }
        }
示例#10
0
        private void bt_MouseDown(object sender, MouseEventArgs e)
        {
            mouse_offset = new Point(-e.X, -e.Y);
            PcStartTop   = ((Control)sender).Top;
            PcStartLeft  = ((Control)sender).Left;

            DoubleClickButton bt = (DoubleClickButton)((Control)sender);

            中断ToolStripMenuItem.Enabled      = true;
            洗车ToolStripMenuItem.Enabled      = true;
            完工ToolStripMenuItem.Enabled      = true;
            延时ToolStripMenuItem.Enabled      = true;
            返修ToolStripMenuItem.Enabled      = true;
            追加工时ToolStripMenuItem.Enabled    = true;
            洗车与送车时间ToolStripMenuItem.Enabled = true;
            分单ToolStripMenuItem.Enabled      = true;
            if (bt.Tag.ToString() == "维修进行中")
            {
                返修ToolStripMenuItem.Enabled      = false;
                洗车ToolStripMenuItem.Enabled      = false;
                洗车与送车时间ToolStripMenuItem.Enabled = false;
                中断ToolStripMenuItem.Text         = "中断";
            }
            if (bt.Tag.ToString() == "中断")
            {
                返修ToolStripMenuItem.Enabled      = false;
                中断ToolStripMenuItem.Text         = "继续";
                洗车ToolStripMenuItem.Enabled      = false;
                洗车与送车时间ToolStripMenuItem.Enabled = false;
            }
            if (bt.Tag.ToString() == "完工")
            {
                中断ToolStripMenuItem.Enabled   = false;
                完工ToolStripMenuItem.Enabled   = false;
                延时ToolStripMenuItem.Enabled   = false;
                追加工时ToolStripMenuItem.Enabled = false;
                分单ToolStripMenuItem.Enabled   = false;
            }
            if (bt.Tag.ToString() == "洗车")
            {
                返修ToolStripMenuItem.Enabled   = false;
                中断ToolStripMenuItem.Enabled   = false;
                完工ToolStripMenuItem.Enabled   = false;
                延时ToolStripMenuItem.Enabled   = false;
                洗车ToolStripMenuItem.Enabled   = false;
                追加工时ToolStripMenuItem.Enabled = false;
                分单ToolStripMenuItem.Enabled   = false;
            }
            if (bt.Tag.ToString() == "延时到明天")
            {
                返修ToolStripMenuItem.Enabled      = false;
                中断ToolStripMenuItem.Enabled      = false;
                洗车ToolStripMenuItem.Enabled      = false;
                洗车与送车时间ToolStripMenuItem.Enabled = false;
                分单ToolStripMenuItem.Enabled      = false;
                追加工时ToolStripMenuItem.Enabled    = false;
                延时ToolStripMenuItem.Enabled      = false;
            }
            if (bt.Tag.ToString() == "过时")
            {
                洗车ToolStripMenuItem.Enabled      = false;
                返修ToolStripMenuItem.Enabled      = false;
                洗车与送车时间ToolStripMenuItem.Enabled = false;
                分单ToolStripMenuItem.Enabled      = false;
            }
        }
示例#11
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;
        }
示例#12
0
        //添加车辆预约卡片
        private void AddCarCard(string ID, string info, int rowindex)
        {
            DoubleClickButton bt = new DoubleClickButton();

            string[] strs        = info.Split(new Char[] { ',' });
            string   startdate   = strs[4];
            decimal  hours       = decimal.Parse(strs[3]);
            string   plancomdate = strs[5];//计划完成时间
            DateTime PlanEndDate = DateTime.Now;

            if (plancomdate != string.Empty)
            {
                PlanEndDate = DateTime.Parse(plancomdate);
            }
            else
            {
                PlanEndDate = DateTime.Parse(startdate).AddMinutes(double.Parse(Convert.ToString(hours * 60 + ClsBLL.Pausemins(int.Parse(ID), DateTime.Parse(startdate)))));
            }
            if (strs[0] == "中断")     //如果是中断,则停在做中断操作时的时间点,否则停在按计算计划完成的时间点上
            {
                PlanEndDate = ClsBLL.PauseTime(int.Parse(ID));
            }
            TimeSpan DtSp = PlanEndDate.Subtract(starttime); //计划完成时间和开始时间或计划开始时间的差
            int      hour = DtSp.Hours;                      //如果超出了时间范围,显示在最后一列

            if (hour > dataGridView1.ColumnCount - 3)
            {
                hour = dataGridView1.ColumnCount - 3;
            }
            if (hour < 0)
            {
                hour = 0;
            }
            bt.AccessibleDescription = hour.ToString();
            bt.TabIndex           = rowindex;
            Cards[rowindex, hour] = Cards[rowindex, hour] + 1;

            decimal left = dataGridView1.Columns[0].Width + dataGridView1.Columns[1].Width + dataGridView1.Columns[2].Width * hour;

            bt.Left = int.Parse(Convert.ToString(Math.Round(left, 0)));
            int top = rowindex * dataGridView1.Rows[0].Height + dataGridView1.ColumnHeadersHeight + 3;

            bt.Height   = dataGridView1.Rows[0].Height - 6;
            bt.Width    = dataGridView1.Columns[2].Width;
            bt.Top      = top;
            bt.Tag      = strs[0]; //状态
            bt.Name     = ID;
            bt.ImageKey = info;

            dataGridView1.Controls.Add(bt);
            string planout = strs[7];

            if (planout != string.Empty)
            {
                planout = DateTime.Parse(planout).ToString("MM-dd HH:mm");
            }
            bt.Text = strs[1] + "\n" + planout;
            if (strs[8].IndexOf("分单") > -1)
            {
                string fendan = string.Empty;
                if (strs[8].Length > strs[8].IndexOf("分单") + 2)
                {
                    fendan = strs[8].Substring(strs[8].IndexOf("分单") + 2, 1);
                    if (!ClsBLL.IsNumber(fendan))
                    {
                        fendan = string.Empty;
                    }
                }
                if (fendan == string.Empty)
                {
                    bt.Text = strs[1] + "  合\n" + planout;
                }
                else
                {
                    bt.Text = strs[1] + "  合" + fendan + "\n" + planout;
                }
            }
            bt.Font = new Font("宋体", 11, FontStyle.Regular);
            ToolTip tt = new ToolTip();

            tt.SetToolTip(bt, strs[strs.Length - 1]);
            Color cl = Color.PowderBlue;

            //"正式","已派工", "维修进行中", "中断", "完工", "洗车","过时","延时到明天"
            if (strs[0] == States[2])
            {
                cl = Color.Green;
                if (strs[8].IndexOf("返修") > -1)
                {
                    cl = Color.MediumSeaGreen;
                }
                if (strs[8].IndexOf("追加项目") > -1)
                {
                    cl = Color.OliveDrab;
                }
            }
            if (strs[0] == States[3])
            {
                cl = Color.LightGray;
            }
            if (strs[0] == States[4])
            {
                cl = Color.Blue;
            }
            if (strs[0] == States[5])
            {
                cl = Color.MediumOrchid;
            }
            if (strs[0] == States[6])
            {
                cl = Color.Red;
            }
            if (strs[0] == States[7])
            {
                cl = Color.Orange;
            }
            bt.BackColor        = cl;
            bt.ContextMenuStrip = contextMenuStrip2;
            bt.MouseDown       += new MouseEventHandler(bt_MouseDown);
            bt.MouseMove       += new MouseEventHandler(bt_MouseMove);
            bt.MouseUp         += new MouseEventHandler(bt_MouseUp);
            bt.DoubleClick     += new EventHandler(bt_DoubleClick);
            //ChangeWidth(rowindex,hour,bt);
        }
示例#13
0
 public frmDelayService(int recordid, DoubleClickButton bt)
 {
     InitializeComponent();
     RecordID = recordid;
     Bt       = bt;
 }