unit U_GRYearPFList_YGXZTJ; 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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC, cxCheckBox, Menus, cxCurrencyEdit, cxDropDownEdit; type TfrmGRYearPFList_YGXZTJ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; Panel1: TPanel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; ToolButton1: TToolButton; ADOQueryPrint: TADOQuery; TBAdd: TToolButton; TBDel: TToolButton; Source1: TDataSource; Order_Sub: TClientDataSet; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; cxStyle3: TcxStyle; TSsel: TToolButton; TUpdate: TToolButton; TCHk: TToolButton; TCXChk: TToolButton; cxTabControl1: TcxTabControl; Label3: TLabel; YGName: TEdit; Label5: TLabel; Label6: TLabel; TTJ: TToolButton; TCXTJ: TToolButton; cxTabControl2: TcxTabControl; FKType: TComboBox; PopupMenu1: TPopupMenu; N2: TMenuItem; N1: TMenuItem; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1XHNo: TcxGridDBColumn; v1YGName: TcxGridDBColumn; v1GZMoney: TcxGridDBColumn; v1KQJMoney: TcxGridDBColumn; v1KSBMoney: TcxGridDBColumn; v1KOtherMoney: TcxGridDBColumn; v1DXGZMoney: TcxGridDBColumn; v1GLFLMoney: TcxGridDBColumn; v1KGSMoney: TcxGridDBColumn; v1KFKMeny: TcxGridDBColumn; v1CJBGZMoney: TcxGridDBColumn; v1KCDMoney: TcxGridDBColumn; v1JKMoney: TcxGridDBColumn; v1FFMoney: TcxGridDBColumn; v1JLMoney: TcxGridDBColumn; v1FKSYSTEM: TcxGridDBColumn; v1FKType: TcxGridDBColumn; v1XZNote: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1Ssel: TcxGridDBColumn; v1FFDate: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TSselClick(Sender: TObject); procedure TUpdateClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TCHkClick(Sender: TObject); procedure TCXChkClick(Sender: TObject); procedure YGNameChange(Sender: TObject); procedure TTJClick(Sender: TObject); procedure cxTabControl2Change(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TCXTJClick(Sender: TObject); private FInt,PFInt:Integer; canshu1,canshu2:string; FNowDate:TDateTime; procedure InitGrid(); procedure InitForm(); procedure setstatus(); { Private declarations } public Ftype:string; { Public declarations } end; var frmGRYearPFList_YGXZTJ: TfrmGRYearPFList_YGXZTJ; implementation uses U_DataLink,U_RTFun,U_KDInPut,U_ModuleNote, U_ZDYHelp,U_GRYearPFList_Sub, U_ZDYHelpSel,U_YGYPInPut_YGXZDJ; {$R *.dfm} procedure TfrmGRYearPFList_YGXZTJ.setstatus(); begin TTJ.Visible:=False; TCXTJ.Visible:=False; Tupdate.Visible:=False; TBDel.Visible:=False; case cxTabControl1.TabIndex of 0:begin TTJ.Visible:=True; Tupdate.Visible:=True; TBDel.Visible:=True; end; 1:begin TCXTJ.Visible:=True; end; 2:begin end; end; end; procedure TfrmGRYearPFList_YGXZTJ.FormDestroy(Sender: TObject); begin frmGRYearPFList_YGXZTJ:=nil; end; procedure TfrmGRYearPFList_YGXZTJ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmGRYearPFList_YGXZTJ.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('员工工资登记12',Tv1,'分红管理'); end; procedure TfrmGRYearPFList_YGXZTJ.InitGrid(); begin with ADOQueryTemp do begin close; sql.Clear; sql.Add('select A.*,B.* from OA_YG_XZFF_Main A '); sql.add('inner join OA_YG_XZFF B on B.XZMain=A.XZMain '); sql.add('where A.filltime>='''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' '); sql.add('and A.filltime<'''+trim(formatdatetime('yyyy-MM-dd',Enddate.dateTime+1))+''' '); if cxTabControl1.TabIndex=0 then begin sql.add('and isnull(B.ChkStatus,'''')=''待提交'' '); end; if cxTabControl1.TabIndex=1 then begin sql.add('and B.ChkStatus<>''待提交'' '); end; if cxtabControl2.TabIndex=0 then begin sql.add('and B.FKSYSTEM=''云翔'' '); end; if cxtabControl2.TabIndex=1 then begin sql.add('and B.FKSYSTEM=''宇昊'' '); end; if cxtabControl2.TabIndex=2 then begin sql.add('and B.FKSYSTEM=''若凡'' '); end; if cxtabControl2.TabIndex=3 then begin sql.add('and B.FKSYSTEM=''昕绅'' '); end; sql.add('Order By A.SSYear,A.SSMonth,B.XHNo'); open; end; SCreateCDS20(ADOQueryTemp,Order_Main); SInitCDSData20(ADOQueryTemp,Order_Main); end; procedure TfrmGRYearPFList_YGXZTJ.InitForm(); begin EndDate.Date:=SGetServerDate(ADOQueryTemp); BegDate.Date:=SGetServerDate(ADOQueryTemp)-30; ReadCxGrid('员工工资登记12',Tv1,'分红管理'); setstatus(); InitGrid(); end; procedure TfrmGRYearPFList_YGXZTJ.TBExportClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; TcxGridToExcel('员工工资',cxGrid1); end; procedure TfrmGRYearPFList_YGXZTJ.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmGRYearPFList_YGXZTJ.FormShow(Sender: TObject); var i:Integer; begin InitForm(); end; procedure TfrmGRYearPFList_YGXZTJ.ToolButton1Click(Sender: TObject); begin ToolBar1.SetFocus; if ADOQueryTemp.Active=False then Exit; SDofilter(ADOQueryTemp,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryTemp,Order_Main); SInitCDSData20(ADOQueryTemp,Order_Main); end; procedure TfrmGRYearPFList_YGXZTJ.TBDelClick(Sender: TObject); begin ToolBar1.SetFocus; if Order_Main.IsEmpty then exit; if Order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end; if application.MessageBox('确定要删除吗','提示',1)=2 then exit; with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete from OA_YG_XZFF '); sql.add('where XZID='''+trim(Order_Main.fieldbyname('XZID').AsString)+''''); execsql; end; end; next; end; end; initGrid(); end; procedure TfrmGRYearPFList_YGXZTJ.TBAddClick(Sender: TObject); begin ToolBar1.SetFocus; frmYGYPInPut_YGXZDJ:=TfrmYGYPInPut_YGXZDJ.create(self); with frmYGYPInPut_YGXZDJ do begin FXZMain:=''; FXZSubid:=''; if showmodal=1 then begin initGrid(); end; free; end; end; procedure TfrmGRYearPFList_YGXZTJ.TSselClick(Sender: TObject); begin if Order_Main.isempty then exit; frmYGYPInPut_YGXZDJ:=TfrmYGYPInPut_YGXZDJ.create(self); with frmYGYPInPut_YGXZDJ do begin ToolBar1.Enabled:=False; Panel3.Enabled:=False; toolbar2.Enabled:=False; FXZMain:=trim(Order_Main.fieldbyname('XZMain').AsString); if showmodal=1 then begin initGrid(); end; free; end; end; procedure TfrmGRYearPFList_YGXZTJ.TUpdateClick(Sender: TObject); begin ToolBar1.SetFocus; if Order_Main.IsEmpty then exit; frmYGYPInPut_YGXZDJ:=TfrmYGYPInPut_YGXZDJ.create(self); with frmYGYPInPut_YGXZDJ do begin FXZMain:=trim(Order_Main.fieldbyname('XZMain').AsString); FXZSubid:=trim(Order_Main.fieldbyname('XZID').AsString); if showmodal=1 then begin initGrid(); end; free; end; end; procedure TfrmGRYearPFList_YGXZTJ.cxTabControl1Change(Sender: TObject); begin setstatus(); initGrid(); end; procedure TfrmGRYearPFList_YGXZTJ.TCHkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if Order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end; try with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update OA_YG_XZFF set Chkstatus=''已审核'' '); sql.add('where XZID='''+trim(Order_Main.fieldbyname('XZID').AsString)+''''); execsql; end; end; next; end; end; initGrid(); application.MessageBox('审核成功','提示'); except; application.MessageBox('审核失败','提示'); end; end; procedure TfrmGRYearPFList_YGXZTJ.TCXChkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if Order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end; try with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=True then begin if order_Main.fieldbyname('Chkstatus').asstring<>'已审核' then begin application.MessageBox('有已付款数据不能撤销','提示'); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update OA_YG_XZFF set Chkstatus=''待审核'' '); sql.add('where XZID='''+trim(Order_Main.fieldbyname('XZID').AsString)+''''); execsql; end; end; next; end; end; initGrid(); application.MessageBox('审核成功','提示'); except; application.MessageBox('审核失败','提示'); end; end; procedure TfrmGRYearPFList_YGXZTJ.YGNameChange(Sender: TObject); begin ToolButton1.Click; end; procedure TfrmGRYearPFList_YGXZTJ.TTJClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; {if Order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end;} try with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update OA_YG_XZFF set Chkstatus=''待审核'' '); sql.add('where XZID='''+trim(Order_Main.fieldbyname('XZID').AsString)+''''); execsql; end; end; next; end; end; initGrid(); application.MessageBox('提交成功','提示'); except; application.MessageBox('提交失败','提示'); end; end; procedure TfrmGRYearPFList_YGXZTJ.cxTabControl2Change(Sender: TObject); begin InitGrid(); end; procedure TfrmGRYearPFList_YGXZTJ.N2Click(Sender: TObject); begin SelOKNo(Order_Main,True); end; procedure TfrmGRYearPFList_YGXZTJ.N1Click(Sender: TObject); begin SelOKNo(Order_Main,False); end; procedure TfrmGRYearPFList_YGXZTJ.Tv1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin TSsel.Click; end; procedure TfrmGRYearPFList_YGXZTJ.TCXTJClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if Order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end; try with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=True then begin if fieldbyname('Chkstatus').AsString<>'待审核' then begin application.MessageBox('已审核不能撤销','提交'); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update OA_YG_XZFF set Chkstatus=''待提交'' '); sql.add('where XZID='''+trim(Order_Main.fieldbyname('XZID').AsString)+''''); execsql; end; end; next; end; end; initGrid(); application.MessageBox('撤销成功','提示'); except; application.MessageBox('撤销失败','提示'); end; end; end.