📄 sy_ckjhdzd_xd.pas
字号:
{*******************************************************}
{ }
{ 做分配单向导 }
{ }
{ 中软金马公司版权所有。2002.12前 }
{ }
{ 编制:中软金马邮资票品项目开发组 }
{ }
{ }
{*******************************************************}
(*
本模块在省级集邮品系统管理模块里面单品种多去向调用。
修改记录
修改用于销价进价结算价的显示小数点后扩到3位 将Qry_YZPPTXXB进价销价结算价显示调用的CurrGetText替换为CurrGetText3 jhshao 2003.05.08
*)
unit SY_CKJHDZD_XD;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, DBGrids, ComCtrls, Db, DBTables, ExtCtrls, Spin,
Mask, ToolEdit, CurrEdit, GIFImage, RXCtrls, FieldComboBox;
type
TFrmY_CKJHDZD_XD = class(TForm)
DS_YZPPTXXB: TDataSource;
BBt_Next: TBitBtn;
BBt_Prior: TBitBtn;
BBt_Quit: TBitBtn;
Qry_JJNFPJH: TQuery;
DS_JJNFPJH: TDataSource;
Qry_GXDWSJB: TQuery;
Qry_JJNFPJHDWDM: TStringField;
Qry_JJNFPJH1: TQuery;
StringField3: TStringField;
StringField4: TStringField;
DS_JJNFPJH1: TDataSource;
BBt_Over: TBitBtn;
CP_XD: TPageControl;
TS_1: TTabSheet;
TS_2: TTabSheet;
DBG_JJNFPJH: TDBGrid;
DBG_JJNFPJH1: TDBGrid;
RG_QKXZ: TRadioGroup;
GB_ZTS: TGroupBox;
E_ZTS: TCurrencyEdit;
Label2: TLabel;
Qry_JJNFPJHDATA: TFloatField;
Qry_Static: TQuery;
TS_3: TTabSheet;
RxLabel1: TRxLabel;
Image1: TImage;
Qry_JJNFPJHDWMC: TStringField;
GroupBox3: TGroupBox;
DBG_YZPPTXXB: TDBGrid;
Label1: TLabel;
Qry_KFB: TQuery;
Qry_KFBKFDM: TStringField;
Qry_KFBKFMC: TStringField;
GroupBox1: TGroupBox;
CB_LX: TCheckBox;
CB_YD: TCheckBox;
CB_NC: TCheckBox;
CB_YP: TCheckBox;
GroupBox2: TGroupBox;
CE_BFB: TCurrencyEdit;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
CB_KFB: TFieldComboBox;
Qry_YZPPTXXB: TQuery;
Qry_YZPPTXXBZH: TStringField;
Qry_YZPPTXXBPPMC: TStringField;
Qry_YZPPTXXBPPDM: TStringField;
Qry_YZPPTXXBKFDM: TStringField;
Qry_YZPPTXXBKWH: TStringField;
Qry_YZPPTXXBJJ: TFloatField;
Qry_YZPPTXXBYJ: TFloatField;
Qry_YZPPTXXBXJ: TFloatField;
Qry_YZPPTXXBTS: TFloatField;
Qry_YZPPTXXBBZ: TStringField;
Qry_YZPPTXXBKFMC: TStringField;
Qry_YZPPTXXBZK: TFloatField;
Qry_YZPPTXXBJSJ: TFloatField;
procedure BBt_NextClick(Sender: TObject);
procedure BBt_PriorClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RG_QKXZClick(Sender: TObject);
procedure E_ZTSKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure CB_KFBChange(Sender: TObject);
procedure Qry_JJNFPJH1AfterScroll(DataSet: TDataSet);
procedure Qry_YZPPTXXBJJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Edit1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmY_CKJHDZD_XD: TFrmY_CKJHDZD_XD;
implementation
uses
pub;
{$R *.DFM}
procedure TFrmY_CKJHDZD_XD.BBt_NextClick(Sender: TObject);
begin
CP_XD.ActivePageIndex := CP_XD.ActivePageIndex + 1;
if CP_XD.ActivePageIndex = 1 then
begin
if Qry_YZPPTXXB.IsEmpty then
begin
CP_XD.ActivePageIndex := 0;
CHQMsgBox('请选择票品!');
Exit;
end;
RG_QKXZClick(nil);
end;
BBt_Over.Visible := False;
if CP_XD.ActivePageIndex = 2 then
begin
BBt_Next.Enabled := False;
BBt_Over.Visible := True;
end;
BBt_Prior.Enabled := True;
end;
procedure TFrmY_CKJHDZD_XD.BBt_PriorClick(Sender: TObject);
begin
CP_XD.ActivePageIndex := CP_XD.ActivePageIndex - 1;
BBt_Over.Visible := False;
BBt_Next.Enabled := True;
if CP_XD.ActivePageIndex = 0 then
BBt_Prior.Enabled := False;
end;
procedure TFrmY_CKJHDZD_XD.FormCreate(Sender: TObject);
begin
CP_XD.ActivePageIndex := 0;
with Qry_JJNFPJH1 do
begin
Close;
SQL.Clear ;
SQL.Add ('SELECT DISTINCT JHH,YPMC PPMC FROM TY_YPFPJH ');
SQL.Add ('order by JHH DESC ');
Open;
end;
CB_KFB.OnChange := nil;
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('select distinct A.KFMC,A.KFDM from TGS_KFB A,TGS_KFRYDZB B,TYS_YPPKC C ');
SQL.Add('where A.KFDM=B.KFDM and A.KFDM=C.KFDM and B.YGDM=''' + VG_UserID + '''');
Open;
while not Eof do
begin
CB_KFB.Items.Add(Fields[0].AsString);
CB_KFB.FieldItems.Add(Fields[1].AsString);
Next;
end;
end;
CB_KFB.OnChange := CB_KFBChange;
if CB_KFB.Items.Count > 0 then
CB_KFB.ItemIndex := 0;
RG_QKXZClick(nil);
CB_KFBChange(nil);
GetAllColWidth(self);
end;
procedure TFrmY_CKJHDZD_XD.RG_QKXZClick(Sender: TObject);
begin
if RG_QKXZ.ItemIndex = 0 then
begin
with Qry_JJNFPJH1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DISTINCT JHH,YPMC PPMC FROM TY_YPFPJH');
SQL.Add('order by JHH ');
Open;
end;
end
else
begin
with Qry_JJNFPJH1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DISTINCT CKJHDH AS JHH, PPMC FROM TYS_YPCKJHDPPB');
SQL.Add('where CKJHDH LIKE ''PN%'' ');
SQL.Add('order by CKJHDH ');
Open;
Qry_JJNFPJH1AfterScroll(nil);
end;
end;
end;
procedure TFrmY_CKJHDZD_XD.E_ZTSKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
V_ZTS: Integer;
begin
if Key = Vk_Return then
begin
if RG_QKXZ.ItemIndex = 0 then
begin //分配计划
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SUM(JHFPZS) FROM TY_YPFPJH');
SQL.Add('where JHH=''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
SQL.Add('and DWDM <> ''' + VG_UnitID + '''');
Open;
V_ZTS := Fields[0].AsInteger;
Close;
end;
with Qry_JJNFPJH do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DWDM,Trunc(JHFPZS/(:FPZTS)*(:TZTS)) AS DATA FROM TY_YPFPJH');
SQL.Add('where JHH=''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
SQL.Add('and DWDM <> ''' + VG_UnitID + '''');
SQL.Add('order by DWDM ');
Prepare;
Params[0].AsInteger := V_ZTS;
Params[1].AsInteger := TRUNC(E_ZTS.Value);
Open;
end;
end
else
begin //分配单
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SUM(FPSL) FROM TYS_YPCKJHDPPB ');
SQL.Add('where CKJHDH =''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
Open;
V_ZTS := Fields[0].AsInteger;
Close;
end;
with Qry_JJNFPJH do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DWDM,Trunc(FPSL/(:FPZTS)*(:TZTS)) AS DATA FROM TYS_YPCKJHDPPB');
SQL.Add('where CKJHDH =''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
SQL.Add('order by DWDM ');
Prepare;
Params[0].AsInteger := V_ZTS;
Params[1].AsInteger := TRUNC(E_ZTS.Value);
Open;
end;
end;
end;
end;
procedure TFrmY_CKJHDZD_XD.CB_KFBChange(Sender: TObject);
begin
{ with Qry_YZPPTXXB do
begin
Close;
SQL.Clear;
SQL.Add('SELECT A.ZH ZH ,A.TMC PPMC ,A.JHH JHH , ');
SQL.Add('B.PPDM,B.KFDM,B.KWH,B.JJ,B.ZK,B.JSJ,B.YJ ,B.XJ,B.TS,B.BZ ');
SQL.Add('FROM TB_YZPPTXXB A,TYS_JYPPKC B WHERE A.TDM=B.PPDM AND B.TS >0 ');
SQL.Add('AND B.KFDM=''' + CB_KFB.FieldString + '''');
SQL.Add('order by B.KFDM ,A.ZH ');
Open;
end; }
with Qry_YZPPTXXB do
begin
Close;
SQL.Clear;
SQL.Add('SELECT A.ZH, A.MC PPMC, B.PPDM, B.KFDM, B.KWH, B.JJ, B.YJ, B.XJ, B.TS, B.BZ, B.ZK, B.JSJ ');
SQL.Add('FROM TB_JYPTXXB A,(' + yp_llkc + ') B WHERE A.TDM=B.PPDM AND B.TS >0 ');
SQL.Add('AND B.KFDM=''' + CB_KFB.FieldString + '''');
SQL.Add('order by B.KFDM ,A.ZH ');
Open;
end;
end;
procedure TFrmY_CKJHDZD_XD.Qry_JJNFPJH1AfterScroll(DataSet: TDataSet);
begin
if RG_QKXZ.ItemIndex = 0 then
begin //分配计划
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SUM(JHFPZS) FROM TY_YPFPJH');
SQL.Add('where JHH=''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
SQL.Add('and DWDM <> ''' + VG_UnitID + '''');
Open;
if not Eof then
E_ZTS.Value := Fields[0].AsInteger;
Close;
end;
with Qry_JJNFPJH do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DISTINCT a.DWDM, a.JHFPZS AS DATA, PXM FROM TY_YPFPJH a, TGS_GXDWSJB b');
SQL.Add('where a.JHH=''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
SQL.Add('and a.DWDM <> ''' + VG_UnitID + ''' and a.DWDM=b.DWDM');
SQL.Add('order by PXM ');
Open;
end;
end
else
begin //分配单
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SUM(FPSL) FROM TYS_YPCKJHDPPB ');
SQL.Add('where CKJHDH =''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
Open;
if not Eof then
E_ZTS.Value := Fields[0].AsInteger;
Close;
end;
with Qry_JJNFPJH do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DWDM, FPSL AS DATA FROM TYS_YPCKJHDPPB ');
SQL.Add('where CKJHDH=''' + Qry_JJNFPJH1.FieldByName('JHH').AsString + '''');
SQL.Add('order by DWDM ');
Open;
end;
end;
end;
procedure TFrmY_CKJHDZD_XD.Qry_YZPPTXXBJJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
{修改,销价进价结算价显示小数点后3位 原来调用的CurrGetText替换为CurrGetText3 jhshao 2003.05.08}
CurrGetText3(Sender, Text, DisplayText);
end;
procedure TFrmY_CKJHDZD_XD.Edit1Change(Sender: TObject);
begin
if Edit1.Text <> '' then
Qry_YZPPTXXB.Locate('ZH', Edit1.Text, [loCaseInsensitive, loPartialKey]);
end;
procedure TFrmY_CKJHDZD_XD.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
SaveAllColWidth(self);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -