Пример #1
0
        private void frmSelectBook_Load(object sender, EventArgs e)
        {
            this.Width  = Screen.PrimaryScreen.WorkingArea.Width * 8 / 10;
            this.Height = Screen.PrimaryScreen.WorkingArea.Height * 8 / 10;
            this.Left   = Screen.PrimaryScreen.WorkingArea.Width / 10;
            this.Top    = Screen.PrimaryScreen.WorkingArea.Height * 17 / 100;
            this.Text   = SelectDt.ToString("yyyy年MM月dd日") + "预约情况";

            starttime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet1"));
            endtime   = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet2"));
            TimeSpan ts   = endtime.Subtract(starttime);
            int      cols = ts.Hours * 2;

            if (ts.Minutes > 0)
            {
                cols++;
            }
            dataGridView1.Rows.Add(cols + 1);
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                DateTime NewDt = starttime.AddMinutes(i * 30);
                dataGridView1.Rows[i].Cells[0].Value = NewDt.Hour.ToString() + ":" + NewDt.Minute.ToString().PadRight(2, char.Parse("0"));
                dataGridView1.Rows[i].Height         = dataGridView1.Height / dataGridView1.Rows.Count;
            }
            dataGridView1.Columns[1].Width = dataGridView1.Width * 6 / 10;
            ShowGrid1(SelectDt);
        }
Пример #2
0
        private void frmWork_Load(object sender, EventArgs e)
        {
            this.Top    = 0;
            this.Left   = 0;
            this.Width  = Screen.PrimaryScreen.WorkingArea.Width;
            this.Height = Screen.PrimaryScreen.WorkingArea.Height;
            label1.Text = DateTime.Now.ToString("yyyy年MM月dd日");
            starttime   = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet1"));
            endtime     = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet2"));
            TimeSpan ts   = endtime.Subtract(starttime);
            int      cols = ts.Hours;

            if (ts.Minutes > 0)
            {
                cols++;
            }
            for (int i = 0; i <= cols; i++)
            {
                DateTime NewDt = starttime.AddHours(i);
                dataGridView1.Columns.Add("Col" + NewDt.Hour.ToString(), NewDt.Hour.ToString() + ":00");
                dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            ShowGrid();
            int Interval = int.Parse(ClsBLL.GetSet("txtSet4"));

            timer1.Interval = Interval * 1000 * 60;
            timer1.Enabled  = true;
            CheckPower();
        }
Пример #3
0
        private void frmCarStateBoad_Load(object sender, EventArgs e)
        {
            this.Top         = 0;
            this.Left        = 0;
            this.Width       = Screen.PrimaryScreen.WorkingArea.Width;
            this.Height      = Screen.PrimaryScreen.WorkingArea.Height;
            labDateTime.Text = DateTime.Today.ToString("yyyy年MM月dd日");
            ClsBLL.IniCombox(comboBox1, "中断原因");
            dataGridView1.Rows.Add((dataGridView1.Height - dataGridView1.ColumnHeadersHeight) / dataGridView1.RowTemplate.Height);

            string    sqlstring = "Select Items from SysDictionary where ItemName='SA'";
            DataTable Dt2       = SQLDbHelper.Query(sqlstring).Tables[0];

            cmbReceiver.Items.Add("--全部--");
            foreach (DataRow dr in Dt2.Rows)
            {
                cmbReceiver.Items.Add(dr[0].ToString());
            }
            ShowGrid(string.Empty);
            //dataGridView1.BackgroundColor = Color.PaleTurquoise;
            dataGridView1.ClearSelection();

            int Interval = int.Parse(ClsBLL.GetSet("txtSet5"));

            timer1.Interval = Interval * 1000 * 60;
            timer1.Enabled  = true;

            if (!ClsBLL.IsPower(btnToday.Text))
            {
                btnToday.Enabled = false;
            }
            if (!ClsBLL.IsPower(btnMonth.Text))
            {
                btnMonth.Enabled = false;
            }
            pn0.Left = (dataGridView1.Columns[0].Width - pn0.Width) / 2;
            pn1.Left = (dataGridView1.Columns[1].Width - pn1.Width) / 2 + dataGridView1.Columns[0].Width * 1;
            pn2.Left = (dataGridView1.Columns[2].Width - pn2.Width) / 2 + dataGridView1.Columns[0].Width * 2;
            pn3.Left = (dataGridView1.Columns[3].Width - pn3.Width) / 2 + dataGridView1.Columns[0].Width * 3;
            pn4.Left = (dataGridView1.Columns[4].Width - pn4.Width) / 2 + dataGridView1.Columns[0].Width * 4;
            pn0.Controls.Add(pic0Down);
            pic0Down.Top = pic0Up.Top;

            if (!ClsBLL.IsPower("追加项目"))
            {
                追加项目ToolStripMenuItem.Visible = false;
            }
            if (!ClsBLL.IsPower("返修"))
            {
                返修ToolStripMenuItem.Visible = false;
            }
            if (!ClsBLL.IsPower("修改状态"))
            {
                修改状态ToolStripMenuItem.Visible = false;
            }
        }
Пример #4
0
        //检查是否已经存在
        private bool CheckExsit()
        {
            DateTime BookTime  = DateTime.Parse(dateTimePicker1.Value.ToShortDateString() + " " + numericUpDown1.Value.ToString() + ":" + numericUpDown2.Value.ToString());
            string   sqlstring = "Select count(*) from Booking where (VIN='" + txtVIN.Text + "' Or CarNo='" + txtCarNo.Text + "') and Booktime between '" + BookTime.ToShortDateString() + "' and '" + BookTime.AddDays(1).ToShortDateString() + "'";

            try
            {
                if (int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString()) > 0)
                {
                    if (MessageBox.Show("车牌号:" + txtCarNo.Text + "或者车架号: " + txtVIN.Text + " 在" + BookTime.ToShortDateString() + "已经预约过!你还要增加吗?", "", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        return(true);
                    }
                    else
                    {
                        string stype = "车身维修";
                        if (chkJD.Checked)
                        {
                            stype = "机电维修";
                        }
                        sqlstring = "Select count(*) from Booking where (VIN='" + txtVIN.Text + "' Or CarNo='" + txtCarNo.Text + "') and Booktime between '" + BookTime.ToShortDateString() + "' and '" + BookTime.AddDays(1).ToShortDateString() + "' And Servicetype='" + stype + "'";
                        if (int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString()) > 0)
                        {
                            MessageBox.Show("车牌号:" + txtCarNo.Text + "或者车架号: " + txtVIN.Text + " 在" + BookTime.ToShortDateString() + "已经预约过同类型的维修,不能预约");
                            return(true);
                        }
                    }
                }
                sqlstring = "Select Count(*) from Booking where booktime='" + BookTime + "' and ServiceType='" + ServiceType + "'";
                int rs     = int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString());
                int maxnum = int.Parse(ClsBLL.GetSet("txtSet6"));
                if (rs > maxnum)
                {
                    MessageBox.Show("在同一时间点只能预约" + maxnum + "辆车!");
                    return(true);
                }
                return(false);
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
                return(false);
            }
        }
