📄 tiaoban2.cpp
字号:
pAdd->FieldByName("sd22e")->Value = pWbc->sd22e;
}
if (pWbc->sds > 2)
{
sDateTemp2 = sDateTemp + " " + pWbc->sd31;
pAdd->FieldByName("sd31")->Value = sDateTemp2;
pAdd->FieldByName("sd31s")->Value = pWbc->sd31s;
pAdd->FieldByName("sd31e")->Value = pWbc->sd31e;
if (pWbc->sd32 <= pWbc->sd31)
sDateTemp2 = FormatDateTime("yyyy-mm-dd",daytemp + 1) + " " + pWbc->sd32;
else sDateTemp2 = sDateTemp + " " + pWbc->sd32;
pAdd->FieldByName("sd32")->Value = sDateTemp2;
pAdd->FieldByName("sd32s")->Value = pWbc->sd32s;
pAdd->FieldByName("sd32e")->Value = pWbc->sd32e;
}
LABEL_END:
daytemp++;
FormWait->ProgressBar1->Position++;
nRow++;
}
pYg->Next();
}
pAdd->Post();
ShowMessage("生成排班表成功!");
Close();
*/
pYg->UpdateBatch(arAll);
BitBtnSave->Enabled = false;
BitBtnCancel->Enabled = false;
BitBtnQuit->Tag = 0;
}
//-------------------------------------------------------------------
bool pascal TFormTiaoBan2::CheckBanciNo(WBC *pWbc,AnsiString sBcmc)
{
TLocateOptions Opts;
Opts.Clear();
bool bFlag;
bFlag = pBc->Locate("bcmc", sBcmc, Opts);
if (bFlag)
{
pWbc->bcmc = sBcmc;
pWbc->xiuxi = pBc->FieldByName("xiuxi")->AsBoolean;
pWbc->sds = pBc->FieldByName("sds")->AsInteger;
pWbc->sd11 = pBc->FieldByName("sd11")->AsString;
pWbc->sd11s = pBc->FieldByName("sd11s")->AsInteger;
pWbc->sd11e = pBc->FieldByName("sd11e")->AsInteger;
pWbc->sd12 = pBc->FieldByName("sd12")->AsString;
pWbc->sd12s = pBc->FieldByName("sd12s")->AsInteger;
pWbc->sd12e = pBc->FieldByName("sd12e")->AsInteger;
pWbc->sd21 = pBc->FieldByName("sd21")->AsString;
pWbc->sd21s = pBc->FieldByName("sd21s")->AsInteger;
pWbc->sd21e = pBc->FieldByName("sd21e")->AsInteger;
pWbc->sd22 = pBc->FieldByName("sd22")->AsString;
pWbc->sd22s = pBc->FieldByName("sd22s")->AsInteger;
pWbc->sd22e = pBc->FieldByName("sd22e")->AsInteger;
pWbc->sd31 = pBc->FieldByName("sd31")->AsString;
pWbc->sd31s = pBc->FieldByName("sd31s")->AsInteger;
pWbc->sd31e = pBc->FieldByName("sd31e")->AsInteger;
pWbc->sd32 = pBc->FieldByName("sd32")->AsString;
pWbc->sd32s = pBc->FieldByName("sd32s")->AsInteger;
pWbc->sd32e = pBc->FieldByName("sd32e")->AsInteger;
}
return bFlag;
}
//---------------------------------------------------------------------------
void __fastcall TFormTiaoBan2::BitBtnQuitClick(TObject *Sender)
{
FormTiaoBan2->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormTiaoBan2::DBGrid1DblClick(TObject *Sender)
{
AnsiString SelectDay,sWeek,sDateTemp2;
int nWeek;
WBC wbc,*pWbc;
if (!(pYg->RecNo > 0)) return;
//判断是否已统计,是否假日
if (pYg->FieldByName("jiari")->AsBoolean)
{
if (Application->MessageBoxA("该天是假日,确定要进行调班吗?","询问",MB_YESNO) ==IDNO)
return;
}
if (pYg->FieldByName("zt11")->AsString != "" ||pYg->FieldByName("zt12")->AsString != "" ||pYg->FieldByName("zt21")->AsString != "" ||pYg->FieldByName("zt22")->AsString != "" ||pYg->FieldByName("zt31")->AsString != "" ||pYg->FieldByName("zt32")->AsString != "")
{
Application->MessageBoxA("该天存在请假信息,如果进行调班将覆盖原来信息,所以不能进行调班!","错误",MB_OK);
return;
}
SelectDay = pYg->FieldByName("riqi")->AsString;
nWeek = DayOfWeek(StrToDateTime(SelectDay));
switch (nWeek)
{
case 1: sWeek = " 星期日";break;
case 2: sWeek = " 星期一";break;
case 3: sWeek = " 星期二";break;
case 4: sWeek = " 星期三";break;
case 5: sWeek = " 星期四";break;
case 6: sWeek = " 星期五";break;
case 7: sWeek = " 星期六";break;
}
FormSelectBC->Caption = SelectDay + sWeek;
FormSelectBC->ShowModal();
if (nFlag == 1)
{
pYg->Edit();
if(!CheckBanciNo(&wbc,sBcXz))
{
ShowMessage("查找基础班次失败!");
return;
}
BitBtnQuit->Tag = 1;
BitBtnSave->Enabled = true;
BitBtnCancel->Enabled = true;
pWbc = &wbc;
pYg->FieldByName("jiari")->Value = 0;
//******************
pYg->FieldByName("sds")->Clear();
pYg->FieldByName("sd11")->Clear();
pYg->FieldByName("sd11s")->Clear();
pYg->FieldByName("sd11e")->Clear();
//pYg->FieldByName("sksj11")->Clear();
pYg->FieldByName("zt11")->Clear();
pYg->FieldByName("sd12")->Clear();
pYg->FieldByName("sd12s")->Clear();
pYg->FieldByName("sd12e")->Clear();
//pYg->FieldByName("sksj12")->Clear();
pYg->FieldByName("zt12")->Clear();
pYg->FieldByName("sd21")->Clear();
pYg->FieldByName("sd21s")->Clear();
pYg->FieldByName("sd21e")->Clear();
//pYg->FieldByName("sksj21")->Clear();
pYg->FieldByName("zt21")->Clear();
pYg->FieldByName("sd22")->Clear();
pYg->FieldByName("sd22s")->Clear();
pYg->FieldByName("sd22e")->Clear();
//pYg->FieldByName("sksj22")->Clear();
pYg->FieldByName("zt22")->Clear();
pYg->FieldByName("sd31")->Clear();
pYg->FieldByName("sd31S")->Clear();
pYg->FieldByName("sd31e")->Clear();
//pYg->FieldByName("sksj31")->Clear();
pYg->FieldByName("zt31")->Clear();
pYg->FieldByName("sd32")->Clear();
pYg->FieldByName("sd32S")->Clear();
pYg->FieldByName("sd32e")->Clear();
//pYg->FieldByName("sksj32")->Clear();
pYg->FieldByName("zt32")->Clear();
pYg->FieldByName("banci")->Value = pWbc->bcmc;
pYg->FieldByName("xiuxi")->Value = pWbc->xiuxi;
if (pWbc->xiuxi == 1)
{
nFlag =0;
pYg->Post();
return;
}
pYg->FieldByName("sds")->Value = pWbc->sds;
sDateTemp2 = SelectDay + " " + pWbc->sd11;
pYg->FieldByName("sd11")->Value = sDateTemp2;
pYg->FieldByName("sd11s")->Value = pWbc->sd11s;
pYg->FieldByName("sd11e")->Value = pWbc->sd11e;
if (pWbc->sd12 <= pWbc->sd11)
sDateTemp2 = FormatDateTime("yyyy-mm-dd",StrToDateTime(SelectDay) + 1) + " " + pWbc->sd12;
else sDateTemp2 = SelectDay + " " + pWbc->sd12;
pYg->FieldByName("sd12")->Value = sDateTemp2;
pYg->FieldByName("sd12s")->Value = pWbc->sd12s;
pYg->FieldByName("sd12e")->Value = pWbc->sd12e;
if (pWbc->sds > 1)
{
sDateTemp2 = SelectDay + " " + pWbc->sd21;
pYg->FieldByName("sd21")->Value = sDateTemp2;
pYg->FieldByName("sd21s")->Value = pWbc->sd21s;
pYg->FieldByName("sd21e")->Value = pWbc->sd21e;
if (pWbc->sd22 <= pWbc->sd21)
sDateTemp2 = FormatDateTime("yyyy-mm-dd",StrToDateTime(SelectDay) + 1) + " " + pWbc->sd22;
else sDateTemp2 = SelectDay + " " + pWbc->sd22;
pYg->FieldByName("sd22")->Value = sDateTemp2;
pYg->FieldByName("sd22s")->Value = pWbc->sd22s;
pYg->FieldByName("sd22e")->Value = pWbc->sd22e;
}
if (pWbc->sds > 2)
{
sDateTemp2 = SelectDay + " " + pWbc->sd31;
pYg->FieldByName("sd31")->Value = sDateTemp2;
pYg->FieldByName("sd31s")->Value = pWbc->sd31s;
pYg->FieldByName("sd31e")->Value = pWbc->sd31e;
if (pWbc->sd32 <= pWbc->sd31)
sDateTemp2 = FormatDateTime("yyyy-mm-dd",StrToDateTime(SelectDay) + 1) + " " + pWbc->sd32;
else sDateTemp2 = SelectDay + " " + pWbc->sd32;
pYg->FieldByName("sd32")->Value = sDateTemp2;
pYg->FieldByName("sd32s")->Value = pWbc->sd32s;
pYg->FieldByName("sd32e")->Value = pWbc->sd32e;
}
nFlag =0;
pYg->Post();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormTiaoBan2::BitBtnCancelClick(TObject *Sender)
{
if (Application->MessageBoxA("决定要放弃所有修改吗?","询问",MB_YESNO) ==IDYES)
{
pYg->CancelBatch(arAll);
BitBtnSave->Enabled = false;
BitBtnCancel->Enabled = false;
BitBtnQuit->Tag = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormTiaoBan2::FormCloseQuery(TObject *Sender,
bool &CanClose)
{
int nValue;
if (BitBtnQuit->Tag == 1)
{
nValue = Application->MessageBoxA("数据已修改,是否保存?","询问",MB_YESNOCANCEL);
if (nValue == IDYES)
BitBtnSaveClick(this);
else if (nValue == IDCANCEL)
CanClose = false;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -