?? sy_ndfpjhzd_fp.pas
字號:
{*******************************************************}
{ }
{ 封片年度分配計劃制定 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬項目開發組 }
{ }
{ }
{*******************************************************}
(*
本模塊在省級零枚票管理模塊 計劃管理部分的封片年度分配計劃制定菜單調用。
*)
unit SY_NDFPJHZD_FP;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Spin, ExtCtrls, ActnList, Grids, DBGrids, Mask,
ToolEdit, CurrEdit, DBTables, Db, RXCtrls, DBCtrls, RXDBCtrl, Menus,
DBGridExport, EHGrids, DBGridEh;
type
//郵資類代碼
PYZLDM = ^YZLDM;
YZLDM = record
DL, MC: string;
end;
type
TFrmY_NDFPJHZD_FP = class(TForm)
Panel1: TPanel;
DWMC: TLabel;
Label3: TLabel;
ND: TSpinEdit;
Panel3: TPanel;
BBt_AddFPJH: TBitBtn;
BBt_Modify: TBitBtn;
BBt_DeleteFPJH: TBitBtn;
BBt_Save: TBitBtn;
BBt_Cancel: TBitBtn;
BBt_Quit: TBitBtn;
ALi_Edit: TActionList;
Act_ModifyFPJH: TAction;
Act_Print: TAction;
Act_Save: TAction;
Act_Cancel: TAction;
Panel2: TPanel;
Qry_JHFPCSHB: TQuery;
DataSource1: TDataSource;
Qry_JJNXQB: TQuery;
DataSource2: TDataSource;
Act_AddFPJH: TAction;
Act_DeleteFPJH: TAction;
Qry_Static: TQuery;
XttxTitle: TRxLabel;
BBt_Print: TBitBtn;
BBt_Send: TBitBtn;
Qry_JJNFPJH: TQuery;
DataSource3: TDataSource;
UpdateSQL1: TUpdateSQL;
Panel4: TPanel;
Label5: TLabel;
Label6: TLabel;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
Panel6: TPanel;
DBG_JHFPCSHB: TDBGrid;
Label7: TLabel;
Panel7: TPanel;
Splitter1: TSplitter;
Label8: TLabel;
DBG_JJNXQB: TDBGrid;
Panel8: TPanel;
Splitter2: TSplitter;
DBG_JJNFPJH: TRxDBGrid;
Label9: TLabel;
Label2: TLabel;
E_SYZTS: TCurrencyEdit;
Qry_JJNXQBSQDWDM: TStringField;
Qry_JJNXQBXQZTS: TFloatField;
Label4: TLabel;
CB_dl: TComboBox;
Qry_JJNFPJHND: TStringField;
Qry_JJNFPJHYZLDM: TStringField;
Qry_JJNFPJHDWDM: TStringField;
Qry_JJNFPJHJHFPZTS: TFloatField;
Qry_JJNFPJHZT: TStringField;
Qry_JJNFPJHZBR: TStringField;
Qry_JJNFPJHPZR: TStringField;
Qry_JJNFPJHZDRQ: TDateTimeField;
Qry_JJNFPJHBZ: TStringField;
Qry_JJNFPJHSDATE: TDateTimeField;
Qry_JHFPCSHBYZLDM: TStringField;
Qry_JHFPCSHBDWDM: TStringField;
Qry_JHFPCSHBJHFPZTS: TFloatField;
Qry_JHFPCSHBZT: TStringField;
Qry_JHFPCSHBZBR: TStringField;
Qry_JHFPCSHBPZR: TStringField;
Qry_JHFPCSHBZDRQ: TDateTimeField;
Qry_JHFPCSHBBZ: TStringField;
Qry_JHFPCSHBMC: TStringField;
Qry_JJNXQBDWJC: TStringField;
Qry_JJNFPJHDWJC: TStringField;
procedure FormCreate(Sender: TObject);
procedure Act_AddFPJHExecute(Sender: TObject);
procedure Act_DeleteFPJHExecute(Sender: TObject);
procedure Act_ModifyFPJHExecute(Sender: TObject);
procedure Act_PrintExecute(Sender: TObject);
procedure Act_SaveExecute(Sender: TObject);
procedure Act_CancelExecute(Sender: TObject);
procedure NDChange(Sender: TObject);
procedure Qry_JJNFPJHJHFPZTSSetText(Sender: TField;
const Text: string);
procedure E_SYZTSEnter(Sender: TObject);
procedure BBt_SendClick(Sender: TObject);
procedure Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
procedure Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
procedure CB_dlChange(Sender: TObject);
procedure Qry_JJNFPJHBeforeInsert(DataSet: TDataSet);
procedure DBG_JJNFPJHKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Qry_JJNFPJHAfterScroll(DataSet: TDataSet);
private
V_S_locPPMC: string;
SYZTS: Integer;
SS: string;
procedure PS_SetStatus(Value: Boolean);
procedure PS_CaculSYZTS(AAND, AYZLDM: string);
function CheckExit(): boolean;
public
{ Public declarations }
end;
var
FrmY_NDFPJHZD_FP: TFrmY_NDFPJHZD_FP;
implementation
uses
Datas,Pub, SY_DataSend, SY_CKJHDZD_XZDW, SY_NDFPJHZD_RPT;
{$R *.DFM}
procedure TFrmY_NDFPJHZD_FP.FormCreate(Sender: TObject);
begin
DWMC.Caption := '使用單位:' + VG_UnitName;
PS_SetStatus(True);
GetAllColWidth(self);
end;
procedure TFrmY_NDFPJHZD_FP.NDChange(Sender: TObject);
begin
E_SYZTS.Text := '';
Qry_JJNXQB.Close;
Qry_JJNFPJH.Close;
Qry_JHFPCSHB.Close;
Qry_JHFPCSHB.ParamByName('ND').AsString := ND.Text;
Qry_JHFPCSHB.ParamByName('DLDM').AsString := PYZLDM(CB_DL.Items.Objects[CB_DL.ItemIndex])^.DL;
Qry_JHFPCSHB.Open;
end;
procedure TFrmY_NDFPJHZD_FP.Act_AddFPJHExecute(Sender: TObject);
begin
if Qry_JHFPCSHB.IsEmpty then Exit;
if not Qry_JJNFPJH.IsEmpty then
begin
CHQMsgBox('已做分配計劃!');
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
CHQMsgBox('此分配分配單已發送!');
Exit;
end;
if Qry_JJNFPJH.FieldByName('ZT').Asstring = CG_DG then
begin
CHQMsgBox('分配單已簽批!');
Exit;
end;
if Qry_JJNFPJH.FieldByName('ZT').Asstring = CG_YCL then
begin
CHQMsgBox('分配單已使用!');
Exit;
end;
//******************************************************************************
with Qry_JJNFPJH do
begin
Close;
Prepare;
Params[0].AsString := '1';
Params[1].AsString := '1';
Open;
end;
try
Qry_JJNXQB.First;
if not Qry_JJNXQB.Eof then
with Qry_JJNXQB do
begin
Qry_JJNFPJH.BeforeInsert := nil;
DisableControls;
First;
while not Eof do
begin
VG_SQLWhere := 'select YZLDM from TY_JJNFPJH_FP '
+ ' where ND =''' + ND.Text + ''''
+ ' and YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString
+ ''' and DWDM =''' + Qry_JJNXQB.FieldByName('SQDWDM').AsString + '''';
if PY_IsExist(VG_SQLWhere) then
begin
Next;
Continue;
end;
with Qry_JJNFPJH do
begin
Append;
FieldByName('ND').AsString := ND.Text;
FieldByName('YZLDM').AsString := Qry_JHFPCSHB.FieldByName('YZLDM').AsString;
FieldByName('DWDM').AsString := Qry_JJNXQB.FieldByName('SQDWDM').AsString;
FieldByName('JHFPZTS').AsInteger := Qry_JJNXQB.FieldByName('XQZTS').AsInteger;
FieldByName('ZT').AsString := CG_WCL;
FieldByName('ZBR').AsString := VG_UserName;
FieldByName('PZR').AsString := '';
FieldByName('BZ').AsString := '';
FieldByName('DWJC').AsString := Qry_JJNXQB.FieldByName('DWJC').AsString;
SYZTS := SYZTS - Qry_JJNFPJH.FieldByName('JHFPZTS').AsInteger;
Post;
end;
Next;
end;
EnableControls;
Qry_JJNFPJH.First;
Qry_JJNFPJH.BeforeInsert := Qry_JJNFPJHBeforeInsert;
end;
except
Act_CancelExecute(nil);
end;
PS_SetStatus(False);
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.Act_DeleteFPJHExecute(Sender: TObject);
begin
if Qry_JJNFPJH.IsEmpty then
begin
CHQMsgBox('沒有可刪除的分配計劃!');
Exit;
end;
VG_SQLWhere := 'select YZLDM from TY_JJNFPJH_FP '
+ ' where ND=''' + ND.Text + ''''
+ ' 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;
if CHQMsgBox('確定要刪除分配計劃嗎?', 2) = IDNo then
exit;
try
with Qry_JJNFPJH do
begin
First;
while not EOF do
Delete;
end;
Act_SaveExecute(nil);
except
Act_CancelExecute(nil);
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.Act_ModifyFPJHExecute(Sender: TObject);
begin
if Qry_JJNFPJH.IsEmpty then
begin
CHQMsgBox('沒有可修改的分配計劃!');
Exit;
end;
VG_SQLWhere := 'select YZLDM from TY_JJNFPJH_FP '
+ ' where ND=''' + ND.Text + ''''
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -