?? sy_ndfpjhzd_fp.pas
字號:
+ ' and YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString
+ ''' and ZT=''' + CG_YCL + '''';
if PY_IsExist(VG_SQLWhere) then
begin
SS := '<<' + Qry_JHFPCSHB.FieldByName('MC').AsString + '>> 的分配計劃已被使用!';
CHQMsgBox(Pchar(SS));
Exit;
end;
VG_SQLWhere := 'select YZLDM from TY_JJNFPJH_FP '
+ ' where ND=''' + ND.Text + ''''
+ ' and YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString + ''' and SDate is not NULL';
if PY_IsExist(VG_SQLWhere) then
begin
SS := '<<' + Qry_JHFPCSHB.FieldByName('MC').AsString + '>> 的分配計劃已發送!';
CHQMsgBox(Pchar(SS));
Exit;
end;
PS_SetStatus(False);
Qry_JJNFPJH.Edit;
DBG_JJNFPJH.SetFocus;
end;
procedure TFrmY_NDFPJHZD_FP.Act_PrintExecute(Sender: TObject);
begin
if Qry_JJNFPJH.IsEmpty then Exit;
NDFPJHZD_RPT := TNDFPJHZD_RPT.Create(nil);
try
NDFPJHZD_RPT.Qry_Print.SQL.Text := 'select ROWNUM, T.JHFPZTS, T.BZ, T.ZDRQ, G.DWJC DWMC from TY_JJNFPJH_FP T ,TGS_GXDWSJB G where G.DWDM=T.DWDM and t.ND=''' + ND.Text + ''' and t.YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString + '''';
NDFPJHZD_RPT.Qry_Print.Open;
NDFPJHZD_RPT.ReportTitle := ND.Text + '年度封片分配計劃';
NDFPJHZD_RPT.QRLabel3.Caption := Qry_JHFPCSHB.FieldByName('MC').AsString;
NDFPJHZD_RPT.QRLabel4.Caption := FormatDateTime('YYYY-MM-DD', NDFPJHZD_RPT.Qry_Print.FieldByName('ZDRQ').AsDateTime);
NDFPJHZD_RPT.QRLabel11.Caption := DBEdit2.Text;
NDFPJHZD_RPT.Preview;
NDFPJHZD_RPT.Destroy;
except
NDFPJHZD_RPT.Destroy;
end;
end;
procedure TFrmY_NDFPJHZD_FP.Act_SaveExecute(Sender: TObject);
begin
if SYZTS < 0 then
begin
CHQMsgBox('修改分配總套數的合計已超出總計劃數,請修改!');
DBG_JJNFPJH.SetFocus;
Exit;
end;
with Qry_JJNFPJH do
begin
DisableControls;
First;
while not Eof do
if FieldByName('JHFPZTS').AsInteger <= 0 then
Delete
else
Next;
First;
EnableControls;
Database.StartTransaction;
try
ApplyUpdates;
Database.Commit;
except
Database.RollBack;
CHQMsgBox('數據存儲錯誤!');
exit;
end;
CommitUpdates; //清除緩存的內容
end;
PS_SetStatus(True);
PS_CaculSYZTS(ND.Text, Qry_JHFPCSHB.FieldByName('YZLDM').AsString);
Qry_JHFPCSHBAfterScroll(nil);
FrmY_NDFPJHZD_FP.Refresh;
end;
procedure TFrmY_NDFPJHZD_FP.Act_CancelExecute(Sender: TObject);
begin
with Qry_JJNFPJH do
begin
Database.StartTransaction;
try
CancelUpdates;
Database.Commit;
except
Database.RollBack;
CHQMsgBox('數據存儲錯誤!');
exit;
end;
CommitUpdates; //清除緩存的內容
close;
Open;
end;
PS_SetStatus(True);
PS_CaculSYZTS(ND.Text, Qry_JHFPCSHB.FieldByName('YZLDM').AsString);
end;
procedure TFrmY_NDFPJHZD_FP.PS_SetStatus(Value: Boolean);
begin
BBt_AddFPJH.Enabled := Value;
BBt_DeleteFPJH.Enabled := Value;
BBt_Modify.Enabled := Value;
BBt_Send.Enabled := Value;
BBt_Print.Enabled := Value;
BBt_Save.Enabled := not Value;
BBt_Cancel.Enabled := not Value;
DBG_JHFPCSHB.Enabled := Value;
DBG_JJNFPJH.ReadOnly := Value;
DBG_JJNFPJH.Columns[0].ReadOnly := true;
ND.Enabled := Value;
CB_dl.Enabled := Value;
if Value then //true, browse
DBG_JJNFPJH.Columns[1].Color := clBtnFace
else
begin
DBG_JJNFPJH.Columns[1].Color := clWindow;
DBG_JJNFPJH.SetFocus;
end;
end;
procedure TFrmY_NDFPJHZD_FP.PS_CaculSYZTS(AAND, AYZLDM: string);
begin
SYZTS := 0;
with data.qrytmp do
begin
Close;
SQL.Clear;
SQL.Add('select JHFPZTS from TYS_JJNFPJH_FP ');
SQL.Add('where ND= ''' + AAND + ''' and YZLDM=''' + AYZLDM + '''');
Open;
SYZTS := FieldS[0].AsInteger;
Close;
SQL.Clear;
SQL.Add('Select SUM(JHFPZTS) from TY_JJNFPJH_FP');
SQL.Add('where ND =''' + AAND + ''' and YZLDM=''' + AYZLDM + '''');
SQL.Add('AND ZT=''' + CG_WCL + '''');
Open;
SYZTS := SYZTS - Fields[0].AsInteger;
Close;
end;
if SYZTS < 0 then
E_SYZTS.Font.Color := clRed
else
E_SYZTS.Font.Color := clBlack;
E_SYZTS.Text := IntToStr(SYZTS);
end;
procedure TFrmY_NDFPJHZD_FP.Qry_JJNFPJHJHFPZTSSetText(Sender: TField;
const Text: string);
var
TextValue: Integer;
begin
try
TextValue := StrToInt(Text);
if TextValue < 0 then
begin
CHQMsgBox('非法數值!');
abort;
end;
SYZTS := SYZTS - TextValue + Sender.AsInteger;
if SYZTS < 0 then
E_SYZTS.Font.Color := clRed
else
E_SYZTS.Font.Color := clBlack;
E_SYZTS.Text := IntToStr(SYZTS);
Sender.AsInteger := TextValue;
except
chqmsgbox('非法數值!');
abort;
end;
end;
procedure TFrmY_NDFPJHZD_FP.E_SYZTSEnter(Sender: TObject);
begin
DBG_JJNFPJH.SetFocus;
end;
procedure TFrmY_NDFPJHZD_FP.BBt_SendClick(Sender: TObject);
begin
if Qry_JJNFPJH.IsEmpty then
begin
CHQMsgBox('沒有可發送的數據!');
exit;
end;
VG_SQLWhere := 'select * from TY_JJNFPJH_FP where ND = '''
+ ND.Text + ''' and YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString + '''';
if SendData(VG_SQLWhere, 'TY_JJNFPJH_FP') = IDOK then
CHQMsgBox('信息發送成功!');
end;
procedure TFrmY_NDFPJHZD_FP.Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
begin
SYZTS := SYZTS + Qry_JJNFPJH.FieldByName('JHFPZTS').AsInteger;
if SYZTS < 0 then
E_SYZTS.Font.Color := clRed
else
E_SYZTS.Font.Color := clBlack;
E_SYZTS.Text := IntToStr(SYZTS);
end;
procedure TFrmY_NDFPJHZD_FP.Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
begin
PS_CaculSYZTS(ND.Text, Qry_JHFPCSHB.FieldByName('YZLDM').AsString);
Qry_JJNXQB.Close;
Qry_JJNXQB.ParamByName('ND').AsString := ND.Text;
Qry_JJNXQB.ParamByName('YZLDM').AsString := Qry_JHFPCSHB.FieldByName('YZLDM').AsString;
Qry_JJNXQB.ParamByName('DWDM').AsString := VG_UnitID;
Qry_JJNXQB.Open;
Qry_JJNFPJH.Close;
Qry_JJNFPJH.ParamByName('ND').AsString := ND.Text;
Qry_JJNFPJH.ParamByName('YZLDM').AsString := Qry_JHFPCSHB.FieldByName('YZLDM').AsString;
Qry_JJNFPJH.Open;
end;
procedure TFrmY_NDFPJHZD_FP.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
SaveAllColWidth(self);
end;
procedure TFrmY_NDFPJHZD_FP.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanCLose := CheckExit;
end;
function TFrmY_NDFPJHZD_FP.CheckExit(): boolean;
procedure DoCloseYDQry;
begin
Qry_JJNFPJH.Close;
Qry_JJNXQB.Close;
Qry_JHFPCSHB.Close;
Close;
end;
begin
result := true;
if BBt_Save.Enabled then
case CHQMsgBox('數據已經被更改,是否保存所做修改?', 3) of
IDYes:
begin
Act_SaveExecute(nil);
DoCloseYDQry;
end;
IDNo:
begin
Act_CancelExecute(nil);
DoCloseYDQry;
end;
IDCancel:
result := false;
end
else
begin
DoCloseYDQry;
end;
end;
procedure TFrmY_NDFPJHZD_FP.FormShow(Sender: TObject);
var
AYZLDM: PYZLDM;
begin
CB_dl.OnChange := nil;
AssignSQLstr(data.qrytmp, 'select distinct substr(YZLDM,1,1),DL from TG_YZPPLDMB where substr(YZLDM,1,1) not in (1,8,9)');
data.qrytmp.Open;
while not data.qrytmp.eof do
begin
New(AYZLDM);
AYZLDM.DL := data.qrytmp.Fields[0].asstring;
AYZLDM.MC := data.qrytmp.Fields[1].asstring;
CB_dl.Items.AddObject(data.qrytmp.Fields[1].AsString, TObject(AYZLDM));
data.qrytmp.Next;
end;
CB_dl.ItemIndex := 0;
CB_dl.OnChange := CB_dlChange;
ND.Value := VG_Year;
end;
procedure TFrmY_NDFPJHZD_FP.CB_dlChange(Sender: TObject);
begin
NDChange(nil);
end;
procedure TFrmY_NDFPJHZD_FP.Qry_JJNFPJHBeforeInsert(DataSet: TDataSet);
begin
Abort;
end;
procedure TFrmY_NDFPJHZD_FP.DBG_JJNFPJHKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
DBGridAutoChangeCursor(Sender, key);
end;
procedure TFrmY_NDFPJHZD_FP.Qry_JJNFPJHAfterScroll(DataSet: TDataSet);
begin
if not Qry_JJNXQB.IsEmpty then
Qry_JJNXQB.Locate('SQDWDM', Qry_JJNFPJH.FieldByName('DWDM').AsString, []);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -