?? sy_ndfpjhzd.pas
?? 省級集郵品管理ERP
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
??
{*******************************************************}
{ }
{ 年度分配計劃制定 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項目開發組 }
{ }
{ }
{*******************************************************}
(*
省級集郵品,省級集郵票 ,省級零枚票,地市集郵品,地市集郵票
*)
unit SY_NDFPJHZD;
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;
type
TFrmY_NDFPJHZD = 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_AddDW: TAction;
Act_DeleteDW: TAction;
Act_ModifyFPJH: TAction;
Act_Find: TAction;
Act_Print: TAction;
Act_Save: TAction;
Act_Cancel: TAction;
Panel2: TPanel;
DBG_JHFPCSHB: TDBGrid;
Panel5: TPanel;
Label2: TLabel;
E_SYZTS: TCurrencyEdit;
BBt_AddDW: TBitBtn;
BBt_DeleteDW: TBitBtn;
Qry_JHFPCSHB: TQuery;
DataSource1: TDataSource;
Qry_JJNXQB: TQuery;
DataSource2: TDataSource;
Qry_GXDWSJB: TQuery;
Label1: TLabel;
Act_AddFPJH: TAction;
Act_DeleteFPJH: TAction;
Qry_Static: TQuery;
E_PPMC: TEdit;
Qry_JJNXQBXQZTS: TFloatField;
Qry_JHFPCSHBJHH: TStringField;
Qry_JHFPCSHBPPMC: TStringField;
Qry_JHFPCSHBJHFPZTS: TFloatField;
Qry_JHFPCSHBZT: TStringField;
Qry_JJNXQBKFYPTS: TFloatField;
Qry_JJNXQBYDTS: TFloatField;
Qry_JJNXQBLSTS: TFloatField;
E_JHH: TEdit;
Qry_JHFPCSHBND: TStringField;
Qry_JHFPCSHBZBR: TStringField;
Qry_JHFPCSHBPZR: TStringField;
Qry_JHFPCSHBZDRQ: TDateTimeField;
Qry_JHFPCSHBBZ: TStringField;
Qry_JHFPCSHBSDATE: TDateTimeField;
XttxTitle: TRxLabel;
BBt_Print: TBitBtn;
BBt_Send: TBitBtn;
DBG_JJNFPJH: TRxDBGrid;
DBG_JJNXQB: TDBGrid;
Qry_JJNFPJH: TQuery;
Qry_JJNFPJHDWDM: TStringField;
Qry_JJNFPJHDWMC: TStringField;
Qry_JJNFPJHJHFPZTS: TFloatField;
Qry_JJNFPJHYDTS: TFloatField;
Qry_JJNFPJHLSTS: TFloatField;
Qry_JJNFPJHNCTS: TFloatField;
Qry_JJNFPJHYPTS: TFloatField;
Qry_JJNFPJHJHH: TStringField;
Qry_JJNFPJHND: TStringField;
Qry_JJNFPJHZT: TStringField;
Qry_JJNFPJHZBR: TStringField;
Qry_JJNFPJHPZR: TStringField;
Qry_JJNFPJHZDRQ: TDateTimeField;
Qry_JJNFPJHPPMC: TStringField;
Qry_JJNFPJHBZ: TStringField;
DataSource3: TDataSource;
UpdateSQL1: TUpdateSQL;
Qry_JJNXQBDWDM: TStringField;
Qry_JJNXQBND: TStringField;
Qry_JJNXQBJHH: TStringField;
Qry_JJNXQBNCTS: TFloatField;
Qry_JJNXQBDWMC: TStringField;
Panel4: TPanel;
Label5: TLabel;
Label6: TLabel;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
DBEdit1: TDBEdit;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure Act_AddDWExecute(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 Act_DeleteDWExecute(Sender: TObject);
procedure BBt_SendClick(Sender: TObject);
procedure Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
procedure Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
procedure DBG_JJNXQBTitleClick(Column: TColumn);
procedure DBG_JJNFPJHTitleClick(Column: TColumn);
procedure DBG_JJNFPJHKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBG_JHFPCSHBTitleClick(Column: TColumn);
procedure DBG_JJNFPJHCellClick(Column: TColumn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
SYZTS: Integer;
SS: string;
procedure PS_SetStatus(Value: Boolean);
procedure PS_CaculSYZTS(JHH: string);
function CheckExit(): boolean;
public
{ Public declarations }
end;
var
FrmY_NDFPJHZD: TFrmY_NDFPJHZD;
implementation
uses
Datas,pub, SY_DataSend, SY_CKJHDZD_XZDW, SY_NDFPJHCX_RPT;
{$R *.DFM}
procedure TFrmY_NDFPJHZD.FormCreate(Sender: TObject);
begin
DWMC.Caption := '使用單位:' + VG_UnitName;
ND.Value := VG_Year;
PS_SetStatus(True);
GetAllColWidth(self);
end;
procedure TFrmY_NDFPJHZD.NDChange(Sender: TObject);
begin
E_PPMC.Text := '';
E_SYZTS.Text := '';
Qry_JJNXQB.Close;
Qry_JJNFPJH.Close;
with Qry_JHFPCSHB do
begin
Close;
SQL.Clear;
SQL.Add('select a.* from TYS_JJNFPJH a, TGS_GXDWSJB b where ND=''' +
IntToStr(ND.Value) + ''' and a.DWDM=b.DWDM order by b.PXM'); // and b.JYYW=''1''
Open;
end;
end;
procedure TFrmY_NDFPJHZD.Act_AddDWExecute(Sender: TObject);
var
V_JHH, V_ND, V_PPMC: string;
begin
if E_PPMC.Text = '' then
begin
CHQMsgBox('請選擇要進行分配的分配計劃號!');
Exit;
end;
with Qry_JHFPCSHB do
begin
V_JHH := FieldByName('JHH').AsString;
V_ND := FieldByName('ND').AsString;
V_PPMC := FieldByName('PPMC').AsString;
end;
FrmY_CKJHDZD_XZDW := TFrmY_CKJHDZD_XZDW.Create(nil);
with FrmY_CKJHDZD_XZDW do
begin
Caption := '選擇單位';
DBGrid1.Options := DBGrid1.Options + [dgMultiSelect];
Qry_Static.Close;
Qry_Static.SQL.Text := Qry_Static.SQL[0] + ' WHERE JYYW=''1'' and FHDX=''1'' order by PXM ';
Qry_Static.Open;
ShowModal;
if ModalResult <> MrOK then
begin
Destroy;
Exit;
end;
with FrmY_CKJHDZD_XZDW.Qry_Static do
begin
First;
while not Eof do
begin
if DBGrid1.SelectedRows.CurrentRowSelected then
if not Qry_JJNFPJH.Locate('DWDM', FieldByName('DWDM').AsString, []) then
begin
Qry_JJNFPJH.Append;
Qry_JJNFPJH.FieldByName('JHH').AsString := V_JHH;
Qry_JJNFPJH.FieldByName('ND').AsString := V_ND;
Qry_JJNFPJH.FieldByName('DWDM').AsString := FieldByName('DWDM').AsString;
Qry_JJNFPJH.FieldByName('ZDRQ').AsString := FormatDateTime('yyyy-mm-dd', GetSysDate);
Qry_JJNFPJH.FieldByName('ZBR').AsString := VG_UserName;
Qry_JJNFPJH.FieldByName('PZR').AsString := CG_PZR;
Qry_JJNFPJH.FieldByName('PPMC').AsString := V_PPMC;
Qry_JJNFPJH.FieldByName('BZ').AsString := '';
Qry_JJNFPJH.FieldByName('ZT').AsString := CG_WCL;
Qry_JJNFPJH.FieldByName('JHFPZTS').AsInteger := 0;
Qry_JJNFPJH.Post;
end;
Next;
end;
end;
Destroy;
end;
DBG_JJNFPJH.SetFocus;
Qry_JJNFPJH.Edit;
if SYZTS < 0 then
E_SYZTS.Font.Color := clRed
else
E_SYZTS.Font.Color := clBlack;
E_SYZTS.Text := IntToStr(SYZTS);
end;
procedure TFrmY_NDFPJHZD.Act_AddFPJHExecute(Sender: TObject);
begin
if Qry_JHFPCSHB.IsEmpty then Exit;
if not Qry_JJNFPJH.IsEmpty then
begin
CHQMsgBox('已做分配計劃!');
Exit;
end;
VG_SQLWhere := 'select JHH from TY_JJNFPJH '
+ ' where ND =''' + IntToStr(ND.Value) + ''' '
+ ' and JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
+ ' and not Sdate Is 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 := 'ZRJM';
Open;
end;
try
if not Qry_JJNXQB.Eof then
with Qry_JJNXQB do
begin
DisableControls;
First;
while not Eof do
begin
VG_SQLWhere := 'select JHH from TY_JJNFPJH '
+ ' where ND =''' + IntToStr(ND.Value) + ''' '
+ ' and JHH =''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
+ ' and DWDM =''' + Qry_JJNXQB.FieldByName('DWDM').AsString + '''';
if PY_IsExist(VG_SQLWhere) then
begin
Next;
Continue;
end;
with Qry_JJNFPJH do
begin
Append;
FieldByName('JHH').AsString := Qry_JHFPCSHB.FieldByName('JHH').AsString;
FieldByName('ND').AsString := Qry_JJNXQB.FieldByName('ND').AsString;
FieldByName('DWDM').AsString := Qry_JJNXQB.FieldByName('DWDM').AsString;
FieldByName('ZDRQ').AsString := FormatDateTime('yyyy-mm-dd', GetSysDate);
FieldByName('ZBR').AsString := VG_UserName;
FieldByName('PZR').AsString := '';
FieldByName('PPMC').AsString := Qry_JHFPCSHB.FieldByName('PPMC').AsString;
;
FieldByName('BZ').AsString := '';
FieldByName('ZT').AsString := CG_WCL;
FieldByName('LSTS').AsInteger := Qry_JJNXQB.FieldByName('LSTS').AsInteger;
FieldByName('YDTS').AsInteger := Qry_JJNXQB.FieldByName('YDTS').AsInteger;
FieldByName('NCTS').AsInteger := Qry_JJNXQB.FieldByName('NCTS').AsInteger;
FieldByName('YPTS').AsInteger := Qry_JJNXQB.FieldByName('KFYPTS').AsInteger;
FieldByName('JHFPZTS').AsInteger := FieldByName('YDTS').AsInteger
+ FieldByName('LSTS').AsInteger
+ FieldByName('NCTS').AsInteger
+ FieldByName('YPTS').AsInteger;
SYZTS := SYZTS - Qry_JJNFPJH.FieldByName('JHFPZTS').AsInteger;
Post;
end;
Next;
end;
EnableControls;
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.Act_DeleteFPJHExecute(Sender: TObject);
begin
if Qry_JJNFPJH.IsEmpty then
begin
CHQMsgBox('沒有可刪除的分配計劃!');
Exit;
end;
VG_SQLWhere := 'select JHH from TY_JJNFPJH '
+ ' where ND =''' + IntToStr(ND.Value) + ''' '
+ ' and JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
+ ' and ZT=''' + CG_YCL + '''';
if PY_IsExist(VG_SQLWhere) then
begin
SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配計劃已被使用!';
CHQMsgBox(Pchar(SS));
Exit;
end;
VG_SQLWhere := 'select JHH from TY_JJNFPJH '
+ ' where ND =''' + IntToStr(ND.Value) + ''' '
+ ' and JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -