⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy_ckjhdzd_xd.pas

📁 省级集邮品管理ERP
💻 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 + -