📄 unit_zishenr.pas
字号:
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 + -