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

📄 unit_zishenr.pas

📁 招投标软件代码,很有应用价值,请大家参考下哦,不明白的地方给我留言
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit_ZiShenR;

interface

uses
  unit_parentform,Dialogs,forms,SysUtils,DB, ADODB;

type
  TFrm_ZiShenR = class(TFrm_ParentForm)
    procedure FormCreate(Sender: TObject);
    procedure formdestroy(Sender:Tobject);
    procedure Com_xmnameChange(sender:Tobject);
    procedure Com_zhaoBiaoChange(Sender:Tobject);
    procedure Com_GclxnameChange(Sender: TObject);
    procedure bb_savetodataClick(Sender: TObject);
    procedure bb_reflashClick(Sender: TObject);
    procedure Cell1MouseLClick(Sender: TObject; col, row,updn: Integer);
    procedure Cell1MouseRClick(Sender: TObject; col, row,updn: Integer);
    procedure LoadDateSource;
    procedure BitBtn2Click(Sender: TObject);
    procedure btn_xiangxiclick(Sender:TObject);
    procedure ChooseLoadFile;
    procedure Cell1EditFinish(Sender: TObject;var text: WideString; var approve: Integer);
             //对序列排序
    private
      ecol:string;

  end;

var
  Frm_ZiShenR :TFrm_ZiShenR;

implementation

uses
  unit_public,SystemObject,DataModule,DataAccessCommonShell;

procedure TFrm_ZiShenR.FormDestroy(Sender: TObject);
begin
  Frm_ZiShenR:=nil;
end;


procedure TFrm_ZiShenR.Cell1MouseLClick(Sender: TObject; col, row,updn: Integer);
begin
  if cell1.GetCurrentCol=1 then ecol:=cell1.getcellstring(1,cell1.GetCurrentRow,cell1.GetCurSheet);
end;

procedure TFrm_ZiShenR.Cell1MouseRClick(Sender: TObject; col, row,updn: Integer);
begin
  if cell1.GetCurrentCol=1 then ecol:=cell1.getcellstring(1,cell1.GetCurrentRow,cell1.GetCurSheet);
end;



procedure TFrm_ZiShenR.Cell1EditFinish(Sender: TObject;var text: WideString; var approve: Integer);
var
  adoquery:tadoquery;
  inowtext:Integer;
  ssql:string;
  inowcol,inowsheet,inowrow:integer;
begin
  inowcol:=cell1.GetCurrentCol;
  inowrow:=cell1.GetCurrentRow;
  inowsheet:=cell1.GetCurSheet;
  if (inowcol<>1)  then
    if (inowcol<>3) then
        exit
    else if (inowcol=3) and (com_zhaobiao.Text='监理') then exit;
  try
    strtoint(ecol+cell1.GetCellString(inowcol,inowrow,inowsheet));
  except
    //showmessage('输入的不是有效数字');
    exit;
  end;
  if strtoint(cell1.GetCellString(inowcol,inowrow,inowsheet))=0 then exit;
  inowtext:=strtoint(cell1.getcellstring(inowcol,inowrow,inowsheet));
  if trim(inttostr(inowtext))='' then exit;
  if inowcol=1 then
  begin
    if inowtext=strtoint(ecol) then exit;
    adoquery:=tadoquery.Create(nil);
    try
      adoquery.Connection:=datamodule1.ADOMainConn;
      datamodule1.ADOMainConn.BeginTrans;
      try
        ssql:=' if (select count(*) from bid_wenjian2 where dwbm_id='+trim(inttostr(inowtext))
          +' and xmgczb_id in (select xmgczb_id from bid_xmgczb '
          +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
          +' and zblx_id='+xmbdgc.BDLX_ID+'))>0 begin ';
        if inowtext>strtoint(ecol)  then
           ssql:=ssql+' update bid_wenjian2 set dwbm_id=dwbm_id-1 from bid_danwei_xinxi a,bid_wenjian2 b '
             +' where b.wj2_leixing=1 and xmgczb_id in (select xmgczb_id from bid_xmgczb '
             +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
             +' and zblx_id='+xmbdgc.BDLX_ID+') and dwbm_id>'+trim(ecol)
             +' and dwbm_id<='+trim(inttostr(inowtext))+';'
        else if inowtext<strtoint(ecol)  then
           ssql:=ssql+' update bid_wenjian2 set dwbm_id=dwbm_id+1 from bid_danwei_xinxi a,bid_wenjian2 b '
             +' where  b.wj2_leixing=1 and xmgczb_id in (select xmgczb_id from bid_xmgczb '
             +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
             +' and zblx_id='+xmbdgc.BDLX_ID+') and dwbm_id<'+trim(ecol)
             +' and dwbm_id>='+trim(inttostr(inowtext))+';';
        ssql:=ssql+'update bid_wenjian2 set dwbm_id='+trim(inttostr(inowtext))+' from bid_danwei_xinxi a,bid_wenjian2 b '
            +' where  b.wj2_leixing=1 and b.dw_id=a.dw_id and a.dw_name='''+trim(cell1.GetCellString(2,inowrow,inowsheet))
            +''' and xmgczb_id in (select xmgczb_id from bid_xmgczb '
            +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
            +' and zblx_id='+xmbdgc.BDLX_ID+')'
            +' end else begin '
            +'update bid_wenjian2 set dwbm_id='+trim(inttostr(inowtext))+' from bid_danwei_xinxi a,bid_wenjian2 b '
            +' where  b.wj2_leixing=1 and b.dw_id=a.dw_id and a.dw_name='''+trim(cell1.GetCellString(2,inowrow,inowsheet))
            +''' and xmgczb_id in (select xmgczb_id from bid_xmgczb '
            +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
            +' and zblx_id='+xmbdgc.BDLX_ID+') end';
        adoquery.SQL.Text:=ssql;
        adoquery.ExecSQL;
        datamodule1.ADOMainConn.CommitTrans;
        //ChooseLoadFile;
      except
        datamodule1.ADOMainConn.RollbackTrans;
      end;

    finally
      freeandnil(adoquery)
    end;
    exit;
  end;
  if inowcol=3 then
  begin
    ssql:=' update bid_wenjian2 set wj2_duanshu='+trim(cell1.GetCellString(3,inowrow,inowsheet))
                 +' where wj2_leixing=1 and dw_id in (select dw_id from bid_danwei_xinxi '
                 +' where dw_name='''+trim(cell1.GetCellString(2,inowrow,inowsheet))+''')  ';
    adoquery:=tadoquery.Create(nil);
    try
      adoquery.Close;
      adoquery.Connection:=datamodule1.ADOMainConn;
      datamodule1.ADOMainConn.BeginTrans;
      try
        adoquery.SQL.Text:=ssql;
        adoquery.ExecSQL;
        datamodule1.ADOMainConn.CommitTrans;
      except
        datamodule1.ADOMainConn.RollbackTrans;
      end;
    finally
      freeandnil(adoquery);
    end;
  end;
end;

procedure TFrm_ZiShenR.bb_reflashClick(Sender: TObject);
begin
  LoadDateSource;
end;

procedure tfrm_zishenr.ChooseLoadFile;
var
  sname:string;
  adoquery:tadoquery;
  i:Integer;
begin
  {try
    sName:=SPATH+'reports\'+xmbdgc.XM_ISBn+'\'+xmbdgc.BDLX_ID+'+'+xmbdgc.GCLX_id+'+zgyssqr.cll';
    if FileExists(sname) then
    BEGIN
       if cell1.OpenFile(SNAME,'')<>1 then
         showmessage('文件打开错误');
    end
    else
    begin
       if cell1.openfile(SPATH+'report\shigong\yushen\zgyssqr.cll','')<>1 then
       begin
         showmessage('文件打开错误');
         exit;
       end
       else LoadDateSource; //加入数据
    end;
  except }
  if com_zhaobiao.Text='施工' then
  begin
    if cell1.openfile(SPATH+'report\shigong\yushen\zgyssqr.cll','')<>1 then
    begin
      showmessage('文件打开错误');
      exit;
    end;
    adoquery:=tadoquery.create(nil);
    try
      //对报表的显示格式进行控制
      adoquery.Close;
      adoquery.Connection:=DataModule1.ADOMainConn;
      adoquery.SQL.Text:='select a.lb1,b.lb2,c.lb3 from'
           +' (select count(*) as lb1 from bid_biaoduan_xinxi where bd_leibie=1 and'
           +' xmgczb_id in (select xmgczb_id from bid_xmgczb '
           +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
           +' and zblx_id='+xmbdgc.BDLX_ID+'))  a,'
           +' (select count(*) as lb2 from bid_biaoduan_xinxi where bd_leibie=2 and'
           +' xmgczb_id in (select xmgczb_id from bid_xmgczb '
           +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
           +' and zblx_id='+xmbdgc.BDLX_ID+')) b,'
           +' (select count(*) as lb3 from bid_biaoduan_xinxi where bd_leibie=3 and'
           +' xmgczb_id in (select xmgczb_id from bid_xmgczb '
           +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
           +' and zblx_id='+xmbdgc.BDLX_ID+')) c';
      adoquery.Open;
      if adoquery.FieldByName('lb1').AsInteger=0 then
      begin
        cell1.DeleteCol(4,1,0);
      end;
      if adoquery.FieldByName('lb2').AsInteger=0 then
      begin
        for i:=4 to 5 do
        begin
          if trim(cell1.GetCellString(i,6,0))='二类' then
            cell1.DeleteCol(i,1,0);
        end;
      end;
      if adoquery.FieldByName('lb3').AsInteger=0 then
      begin
        for i:=4 to 6 do
        begin
          if trim(cell1.GetCellString(i,6,0))='三类' then
            cell1.DeleteCol(i,1,0);
        end;
      end;
    finally
      freeandnil(adoquery);
    end;
    cell1.ShowTopLabel(1,0);
    cell1.ShowSideLabel(0,0);
    if trim(cell1.GetCellString(4,5,0))='' then
       cell1.SetCellString(4,5,0,'申请合同段');
    //cell1.SetCellBorder(3,5,0,2,2);
    cell1.SetCellBorder(3,6,0,2,2);
  end;
  if com_zhaobiao.Text='监理' then
  begin
    if cell1.openfile(SPATH+'report\jianli\yushen\zgyssqr.cll','')<>1 then
    begin
      showmessage('文件打开错误');
      exit;
    end;
    adoquery:=tadoquery.Create(nil);
    try
      adoquery.close;
      adoquery.Connection:=datamodule1.ADOMainConn;
      adoquery.SQL.Text:='select bd_name from bid_biaoduan_xinxi where xmgczb_id in (select xmgczb_id from bid_xmgczb '
           +' where xm_isbn='''+trim(xmbdgc.XM_ISBn)+''' and gclx_id='+xmbdgc.gCLX_ID
           +' and zblx_id='+xmbdgc.BDLX_ID+') order by bd_bianhao';
      adoquery.Open;
      if adoquery.Recordcount>1 then
        cell1.InsertCol(3,adoquery.RecordCount-1,0);
      adoquery.First;
      for i:=0 to adoquery.RecordCount-1 do
      begin
        cell1.SetCellString(3+i,5,0,adoquery.fieldbyname('bd_name').AsString);
        adoquery.Next;
      end;
    finally
      freeandnil(adoquery);
    end;
  end;
  //LoadDateSource; //加入数据
end;


procedure tfrm_zishenr.Com_xmnameChange(Sender:TObject);
begin

⌨️ 快捷键说明

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