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

📄 sy_ndfpjhzd_lm.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:

{*******************************************************}
{                                                       }
{               纪特零枚年度分配计划制定                }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{               编制:中软金马项目开发组                }
{                                                       }
{                                                       }
{*******************************************************}
(*
本模块在省级零枚票管理模块 计划管理部分的纪特零枚年度分配计划制定菜单调用。
*)

unit SY_NDFPJHZD_LM;

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_LM = 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_ModifyFPJH: TAction;
    Act_Print: TAction;
    Act_Save: TAction;
    Act_Cancel: TAction;
    Panel2: TPanel;
    Qry_JHFPCSHB: TQuery;
    DataSource1: TDataSource;
    Qry_JJNXQB: TQuery;
    DataSource2: TDataSource;
    Act_AddFPJH: TAction;
    Act_DeleteFPJH: TAction;
    Qry_Static: TQuery;
    XttxTitle: TRxLabel;
    BBt_Print: TBitBtn;
    BBt_Send: TBitBtn;
    Qry_JJNFPJH: TQuery;
    DataSource3: TDataSource;
    UpdateSQL1: TUpdateSQL;
    Panel4: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    Panel6: TPanel;
    DBG_JHFPCSHB: TDBGrid;
    Label7: TLabel;
    Panel7: TPanel;
    Splitter1: TSplitter;
    Label8: TLabel;
    DBG_JJNXQB: TDBGrid;
    Panel8: TPanel;
    Splitter2: TSplitter;
    DBG_JJNFPJH: TRxDBGrid;
    Label9: TLabel;
    Label2: TLabel;
    E_SYZTS: TCurrencyEdit;
    Edt_ypmc: TEdit;
    Label1: TLabel;
    Qry_JJNXQBSQDWDM: TStringField;
    Qry_JJNXQBXQZTS: TFloatField;
    Qry_JJNFPJHJHH: TStringField;
    Qry_JJNFPJHTX: TFloatField;
    Qry_JJNFPJHDWDM: TStringField;
    Qry_JJNFPJHND: TStringField;
    Qry_JJNFPJHPPMC: TStringField;
    Qry_JJNFPJHJHFPZTS: TFloatField;
    Qry_JJNFPJHZT: TStringField;
    Qry_JJNFPJHZBR: TStringField;
    Qry_JJNFPJHPZR: TStringField;
    Qry_JJNFPJHZDRQ: TDateTimeField;
    Qry_JJNFPJHBZ: TStringField;
    Qry_JJNFPJHSDATE: TDateTimeField;
    Qry_JHFPCSHBJHH: TStringField;
    Qry_JHFPCSHBPPMC: TStringField;
    Qry_JHFPCSHBTX: TFloatField;
    Qry_JHFPCSHBJHFPZTS: TFloatField;
    Qry_JHFPCSHBXH: TStringField;
    Qry_JJNXQBDWJC: TStringField;
    Qry_JJNFPJHDWJC: TStringField;
    procedure FormCreate(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 BBt_SendClick(Sender: TObject);
    procedure Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
    procedure Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
    procedure DBG_JJNFPJHKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Edt_ypmcKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Qry_JJNFPJHBeforeInsert(DataSet: TDataSet);
    procedure Qry_JJNFPJHAfterScroll(DataSet: TDataSet);
    procedure Qry_JHFPCSHBFilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
  private
    V_S_locPPMC: string;
    SYZTS: Integer;
    SS: string;
    procedure PS_SetStatus(Value: Boolean);
    procedure PS_CaculSYZTS(AJHH, ATX: string);
    function CheckExit(): boolean;
    procedure DoAppFPJH;
  public
    { Public declarations }
  end;

var
  FrmY_NDFPJHZD_LM: TFrmY_NDFPJHZD_LM;

implementation

uses
  Datas,Pub, SY_DataSend, SY_NDFPJHZD_RPT{, SY_CKJHDZD_XZDW};

{$R *.DFM}

procedure TFrmY_NDFPJHZD_LM.FormCreate(Sender: TObject);
begin
  DWMC.Caption := '使用单位:' + VG_UnitName;
  ND.Value := VG_Year;
  PS_SetStatus(True);
  GetAllColWidth(self);
end;

procedure TFrmY_NDFPJHZD_LM.NDChange(Sender: TObject);
begin
  E_SYZTS.Text := '';
  Qry_JJNXQB.Close;
  Qry_JJNFPJH.Close;
  Qry_JHFPCSHB.Close;
  Qry_JHFPCSHB.Params[0].AsString := ND.Text;
  Qry_JHFPCSHB.Open;
end;


procedure TFrmY_NDFPJHZD_LM.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_LM '
    + ' where JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and TX=''' + Qry_JHFPCSHB.FieldByName('TX').AsString + ''' and SDATE Is not 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 := '1';
    Params[1].AsString := '1';
    Open;
  end;
  DoAppFPJH;
end;

procedure TFrmY_NDFPJHZD_LM.DoAppFPJH;
begin
  try
    Qry_JJNXQB.First;
    if not Qry_JJNXQB.Eof then
      with Qry_JJNXQB do
      begin
        Qry_JJNFPJH.BeforeInsert := nil;
        DisableControls;
        First;
        while not Eof do
        begin
{          VG_SQLWhere := 'select JHH from TY_JJNFPJH_LM '
            + ' where JHH =''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
            + ' and TX=''' + Qry_JHFPCSHB.FieldByName('TX').AsString
            + ''' and DWDM =''' + Qry_JJNXQB.FieldByName('SQDWDM').AsString + '''';
          if PY_IsExist(VG_SQLWhere) then}
          if Qry_JJNFPJH.Locate('DWDM', Qry_JJNXQB.FieldByName('SQDWDM').AsString, []) then
          begin
            Next;
            Continue;
          end;
          with Qry_JJNFPJH do
          begin
            Append;
            FieldByName('JHH').AsString := Qry_JHFPCSHB.FieldByName('JHH').AsString;
            FieldByName('TX').AsString := Qry_JHFPCSHB.FieldByName('TX').AsString;
            FieldByName('ND').AsString := ND.Text;
            FieldByName('DWDM').AsString := Qry_JJNXQB.FieldByName('SQDWDM').AsString;
            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('JHFPZTS').AsInteger := Qry_JJNXQB.FieldByName('XQZTS').AsInteger;
            FieldByName('DWJC').AsString := Qry_JJNXQB.FieldByName('DWJC').AsString;
            SYZTS := SYZTS - Qry_JJNFPJH.FieldByName('JHFPZTS').AsInteger;
            Post;
          end;
          Next;
        end;
        EnableControls;
        Qry_JJNFPJH.First;
        Qry_JJNFPJH.BeforeInsert := Qry_JJNFPJHBeforeInsert;
      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_LM.Act_DeleteFPJHExecute(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then
  begin
    CHQMsgBox('没有可删除的分配计划!');
    Exit;
  end;

  VG_SQLWhere := 'select JHH from TY_JJNFPJH_LM '
    + ' where JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and TX=''' + Qry_JHFPCSHB.FieldByName('TX').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_LM '
    + ' where JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and TX=''' + Qry_JHFPCSHB.FieldByName('TX').AsString + ''' and SDate is not NULL';

  if PY_IsExist(VG_SQLWhere) then
  begin
    SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配计划已发送!';
    CHQMsgBox(Pchar(SS));
    Exit;
  end;

  if CHQMsgBox('确定要删除分配计划吗?', 2) = IDNo then
    exit;

  try
    with Qry_JJNFPJH do
    begin
      First;
      while not EOF do
        Delete;
    end;
    Act_SaveExecute(nil);
  except
    Act_CancelExecute(nil);
  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_LM.Act_ModifyFPJHExecute(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then
  begin
    CHQMsgBox('没有可修改的分配计划!');
    Exit;
  end;

  VG_SQLWhere := 'select JHH from TY_JJNFPJH_LM '
    + ' where JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and TX=''' + Qry_JHFPCSHB.FieldByName('TX').AsString
    + ''' and ZT=''' + CG_YCL + '''';

  if PY_IsExist(VG_SQLWhere) then
  begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -