unit U_YGInPut; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, cxDropDownEdit, jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, cxPC, cxGridCustomPopupMenu, cxGridPopupMenu, Menus, ExtDlgs; type TfrmYGInPut = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; ADOTemp: TADOQuery; ADOCmd: TADOQuery; ADOQuery1: TADOQuery; TBSave: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; DataSource1: TDataSource; Order_Sub: TClientDataSet; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1YGName: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1GangWei: TcxGridDBColumn; v1YGSex: TcxGridDBColumn; v1Phone: TcxGridDBColumn; v1YGYearGL: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; v1RuZhiDate: TcxGridDBColumn; cxGridPopupMenu1: TcxGridPopupMenu; v1SYRName: TcxGridDBColumn; v1SFZNo: TcxGridDBColumn; v1YGNo: TcxGridDBColumn; ADOQueryCmd: TADOQuery; v1Column2: TcxGridDBColumn; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1SYRNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private TPInt: Integer; procedure InitData(); function SaveData(): Boolean; function SaveMXData(Tv11: TcxGridDBTableView; CDS1: TClientDataSet; FMaxNo, FYOType: string): Boolean; procedure SaveImageOther(); procedure InitImage(); { Private declarations } public canshu1: string; PState, CopyInt: Integer; FMainId, FDPID, FName: string; { Public declarations } end; var frmYGInPut: TfrmYGInPut; implementation uses U_DataLink, U_ZDYHelp, U_RTFun; {$R *.dfm} procedure TfrmYGInPut.TBCloseClick(Sender: TObject); begin WriteCxGrid('员工档案录入2', Tv1, '管理'); Close; end; procedure TfrmYGInPut.InitData(); begin with ADOCmd do begin Close; sql.Clear; sql.Add('select * from OA_YG_DangAn where YGID=''' + Trim(FMainId) + ''''); Open; end; SCreateCDS20(ADOCmd, Order_Sub); SInitCDSData20(ADOCmd, Order_Sub); end; procedure TfrmYGInPut.FormShow(Sender: TObject); begin ReadCxGrid('员工档案录入2', Tv1, '管理'); InitData(); end; function TfrmYGInPut.SaveData(): Boolean; var maxno, FHZStatus: string; begin Result := False; try ADOCmd.Connection.BeginTrans; with Order_Sub do begin first; while not eof do begin if Trim(Order_Sub.fieldbyname('YGId').AsString) = '' then begin if GetLSNo(ADOCmd, maxno, 'OA', 'OA_YG_DangAn', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; end else begin maxno := Trim(Order_Sub.fieldbyname('YGId').AsString); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from OA_YG_DangAn where YGId=''' + Trim(maxno) + ''''); Open; end; with ADOCmd do begin if ADOCmd.IsEmpty then begin Append; FieldByName('Filler').Value := Trim(DName); end else begin edit; FieldByName('Editer').Value := Trim(DName); FieldByName('Edittime').Value := SGetServerDateTime(ADOQuery1); end; FieldByName('YGID').Value := Trim(maxno); FieldByName('YGType').Value := '正式'; fieldbyname('DPID').Value := Trim(FDPID); RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'OA_YG_DangAn', 0); FieldByName('YGYearGL').Value := Order_Sub.fieldbyname('YGYearGL').AsFloat; post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from OA_YG_DangAn where YGNo=''' + Trim(Order_Sub.fieldbyname('YGNo').AsString) + ''''); Open; end; if ADOQueryCmd.RecordCount > 1 then begin ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar('员工编号' + trim(ADOQueryCmd.fieldbyname('YGNo').AsString) + '已存在'), '提示'); Exit; end; with Order_Sub do begin Edit; FieldByName('YGID').Value := Trim(maxno); end; next; end; end; ADOCmd.Connection.CommitTrans; Result := True; except ; Result := False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; end; function TfrmYGInPut.SaveMXData(Tv11: TcxGridDBTableView; CDS1: TClientDataSet; FMaxNo, FYOType: string): Boolean; begin end; procedure TfrmYGInPut.InitImage(); begin end; procedure TfrmYGInPut.TBSaveClick(Sender: TObject); var FSFNO: string; begin ToolBar1.SetFocus; if Order_Sub.Locate('SFZNo', '', []) = true then begin application.MessageBox('身份证不能为空', '提示'); exit; end; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); ModalResult := 1; end; end; procedure TfrmYGInPut.SaveImageOther(); begin end; procedure TfrmYGInPut.ToolButton1Click(Sender: TObject); begin with Order_Sub do begin Append; fieldbyname('RuZhiDate').Value := SGetServerDate(ADOQuery1); FieldByName('Dept').Value := Trim(FName); Post; end; end; procedure TfrmYGInPut.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete OA_YG_DangAn where YGID=''' + Trim(Order_Sub.fieldbyname('YGID').AsString) + ''''); ExecSQL; end; Order_Sub.Delete; end; procedure TfrmYGInPut.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin frmZDYHelp := TfrmZDYHelp.Create(self); with frmZDYHelp do begin flag := 'Dept'; flagName := '部门'; if ShowModal = 1 then begin with Order_Sub do begin edit; FieldByName('Dept').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; free; end; end; procedure TfrmYGInPut.v1SYRNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin frmZDYHelp := TfrmZDYHelp.Create(self); with frmZDYHelp do begin flag := 'SYRName'; flagName := '车间'; if ShowModal = 1 then begin with Order_Sub do begin edit; FieldByName('SYRName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; free; end; end; procedure TfrmYGInPut.v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'BZName'; flagname := '班组名称'; if ShowModal = 1 then begin with Order_Sub do begin Edit; FieldByName('BZName').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; end.