📄 unit_kaibiaojl.pas
字号:
unit Unit_Kaibiaojl;
interface
uses
unit_parentform,Dialogs,forms,SysUtils,DB, ADODB,windows,controls;
type
Tfrm_Kaibiaojl = class(TFrm_ParentForm)
procedure FormCreate(Sender: TObject);
procedure Com_xmnameChange(sender:Tobject);
procedure Com_zhaoBiaoChange(Sender:Tobject);
procedure Com_GclxnameChange(Sender: TObject);
procedure com_projectchange(sender:tobject);
procedure bb_reflashclick(Sender:Tobject);
procedure Btn_xiangxiclick(Sender:Tobject);
procedure Cell1MouseLClick(Sender: TObject; col, row,updn: Integer);
procedure Cell1MouseRClick(Sender: TObject; col, row,updn: Integer);
procedure Cell1EditFinish(Sender: TObject;var text: WideString; var approve: Integer);
procedure GetBiaoDuan;
procedure GetINfor;
procedure LoadSJSource;
procedure BitBtn2Click(Sender:TObject);
private
ecol:string;
sjSource:Integer;//判断是录入数据还是在载入数据:0:录入,1:载入
end;
var
frm_Kaibiaojl:Tfrm_Kaibiaojl;
implementation
uses
unit_public,SystemObject,DataModule,DataAccessCommonShell;
procedure Tfrm_Kaibiaojl.GetBiaoDuan;
var
adoquery:tadoquery;
str:string;
I:Integer;
begin
com_project.Items.Clear;
com_project.Text:='请选择';
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;
adoquery.First;
for i:=0 to adoquery.RecordCount-1 do
begin
com_project.Items.Add(adoquery.fieldbyname('bd_name').asstring);
adoquery.Next;
end;
finally
freeandnil(adoquery);
end;
if trim(com_zhaobiao.text)='施工' then
begin
if cell1.OpenFile(SPATH+'report\shigong\pingbiao\kbjl.cll','')<>1 then
showmessage('文件打开错误');
end
else if trim(com_zhaobiao.text)='监理' then
begin
if cell1.OpenFile(SPATH+'report\jianli\pingbiao\kbjl.cll','')<>1 then
showmessage('文件打开错误');
end
else if trim(com_zhaobiao.text)='设计' then
begin
if cell1.OpenFile(SPATH+'report\sheji\pingbiao\kbjl.cll','')<>1 then
showmessage('文件打开错误');
sjSource:=0;
end;
cell1.ShowSideLabel(0, 0); //不显示行标
cell1.ShowTopLabel(0, 0); //不显示列标
end;
procedure Tfrm_Kaibiaojl.FormCreate(Sender: TObject);
var
adoquery:tadoquery;
begin
GetItems(com_xmname,com_zhaobiao,com_gclxname,2);
inherited;
panel2.Caption:='开标记录';
caption:='开标记录';
panel1.Visible:=true;
com_leibie.Visible:=false;
label1.Caption:='选择标段';
btn_xiangxi.Visible:=true;
btn_xiangxi.Left:=com_leibie.Left;
btn_xiangxi.Caption:='载入数据';
btn_xiangxi.OnClick:=Btn_xiangxiclick;
BitBtn2.OnClick:=BitBtn2Click;
cell1.OnEditFinish:=cell1EditFinish;
bb_reflash.visible:=true;
bb_reflash.onclick:=bb_reflashclick;
cell1.OnMouseLClick:=Cell1MouseLClick;
cell1.OnMouseRClick:=Cell1MouseRClick;
GetBiaoDuan;
end;
procedure Tfrm_kaibiaojl.bb_reflashclick(Sender:Tobject);
begin
if (com_zhaobiao.Text='施工') or (com_zhaobiao.Text='监理') then
GetINfor
else if com_zhaobiao.Text='设计' then
begin
sjSource:=0;
LoadSjSource;
end;
end;
procedure Tfrm_kaibiaojl.Btn_xiangxiclick(Sender:Tobject);
var
adoquery:tadoquery;
begin
if (com_zhaobiao.Text='施工') or (com_zhaobiao.Text='监理') then
begin
if application.MessageBox('该操作将要重新加载数据,该项目后面数据将需要你再次重新录入','请确认',MB_YESNO)<>mryes then exit;
adoquery:=tadoquery.Create(nil);
try
adoquery.Close;
adoquery.Connection:=datamodule1.ADOMainConn;
datamodule1.ADOMainConn.BeginTrans;
try
adoquery.SQL.Text:='delete from bid_pingbiao where bd_isbn in (select bd_isbn 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+') and bd_name='''+trim(com_project.Text)+''')'
+' insert into bid_pingbiao(dw_id,bd_isbn,pb_baozhengjin) select dw_id,bd_isbn,1 from bid_wenjian2 where wj2_leixing=2 and bd_isbn in '
+' (select bd_isbn bd_isbn 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+') and bd_name='''+trim(com_project.Text)+''') order by bd_isbn ';
adoquery.ExecSQL;
datamodule1.ADOMainConn.CommitTrans;
except
datamodule1.ADOMainConn.RollbackTrans;
end;
finally
freeandnil(adoquery);
end;
GetINfor;
//btn_xiangxi.Enabled:=False; //对载入数据进行控制,(因为只有一页,可以削掉)
end
else if com_zhaobiao.Text='设计' then
begin
sjSource:=1;
LoadSJSource;
end;
end;
procedure Tfrm_kaibiaojl.Cell1MouseLClick(Sender: TObject; col, row,updn: Integer);
var
adoquery:tadoquery;
baozhengjin:Integer;
begin
if updn=0 then exit;
//if cell1.GetCurrentCol=1 then
ecol:=cell1.getcellstring(col,row,cell1.GetCurSheet);
if (row<6) then exit;
if (updn=0) and (col=5) then
begin
if cell1.GetCellString(col,row,0)='√' then
begin
baozhengjin:=1;
cell1.SetCellString(col,row,0,'×');
end
else if cell1.GetCellString(col,row,0)='×' then
begin
baozhengjin:=0;
cell1.SetCellString(col,row,0,'√');
end;
adoquery:=tadoquery.Create(nil);
try
adoquery.Connection:=datamodule1.ADOMainConn;
datamodule1.ADOMainConn.BeginTrans;
try
adoquery.SQL.Text:='update bid_pingbiao set pb_baozhengjin='''+inttostr(baozhengjin)
+''' where bd_isbn in (select bd_isbn 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+') and bd_name='''+com_project.Text+''') and dw_id in (select dw_id from bid_danwei_xinxi '
+' where dw_name='''+trim(cell1.GetCellString(2,row,0))+''')';
adoquery.ExecSQL;
datamodule1.ADOMainConn.CommitTrans;
except
datamodule1.ADOMainConn.RollbackTrans;
end;
finally
freeandnil(adoquery);
end;
end;
end;
procedure Tfrm_kaibiaojl.Cell1MouseRClick(Sender: TObject; col, row,updn: Integer);
begin
if updn=0 then exit;
//if cell1.GetCurrentCol=1 then
ecol:=cell1.getcellstring(col,row,cell1.GetCurSheet);
end;
procedure Tfrm_Kaibiaojl.Com_xmnameChange(sender:Tobject);
begin
inherited;
GetBiaoDuan;
end;
procedure Tfrm_Kaibiaojl.Com_zhaoBiaoChange(Sender:Tobject);
begin
inherited;
GetBiaoDuan;
end;
procedure Tfrm_Kaibiaojl.Com_GclxnameChange(Sender: TObject);
begin
inherited;
GetBiaoDuan;
end;
procedure Tfrm_Kaibiaojl.Cell1EditFinish(Sender: TObject;var text: WideString; var approve: Integer);
var
adoquery:tadoquery;
nowrow,nowcol:Integer;
Maxxuhao,ssql:string;
begin
inherited;
if (com_zhaobiao.Text='施工') or (com_zhaobiao.Text='监理') then
begin
nowrow:=cell1.GetCurrentRow;
nowcol:=cell1.GetCurrentCol;
if trim(cell1.GetCellString(nowcol,nowrow,0))=ecol then exit;
if (nowrow<6) or (nowcol=2) or (nowcol=5) then exit;
if nowcol=1 then
begin
IF trim(cell1.GetCellString(nowcol,nowrow,0))='' THEN EXIT;
if (cell1.getcellstring(1,nowrow,0)=ecol) or (trim(cell1.getcellstring(1,nowrow,0))='') then exit;
IF ECOL='' THEN ECOL:='1';
adoquery:=tadoquery.Create(nil);
try
adoquery.Close;
adoquery.Connection:=datamodule1.ADOMainConn;
if ecol<>'' then
begin
if cell1.getcellstring(1,nowrow,0)<>ecol then
begin
ssql:=' if (select count(*) from bid_pingbiao where bd_isbn in (select bd_isbn 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+') and bd_name='''+com_project.Text+''') and pb_xuhao='
+trim(cell1.GetCellString(nowcol,nowrow,0))+')>0 begin';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -