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

📄 uyjtj.~pas

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

        dfmMain.dbsMain.Commit;
        dfmMain.dbsMain.StartTransaction;

        //人员增减变动
        stpZJBD.UnPrepare;
        stpZJBD.ParamByName('p_DWID').AsString :=
          FieldByName('DWID').AsString;
        stpZJBD.Prepare;
        stpZJBD.ExecProc;
        if stpZJBD.ParamByName('P_ErrorCode').AsInteger = 0 then
        begin
          pShowPanelHint(FieldByName('DWMC').AsString +
            '增减变动已经统计完毕');
          Beep;
        end
        else
        begin
          gfShowError(PChar(stpZJBD.ParamByName('P_Errortext').AsString));
          Beep;
        end;
        repaint;

        dfmMain.dbsMain.Commit;
//        dfmMain.dbsMain.StartTransaction;
//
//    //历次发放记录
//        stpYFHJ.UnPrepare;
//        stpYFHJ.ParamByName('p_DWID').AsString := strDWID;
//        stpYFHJ.Prepare;
//        stpYFHJ.ExecProc;
//        if stpYFHJ.ParamByName('P_ErrorCode').AsInteger = 0 then
//        begin
//          pShowPanelHint(FieldByName('DWMC').AsString +
//            '历次发放记录已经统计完毕');
//          Beep;
//        end
//        else
//        begin
//          gfShowError(PChar(stpYFHJ.ParamByName('P_Errortext').AsString));
//          Beep;
//        end;
//        repaint;
//
//        dfmMain.dbsMain.Commit;
        Next;
      end;
    finally
      Free;
    end
  else
  begin
    if strDWID = '' then
    begin
      gfShowOK('请选择单位');
      Abort;
    end;

    dfmMain.dbsMain.StartTransaction;

    //一次性待遇明细
    stpYCXDY.UnPrepare;
    stpYCXDY.ParamByName('p_DWID').AsString := strDWID;
    stpYCXDY.Prepare;
    stpYCXDY.ExecProc;
    if stpYCXDY.ParamByName('P_ErrorCode').AsInteger = 0 then
    begin
      pShowPanelHint('一次性待遇已经统计完毕');
      Beep;
    end
    else
    begin
      gfShowError(PChar(stpYCXDY.ParamByName('P_Errortext').AsString));
      Beep;
    end;
    repaint;

    //待遇明细
    stpDYMX.UnPrepare;
    stpDYMX.ParamByName('P_DWID').AsString := strDWID;
    stpDYMX.Prepare;
    stpDYMX.ExecProc;
    if stpDYMX.ParamByName('P_ErrorCode').AsInteger = 0 then
    begin
      pShowPanelHint('待遇明细已经统计完毕');
      Beep;
    end
    else
    begin
      gfShowError(PChar(stpDYMX.ParamByName('P_Errortext').AsString));
      Beep;
    end;
    repaint;

    //待遇支付
    stpZFMX.UnPrepare;
    stpZFMX.ParamByName('p_DWID').AsString := strDWID;
    stpZFMX.Prepare;
    stpZFMX.ExecProc;
    if stpZFMX.ParamByName('P_ErrorCode').AsInteger = 0 then
    begin
      pShowPanelHint('待遇支付已经统计完毕');
      Beep;
    end
    else
    begin
      gfShowError(PChar(stpZFMX.ParamByName('P_Errortext').AsString));
      Beep;
    end;
    repaint;

    //待遇调整信息
    stpLCDYTZ.UnPrepare;
    stpLCDYTZ.Params[0].AsString := strDWID;
    stpLCDYTZ.Prepare;
    stpLCDYTZ.ExecProc;
    if stpLCDYTZ.ParamByName('P_ErrorCode').AsInteger = 0 then
    begin
      pShowPanelHint('历次待遇调整已经统计完毕');
      Beep;
    end
    else
    begin
      gfShowError('历次待遇调整出错');
      Beep;
    end;
    //减员明细
    repaint;

    //人员增减变动
    stpZJBD.UnPrepare;
    stpZJBD.ParamByName('p_DWID').AsString := strDWID;
    stpZJBD.Prepare;
    stpZJBD.ExecProc;
    if stpZJBD.ParamByName('P_ErrorCode').AsInteger = 0 then
    begin
      pShowPanelHint('增减变动已经统计完毕');
      Beep;
    end
    else
    begin
      gfShowError(PChar(stpZJBD.ParamByName('P_Errortext').AsString));
      Beep;
    end;
    repaint;

    //历次发放记录
    stpYFHJ.UnPrepare;
    stpYFHJ.ParamByName('p_DWID').AsString := strDWID;
    stpYFHJ.Prepare;
    stpYFHJ.ExecProc;
    if stpYFHJ.ParamByName('P_ErrorCode').AsInteger = 0 then
    begin
      pShowPanelHint('历次发放记录已经统计完毕');
      Beep;
    end
    else
    begin
      gfShowError(PChar(stpYFHJ.ParamByName('P_Errortext').AsString));
      Beep;
    end;
    repaint;
    dfmMain.dbsMain.Commit;

    //重新刷新
    Show;
    qryTemp.Open;
    if PageControl1.ActivePageIndex = 4 then
    begin
      qryTemp.Fields[0].Visible := False;
      qryFFYF.Open;
    end;

  end;
