📄 sy_ndfpjhzd.pas
字号:
{*******************************************************}
{ }
{ 年度分配计划制定 }
{ }
{ 中软金马公司版权所有。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, YzppSelect;
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;
Panel2: TPanel;
DBG_JJNFPJH: TDBGrid;
DBG_JHFPCSHB: TDBGrid;
UpdateSQL1: TUpdateSQL;
Panel5: TPanel;
Label2: TLabel;
E_SYZTS: TCurrencyEdit;
BBt_AddDW: TBitBtn;
BBt_DeleteDW: TBitBtn;
Qry_JHFPCSHB: TQuery;
DataSource1: TDataSource;
Qry_JJNXQB: TQuery;
DataSource2: TDataSource;
DataSource3: TDataSource;
Qry_GXDWSJB: TQuery;
Label1: TLabel;
Qry_Static: TQuery;
E_PPMC: TEdit;
DBG_JJNXQB: TDBGrid;
Qry_JJNXQBSQDWDM: TStringField;
Qry_JJNXQBXQZTS: TFloatField;
Qry_JJNXQBDWMC: TStringField;
Qry_JJNXQBYDTS: TFloatField;
Qry_JJNXQBLSTS: TFloatField;
Qry_JJNFPJH: TQuery;
Qry_JJNFPJHJHH: TStringField;
Qry_JJNFPJHND: TStringField;
Qry_JJNFPJHDWDM: TStringField;
Qry_JJNFPJHZT: TStringField;
Qry_JJNFPJHZBR: TStringField;
Qry_JJNFPJHPZR: TStringField;
Qry_JJNFPJHZDRQ: TDateTimeField;
Qry_JJNFPJHBZ: TStringField;
Qry_JJNFPJHDWMC: TStringField;
Qry_JHFPCSHBJHH: TStringField;
Qry_JHFPCSHBJHFXL: TFloatField;
Qry_JJNFPJHJHFPZS: TFloatField;
Qry_JJNFPJHYPMC: TStringField;
Qry_JJNFPJHDW: TStringField;
Qry_JJNFPJHSDATE: TDateTimeField;
Qry_JHFPCSHBYPMC: TStringField;
Qry_JHFPCSHBND: TStringField;
XttxTitle: TRxLabel;
BBt_Print: TBitBtn;
BBt_Send: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure Act_AddDWExecute(Sender: TObject);
procedure NDChange(Sender: TObject);
procedure DBG_JHFPCSHBCellClick(Column: TColumn);
procedure Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
procedure Qry_JJNFPJHJHFPZTSSetText(Sender: TField;
const Text: string);
procedure Act_DeleteDWExecute(Sender: TObject);
procedure Qry_JJNFPJHJHFPZSSetText(Sender: TField; const Text: string);
procedure BBt_AddFPJHClick(Sender: TObject);
procedure BBt_DeleteFPJHClick(Sender: TObject);
procedure BBt_ModifyClick(Sender: TObject);
procedure BBt_SaveClick(Sender: TObject);
procedure BBt_CancelClick(Sender: TObject);
procedure BBt_SendClick(Sender: TObject);
procedure BBt_PrintClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
SYZTS: Integer;
procedure PS_SetStatus(Value: Boolean);
procedure PS_CaculSYZTS(JHH: string);
{ Private declarations }
public
{ Public declarations }
end;
var
FrmY_NDFPJHZD: TFrmY_NDFPJHZD;
implementation
uses
pub, SY_CKJHDZD_XZDW, SY_DataSend, 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 := '';
{ YzppSel_fx.SQL.Text := 'SELECT JHH Tdm, xh zh, TMC TJC, b.mc FROM TF_PFXJHTAO a, TG_YZPPTZDM b ' +
'where a.TZDM = b.TZDM(+) and a.ND=''' + ND.Text + '''';
YzppSel_fx.Open;
}
with Qry_JHFPCSHB do
begin
Close;
SQL.Clear;
SQL.Add('select JHH,TMC YPMC,JHFXL,ND from TF_YPFXJHTAO ');
SQL.Add('where ND =''' + IntToStr(ND.Value) + '''');
SQL.Add('order by JHH ');
Open;
end;
DBG_JHFPCSHBCellClick(nil);
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('YPMC').AsString;
end;
FrmY_CKJHDZD_XZDW := TFrmY_CKJHDZD_XZDW.Create(nil);
with FrmY_CKJHDZD_XZDW do
begin
Caption := '为 <<' + Qry_JHFPCSHB.FieldByName('YPMC').AsString + '>> 票品选择单位';
DBGrid1.Options := DBGrid1.Options + [dgMultiSelect];
Qry_Static.Close;
Qry_Static.SQL.Text := Qry_Static.SQL[0] + ' WHERE JYYW=''1'' and FHDX=''1'' and ZJXJ=''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('YPMC').AsString := V_PPMC;
Qry_JJNFPJH.FieldByName('BZ').AsString := '';
Qry_JJNFPJH.FieldByName('ZT').AsString := CG_WCL;
Qry_JJNFPJH.FieldByName('JHFPZS').AsInteger := 0;
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.PS_SetStatus(Value: Boolean);
begin
BBt_AddDW.Enabled := not Value;
BBt_DeleteDW.Enabled := not Value;
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_JJNFPJH.ReadOnly := Value;
DBG_JHFPCSHB.Enabled := Value;
end;
procedure TFrmY_NDFPJHZD.DBG_JHFPCSHBCellClick(Column: TColumn);
begin
PS_CaculSYZTS(Qry_JHFPCSHB.FieldByName('JHH').AsString);
with Qry_JJNFPJH do
begin
Close;
SQL.Clear;
SQL.Add('select JHH, ND, a.DWDM, YPMC, DW, JHFPZS, ZT, ZBR, PZR, ZDRQ, a.BZ, SDATE ');
SQL.Add('from TY_YPFPJH a, TGS_GXDWSJB b');
SQL.Add('where a.DWDM=b.DWDM and JHH = ''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''' order by PXM');
Open;
end;
with Qry_JJNXQB do
begin
Close;
SQL.Clear;
SQL.Add('select SQDWDM, XQZTS, YDTS, LSTS from TY_YPZDB a, TGS_GXDWSJB b');
SQL.Add('where a.SQDWDM=b.DWDM and ND=''' + IntToStr(ND.Value) + '''');
SQL.Add('and JHH = ''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''' order by PXM');
Open;
end;
E_PPMC.Text := Qry_JHFPCSHB.FieldByName('YPMC').AsString;
end;
procedure TFrmY_NDFPJHZD.PS_CaculSYZTS(JHH: string);
begin
SYZTS := 0;
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('select JHFXL from TF_YPFXJHTAO ');
SQL.Add('where JHH= ''' + JHH + '''');
Open;
SYZTS := FieldS[0].AsInteger;
Close;
SQL.Clear;
SQL.Add('Select SUM(JHFPZS) from TY_YPFPJH');
SQL.Add('where JHH =''' + JHH + '''');
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.Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
begin
SYZTS := SYZTS + Qry_JJNFPJH.FieldByName('JHFPZS').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.Qry_JJNFPJHJHFPZTSSetText(Sender: TField;
const Text: string);
var
TextValue: Integer;
begin
try
TextValue := StrToInt(Text);
except
CHQMsgBox('输入有误,可能输入数值过大,请重新输入!');
Exit;
end;
if TextValue < 0 then
begin
CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
Exit;
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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -