void MainWindow::on_action_3_triggered() { QSqlQuery query; query.exec("select isadmin from users where login='******'"); query.next(); if (query.value(0).toInt()){ places s(&db); s.exec(); SetDays(Days); }else{ QMessageBox::critical(0,tr("Error!"),tr("You have no right to edit platforms!")); } }
void CBCGPRecurrenceRuleWeekly::SetProperties (const CBCGPAppointmentPropertyList& props) { CBCGPRecurrenceBaseRule::SetProperties (props); if (props.GetCount () > 0) { CBCGPAppointmentProperty* prop = NULL; if (props.PropertyExists (BCGP_REC_RULE_PROPERTY_WEEKLY_SPAN)) { prop = (CBCGPAppointmentProperty*)props.Get (BCGP_REC_RULE_PROPERTY_WEEKLY_SPAN); m_dwSpan = *prop; } if (props.PropertyExists (BCGP_REC_RULE_PROPERTY_WEEKLY_DAYS)) { prop = (CBCGPAppointmentProperty*)props.Get (BCGP_REC_RULE_PROPERTY_WEEKLY_DAYS); SetDays (*prop); } } }
void CBCGPRecurrenceRuleWeekly::Serialize (CArchive& ar) { CBCGPRecurrenceBaseRule::Serialize (ar); if (ar.IsStoring ()) { ar << m_dwSpan; ar << m_dwDays; } else { ar >> m_dwSpan; DWORD dwDays = 0; ar >> dwDays; SetDays (dwDays); // for scheme #1 if (GetID() == 0) { SetID(BCGP_PLANNER_RULE_WEEKLY); } } }
void MainWindow::on_ttable_cellDoubleClicked(int row, int column) { if (ui->ttable->item(row,column)){ //Ячейка уже занята //Проверяем, не обеденное ли это время if (ui->ttable->item(row, column)->statusTip()=="dt") { QMessageBox::critical(0,tr("Error!"),tr("You can't work at dinner time!")); }else if(ui->ttable->item(row, column)->statusTip()=="ac"){ ; //В дополнительную строчку работы вставлять нельзя }else { if(QMessageBox::question(0,tr("Confirm"),tr("Are you really want to insert another work in this cell?"),3,4,0)==3){ //Узнаём время QTime tme=QTime::fromString(ui->ttable->item(row,0)->text(),"h:mm"); //Узнаём, на сколько часов нужно сократить работу QSqlQuery q; q.exec("select hours, date from ttable where record_id="+ui->ttable->item(row,column)->statusTip()); q.first(); int hours=q.value(0).toInt(); QDateTime dat = q.value(1).toDateTime(); int begin=dat.toString("HH").toInt(); int tm= tme.toString("HH").toInt(); //Здесь ещё нужно учесть обед QSqlQuery queryD; queryD.exec("select value from settings where name='dinner_start_time'"); queryD.first(); int dinner_start_time=queryD.value(0).toInt(); queryD.exec("select value from settings where name='dinner_end_time'"); queryD.first(); int dinner_end_time=queryD.value(0).toInt(); int dt=0; if (begin<dinner_start_time && (begin+hours)>dinner_end_time) dt=1; int delta=(hours+begin)-tm+dt; QVariant newHours=hours-delta; q.exec("update ttable set hours="+newHours.toString()+" where record_id="+ui->ttable->item(row,column)->statusTip()); q.exec("select place_id from places where name='"+ui->ttable->item(1,column)->text()+"';"); q.first(); //Узнаём дату и время QDateTime data = QDateTime::fromString(day.addDays((column+1)/(ui->ttable->columnCount() / Days)).toString("dd.MM.yyyy")+" "+tme.toString("hh:mm:ss"), "dd.MM.yyyy hh:mm:ss"); //Вызываем форму назначения order_details s(&db, q.value(0).toInt(), data); s.exec(); SetDays(Days); } } }else{ QSqlQuery q; //Узнаём номер площадки if (db.isOpen()){ q.exec("select place_id from places where name='"+ui->ttable->item(1,column)->text()+"';"); q.first(); } //Узнаём дату и время QTime tme=QTime::fromString(ui->ttable->item(row,0)->text(),"h:mm"); QDateTime data = QDateTime::fromString(day.addDays((column+1)/(ui->ttable->columnCount() / Days)).toString("dd.MM.yyyy")+" "+tme.toString("hh:mm:ss"), "dd.MM.yyyy hh:mm:ss"); //Вызываем форму назначения order_details s(&db, q.value(0).toInt(), data); s.exec(); SetDays(Days); } }
void MainWindow::onWeek(){Days=7; SetDays(7);}
void MainWindow::onThreeDays(){Days=3; SetDays(3);}
void MainWindow::onTwoDays(){Days=2; SetDays(2);}
void MainWindow::onOneDay(){Days=1; SetDays(1);}
void MainWindow::onNext(){ day=day.addDays(1); SetDays(Days); }
void MainWindow::onPrev() { day=day.addDays(-1); SetDays(Days); }