unit U_YGYPZZChkList_JiaXinCX; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit, cxDropDownEdit, cxPC, ActnMan, ActnColorMaps; type TfrmYGYPZZChkList_jiaxinCX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; TBView: TToolButton; Panel1: TPanel; PopupMenu1: TPopupMenu; N2: TMenuItem; N1: TMenuItem; TCXTJ: TToolButton; BegDate: TDateTimePicker; Label3: TLabel; EndDate: TDateTimePicker; cxTabControl1: TcxTabControl; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column7: TcxGridDBColumn; v1GangWei: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1WCStatus: TcxGridDBColumn; v1Dept: TcxGridDBColumn; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; V2Chker: TcxGridDBColumn; V2Chktime: TcxGridDBColumn; V2Chkstatus: TcxGridDBColumn; V2chkNote: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; DataSource2: TDataSource; order_Sub: TClientDataSet; Label2: TLabel; v1JHJXDate: TcxGridDBColumn; v1TBDate: TcxGridDBColumn; v1SXJXdate: TcxGridDBColumn; v1JXNote: TcxGridDBColumn; TTiJiao: TToolButton; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; v1JXMoney: TcxGridDBColumn; TPrint: TToolButton; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; RMDBMain: TRMDBDataSet; Order_Print: TClientDataSet; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure TBViewClick(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure TCXTJClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TTiJiaoClick(Sender: TObject); procedure TPrintClick(Sender: TObject); private canshu1:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure setstatus(); { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmYGYPZZChkList_jiaxinCX: TfrmYGYPZZChkList_jiaxinCX; implementation uses U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,U_YGYPInPut_JiaXin, U_ZDYHelpSel; {$R *.dfm} procedure TfrmYGYPZZChkList_jiaxinCX.setstatus(); begin TTiJiao.Visible:=False; TCXTJ.Visible:=False; case cxTabControl1.TabIndex of 0:begin TTiJiao.Visible:=True; end; 1:begin TCXTJ.Visible:=true; end; 2:begin end; end; end; procedure TfrmYGYPZZChkList_jiaxinCX.FormDestroy(Sender: TObject); begin frmYGYPZZChkList_JiaXinCX:=nil; end; procedure TfrmYGYPZZChkList_jiaxinCX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmYGYPZZChkList_jiaxinCX.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); end; procedure TfrmYGYPZZChkList_jiaxinCX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('员工离职列表',Tv1,'OA管理'); end; procedure TfrmYGYPZZChkList_jiaxinCX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,B.* '); sql.Add(' from OA_YG_DangAn_JX A '); sql.add(' inner join OA_YG_DangAn B on B.YGID=A.YGID '); sql.Add(' where (A.JXStatus=''加薪通过'' or A.JXStatus=''已加薪'')'); if cxTabControl1.TabIndex<>0 then begin sql.Add(' and A.TBDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and A.TBDate<='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); end; if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(A.WCStatus,'''')='''''); end else if cxTabControl1.TabIndex=1 then begin sql.add(' and isnull(A.WCStatus,'''')=''加薪完成'''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); with ADOQueryCmd do begin close; sql.clear; sql.add('select A.* from OA_Chk A '); sql.add('where A.Mainid='''+trim(Order_Main.fieldbyname('JXID').AsString)+''' '); sql.Add(' and isnull(OAType,'''')=''加薪申请'' '); open; end; SCreateCDS20(ADOQueryCmd,Order_Sub); SInitCDSData20(ADOQueryCmd,Order_Sub); finally ADOQueryMain.EnableControls; end; end; procedure TfrmYGYPZZChkList_jiaxinCX.InitForm(); begin EndDate.Date:=SGetServerDate(ADOQueryTemp); BegDate.Date:=EndDate.Date-7; ReadCxGrid('员工加薪列表',Tv1,'OA管理'); setstatus(); InitGrid(); end; procedure TfrmYGYPZZChkList_jiaxinCX.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; function TfrmYGYPZZChkList_jiaxinCX.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Delete OA_YG_DangAn where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Delete OA_YG_DangAn_Other where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Delete TP_File where WBId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+''''); sql.Add(' and TFType=''YG'' '); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmYGYPZZChkList_jiaxinCX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('员工加薪列表',cxGrid1); end; procedure TfrmYGYPZZChkList_jiaxinCX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYGYPZZChkList_jiaxinCX.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmYGYPZZChkList_jiaxinCX.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmYGYPZZChkList_jiaxinCX.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmYGYPZZChkList_jiaxinCX.TBViewClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; frmYGYPInPut_JiaXin:=TfrmYGYPInPut_JiaXin.create(self); with frmYGYPInPut_JiaXin do begin TBSave.Visible:=False; FJXID:=trim(Order_Main.fieldbyname('JXID').AsString); if showModal=1 then begin end; free; end; initGrid(); end; procedure TfrmYGYPZZChkList_jiaxinCX.CustomerNoNameChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmYGYPZZChkList_jiaxinCX.TCXTJClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Application.MessageBox('确定要执行撤销操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('Update OA_YG_DangAn_JX Set WCStatus='''' '); sql.Add(' where JXID='''+trim(Order_Main.fieldbyname('JXID').AsString)+''''); ExecSQL; end; initGrid(); ADOQueryCmd.Connection.CommitTrans; Exit; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmYGYPZZChkList_jiaxinCX.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; procedure TfrmYGYPZZChkList_jiaxinCX.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin TBView.Click; end; procedure TfrmYGYPZZChkList_jiaxinCX.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin with ADOQueryCmd do begin close; sql.clear; sql.add('select A.* from OA_Chk A '); sql.add('where A.Mainid='''+trim(Order_Main.fieldbyname('JXID').AsString)+''' '); sql.Add(' and isnull(OAType,'''')=''加薪申请'' '); open; end; SCreateCDS20(ADOQueryCmd,Order_Sub); SInitCDSData20(ADOQueryCmd,Order_Sub); end; procedure TfrmYGYPZZChkList_jiaxinCX.TTiJiaoClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update OA_YG_DangAn_JX set WCStatus=''加薪完成'' '); sql.Add('where JXID='''+trim(Order_Main.fieldbyname('JXID').asstring)+''' '); ExecSQL; end; InitGrid(); end; procedure TfrmYGYPZZChkList_jiaxinCX.TPrintClick(Sender: TObject); var fPrintFile:String; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\加薪申请单.rmf' ; with ADOQueryCmd do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,B.* '); sql.Add(' from OA_YG_DangAn_JX A '); sql.add(' inner join OA_YG_DangAn B on B.YGID=A.YGID '); sql.Add(' where JXID='''+trim(Order_Main.fieldbyname('JXID').AsString)+''''); Open; end; SCreateCDS20(ADOQueryCmd,Order_Print); SInitCDSData20(ADOQueryCmd,Order_Print); if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; //RM1.PrintReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\加薪申请单.rmf'),'提示',0); Exit; end; end; end.