udwxx.pas

来自「行业应急系统 包括: 应急系统(待遇核发) 发放系统 开」· PAS 代码 · 共 673 行 · 第 1/2 页

PAS
673
字号
unit uDWXX;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  uInfoTemp, StdCtrls, Mask, DBCtrls, ImgList, DBActns, ActnList, Menus,
  ExtCtrls, wwdblook, Db, DBTables, wwdbdatetimepicker, ComCtrls,  Tabs, Grids, DBGrids, Provider,
  DBClient, uDwxxFrame, uRyxxFrame, Wwdbigrd, Wwdbgrid, DBGridEh;

type
  TfrmDWXX = class(TfrmInfoTemp)
    Panel2: TPanel;
    TabSet1: TTabSet;
    splLeft: TSplitter;
    qryMaster: TQuery;
    qryMasterDWID_FF: TStringField;
    qryMasterDWID: TStringField;
    qryMasterDWDM: TStringField;
    qryMasterDWMC: TStringField;
    qryMasterFRDB: TStringField;
    qryMasterDWJBR: TStringField;
    qryMasterLXDH: TStringField;
    qryMasterDWDZ: TStringField;
    qryMasterSHHFFSJ: TDateTimeField;
    qryMasterSJDWDM: TStringField;
    qryMasterJBR: TStringField;
    qryMasterJBRQ: TDateTimeField;
    qryMasterSHR: TStringField;
    qryMasterSHRQ: TDateTimeField;
    souMaster: TDataSource;
    sqlMaster: TUpdateSQL;
    souRYXX: TDataSource;
    qryRYXX: TQuery;
    qryRYXXRYID_FF: TStringField;
    qryRYXXDWID_FF: TStringField;
    qryRYXXRYID: TStringField;
    qryRYXXXM: TStringField;
    qryRYXXSFZH: TStringField;
    qryRYXXHDJE: TFloatField;
    qryRYXXFFFS: TFloatField;
    qryRYXXFFJGID: TStringField;
    qryRYXXDJQK: TFloatField;
    qryRYXXZH: TStringField;
    qryRYXXKHH: TStringField;
    qryRYXXHB: TFloatField;
    qryRYXXSKR: TStringField;
    qryRYXXHRDD: TStringField;
    qryRYXXYZBM: TStringField;
    qryRYXXDZ: TStringField;
    qryRYXXFFJE: TFloatField;
    qryRYXXLJFFJE: TFloatField;
    qryRYXXFFZQ: TFloatField;
    qryRYXXRYZT: TFloatField;
    qryRYXXKSFFYF: TDateTimeField;
    qryRYXXCSRQ: TDateTimeField;
    qryRYXXTXSJ: TDateTimeField;
    qryRYXXTXLB: TFloatField;
    qryRYXXXM_QS: TStringField;
    qryRYXXSFZH_QS: TStringField;
    qryRYXXGX_QS: TFloatField;
    qryRYXXLXDH_QS: TStringField;
    qryRYXXLXDZ_QS: TStringField;
    qryRYXXYZBM_QS: TStringField;
    qryRYXXYYFWSJ: TFloatField;
    qryRYXXSKFWRQ: TFloatField;
    qryRYXXSKFWSJ: TFloatField;
    qryRYXXBZ: TStringField;
    qryRYXXJBR: TStringField;
    qryRYXXJBRQ: TDateTimeField;
    qryRYXXSHR: TStringField;
    qryRYXXSHRQ: TDateTimeField;
    mnuMaster: TPopupMenu;
    actMaster: TActionList;
    actNewDWXX: TAction;
    actEditDWXX: TAction;
    actDeleteDWXX: TAction;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    actNewRYXX: TAction;
    N5: TMenuItem;
    sqlRYXX: TUpdateSQL;
    pnlEdit: TPanel;
    frmDWXXEdit: TframeDwxx;
    chkSingle: TCheckBox;
    frmRyxxEdit: TFrameRyxx;
    souTemp: TDataSource;
    qryTemp: TQuery;
    qryTempDWID_FF: TStringField;
    qryTempFFRQ: TDateTimeField;
    qryTempRS_GH: TFloatField;
    qryTempJE_GH: TFloatField;
    qryTempRS_NH: TFloatField;
    qryTempJE_NH: TFloatField;
    qryTempRS_ZH: TFloatField;
    qryTempJE_ZH: TFloatField;
    qryTempRS_JH: TFloatField;
    qryTempJE_JH: TFloatField;
    qryTempRS_JT: TFloatField;
    qryTempJE_JT: TFloatField;
    qryTempRS_YC: TFloatField;
    qryTempJE_YC: TFloatField;
    qryTempRS_YJ: TFloatField;
    qryTempJE_YJ: TFloatField;
    qryTempZRS: TFloatField;
    qryTempZJE: TFloatField;
    qryRYXXSSDWID: TStringField;
    qryRYXXLXDH: TStringField;
    qryMasterSSDWID: TStringField;
    actNewGroup: TAction;
    qryRYXXHB_C: TStringField;
    qryRYXXFFFS_C: TStringField;
    qryRYXXDJQK_C: TStringField;
    qryRYXXFFJGID_C: TStringField;
    grdMain: TDBGridEh;
    qryRYXXFFZQ_C: TStringField;
    qryMasterSSHY: TFloatField;
    qryMasterZH: TStringField;
    qryMasterKHMC: TStringField;
    qryMasterYZBM: TStringField;
    treDW: TTreeView;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormShow(Sender: TObject);
    procedure TabSet1Change(Sender: TObject; NewTab: Integer;
      var AllowChange: Boolean);
    procedure qryMasterBeforeDelete(DataSet: TDataSet);
    procedure qryMasterAfterPost(DataSet: TDataSet);
    procedure qryMasterAfterInsert(DataSet: TDataSet);
    procedure actNewDWXXExecute(Sender: TObject);
    procedure actEditDWXXExecute(Sender: TObject);
    procedure treDWDblClick(Sender: TObject);
    procedure actDeleteDWXXExecute(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormDeactivate(Sender: TObject);
    procedure chkSingleClick(Sender: TObject);
    procedure qryMasterBeforePost(DataSet: TDataSet);
    procedure qryRYXXAfterInsert(DataSet: TDataSet);
    procedure qryRYXXAfterPost(DataSet: TDataSet);
    procedure qryRYXXBeforePost(DataSet: TDataSet);
    procedure qryMasterBeforeInsert(DataSet: TDataSet);
    procedure treDWExpanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    procedure treDWClick(Sender: TObject);
  private
    { Private declarations }
    procedure ShowEdit(TabOrder: Integer);
  public
    { Public declarations }
    procedure pTreeRefresh;
  end;

var
  frmDWXX: TfrmDWXX;
  //新增时暂存变量
  //所属单位ID
  strSSDWID: string;
  //上级单位ID
  strSJDWID: string;
  //行业
  strSSHY: string;


implementation

uses dMain, uCommon, uMain;

{$R *.DFM}

procedure TfrmDWXX.FormShow(Sender: TObject);
begin
  inherited;
  //显示单位组织表
  pTreeRefresh;
  qryMaster.Open;
  frmDWXXEdit.Show;
end;

procedure TfrmDWXX.TabSet1Change(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
begin
  inherited;
  ShowEdit(NewTab);
end;

procedure TfrmDWXX.qryMasterBeforeDelete(DataSet: TDataSet);
begin
  inherited;
  if gfShowQuestion('是否删除该单位信息') <> IDOK then
    Abort;

end;

procedure TfrmDWXX.qryMasterAfterPost(DataSet: TDataSet);
begin
  inherited;
  TQuery(DataSet).ApplyUpdates;
  TQuery(DataSet).CommitUpdates;
end;

procedure TfrmDWXX.qryMasterAfterInsert(DataSet: TDataSet);
begin
  inherited;
  //单位ID
  TQuery(DataSet).FieldByName('DWID_FF').AsString :=
    gfGetNumber('tFF_DWXX');

  if strSSDWID = '' then //如果是创建单位
  begin
    //默认上级单位
    TQuery(DataSet).FieldByName('SJDWDM').AsString := '0';
    //所属单位ID为当前单位
    TQuery(DataSet).FieldByName('SSDWID').AsString :=
      TQuery(DataSet).FieldByName('DWID_FF').AsString;
  end
  else //如果是创建组
  begin
    //默认上级单位
    TQuery(DataSet).FieldByName('SJDWDM').AsString :=
      strSJDWID;
    //所属单位ID为当前单位
    TQuery(DataSet).FieldByName('SSDWID').AsString :=
      strSSDWID;
    TQuery(DataSet).FieldByName('SSHY').AsString :=
      strSSHY;
  end;


end;

procedure TfrmDWXX.actNewDWXXExecute(Sender: TObject);
begin
  //显示
//  qryMaster.Insert;
end;

procedure TfrmDWXX.actEditDWXXExecute(Sender: TObject);
begin
  //  qryMaster.Edit;
end;

procedure TfrmDWXX.treDWDblClick(Sender: TObject);
begin
  inherited;
  actEditDWXX.Execute;
end;

procedure TfrmDWXX.actDeleteDWXXExecute(Sender: TObject);
begin
  inherited;
  qryMaster.Delete;
end;

procedure TfrmDWXX.FormActivate(Sender: TObject);
begin
  inherited;
  ShowEdit(TabSet1.TabIndex);
end;

procedure TfrmDWXX.FormDeactivate(Sender: TObject);
begin
  inherited;
  frmDWXXEdit.Stop;
end;

procedure TfrmDWXX.ShowEdit(TabOrder: Integer);
begin
  //显示状态

  case TabOrder of
    0: //单位信息
      begin
        frmMain.souMain.DataSet := qryMaster;
        frmDWXXEdit.Start(qryMaster);
        frmRYXXEdit.Stop;

        grdMain.DataSource := souMaster;
        qryRYXX.DataSource := nil;

        if chkSingle.Checked then
        begin
          frmDWXXEdit.souDWXX.DataSet := qryMaster;

          pnlEdit.Visible := True;
          frmDWXXEdit.Visible := True;
          frmRYXXEdit.Visible := False;

          grdMain.Visible := False;
        end
        else
        begin
          frmDWXXEdit.souDWXX.DataSet := nil;

          pnlEdit.Visible := False;
          frmDWXXEdit.Visible := False;
          frmRYXXEdit.Visible := False;

          grdMain.Visible := True;
        end;
      end;
    1: //人员信息
      begin
        frmMain.souMain.DataSet := qryRYXX;
        qryRYXX.DataSource := SouMaster;

        frmDWXXEdit.Stop;
        frmRYXXEdit.Start(qryRYXX);


        if not qryRYXX.Active then
          qryRYXX.Active := True;

        if chkSingle.Checked then
        begin
          frmRYXXEdit.souRYXX.DataSet := qryRYXX;
          grdMain.DataSource := nil;

          pnlEdit.Visible := True;
          frmRYXXEdit.Visible := True;
          frmDWXXEdit.Visible := False;

          grdMain.Visible := False;
        end
        else
        begin
          frmRYXXEdit.souRYXX.DataSet := nil;
          grdMain.DataSource := souRYXX;

          pnlEdit.Visible := False;
          frmRYXXEdit.Visible := False;
          frmDWXXEdit.Visible := False;

          grdMain.Visible := True;
        end;
      end;

⌨️ 快捷键说明

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