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

📄 udwpjgz.pas

📁 行业应急系统 包括: 应急系统(待遇核发) 发放系统 开发环境:Delphi5 (sp1)+ Oracle 8.05 MultiExport是一个可以将数据按指定字段倒出
💻 PAS
字号:
unit uDWPJGZ;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  uInputTemp, ExtCtrls, StdCtrls, Menus, DBTables, Db, Wwdatsrc, Wwquery,
  ImgList, ActnList, wwSpeedButton, wwDBNavigator, wwclearpanel, ComCtrls,
  Buttons, Grids, DBGrids, Mask, DBCtrls;

type
  TfrmDWPJGZ = class(TfrmInputTemp)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    qryTempDWID: TStringField;
    qryTempND: TFloatField;
    qryTempNPJGZ: TFloatField;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    LabelDWMC: TLabel;
    tabCX: TTabSheet;
    Panel3: TPanel;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    Bevel2: TBevel;
    grdCX: TDBGrid;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    btnCXDWDM: TSpeedButton;
    btnCXND: TSpeedButton;
    btnCXNPJGZ: TSpeedButton;
    edtDWDM: TEdit;
    edtND: TEdit;
    edtNPJGZ: TEdit;
    Label8: TLabel;
    lblDWDM: TLabel;
    souND: TDataSource;
    qryND: TQuery;
    Label9: TLabel;
    Label10: TLabel;
    DBEdit1: TDBEdit;
    DBEdit4: TDBEdit;
    qryTempXNDTXBZ: TFloatField;
    qryTempXNDLXBZ: TFloatField;
    Label11: TLabel;
    Label12: TLabel;
    Panel4: TPanel;
    Memo1: TMemo;
    procedure FormShow(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure actSaveExecute(Sender: TObject);
    procedure actInsertExecute(Sender: TObject);
    procedure btnCXNDClick(Sender: TObject);
    procedure btnCXNPJGZClick(Sender: TObject);
    procedure actDeleteExecute(Sender: TObject);
  private
    { Private declarations }
  public
    procedure pTreeRefresh1;
    procedure pStringListRefresh;
    { Public declarations }
  end;

var
  frmDWPJGZ: TfrmDWPJGZ;
  lstUserInfo1, lstUserInfo2, lstUserInfo3: TstringList;
implementation

uses dMain, uCommon;

{$R *.DFM}

procedure TfrmDWPJGZ.pStringListRefresh;
var
  qrytest: TQuery;

begin
  qrytest := TQuery.Create(Self);
  qrytest.DatabaseName := dfmMain.dbsMain.DatabaseName;
  //打开查询
  //建立单位代码、单位名称、ID之间的联系
  qrytest.Sql.Clear;
  qrytest.Sql.Add('select * from tDWXX order by DWID ');
  qrytest.Open;
  qrytest.First;
  while not qrytest.Eof do begin
    lstUserInfo1.Add(qrytest.FieldByName('DWID').AsString);
    lstUserInfo2.Add(qrytest.FieldByName('DWDM').AsString);
    lstUserInfo3.Add(qrytest.FieldByName('DWMC').AsString);
    qrytest.Next;
  end;

end;

procedure TfrmDWPJGZ.pTreeRefresh1;
var
  qryDWINFO: TQuery;
  //  i: Integer;
  RootNode: TTreeNode;
  ChildNode: TTreeNode;

begin
  qryDWINFO := TQuery.Create(Self);
  try
    qryDWINFO.DatabaseName := dfmMain.dbsMain.DatabaseName;
    qryDWINFO.Close;
    RootNode := TreeView1.Items.Add(nil, '有色');
    RootNode.ImageIndex := 0;
    RootNode.SelectedIndex := 1;

    //添加单位项
    qryDWINFO.SQL.Clear;
    qryDWINFO.SQL.Add('select D.dwmc,D.dwid,D.sshy,DM.DMMC from tDWXX D,tDMB DM');
    qryDWINFO.SQL.Add('where D.sshy=DM.dm and DM.ZDBZ=''SSHY'' and DM.DMMC=''有色''');
    qryDWINFO.Open;
    while not qryDWINFO.Eof do
    begin
      ChildNode := TreeView1.Items.AddChildObject(
        RootNode,
        qryDWINFO.FieldByName('DWMC').AsString,
        Pointer(qryDWINFO.FieldByName('dwid').AsInteger));
      ChildNode.ImageIndex := 2;
      ChildNode.SelectedIndex := 3;

      qryDWINFO.Next;
    end;
  finally
    qryDWINFO.Close;
    qryDWINFO.Free; ;
  end;
  TreeView1.FullExpand;
  //选取第一个节点为主节点
  TreeView1.Items[0].Selected := True;

end;

procedure TfrmDWPJGZ.FormShow(Sender: TObject);
begin
  inherited;
  //显示行业单位表
  pStringListRefresh;
  pTreeRefresh1;
  TreeView1.FullExpand;
  //选取第一个节点为主节点
  TreeView1.Items[0].Selected := True;

  qryTemp.Sql.Clear;
  qryTemp.Sql.Add('select * from tDWPJGZ where DWID=''' +
    IntToStr(Integer(TreeView1.Selected.Data))
    + '''order by DWID ');
  qryTemp.Open;
end;

procedure TfrmDWPJGZ.TreeView1Click(Sender: TObject);
begin
  inherited;
  if TreeView1.Selected.Level <> 0 then
  begin
    Screen.Cursor := crSQLWait;
    qryTemp.Sql.Clear;
    qryTemp.Sql.Add('select * from tDWPJGZ where DWID=''' +
      IntToStr(Integer(TreeView1.Selected.Data))
      + '''order by DWID ');
    qryTemp.Open;
    //    qryTemp.Locate('DWID', IntToStr(Integer(TreeView1.Selected.Data)), []);
    Screen.Cursor := crDefault;

    LabelDWMC.Caption :=
      lstUserInfo3[lstUserInfo1.IndexOf(IntToStr(Integer(TreeView1.Selected.Data)))];
    lblDWDM.Caption :=
      lstUserInfo2[lstUserInfo1.IndexOf(IntToStr(Integer(TreeView1.Selected.Data)))];

  end;
end;

procedure TfrmDWPJGZ.FormCreate(Sender: TObject);
begin
  inherited;
  sTitleName := '单位历年平均工资增长率';
  lstUserInfo1 := TstringList.Create;
  lstUserInfo2 := TstringList.Create;
  lstUserInfo3 := TstringList.Create;
end;

procedure TfrmDWPJGZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  lstUserInfo1.Free;
  lstUserInfo2.Free;
  lstUserInfo3.Free;
end;

procedure TfrmDWPJGZ.actSaveExecute(Sender: TObject);
var
  DWIDVALUE: string; //存储单位ID
begin
  if DBEdit2.Text = '' then
  begin
    gfShowError('请输入年度');
    DBEdit2.SetFocus;
    Abort;
  end;

  if DBEdit3.Text = '' then
  begin
    gfShowError('请输入年平均工资增长率');
    DBEdit3.SetFocus;
    Abort;
  end;
  
  if qryTemp.State = dsInsert then
  begin
    DWIDVALUE := IntToStr(Integer(TreeView1.Selected.Data));
    qryND.sql.Clear;
    qryND.Sql.Add('select * from tDWPJGZ where ND='''
      + DBEdit2.Text + ''' and DWID=''' + DWIDVALUE + '''order by ND');
    qryND.Open;

    if not (qryND.RecordCount = 0) then
    begin
      gfshowok('该年度已经存在' + #13 + '请重新输入');
      Abort;
    end;
  end;
  
{
  qrytemp.FieldByName('ND').AsString := DBEdit2.Text;
  qrytemp.FieldByName('NPJGZ').AsString := DBEdit3.Text;
  //无用的代码
  //王锡平 20010308
}
  //  inherited;
  with qrytemp do
  begin
    dfmMain.dbsMain.StartTransaction;
    try
      Post;
      ApplyUpdates; {更新数据};
      dfmMain.dbsMain.Commit; {若成功,提交结果};
    except
      dfmMain.dbsMain.Rollback; {失败,恢复};
      raise; {避免调用CommitUpdates}
    end;
    CommitUpdates; {成功后清除缓冲}
    pStringListRefresh;
  end;

end;

procedure TfrmDWPJGZ.actInsertExecute(Sender: TObject);
begin
  if lblDWDM.Caption = '' then
    gfshowok('请选择单位')
  else
  begin
    inherited;
    qrytemp.FieldByName('DWID').AsString :=
      IntToStr(Integer(TreeView1.Selected.Data));
  end;
end;



procedure TfrmDWPJGZ.btnCXNDClick(Sender: TObject);
begin
  inherited;
  if (edtND.Text = '') then
    ShowMessage('    请输入查询年度' + #13 + ' 查看帮助可获得更多信息')
  else
  begin
    qrytemp.Sql.Clear;
    qrytemp.Sql.Add('select * from tDWPJGZ where ND like''' +
      '%' + edtND.Text + '%' + ''' order by ND');
    qrytemp.Open;
  end;
end;

procedure TfrmDWPJGZ.btnCXNPJGZClick(Sender: TObject);
begin
  inherited;
  if (edtNPJGZ.Text = '') then
    ShowMessage('    请输入查询条件' + #13 + ' 查看帮助可获得更多信息')
  else
  begin
    qrytemp.Sql.Clear;
    qrytemp.Sql.Add('select * from tDWPJGZ where NPJGZ like''' +
      '%' + edtNPJGZ.Text + '%' + ''' order by ND');
    qrytemp.Open;
  end;
end;

procedure TfrmDWPJGZ.actDeleteExecute(Sender: TObject);
begin
  //  inherited;
  if pagTemp.ActivePageIndex = 0 then
  begin
    //不能删除空表记录
    if qryTemp.RecordCount = 0 then
      Abort;

    if gfShowQuestion('是否删除当前记录?') = IDOK then
    begin
      qryTemp.Delete;
      dfmMain.dbsMain.StartTransaction;
      try
        if not (dfmMain.dbsMain.IsSQLBased) and
          not (dfmMain.dbsMain.TransIsolation = tiDirtyRead) then
          dfmMain.dbsMain.TransIsolation := tiDirtyRead;
        qryTemp.ApplyUpdates; { 尝试更新数据}
        dfmMain.dbsMain.Commit; {提交更新数据}
      except
        dfmMain.dbsMain.Rollback; {失败后恢复}
        raise; {避免调用CommitUpdates }
      end;
      qryTemp.CommitUpdates; //成功后清除缓寸
      pStringListRefresh; // 刷新列表
    end;
  end;
end;

end.

⌨️ 快捷键说明

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