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

📄 udataout.~pas

📁 行业应急系统 包括: 应急系统(待遇核发) 发放系统 开发环境:Delphi5 (sp1)+ Oracle 8.05 MultiExport是一个可以将数据按指定字段倒出
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
            SQL.Add('WHERE b.ryid_ff (+)= a.ryid_ff and');
            SQL.Add('      a.dwid_ff = a.ssdwid and');
            SQL.Add('      a.ssdwid = c.dwid_ff and');
            SQL.Add('      a.ryzt = 1 and');
            SQL.Add('      a.ffjgid = ''1000000007''');
            SQL.Add('ORDER BY b.dm, a.ssdwid, a.ryid_ff');


            mmoMain.Lines.Add('邮政汇款正在生成...');
            Open;
            mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) + '条记录');
            ToCSV.Transfer(path + '发放机构_邮政汇款.txt');
            mmoMain.Lines.Add('已生成文件' + path +
              '发放机构_邮政汇款.txt');
            AddLine;

            {            //有组
                        Close;
                        SQL.Clear;
                        SQL.Add('select a.dwjbr as 姓名, a.yzbm as 邮政编码,');
                        SQL.Add('       a.dwdz as 地址, c.je_hk as 发放金额, b.dwdm as 单位代码,');
                        SQL.Add('       b.dwmc as 单位名称, a.dwid_ff as 组标示, c.rs_hk as 人数,'''
                          + edtYear.Text
                          + FillWord(edtMonth.Text, 2)
                          + ''' AS 所属年月');
                        SQL.Add('FROM tff_dwxx a, tff_dwhzxx c, tff_dwxx b');
                        SQL.Add('WHERE a.dwid_ff <> a.ssdwid and');
                        SQL.Add('      a.ssdwid = b.dwid_ff and');
                        SQL.Add('      a.dwid_ff = c.dwid_ff and');
                        SQL.Add('      nvl(c.rs_hk,0) > 0 and ');
                        SQL.Add('      c.ffyf = to_Date(''' + edtYear.Text +
                          edtMonth.Text + ''',''yyyymm'')');
                        SQL.Add('ORDER BY b.dwdm, a.dwid_ff ');

                        mmoMain.Lines.Add('邮政汇款(有组)正在生成...');
                        Open;
                        mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) + '条记录');
                        ToCSV.Transfer(path + '发放机构_邮政汇款(有组).txt');
                        mmoMain.Lines.Add('已生成文件' + path +
                          '发放机构_邮政汇款(有组).txt');
                        AddLine;
            }
          end;

          if chkJG_7.Checked then
          begin
            Close;
            SQL.Clear;

            SQL.Add('SELECT a.xm as 姓名, a.sfzh as 身份证号,');
            SQL.Add('       a.zh as 帐号, a.khh as 开户行, a.hrdd as 汇入地点, a.ffje as 发放金额,');
            SQL.Add('       b.dm as 地区代码, b.mc as 地区名称, c.dwdm as 单位代码, c.dwmc as 单位名称,');
            SQL.Add('       a.ryid_ff as 人员标示,''' + edtYear.Text +
              FillWord(edtMonth.Text, 2)
              + '''  AS 所属年月');
            SQL.Add('FROM tff_ryxx a, tff_rydqxx b, tff_dwxx c');
            SQL.Add('WHERE b.ryid_ff (+)= a.ryid_ff and');
            SQL.Add('      a.dwid_ff = a.ssdwid and');
            SQL.Add('      a.ssdwid = c.dwid_ff and');
            SQL.Add('      a.ryzt = 1 and');
            SQL.Add('      (a.ffjgid = ''1000000009''  or a.ffjgid = ''1000000005'')');
            SQL.Add('ORDER BY b.dm, a.ssdwid, a.ryid_ff');

            mmoMain.Lines.Add('其他机构正在生成...');
            Open;
            mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) + '条记录');
            ToCSV.Transfer(path + '发放机构_其他机构.txt');
            mmoMain.Lines.Add('已生成文件' + path +
              '发放机构_其他机构.txt');
            AddLine;

            {            //有组
                        Close;
                        SQL.Clear;
                        SQL.Add('select a.dwjbr as 姓名, a.zh as 帐号,');
                        SQL.Add('       a.khmc as 开户行, a.dwdz as 汇入地点,');
                        SQL.Add('       c.je_qt as 发放金额, b.dwdm as 单位代码,');
                        SQL.Add('       b.dwmc as 单位, a.dwid_ff as 组标识, c.rs_qt as 组人数');
                        SQL.Add('from tff_dwxx a, tff_dwhzxx c, tff_dwxx b');
                        SQL.Add('where a.dwid_ff <> a.ssdwid and');
                        SQL.Add('      a.ssdwid = b.dwid_ff and');
                        SQL.Add('      a.dwid_ff = c.dwid_ff and');
                        SQL.Add('      nvl(c.rs_qt,0) > 0 and');
                        SQL.Add('      c.ffyf = to_Date(''' + edtYear.Text +
                          edtMonth.Text + ''',''yyyymm'')');
                        SQL.Add('order by b.dwdm, a.dwid_ff');

                        mmoMain.Lines.Add('其他机构(有组)正在生成...');
                        Open;
                        mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) + '条记录');
                        ToCSV.Transfer(path + '发放机构_其他机构(有组).txt');
                        mmoMain.Lines.Add('已生成文件' + path +
                          '发放机构_其他机构(有组).txt');
                        AddLine;
          }end;

        end;

        mmoMain.Lines.Add('发放机构数据已经生成');
      end;

    2: //XXXX年XX月补发数据
      begin
        mmoMain.Lines.Add(edtYear.Text + '年' + fillWord(edtMonth.Text, 2) + '月'
          +
          '补发数据正在生成...');
        mmoMain.Lines.Add('');
        with qryMain do
        begin
          if ChkJG_1.Checked then
          begin
            //工商补发数据
            Close;
            SQL.Clear;

            SQL.Add('select a.xm as 姓名, a.sfzh as 身份证号,       ');
            SQL.Add('       a.zh as 帐号, a.khh as 开户行,          ');
            //            SQL.Add('       a.hrdd as 汇入地点, a.ffje as 发放金额, ');
            SQL.Add('       a.hrdd as 汇入地点, d.ffje as 发放金额, ');
            SQL.Add('       b.dm as 地区代码, b.mc as 地区名称,     ');
            SQL.Add('       c.dwdm as 单位代码, c.dwmc as 单位名称, ');
            SQL.Add('       a.ryid_ff as 人员标识,to_char(d.ffyf,''yyyymm'') as 所属月份');
            SQL.Add('from tff_ryxx a, tff_rydqxx b, tff_dwxx c, tff_ryfkxx d');
            SQL.Add('where b.ryid_ff (+)= a.ryid_ff and');
            SQL.Add('      a.dwid_ff = a.ssdwid and');
            SQL.Add('      d.ffbz=1 and');
            SQL.Add('      a.ssdwid = c.dwid_ff and');
            SQL.Add('      d.ryid_ff = a.ryid_ff and');
            //补发数据必须不同于人员数据
            SQL.Add('      (d.xm<>a.xm or d.sfzh<>a.sfzh or d.khh<>a.khh   ');
            SQL.Add('      or d.zh<>a.zh or d.yzbm<>a.yzbm or d.dz<>a.dz) and ');
            //
            SQL.Add('      to_char(d.fkrq,''yyyy.mm'')=''' + edtYear2.Text + '.'
              + fillword(edtMonth2.Text, 2) + ''' and ');
            SQL.Add('      to_char(d.ffyf,''yyyy.mm'')=''' +
              edtYear.Text + '.' + fillword(edtMonth.Text, 2) + ''' and');
            SQL.Add('      d.ffjgid = ''1000000001'' and');
            SQL.Add('      a.ffjgid <> ''1000000006'' and a.ffjgid <> ''1000000007''');
            SQL.Add('order by b.dm, a.ssdwid, a.ryid_ff');

            mmoMain.Lines.Add(edtYear.Text + '年' +
              fillWord(edtMonth.Text, 2) + '月' +
              '工商银行补发数据正在生成...');
            Open;
            mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) +
              '条记录');
            if RecordCount <> 0 then
            begin
              ToCSV.Transfer(path + edtYear.Text + '年' +
                fillWord(edtMonth.Text,
                2) +
                '月' + '工商银行补发数据.txt');
              mmoMain.Lines.Add('已生成文件' + path + edtYear.Text + '年' +
                fillWord(edtMonth.Text, 2) + '月' +
                '工商银行补发数据.txt');
            end;
            AddLine;

            {            //工商银行(有组)
                        Close;
                        SQL.Clear;
                        SQL.Add('select a.dwjbr as 姓名, a.zh as 帐号,');
                        SQL.Add('       a.khmc as 开户行, a.dwdz as 汇入地点,');
                        SQL.Add('       d.ffje as 发放金额, d.dwdm as 单位代码,');
                        SQL.Add('       a.dwmc as 单位名称, d.dwid_ff as 组标识,');
                        SQL.Add('       d.zrs as 人数,to_char(d.ffyf,''yyyymm'') as 所属月份');
                        SQL.Add('from tff_dwxx a, tff_zfkxx d');
                        SQL.Add('where a.dwid_ff = d.dwid_ff and');
                        SQL.Add('      to_char(d.fkrq,''yyyy.mm'')=''' + edtYear2.Text + '.'
                          + fillword(edtMonth2.Text, 2) + ''' and');
                        SQL.Add('      d.ffjgid = ''1000000001'' and');
                        SQL.Add('      to_char(d.ffyf,''yyyy.mm'')=''' +
                          edtYear.Text + '.' + fillword(edtMonth.Text, 2) + ''' and');
                        SQL.Add('      a.ffjgid <> ''1000000006'' and a.ffjgid <> ''1000000007''');
                        SQL.Add('order by d.dwdm, d.dwid_ff');

                        mmoMain.Lines.Add(edtYear.Text + '年' +
                          fillWord(edtMonth.Text, 2) + '月' +
                          '工商银行(有组)补发数据正在生成...');
                        Open;
                        mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) +
                          '条记录');
                        if RecordCount <> 0 then
                        begin
                          ToCSV.Transfer(path + edtYear.Text + '年' +
                            fillWord(edtMonth.Text,
                            2) +
                            '月' + '工商银行(有组)补发数据.txt');
                          mmoMain.Lines.Add('已生成文件' + path + edtYear.Text + '年' +
                            fillWord(edtMonth.Text, 2) + '月' +
                            '工商银行(有组)补发数据.txt');
                        end;
                        AddLine;
            }
          end;

          if ChkJG_2.Checked then
          begin
            //农行补发数据
            Close;
            SQL.Clear;

            SQL.Add('select a.xm as 姓名, a.sfzh as 身份证号,       ');
            SQL.Add('       a.zh as 帐号, a.khh as 开户行,          ');
            SQL.Add('       a.hrdd as 汇入地点, d.ffje as 发放金额, ');
            //            SQL.Add('       a.hrdd as 汇入地点, a.ffje as 发放金额, ');
            SQL.Add('       b.dm as 地区代码, b.mc as 地区名称,     ');
            SQL.Add('       c.dwdm as 单位代码, c.dwmc as 单位名称, ');
            SQL.Add('       a.ryid_ff as 人员标识,to_char(d.ffyf,''yyyymm'') as 所属月份');
            SQL.Add('from tff_ryxx a, tff_rydqxx b, tff_dwxx c, tff_ryfkxx d');
            SQL.Add('where b.ryid_ff (+)= a.ryid_ff and');
            SQL.Add('      d.ffbz=1 and');
            SQL.Add('      a.dwid_ff = a.ssdwid and');
            SQL.Add('      a.ssdwid = c.dwid_ff and');
            SQL.Add('      d.ryid_ff = a.ryid_ff and');
            //补发数据必须不同于人员数据
            SQL.Add('      (d.xm<>a.xm or d.sfzh<>a.sfzh or d.khh<>a.khh   ');
            SQL.Add('      or d.zh<>a.zh or d.yzbm<>a.yzbm or d.dz<>a.dz) and ');
            //
            SQL.Add('      to_char(d.fkrq,''yyyy.mm'')=''' + edtYear2.Text + '.'
              + fillword(edtMonth2.Text, 2) + ''' and');
            SQL.Add('      to_char(d.ffyf,''yyyy.mm'')=''' +
              edtYear.Text + '.' + fillword(edtMonth.Text, 2) + ''' and');
            SQL.Add('      d.ffjgid = ''1000000002'' and');
            SQL.Add('      a.ffjgid <> ''1000000006'' and a.ffjgid <> ''1000000007''');
            SQL.Add('order by b.dm, a.ssdwid, a.ryid_ff');

            mmoMain.Lines.Add(edtYear.Text + '年' +
              fillWord(edtMonth.Text, 2) + '月' +
              '农业银行补发数据正在生成...');
            Open;
            mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) +
              '条记录');
            if RecordCount <> 0 then
            begin
              ToCSV.Transfer(path + edtYear.Text + '年' +
                fillWord(edtMonth.Text,
                2) +
                '月' + '农业银行补发数据.txt');
              mmoMain.Lines.Add('已生成文件' + path + edtYear.Text + '年' +
                fillWord(edtMonth.Text, 2) + '月' +
                '农业银行补发数据.txt');
            end;
            AddLine;

            {            //农行(有组)
                        Close;
                        SQL.Clear;
                        SQL.Add('select a.dwjbr as 姓名, a.zh as 帐号,');
                        SQL.Add('       a.khmc as 开户行, a.dwdz as 汇入地点,');
                        SQL.Add('       d.ffje as 发放金额, d.dwdm as 单位代码,');
                        SQL.Add('       a.dwmc as 单位名称, d.dwid_ff as 组标识,');
                        SQL.Add('       d.zrs as 人数,to_char(d.ffyf,''yyyymm'') as 所属月份');
                        SQL.Add('from tff_dwxx a, tff_zfkxx d');
                        SQL.Add('where a.dwid_ff = d.dwid_ff and');
                        SQL.Add('      to_char(d.fkrq,''yyyy.mm'')=''' + edtYear2.Text + '.'
                          + fillword(edtMonth2.Text, 2) + ''' and');
                        SQL.Add('      d.ffjgid = ''1000000002'' and');
                        SQL.Add('      to_char(d.ffyf,''yyyy.mm'')=''' +
                          edtYear.Text + '.' + fillword(edtMonth.Text, 2) + ''' and');
                        SQL.Add('      a.ffjgid <> ''1000000006'' and a.ffjgid <> ''1000000007''');
                        SQL.Add('order by d.dwdm, d.dwid_ff');

                        mmoMain.Lines.Add(edtYear.Text + '年' +
                          fillWord(edtMonth.Text, 2) + '月' +
                          '农业银行(有组)补发数据正在生成...');
                        Open;
                        mmoMain.Lines.Add('共生成数据' + IntToStr(RecordCount) +
                          '条记录');
                        if RecordCount <> 0 then
                        begin

⌨️ 快捷键说明

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