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

📄 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, 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 + -