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); } }