Exemple #1
0
        public DataTable QueryLabourHourDetails(int year, int month, string name, OEEFactory factory)
        {
            DateTime queryStartTime = OEEUtils.ConvertToDayStartOfMonth(year, month);
            DateTime queryEndTime   = OEEUtils.ConvertToDayEndOfMonth(year, month);

            OEEMachineGroup[] machineGroups = factory.MachineGroups;
            DataTable         dt            = null;

            for (int groupIndex = 0; groupIndex < machineGroups.Count(); groupIndex++)
            {
                foreach (OEEMachine machine in machineGroups[groupIndex].Machines)
                {
                    DataTable temp         = new DataTable();
                    string    dataBaseName = machine.getDeviceDatabaseName();
                    string    commandText  = "select dispatchCode," +
                                             "productCode," +
                                             "productName," +
                                             "processName," +
                                             "serialNumber," +
                                             "startTime," +
                                             "completeTime," +
                                             "qualifyNum, " +
                                             "unqualifyNum," +
                                             "machineID from " +
                                             "`" + gVariable.dispatchListTableName + "`" +
                                             " where completeTime >= '" + queryStartTime.ToString(OEETypes.QUERY_TIME_FORMAT) +
                                             "' and completeTime <= '" + queryEndTime.ToString(OEETypes.QUERY_TIME_FORMAT) +
                                             "' and reportor = '" + _id + "'";
                    temp = mySQLClass.queryDataTableAction(dataBaseName, commandText, null);

                    try
                    {
                        object[] obj = new object[temp.Columns.Count];
                        if (dt == null)
                        {
                            dt = temp.Clone();
                        }
                        for (int i = 0; i < temp.Rows.Count; i++)
                        {
                            temp.Rows[i].ItemArray.CopyTo(obj, 0);
                            dt.Rows.Add(obj);
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
            }

            return(dt);
        }
        private void BtnStaffQuery_Click(object sender, EventArgs e)
        {
            int yearStart  = Convert.ToInt32(this.CmbYearStart.Text);
            int yearEnd    = Convert.ToInt32(this.CmbYearEnd.Text);
            int monthStart = Convert.ToInt32(this.CmbMonthStart.Text);
            int monthEnd   = Convert.ToInt32(this.CmbMonthEnd.Text);

            DateTime startTime = OEEUtils.ConvertToDayStartOfMonth(yearStart, monthStart);
            DateTime endTime   = OEEUtils.ConvertToDayEndOfMonth(yearEnd, monthEnd);

            totalIndex = 1;

            this.LvwMonthView.Items.Clear();
            this.LvwDetailView.Items.Clear();

            if (DateTime.Compare(startTime, endTime) > 0)
            {
                MessageBox.Show("起始时间不能大于终止时间", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                string id = this.CmbStaffName.Text.Split(' ').First();
                selectedStaff = staffs[id];

                for (int year = yearStart; year <= yearEnd; year++)
                {
                    if (monthEnd < monthStart)
                    {
                        monthEnd = OEETypes.MONTH_END;
                    }

                    for (int month = monthStart; month <= monthEnd; month++)
                    {
                        OEETypes.OutputInHours outputInHours;
                        DateTime start = OEEUtils.ConvertToDayStartOfMonth(year, month);
                        DateTime end   = OEEUtils.ConvertToDayEndOfMonth(year, month);
                        outputInHours = selectedStaff.QueryLabourHour(start, end, factory);
                        ShowMonthList(outputInHours, selectedStaff.Name, year, month);
                    }

                    monthStart = 1;
                }
            }
        }
        private void QueryMachineStatus()
        {
            int year = Convert.ToInt32(this.CmbYear.Text);

            if (this.CmbQueryPeriod.SelectedIndex == 0)
            {
                startTime = new DateTime(year, OEETypes.MONTH_START, OEETypes.DAY_START);
                endTime   = new DateTime(year, OEETypes.MONTH_END, OEETypes.DAY_SOLAR_END);
            }
            else
            {
                int month = Convert.ToInt32(this.CmbMonth.Text);
                startTime = OEEUtils.ConvertToDayStartOfMonth(year, month);
                endTime   = OEEUtils.ConvertToDayEndOfMonth(year, month);
            }

            foreach (OEEMachine machine in machines)
            {
                machine.QueryMachineStatus(startTime, endTime);
            }
        }