D7wmhengming/基础数据/U_User10.pas

453 lines
11 KiB
ObjectPascal
Raw Normal View History

2025-04-27 16:59:54 +08:00
unit U_User10;
interface
uses
2025-05-12 15:20:41 +08:00
Windows, Messages, SysUtils, strUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, Menus, cxLookAndFeelPainters, StdCtrls, cxButtons, DB, ADODB,
2025-04-27 16:59:54 +08:00
BtnEdit, ComCtrls, ExtCtrls, cxControls, cxContainer, cxEdit, cxImage,
2025-05-12 15:20:41 +08:00
cxDBEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, ShellAPI,
2025-04-27 16:59:54 +08:00
IdFTP, cxGraphics, cxLookAndFeels, dxSkinsCore, dxSkinBlack, dxSkinBlue,
2025-05-12 15:20:41 +08:00
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue;
2025-04-27 16:59:54 +08:00
type
TfrmUser10 = class(TForm)
ADOQueryTmp: TADOQuery;
ADO_Cmd: TADOQuery;
Panel1: TPanel;
userID: TEdit;
Label1: TLabel;
sex: TComboBox;
Label7: TLabel;
Label9: TLabel;
InTime: TDateTimePicker;
Label10: TLabel;
idNo: TEdit;
edu: TComboBox;
Label8: TLabel;
Label2: TLabel;
userName: TEdit;
Label5: TLabel;
Label6: TLabel;
UType: TEdit;
cxOK: TcxButton;
cxClose: TcxButton;
newPassword: TEdit;
Label3: TLabel;
Label4: TLabel;
DnewPassword: TEdit;
Label11: TLabel;
Address: TEdit;
Label12: TLabel;
phone: TEdit;
Label13: TLabel;
position: TBtnEditC;
Label14: TLabel;
fstr1: TEdit;
Label15: TLabel;
note: TMemo;
Label16: TLabel;
valid: TComboBox;
Picture4: TcxDBImage;
FileName: TcxButton;
cxDBImage1: TcxDBImage;
FileName1: TcxButton;
DataSource1: TDataSource;
ADOQueryImage: TADOQuery;
IdFTP1: TIdFTP;
2025-05-12 15:20:41 +08:00
Udept: TBtnEditC;
UdeptID: TEdit;
2025-04-27 16:59:54 +08:00
procedure cxCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxOKClick(Sender: TObject);
procedure userIDKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure positionBtnUpClick(Sender: TObject);
procedure positionBtnDnClick(Sender: TObject);
procedure FileNameClick(Sender: TObject);
procedure Picture4DblClick(Sender: TObject);
2025-05-12 15:20:41 +08:00
procedure UdeptBtnDnClick(Sender: TObject);
procedure UdeptBtnUpClick(Sender: TObject);
2025-04-27 16:59:54 +08:00
private
2025-05-12 15:20:41 +08:00
fPassWord: string;
fIsYGCodezdsc: Boolean;
2025-04-27 16:59:54 +08:00
procedure DoQuery();
2025-05-12 15:20:41 +08:00
function SaveData(): Boolean;
2025-04-27 16:59:54 +08:00
// procedure InitImage();
{ Private declarations }
public
2025-05-12 15:20:41 +08:00
formId: integer;
fuserID: string;
2025-04-27 16:59:54 +08:00
{ Public declarations }
end;
var
frmUser10: TfrmUser10;
implementation
2025-05-12 15:20:41 +08:00
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_PublicFunction, getpic, U_CPTypeBM;
2025-04-27 16:59:54 +08:00
{$R *.dfm}
{procedure TfrmUser10.InitImage();
begin
with ADOQueryImage do
begin
close;
sql.Clear;
sql.Add('select * from TP_File A');
sql.Add('where TFid='+quotedstr(trim(userID.Text)));
open;
end;
end;}
2025-05-12 15:20:41 +08:00
function TfrmUser10.SaveData(): Boolean;
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
result := false;
2025-04-27 16:59:54 +08:00
ADO_Cmd.Connection.BeginTrans;
try
{ if trim(newPassword.Text)<>'' then
fPassWord:=trim(EncryptString(trim(newPassword.text),keys))
else }
2025-05-12 15:20:41 +08:00
fPassWord := '';
2025-04-27 16:59:54 +08:00
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add(' select * from BD_Staff ');
2025-05-12 15:20:41 +08:00
sql.Add(' where userID=' + quotedstr(trim(fuserID)));
2025-04-27 16:59:54 +08:00
open;
2025-05-12 15:20:41 +08:00
if ADO_Cmd.IsEmpty then
ADO_Cmd.Append
else
ADO_Cmd.Edit;
SSetsaveSqlNew(ADO_Cmd, 'BD_Staff', Panel1, 2);
ADO_Cmd.FieldByName('userID').Value := trim(fuserID);
2025-04-27 16:59:54 +08:00
// ADO_Cmd.FieldByName('username').Value:=trim(username.Text);
2025-05-12 15:20:41 +08:00
ADO_Cmd.FieldByName('passWord').Value := trim(fPassWord);
2025-04-27 16:59:54 +08:00
// ADO_Cmd.FieldByName('Udept').Value:=trim(Udept.Text);
// ADO_Cmd.FieldByName('UType').Value:=trim(UType.Text);
2025-05-12 15:20:41 +08:00
if trim(valid.Text) = '<27><>' then
ADO_Cmd.FieldByName('valid').Value := 'N'
2025-04-27 16:59:54 +08:00
else
2025-05-12 15:20:41 +08:00
ADO_Cmd.FieldByName('valid').Value := 'Y';
ADO_Cmd.FieldByName('isywy').Value := false;
2025-04-27 16:59:54 +08:00
ADO_Cmd.Post;
end;
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add(' update SY_user SET ');
2025-05-12 15:20:41 +08:00
if trim(valid.Text) = '<27><>' then
sql.Add(' valid=''N'' ')
2025-04-27 16:59:54 +08:00
else
2025-05-12 15:20:41 +08:00
sql.Add(' valid=''Y'' ');
sql.Add(' where userID=' + quotedstr(trim(fuserID)));
2025-04-27 16:59:54 +08:00
execsql;
end;
ADO_Cmd.Connection.CommitTrans;
2025-05-12 15:20:41 +08:00
result := true;
2025-04-27 16:59:54 +08:00
except
ADO_Cmd.Connection.RollbackTrans;
end;
end;
2025-05-12 15:20:41 +08:00
2025-04-27 16:59:54 +08:00
procedure TfrmUser10.DoQuery();
begin
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add(' select * from BD_Staff A ');
2025-05-12 15:20:41 +08:00
sql.Add(' where userID=' + quotedstr(trim(fuserID)));
2025-04-27 16:59:54 +08:00
open;
if not IsEmpty then
begin
2025-05-12 15:20:41 +08:00
SCSHDataNew(adoqueryTmp, Panel1, 2);
2025-04-27 16:59:54 +08:00
// userID.Text:=trim(fieldbyname('userID').AsString);
// userName.Text:=trim(fieldbyname('userName').AsString);
// Udept.Text:=trim(fieldbyname('Udept').AsString);
// UType.Text:=trim(fieldbyname('UType').AsString);
{ if trim(fieldbyname('passWord').AsString)<>'' then
fPassWord:=trim(DecryptString(trim(fieldbyname('passWord').AsString),keys))
else }
2025-05-12 15:20:41 +08:00
fPassWord := '';
2025-04-27 16:59:54 +08:00
// newPassword.Text:=trim(fPassWord);
// DnewPassword.Text:=trim(fPassWord);
end;
end;
end;
procedure TfrmUser10.cxCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmUser10.FormCreate(Sender: TObject);
begin
2025-05-12 15:20:41 +08:00
Panel1.Align := alclient;
2025-04-27 16:59:54 +08:00
{ with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add('select * from SY_SET');
open;
if not IsEmpty then
begin
fIsYGCodezdsc:=fieldbyname('IsYGCodezdsc').AsBoolean;
end;
end; }
2025-05-12 15:20:41 +08:00
fIsYGCodezdsc := true;
InTime.Date := strtodate(formatdateTime('yyyy-MM-dd', DServerDate));
2025-04-27 16:59:54 +08:00
end;
procedure TfrmUser10.cxOKClick(Sender: TObject);
begin
2025-05-12 15:20:41 +08:00
if trim(userID.Text) = '' then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
2025-04-27 16:59:54 +08:00
userName.Text;
exit;
end;
2025-05-12 15:20:41 +08:00
if trim(userName.Text) = '' then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
2025-04-27 16:59:54 +08:00
userName.Text;
exit;
end;
2025-05-12 15:20:41 +08:00
if trim(newPassword.Text) <> trim(dnewPassword.Text) then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EBB2BB>£<EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
newPassword.Text := '';
dnewPassword.Text := '';
2025-04-27 16:59:54 +08:00
exit;
end;
2025-05-12 15:20:41 +08:00
if formId = 0 then
begin
if fIsYGCodezdsc then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
if not GetMaxBh(ADO_Cmd, fuserID, 'BD_Staff', 'YG', '0', 3) then
exit;
end
else
begin
fuserID := trim(userID.Text);
end;
2025-04-27 16:59:54 +08:00
2025-05-12 15:20:41 +08:00
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add(' select * from BD_Staff');
sql.Add(' where userID=' + quotedstr(trim(fuserID)));
open;
if not isempty then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
exit;
2025-04-27 16:59:54 +08:00
end;
end;
2025-05-12 15:20:41 +08:00
end;
2025-04-27 16:59:54 +08:00
if SaveData() then
begin
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
ModalResult := 1;
2025-04-27 16:59:54 +08:00
end
else
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
2025-04-27 16:59:54 +08:00
end;
procedure TfrmUser10.userIDKeyPress(Sender: TObject; var Key: Char);
begin
2025-05-12 15:20:41 +08:00
Key := UpCase(Key);
if Key = #13 then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
perform(WM_NEXTDLGCTL, 0, 0);
2025-04-27 16:59:54 +08:00
Key := #0;
end;
end;
procedure TfrmUser10.FormShow(Sender: TObject);
begin
2025-05-12 15:20:41 +08:00
if formId = 0 then
2025-04-27 16:59:54 +08:00
begin
if fIsYGCodezdsc then
begin
2025-05-12 15:20:41 +08:00
userID.Enabled := false;
userID.Text := '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
2025-04-27 16:59:54 +08:00
end;
end
else
begin
2025-05-12 15:20:41 +08:00
userID.Enabled := false;
2025-04-27 16:59:54 +08:00
end;
DoQuery();
// InitImage();
end;
procedure TfrmUser10.positionBtnUpClick(Sender: TObject);
var
2025-05-12 15:20:41 +08:00
fsj: string;
FWZ: Integer;
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
fsj := Trim(TEdit(Sender).Hint);
FWZ := Pos('/', fsj);
2025-04-27 16:59:54 +08:00
try
2025-05-12 15:20:41 +08:00
frmZDYHelp := TfrmZDYHelp.Create(Application);
2025-04-27 16:59:54 +08:00
with frmZDYHelp do
begin
2025-05-12 15:20:41 +08:00
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if Trim(flag) = 'OrdDefStr2' then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
V1Name.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
V1Note.Caption := '<27><>ע<EFBFBD><D7A2>Ϣ';
fnote := true;
2025-04-27 16:59:54 +08:00
end;
2025-05-12 15:20:41 +08:00
if ShowModal = 1 then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
2025-04-27 16:59:54 +08:00
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmUser10.positionBtnDnClick(Sender: TObject);
begin
2025-05-12 15:20:41 +08:00
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
2025-04-27 16:59:54 +08:00
end;
procedure TfrmUser10.FileNameClick(Sender: TObject);
begin
2025-05-12 15:20:41 +08:00
if trim(userID.Text) = '' then
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
2025-04-27 16:59:54 +08:00
exit;
end;
try
2025-05-12 15:20:41 +08:00
FormGetPic := TFormGetPic.Create(Application);
2025-04-27 16:59:54 +08:00
with FormGetPic do
begin
2025-05-12 15:20:41 +08:00
fkeyNO := trim(userID.Text);
pat1 := TCXbutton(Sender).Name;
pic1 := TCXbutton(Sender).Hint;
FTFType := <><D4B1><EFBFBD><EFBFBD>Ϣ';
2025-04-27 16:59:54 +08:00
// pat1:='PatFile1';
// pic1:='Picture1';
2025-05-12 15:20:41 +08:00
if ShowModal = 1 then
2025-04-27 16:59:54 +08:00
begin
// self.Timage(Tbutton(Sender).Hint).Picture.Assign(FormGetPic.Image2.Picture.Bitmap);
2025-05-12 15:20:41 +08:00
userID.Enabled := false;
2025-04-27 16:59:54 +08:00
end;
Release;
end;
// Initimage();
except
2025-05-12 15:20:41 +08:00
if FormGetPic <> nil then
FormGetPic.Release;
2025-04-27 16:59:54 +08:00
end;
end;
procedure TfrmUser10.Picture4DblClick(Sender: TObject);
var
2025-05-12 15:20:41 +08:00
sFieldName: string;
fileName: string;
2025-04-27 16:59:54 +08:00
begin
2025-05-12 15:20:41 +08:00
if TcxDBImage(Sender).Picture.Height = 0 then
exit;
2025-04-27 16:59:54 +08:00
2025-05-12 15:20:41 +08:00
sFieldName := LeftBstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ<CDBC>鿴';
2025-04-27 16:59:54 +08:00
if not DirectoryExists(pchar(sFieldName)) then
2025-05-12 15:20:41 +08:00
CreateDirectory(pchar(sFieldName), nil);
2025-04-27 16:59:54 +08:00
2025-05-12 15:20:41 +08:00
fileName := adoqueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring;
2025-04-27 16:59:54 +08:00
2025-05-12 15:20:41 +08:00
sFieldName := sFieldName + '\' + trim(fileName);
2025-04-27 16:59:54 +08:00
try
IdFTP1.Host := PicSvr;
IdFTP1.Username := 'three';
2025-05-12 15:20:41 +08:00
IdFTP1.Password := '641010';
2025-04-27 16:59:54 +08:00
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
try
2025-05-12 15:20:41 +08:00
IdFTP1.Get('TP\' + Trim(fileName), sFieldName, false, true);
2025-04-27 16:59:54 +08:00
except
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
2025-05-12 15:20:41 +08:00
if IdFTP1.Connected then
IdFTP1.Quit;
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
2025-04-27 16:59:54 +08:00
end;
2025-05-12 15:20:41 +08:00
procedure TfrmUser10.UdeptBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmUser10.UdeptBtnUpClick(Sender: TObject);
begin
try
frmCPTypeBM := TfrmCPTypeBM.Create(Application);
with frmCPTypeBM do
begin
// flag:=Copy(fsj,1,FWZ-1);
// flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz);
// if Trim(flag)='OrdDefStr2' then
// begin
// V1Name.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
// V1Note.Caption:='<27><>ע<EFBFBD><D7A2>Ϣ';
// fnote:=true;
// end;
FState := 'ѡ<><D1A1>';
if ShowModal = 1 then
begin
TEdit(Sender).Text := Trim(ADOQueryTree.fieldbyname('CPName').AsString);
UdeptID.Text := Trim(ADOQueryTree.fieldbyname('CPID').AsString);
end;
end;
finally
frmCPTypeBM.Free;
end;
end;
2025-04-27 16:59:54 +08:00
end.
2025-05-12 15:20:41 +08:00