Пример #5
0
        private void frmBook_Load(object sender, EventArgs e)
        {
            this.Top    = 0;
            this.Left   = 0;
            this.Width  = Screen.PrimaryScreen.WorkingArea.Width;
            this.Height = Screen.PrimaryScreen.WorkingArea.Height;
            try
            {
                string sqlstring = "Select * from WorkHours where DateIndex between '" + DateTime.Today.AddDays(1 - DateTime.Today.Day) + "' and '" + DateTime.Today.AddMonths(1).AddDays(-DateTime.Today.Day) + "'";

                WorkHours = SQLDbHelper.Query(sqlstring).Tables[0];

                starttime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet1"));
                endtime   = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet2"));

                TimeSpan ts   = endtime.Subtract(starttime);
                int      cols = ts.Hours * 2;
                if (ts.Minutes > 0)
                {
                    cols++;
                }
                dataGridView1.Rows.Add(cols + 1 + 1);
                for (int i = 1; i < dataGridView1.Rows.Count; i++)
                {
                    DateTime NewDt = starttime.AddMinutes((i - 1) * 30);
                    dataGridView1.Rows[i].Cells[0].Value = NewDt.Hour.ToString() + ":" + NewDt.Minute.ToString().PadRight(2, char.Parse("0"));
                }
                nUDMonth.Value = DateTime.Today.Month;
                btnMonth_Click(null, null);

                int Interval = int.Parse(ClsBLL.GetSet("txtSet3"));
                timer1.Interval = Interval * 1000 * 60;
                timer1.Enabled  = true;
                CheckPower();
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
Пример #6
0
        private void frmBookNew_Load(object sender, EventArgs e)
        {
            string sqlstring = string.Empty;

            ClsBLL.IniCombox(cmbCarType, "车型");
            ClsBLL.IniCombox(cmbRemindResult, "提醒失败");
            ClsBLL.IniCombox(cmbPreSA, "SA");

            if (ClsBLL.GetSet("ComeType") == "0")
            {
                checkBox1.Visible = true;
                checkBox2.Visible = true;
            }
            if (IsUpdateParts == false)
            {
                tabControl1.TabPages.RemoveAt(1);
            }
            if (RID == -1) //新增
            {
                dateTimePicker1.Value = DateTime.Parse(CurrentDt.ToString("yyyy-MM-dd"));
                numericUpDown1.Value  = CurrentDt.Hour;
                numericUpDown2.Value  = CurrentDt.Minute;
                if (ServiceType.StartsWith("机电"))
                {
                    chkJD.Checked = true;
                    chkBJ.Checked = false;
                }
                else
                {
                    chkJD.Checked = false;
                    chkBJ.Checked = true;
                }
            }
            else  //修改
            {
                LoadBooking();
            }
        }
Пример #7
0
        private void Form2_Load(object sender, EventArgs e)
        {
            this.Top    = 0;
            this.Left   = 0;
            this.Width  = Screen.PrimaryScreen.WorkingArea.Width;
            this.Height = Screen.PrimaryScreen.WorkingArea.Height;
            try
            {
                starttime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet1"));
                endtime   = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet2"));

                TimeSpan ts   = endtime.Subtract(starttime);
                int      cols = ts.Hours * 2;
                if (ts.Minutes > 0)
                {
                    cols++;
                }
                dataGridView1.Rows.Add(cols + 1 + 1);
                for (int i = 1; i < dataGridView1.Rows.Count; i++)
                {
                    DateTime NewDt = starttime.AddMinutes((i - 1) * 30);
                    dataGridView1.Rows[i].Cells[0].Value = NewDt.Hour.ToString() + ":" + NewDt.Minute.ToString().PadRight(2, char.Parse("0"));
                }
                nUDYear.Value  = DateTime.Today.Year;
                nUDMonth.Value = DateTime.Today.Month;
                btnMonth_Click(null, null);

                int Interval = int.Parse(ClsBLL.GetSet("txtSet3"));
                timer1.Interval = Interval * 1000 * 60;
                timer1.Enabled  = true;
                CheckPower();
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
Пример #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            //维修工时
            if (dataGridView1.Rows.Count == 0)
            {
                return;
            }
            if (dataGridView1.Rows[0].Cells[1].Value == null)
            {
                MessageBox.Show("请填写分单派工!");
                return;
            }
            DateTime starttime = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet1"));

            try
            {
                string  worker       = string.Empty;
                decimal servicehours = 0;
                servicehours = servicehours / 100;
                string   serviceitem      = string.Empty;
                int      id               = -1;
                DateTime StartServiceTime = DateTime.Now;
                DateTime DtPlanComplete   = DateTime.Now;

                string insertstring = string.Empty;
                string sqlstring    = "Select count(Distinct CreateDate) from Booking where AssignTime between '" + DateTime.Today.ToString() + "' and '" + DateTime.Today.AddDays(1).ToString() + "' And Remark like '%分单%'";
                int    fendan       = int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString());
                fendan++;
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    id = -1;
                    if (dataGridView1.Rows[i].Cells[1].Value != null)
                    {
                        worker       = dataGridView1.Rows[i].Cells[0].Value.ToString();
                        servicehours = decimal.Parse(dataGridView1.Rows[i].Cells[1].Value.ToString());
                        servicehours = servicehours / 100;
                        serviceitem  = dataGridView1.Rows[i].Cells[2].Value.ToString();
                        if (dataGridView1.Rows[i].Cells[3].Value != null)
                        {
                            id = int.Parse(dataGridView1.Rows[i].Cells[3].Value.ToString());
                        }
                        DtPlanComplete = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));
                        if (DateTime.Now.CompareTo(starttime) < 0)
                        {
                            DtPlanComplete = starttime;
                        }
                        if (id == -1)
                        {
                            if (i == 0) //未派工,首次分单
                            {
                                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='" + worker + "',ServiceHour=" + servicehours + ",ServiceItem='" + serviceitem + "',State='维修进行中',Remark=isnull(Remark,'')+',分单" + fendan + "' where ID=" + RID;
                                SQLDbHelper.ExecuteSql(sqlstring);
                            }
                            else
                            {
                                insertstring += ";Insert Into Booking(BookIndex,booktime,carno,vin,cartype,linkman,tel,worker,bookhour,servicehour,serviceitem,";
                                insertstring += "servicetype,state,CarTopNo,Creator,Createdate,Updatedate,Success,ComeTime,AssignTime,PlanOutTime,PlanCompleteTime,StartServiceTime,Remark,IsBook,IsRemind,IsRemindSuc,";
                                insertstring += "RemindResult,Receiver,LastUpdate,PreSA,RunKM,Email,SendService,PreParts,Parts)";
                                insertstring += "Select BookIndex,booktime,carno,vin,cartype,linkman,tel,'" + worker + "' as worker,bookhour," + servicehours + " as servicehour,'" + serviceitem + "' as serviceitem,";
                                insertstring += "Servicetype,'维修进行中',CarTopNo,Creator,Createdate,Updatedate,Success,ComeTime,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "',PlanOutTime,'" + DtPlanComplete + "' as PlanCompleteTime,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "' as StartServiceTime,Remark,IsBook,IsRemind,IsRemindSuc,";
                                insertstring += "RemindResult,Receiver,LastUpdate,PreSA,RunKM,Email,SendService,PreParts,Parts from booking where ID=" + RID;
                            }
                        }
                        else //已派工,分单
                        {
                            DataRow[] Drs = Dt.Select("ID=" + id);
                            if (remark.IndexOf("分单") > -1)
                            {
                                if (Drs.Length > 0)
                                {
                                    if (Drs[0]["State"].ToString() == "延时到明天")
                                    {
                                        decimal facthour = ClsBLL.GetFactHours(id);
                                        if (servicehours > facthour)
                                        {
                                            servicehours = servicehours - facthour;
                                        }
                                        DtPlanComplete = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));
                                        sqlstring      = "Update Booking Set ServiceHour=" + servicehours + ",StartServiceTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "',PlanCompleteTime='" + DtPlanComplete + "',ServiceItem='" + serviceitem + "',State='维修进行中' where ID=" + id;
                                    }
                                    else
                                    {
                                        sqlstring = "Update Booking Set ServiceHour=" + servicehours + ",ServiceItem='" + serviceitem + "',State='维修进行中' where ID=" + id;
                                    }
                                }
                            }
                            else
                            {
                                if (Drs[0]["State"].ToString() == "延时到明天")
                                {
                                    decimal facthour = ClsBLL.GetFactHours(id);
                                    if (servicehours > facthour)
                                    {
                                        servicehours = servicehours - facthour;
                                    }
                                    DtPlanComplete = DateTime.Now.AddMinutes(double.Parse(Convert.ToString(servicehours * 60)));
                                    sqlstring      = "Update Booking Set ServiceHour=" + servicehours + ",StartServiceTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "',PlanCompleteTime='" + DtPlanComplete + "',ServiceItem='" + serviceitem + "',State='维修进行中',Remark=isnull(Remark,'')+',分单" + fendan + "' where ID=" + id;
                                }
                                else
                                {
                                    sqlstring = "Update Booking Set ServiceHour=" + servicehours + ",PlanCompleteTime='" + DtPlanComplete + "',ServiceItem='" + serviceitem + "',State='维修进行中',Remark=isnull(Remark,'')+',分单" + fendan + "' where ID=" + id;
                                }
                            }
                            SQLDbHelper.ExecuteSql(sqlstring);
                        }
                    }
                }
                if (insertstring.StartsWith(";"))
                {
                    SQLDbHelper.ExecuteSql(insertstring.Substring(1));
                }
                MessageBox.Show("保存成功!");
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception Err)
            {
                MessageBox.Show(Err.Message);
            }
        }
Пример #9
0
        /// <summary>
        /// 获取机电总维修工时
        /// </summary>
        /// <returns></returns>
        public static decimal SumHours(DateTime CurrentDate, string servicetype)
        {
            decimal workhours = 0;  //工作时间
            //工人数量
            int    workers   = 0;
            string sqlstring = "Select Count(*) from WorkerPlan Where Wyear=" + CurrentDate.Year + " and Wmonth=" + CurrentDate.Month + " and Wday=" + CurrentDate.Day + " and IsWork=1";

            sqlstring += " And WorkerCode in (Select WorkerCode from Worker Where WorkerGroup='" + servicetype + "')";
            try
            {
                DateTime DtEnd   = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet2"));
                DateTime DtStart = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " " + ClsBLL.GetSet("txtSet1"));

                TimeSpan ts = DtEnd.Subtract(DtStart);
                workhours = ts.Hours + ts.Minutes / decimal.Parse(Convert.ToString(60));
                workers   = int.Parse(SQLDbHelper.ExecuteScalar(sqlstring).ToString());
            }
            catch (Exception Err)
            {
                throw Err;
            }
            return(workhours * workers);
        }