unit BGSDJCX_CK;
interface
uses
Business.System, Business.Model, Business.Forms, Business.Data,Business.System.SysUtils,
Business.Forms.Dialogs
;
type
TBGSDJCX_CK = class(TForm)
FuncBroker: TFuncBroker;
InfoBrokerFWDJ: TInfoBroker;
InfoBrokerLWDJ_XX: TInfoBroker;
ControlBar: TControlBar;
DataNavigator: TDataNavigator;
DocViewBar: TDocViewBar;
PageControl: TPageControl;
TabSheet: TTabSheet;
DocViewFWDJ_BGSDJBG: TDocView;
TabSheet1: TTabSheet;
DocViewLWDJ_XX_LWDJ_BG: TDocView;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
Imaglist: TImageList;
DataSetBroker1: TDataSetBroker;
DataSetBroker2: TDataSetBroker;
ToolButton2: TToolButton;
CheckBox1: TCheckBox;
ComboBox1: TComboBox;
ToolButton3: TToolButton;
DocView1: TDocView;
Splitter1: TSplitter;
DocView2: TDocView;
Splitter2: TSplitter;
SaveDialog: TSaveDialog;
ImageList: TImageList;
ToolBar2: TToolBar;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
procedure ToolButton1Click(Sender: TObject);
procedure BizFormShow(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TabSheetEnter(Sender: TObject);
procedure TabSheet1Enter(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
procedure ComboBox1Change(Sender: TObject);
procedure PageControlDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
procedure getcur_person_infor();
{private declarations}
public
gwlx:string;//当前选择的公文类型:2,发文;1,收文
personid,DeptID,OrganID,dept_name,Organ_name:string; //人员id,部门id,单位id,部门名称,单位名称
{public declarations}
end;
implementation
procedure tBGSDJCX_CK.getcur_person_infor();
//此方法必须有完整的环境链
var
lContextCurrent: Business.Model.TContextCurrent;
begin
lContextCurrent := Business.Model.TContextCurrent.Create(Self.Context);
try
personid := lContextCurrent.Operator.ID; //当前操作者ID
//cGW := lContextCurrent.PositionMember.ID; //当前操作者岗位ID
DeptID := lContextCurrent.Dept.ID; //当前操作者部门ID
Organ_name := lContextCurrent.Organ.DisplayName;
dept_name := lContextCurrent.Dept.DisplayName;
OrganID :=lContextCurrent.Organ.ID; ///当前操作者机构ID
finally
lContextCurrent.Free;
end;
end;
procedure TBGSDJCX_CK.PageControlDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
B:TBitmap;
begin
B:=TBitmap.Create;
Control.Canvas.Brush.Color:=$0ffd7c6;
Control.Canvas.FillRect(Rect);
Control.Canvas.Font.Color:=$0000000;
Control.Canvas.Font.Name:='宋体';
Control.Canvas.TextOut(Rect.Left+integer((Rect.right - Rect.Left - Control.Canvas.TextWidth(TPageControl(Control).Pages[TabIndex].Caption))/2),Rect.Top+4,TPageControl(Control).Pages[TabIndex].Caption);
end;
procedure TBGSDJCX_CK.ToolButton1Click(Sender: TObject);
begin
close;
end;
procedure TBGSDJCX_CK.BizFormShow(Sender: TObject);
begin
Color:=$0ffd7c6;
self.Color:=$0ffd7c6;
ControlBar.Color:=$0ffd7c6;
//FWDJ.TBGSDJBG(DocViewFWDJ_BGSDJBG.doc).DataGrid.FullExpand;
//LWDJ_XX.TLWDJ_BG(DocViewLWDJ_XX_LWDJ_BG.doc).DataGrid.FullExpand;
getcur_person_infor();
if DeptID<>'BGS' then
begin
CheckBox1.Visible:=false;
DocViewFWDJ_BGSDJBG.DocClassID:='BMDJBG.SHEETDOC';
DataSetBroker1.dataset.active:=false;
DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=1;
DataSetBroker1.dataset.active:=true;
DataSetBroker2.dataset.active:=false;
DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=1;
DataSetBroker2.dataset.active:=true;
{TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='swdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}
end
else
begin
CheckBox1.Visible:=true;
DocViewFWDJ_BGSDJBG.DocClassID:='BGSDJBG.SHEETDOC';
DataSetBroker1.dataset.active:=false;
DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=2;
DataSetBroker1.dataset.active:=true;
DataSetBroker2.dataset.active:=false;
DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=2;
DataSetBroker2.dataset.active:=true;
{TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djlb<>'+'1'+'and djdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='djlb<>'+'1'+'and swdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}
end;
gwlx:='1';
end;
procedure TBGSDJCX_CK.ToolButton2Click(Sender: TObject);
var
GWFJ:TGWFJ;
begin
GWFJ:=tGWFJ.create(self.context);
if PageControl.ActivePageIndex = 1 then
begin
GWFJ.gwid:=DataSetBroker2.DataSet.fieldbyname('swlsh').AsInteger;
GWFJ.gwlx:='2';
end else
begin
GWFJ.gwid:=DataSetBroker1.DataSet.fieldbyname('fwlsh').AsInteger;
GWFJ.gwlx:='3';
end;
try
GWFJ.showmodal;
finally
GWFJ.free;
end;
end;
procedure TBGSDJCX_CK.TabSheetEnter(Sender: TObject);
begin
gwlx:='1';
end;
procedure TBGSDJCX_CK.TabSheet1Enter(Sender: TObject);
begin
gwlx:='2';
end;
procedure TBGSDJCX_CK.CheckBox1Click(Sender: TObject);
var
fwbh_lb:string;
begin
if CheckBox1.Checked=true then
begin
DocViewFWDJ_BGSDJBG.DocClassID:='BMDJBG.SHEETDOC';
DocView1.DocClassID:='BMFWDJWH.FormDoc';
DataSetBroker1.dataset.active:=false;
DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=1;
DataSetBroker1.dataset.active:=true;
DataSetBroker2.dataset.active:=false;
DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=1;
DataSetBroker2.dataset.active:=true;
{TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djlb='+'1'+'and djdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='djlb='+'1'+'and swdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}
end
else
begin
DocViewFWDJ_BGSDJBG.DocClassID:='BGSDJBG.SHEETDOC';
DocView1.DocClassID:='BGSFWDJWH.FormDoc';
DataSetBroker1.dataset.active:=false;
DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=2;
DataSetBroker1.dataset.active:=true;
DataSetBroker2.dataset.active:=false;
DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=2;
DataSetBroker2.dataset.active:=true;
{TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djlb<>'+'1'+'and djdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='djlb<>'+'1'+'and swdw = '''+organid+''' and djbm='''+deptid +'''';
TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}
end;
if PageControl.ActivePage = 1 then
DocViewFWDJ_BGSDJBG.RefreshDoc(true)
else
DocViewLWDJ_XX_LWDJ_BG.RefreshDoc(true);
end;
procedure TBGSDJCX_CK.DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
var
djjb:integer;
begin
if PageControl.ActivePageIndex = 1 then
DataSetBroker2.DataSet.Edit
else
DataSetBroker1.DataSet.Edit;
if TBizDataSetAction(Sender).ID=BizActnConsts.ActionDataSetSave then
begin
if CheckBox1.checked= true then djjb:=1 else djjb:=2;
if PageControl.ActivePageIndex = 1 then
DataSetBroker2.DataSet.fieldbyname('djlb').AsInteger:=djjb
else
DataSetBroker1.DataSet.fieldbyname('djlb').AsInteger:=djjb;
end;
end;
procedure TBGSDJCX_CK.ComboBox1Change(Sender: TObject);
var
itemindex:integer;
jnksrq,qnksrq,qbksrq:string;
begin
jnksrq:=datetostr(business.data.syssrv.sysservice.Time);
jnksrq:=jnksrq.Substring(0,4)+'-1-1';
qnksrq:=inttostr(strtoint(jnksrq.Substring(0,4)) - 1) + '-1-1';
itemindex:=ComboBox1.ItemIndex;
if itemindex=0 then
begin
DataSetBroker1.dataset.Filter:='';
DataSetBroker1.dataset.filtered:=true;
DataSetBroker2.dataset.Filter:='';
DataSetBroker2.dataset.filtered:=true;
end
else if itemindex=1 then
begin
DataSetBroker1.dataset.Filter:='fwrq>='+jnksrq;
DataSetBroker1.dataset.filtered:=true;
DataSetBroker2.dataset.Filter:='swrq>='+jnksrq;
DataSetBroker2.dataset.filtered:=true;
end
else if itemindex=2 then
begin
DataSetBroker1.dataset.Filter:='fwrq>='+qnksrq+' and fwrq<'+jnksrq;
DataSetBroker1.dataset.filtered:=true;
DataSetBroker2.dataset.Filter:='swrq>='+qnksrq+' and swrq<'+jnksrq;
DataSetBroker2.dataset.filtered:=true;
end;
end;
procedure TBGSDJCX_CK.ToolButton3Click(Sender: TObject);
var
ls_file:string ;
begin
if SaveDialog.Execute then
begin
ls_file:=SaveDialog.FileName;
end;
if PageControl.ActivePageIndex=0 then
begin
if CheckBox1.Checked then
begin
DocViewFWDJ_BGSDJBG.DocClassID :='BMFWDJYL_EXP';
SHEETDOCLIB.TSHEETDOCLIB.CopySheetToExcel(DocViewFWDJ_BGSDJBG,ls_file );
DocViewFWDJ_BGSDJBG.DocClassID :='BMDJBG';
end
else
begin
DocViewFWDJ_BGSDJBG.DocClassID :='BGSFWDJYL_EXP';
SHEETDOCLIB.TSHEETDOCLIB.CopySheetToExcel(DocViewFWDJ_BGSDJBG,ls_file );
DocViewFWDJ_BGSDJBG.DocClassID :='BGSDJBG';
end;
end;
if PageControl.ActivePageIndex=1 then
begin
DocViewLWDJ_XX_LWDJ_BG.DocClassID :='LWDJ_EXP';
SHEETDOCLIB.TSHEETDOCLIB.CopySheetToExcel(DocViewLWDJ_XX_LWDJ_BG,ls_file);
DocViewLWDJ_XX_LWDJ_BG.DocClassID :='LWDJ_BG';
end;
Borland.Delphi.ShellAPI.ShellExecute(0, 'open', ls_file, '', '', Borland.Delphi.Windows.SW_SHOW);
end;
//下一页
procedure TBGSDJCX_CK.ToolButton5Click(Sender: TObject);
begin
DataSetBroker2.dataset.Params.ParamByName('SRow').AsString:=IntToStr(1);
DataSetBroker2.dataset.Params.ParamByName('ERow').AsString:=IntToStr(18);
DataSetBroker2.DataSet.Close;
DataSetBroker2.DataSet.Open;
end;
end. |