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

📄 udwxx.pas

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

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

procedure TfrmDWXX.qryMasterBeforePost(DataSet: TDataSet);
begin
  //检查数据是否正确
  if TQuery(DataSet).FieldByName('SJDWDM').isNULL then
  begin
    gfShowError('上级单位不能为空');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('SHHFFSJ').isNULL then
  begin
    gfShowError('社会化发放时间不能为空');
    Abort;
  end;

  //如果上级代码是0,表示这是一个单位。这时候所属单位代码等于发放单位代码
  //如果上级代码不是0,表示这是一个组,,这时候所属单位代码等于

  inherited;

end;

procedure TfrmDWXX.qryRYXXAfterInsert(DataSet: TDataSet);
begin
  inherited;
  //取得唯一ID
  TQuery(DataSet).FieldByName('RYID_FF').AsString :=
    gfGetNumber('tFF_RYXX');
  //发放组
  TQuery(DataSet).FieldByName('DWID_FF').AsString :=
    qryMaster.FieldByName('DWID_FF').AsString;
  //所属单位
  TQuery(DataSet).FieldByName('SSDWID').AsString :=
    qryMaster.FieldByName('SSDWID').AsString;
  //默认人员状态为正常发放
  TQuery(DataSet).FieldByName('RYZT').AsInteger := 1;

  TQuery(DataSet).FieldByName('LJFFJE').Value :=
    TQuery(DataSet).FieldByName('FFJE').Value;

end;

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

procedure TfrmDWXX.qryRYXXBeforePost(DataSet: TDataSet);
begin
  inherited;

  //调试用

  if TQuery(DataSet).FieldByName('XM').isNULL then
  begin
    gfShowError('请输入姓名');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('SFZH').isNULL then
  begin
    gfShowError('请输入身份证号');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('HDJE').isNULL then
  begin
    gfShowError('请输入核定金额');
    Abort;
  end;


  if TQuery(DataSet).FieldByName('FFFS').isNULL then
  begin
    gfShowError('请输入发放方式');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('FFJGID').isNULL then
  begin
    gfShowError('请输入发放机构');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('DJQK').isNULL then
  begin
    gfShowError('请输入定居情况');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('DZ').isNULL then
  begin
    gfShowError('请输入地址');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('FFJE').isNULL then
  begin
    gfShowError('请输入发放金额');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('LJFFJE').isNULL then
  begin
    gfShowError('请输入累计发放金额');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('FFZQ').isNULL then
  begin
    gfShowError('请输入发放周期');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('RYZT').isNULL then
  begin
    gfShowError('请输入人员状态');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('KSFFYF').isNULL then
  begin
    gfShowError('请输入开始发放月份');
    Abort;
  end;



end;

procedure TfrmDWXX.qryMasterBeforeInsert(DataSet: TDataSet);
var
  dwmc: string;
  result: integer;
begin

  //查询当前记录所属单位对应的单位名称
  with TQuery.Create(Self) do
  begin
    DataBaseName := dfmMain.dbsMain.DatabaseName;
    SQL.Add('select dwmc from tff_dwxx where dwid_ff=''' +
      TQuery(DataSet).FieldByName('ssdwid').AsString +
      '''');
    Open;
    dwmc := FieldByName('dwmc').AsString;
  end;

  //询问创建单位还是发放组
  result :=
    Application.MessageBox(
    PChar(
    '创建发放单位还是发放组' + #13 +
    '选择"是"将创建一个新的发放单位' + #13 +
    '选择"否"将创建一个新的发放组,' + #13 +
    '其所在单位是" ' + dwmc + ' ", ' + #13 +
    '上级发放组是"' +
    TQuery(DataSet).FieldByName('DWMC').AsString + '"'), '',
    MB_ICONQUESTION + MB_YESNOCANCEL + MB_DEFBUTTON1);

  case result of
    MrYES:
      begin
        //创建单位
        strSSDWID := '';
        strSJDWID := '';
        strSSHY := '';
      end;
    MrNO:
      begin
        //创建组
        strSSDWID := TQuery(DataSet).FieldByName('SSDWID').AsString;
        strSJDWID := TQuery(DataSet).FieldByName('DWID_FF').AsString;
        strSSHY := TQuery(DataSet).FieldByName('SSHY').AsString;
      end;
    MrCANCEL:
      Abort;
  end;

  if not Self.chkSingle.Checked then
  begin
    Self.chkSingle.Checked := True;
    ShowEdit(TabSet1.TabIndex);
  end;

  inherited;
end;

procedure TfrmDWXX.pTreeRefresh;
var
  RootNode: TTreeNode;
begin
  //避免刷新
  TreDW.Hide;

  with TQuery.Create(Self) do
  try
    DatabaseName := dfmMain.dbsMain.DatabaseName;

    //显示行业单位表
    TreDW.Items.Clear;

    //添加单位项
    SQL.Add('SELECT  DMB.DMMC,COUNT(*) DMCOUNT ');
    SQL.Add('FROM  tDMB DMB,tff_dwxx DW ');
    SQL.Add('WHERE  DMB.DM(+)=DW.SSHY and DMB.ZDBZ=''SSHY'' ');
    SQL.Add('GROUP BY DMMC ');
    Open;
    while not Eof do
    begin
      RootNode := treDW.Items.Add(nil, FieldByName('DMMC').AsString);
      RootNode.ImageIndex := 0;
      RootNode.SelectedIndex := 1;
      if FieldByName('DMCOUNT').AsInteger = 0 then
        RootNode.HasChildren := False
      else
        RootNode.HasChildren := True;
      Next;
    end;
    Close;
  finally
    Free;
  end;

  treDW.Show;

end;

procedure TfrmDWXX.treDWExpanding(Sender: TObject; Node: TTreeNode;
  var AllowExpansion: Boolean);
var
  ChildNode: TTreeNode;
begin
  inherited;
  //如果HasChildren 为真,需要
  if Node.HasChildren then
  begin
    //Node=0    行业
    //Node=1    单位
    if Node.Level = 0 then //行业
    begin
      //清空子节点
      Node.DeleteChildren;
      //添加子节点
      with TQuery.Create(Self) do
      try
        DataBaseName := dfmMain.dbsMain.DatabaseName;

        SQL.Add('SELECT  DW.SSDWID,DW2.DWMC,COUNT(*) DMCOUNT');
        SQL.Add('FROM 	tff_DWXX DW,tff_DWXX DW2,tDMB ');
        SQL.Add('WHERE 	DW.SSHY=tDMB.DM AND tDMB.ZDBZ=''SSHY''');
        SQL.Add('	AND DW.SSDWID=DW2.DWID_FF AND tDMB.DMMC=''' + Node.Text +
          '''');
        SQL.Add('GROUP BY DW.SSDWID,DW2.DWMC');
        Open;
        while not EOF do
        begin
          ChildNode := treDW.Items.AddChildObject(
            Node,
            FieldByName('DWMC').AsString,
            Pointer(FieldByName('SSDWID').AsInteger));
          ChildNode.ImageIndex := 2;
          ChildNode.SelectedIndex := 3;
          if FieldByName('DMCOUNT').AsInteger = 1 then
            ChildNode.HasChildren := False
          else
            ChildNode.HasChildren := True;

          Next;
        end;
      finally
        Free;
      end;
    end;
  end;

  if Node.Level = 1 then //单位
  begin
    //清空子节点
    Node.DeleteChildren;
    //添加子节点
    with TQuery.Create(Self) do
    try
      DataBaseName := dfmMain.dbsMain.DatabaseName;

      SQL.Add('SELECT DWMC,DWID_FF');
      SQL.Add('FROM tff_DWXX');
      SQL.Add('WHERE ssdwid=''' + IntToStr(Integer(Node.Data)) + '''');
      SQL.Add(' and dwid_ff<>ssdwid');

      Open;
      while not EOF do
      begin
        ChildNode := treDW.Items.AddChildObject(
          Node,
          FieldByName('DWMC').AsString,
          Pointer(FieldByName('DWID_FF').AsInteger));
        ChildNode.ImageIndex := 2;
        ChildNode.SelectedIndex := 3;

        Next;
      end;
    finally
      Free;
    end;
  end;
end;

procedure TfrmDWXX.treDWClick(Sender: TObject);
begin
  inherited;
  if treDW.Selected.Level <> 0 then
  begin
    Screen.Cursor := crSQLWait;
    qryMaster.DisableControls;
    qryMaster.Close;
    qryMaster.ParamByName('DWID_FF').AsInteger := Integer(treDW.Selected.Data);
    qryMaster.Open;
    qryMaster.EnableControls;
    Screen.Cursor := crDefault;
  end;
end;

end.

⌨️ 快捷键说明

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