end;

procedure TfrmYJTJ.DataOut(path, dwid: string);
var
  qryOut: TQuery;
  FileName: string;
begin
  //Path带有\
  with TQuery.Create(Self) do
  try
    DataBaseName := dfmMain.dbsMain.DatabaseName;
    SQL.Add('SELECT tDMB.DMMC,tDWXX.DWDM,RTrim(tDWXX.DWMC) "TDWMC" FROM TDWXX,tDMB WHERE tDMB.ZDBZ=''SSHY'' and tDMB.DM=tDWXX.SSHY and tDWXX.DWID=''' +
      DWID + '''');
    Open;
    Path := Path
      + '\' + FieldByName('DMMC').AsString
      // + '\' + FieldByName('TDWMC').AsString
    ;
    FileName := '\' + FieldByName('DWDM').AsString + '_' +
      FieldByName('TDWMC').AsString;

    Close;
  finally
    Free;
  end;

  if not DirectoryExists(path) then
    if not CreateDir(path) then
      raise Exception.Create('不能创建目录' + path);

  qryOut := TQuery.Create(Self);
  try
    qryOut.DataBaseName := dfmMain.dbsMain.DatabaseName;
    {
        qryOut.SQL.Add('SELECT DWDM,RTrim(DWMC) "TDWMC" FROM TDWXX WHERE DWID=''' +
          DWID + '''');
        qryOut.Open;
        FileName := '\' + qryOut.FieldByName('DWDM').AsString + '_' +
          qryOut.FieldByName('TDWMC').AsString;

        qryOut.Close;
        qryOut.SQL.Clear;
    }
        //1。人员增减表
    QExport.FileName := path + FileName + '_人员增减表.xls';

    qryOut.SQL.Add('select');
    qryOut.SQL.Add('    to_char(YJRQ,''yyyymm'') as "时间",');
    qryOut.SQL.Add('    LX_QC as "期初离休人数",');
    qryOut.SQL.Add('    LGR_QC as "期初老工人人数",');
    qryOut.SQL.Add('    TX_QC as "期初退休人数",');
    qryOut.SQL.Add('    TZ_QC as "期初退职人数",');
    qryOut.SQL.Add('    HJ_QC as "期初合计人数",');
    qryOut.SQL.Add('    LX_ZJ as "增加离休人数",');
    qryOut.SQL.Add('    LGR_ZJ as "增加老工人人数",');
    qryOut.SQL.Add('    TX_ZJ as "增加退休人数",');
    qryOut.SQL.Add('    TZ_ZJ as "增加退职人数",');
    qryOut.SQL.Add('    HJ_ZJ as "增加合计人数",');
    qryOut.SQL.Add('    LX_JS as "减少离休人数",');
    qryOut.SQL.Add('    LGR_JS as "减少老工人人数",');
    qryOut.SQL.Add('    TX_JS as "减少退休人数",');
    qryOut.SQL.Add('    TZ_JS as "减少退职人数",');
    qryOut.SQL.Add('    HJ_JS as "减少合计人数",');
    qryOut.SQL.Add('    LX_QM as "期末离休人数",');
    qryOut.SQL.Add('    LGR_QM as "期末老工人人数",');
    qryOut.SQL.Add('    TX_QM as "期末退休人数",');
    qryOut.SQL.Add('    TZ_QM as "期末退职人数",');
    qryOut.SQL.Add('    HJ_QM as "期末合计人数"');
    qryOut.SQL.Add('from tREP_DWZJBD');
    qryOut.SQL.Add('where dwid=''' + DWID + '''');
    qryOut.SQL.Add('ORDER BY YJRQ');
    qryOut.Open;

    QExport.Dataset := qryOut;

    QExport.ColumnsWidth.Clear;
    QExport.ColumnsWidth.Add('时间=7');
    QExport.ColumnsWidth.Add('期初离休人数=5');
    QExport.ColumnsWidth.Add('期初老工人人数=5');
    QExport.ColumnsWidth.Add('期初退休人数=5');
    QExport.ColumnsWidth.Add('期初退职人数=5');
    QExport.ColumnsWidth.Add('期初合计人数=5');
    QExport.ColumnsWidth.Add('增加离休人数=5');
    QExport.ColumnsWidth.Add('增加老工人人数=5');
    QExport.ColumnsWidth.Add('增加退休人数=5');
    QExport.ColumnsWidth.Add('增加退职人数=5');
    QExport.ColumnsWidth.Add('增加合计人数=5');
    QExport.ColumnsWidth.Add('减少离休人数=5');
    QExport.ColumnsWidth.Add('减少老工人人数=5');
    QExport.ColumnsWidth.Add('减少退休人数=5');
    QExport.ColumnsWidth.Add('减少退职人数=5');
    QExport.ColumnsWidth.Add('减少合计人数=5');
    QExport.ColumnsWidth.Add('期末离休人数=5');
    QExport.ColumnsWidth.Add('期末老工人人数=5');
    QExport.ColumnsWidth.Add('期末退休人数=5');
    QExport.ColumnsWidth.Add('期末退职人数=5');
    QExport.ColumnsWidth.Add('期末合计人数=5');

    QExport.UserFormats.Clear;
    QExport.UserFormats.Add('期初离休人数=#');
    QExport.UserFormats.Add('期初老工人人数=#');
    QExport.UserFormats.Add('期初退休人数=#');
    QExport.UserFormats.Add('期初退职人数=#');
    QExport.UserFormats.Add('期初合计人数=#');
    QExport.UserFormats.Add('增加离休人数=#');
    QExport.UserFormats.Add('增加老工人人数=#');
    QExport.UserFormats.Add('增加退休人数=#');
    QExport.UserFormats.Add('增加退职人数=#');
    QExport.UserFormats.Add('增加合计人数=#');
    QExport.UserFormats.Add('减少离休人数=#');
    QExport.UserFormats.Add('减少老工人人数=#');
    QExport.UserFormats.Add('减少退休人数=#');
    QExport.UserFormats.Add('减少退职人数=#');
    QExport.UserFormats.Add('减少合计人数=#');
    QExport.UserFormats.Add('期末离休人数=#');
    QExport.UserFormats.Add('期末老工人人数=#');
    QExport.UserFormats.Add('期末退休人数=#');
    QExport.UserFormats.Add('期末退职人数=#');
    QExport.UserFormats.Add('期末合计人数=#');

    QExport.Execute;

    //2.一次性待遇明细
    QExport.FileName := path + FileName + '_一次性待遇明细.xls';

    qryOut.Close;
    qryOut.SQL.Clear;

    qryOut.SQL.Add('select');
    qryOut.SQL.Add('    to_char(YJRQ,''yyyymm'') as "月结日期",');
    qryOut.SQL.Add('    LTXSWRS as "离退休死亡人数",');
    qryOut.SQL.Add('    ZZSWRS  as "在职死亡人数",');
    qryOut.SQL.Add('    ZCRS    as "个人帐户转出人数",');
    qryOut.SQL.Add('    TZHRS   as "退个人帐户人数",');
    qryOut.SQL.Add('    HJRS    as "合计人数",');

    qryOut.SQL.Add('    SZF     as "丧葬费",');
    qryOut.SQL.Add('    FXJ     as "一次性抚恤金",');
    qryOut.SQL.Add('    JJF     as "救济金",');
    qryOut.SQL.Add('    GRZH_SW as "个人帐户",');
    qryOut.SQL.Add('    TBJE    as "退补金额",');
    qryOut.SQL.Add('    HJ_SW   as "死亡待遇合计",');

    qryOut.SQL.Add('    GRZH_ZC as "转出个人帐户",');
    qryOut.SQL.Add('    LX_ZC   as "转出帐户利息",');
    qryOut.SQL.Add('    HJ_ZC   as "转出帐户合计",');
    qryOut.SQL.Add('    GRZH_T  as "退个人帐户",');
    qryOut.SQL.Add('    LX_T    as "退个人帐户利息",');
    qryOut.SQL.Add('    HJ_T    as "退个人帐户合计",');
    qryOut.SQL.Add('    ZJ      as "总计"');
    qryOut.SQL.Add('from tREP_DWYCXDYMX');
    qryOut.SQL.Add('where dwid=''' + strDWID + '''');
    qryOut.SQL.Add('ORDER BY YJRQ');

⌨️ 快捷键说明

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