D7myYunxiang/云翔基础资料(BaseInfoYX.dll)/U_PBGYSInPutMainBank.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

323 lines
8.1 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_PBGYSInPutMainBank;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit, cxDropDownEdit, cxPC;
type
TfrmPBGYSInPutMainBank = class(TForm)
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Panel2: TPanel;
Label13: TLabel;
Label19: TLabel;
KHLXR: TEdit;
KHName: TEdit;
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label12: TLabel;
Label23: TLabel;
Button3: TButton;
HangNo: TEdit;
BankNo: TEdit;
BankName: TEdit;
BankType: TComboBox;
HuMing: TEdit;
TBAddXJ: TToolButton;
Label1: TLabel;
ShuiHao: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure TBAddXJClick(Sender: TObject);
procedure BankTypeChange(Sender: TObject);
private
{ Private declarations }
function SaveDataBank():Boolean;
procedure initBtnColor(panel12:TPanel);
public
{ Public declarations }
FKHMainid,FBKID:String;
PState:Integer;
end;
var
frmPBGYSInPutMainBank: TfrmPBGYSInPutMainBank;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmPBGYSInPutMainBank.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmPBGYSInPutMainBank.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmPBGYSInPutMainBank.FormShow(Sender: TObject);
begin
KHName.SetFocus;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Main where KHMainID='''+Trim(FKHMainid)+'''');
Open;
end;
//<2F><><EFBFBD><EFBFBD>
if ADOQueryTemp.IsEmpty=false then
SCSHDataNew(ADOQueryTemp,Panel2,2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where BKID='''+Trim(FBKID)+'''');
Open;
end;
SCSHDataNew(ADOQueryTemp,Panel1,3);
BankNo.Hint:=Trim(FBKID);
if PState=0 then
begin
Button3.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
BankType.Enabled:=False;
BankType.Color:=clMenu;
TBAdd.Visible:=True;
TBAddXJ.Visible:=True;
end else
if PState=1 then
begin
Button3.Caption:='<27>޸ı<DEB8><C4B1><EFBFBD>';
BankType.Enabled:=True;
BankType.Color:=clWindow;
TBAdd.Visible:=False;
TBAddXJ.Visible:=False;
end else
if PState=2 then
begin
Button3.Visible:=False;
BankType.Enabled:=False;
BankType.Color:=clMenu;
TBAdd.Visible:=False;
TBAddXJ.Visible:=False;
initBtnColor(Panel1);
end;
end;
procedure TfrmPBGYSInPutMainBank.TBAddClick(Sender: TObject);
begin
BankNo.Hint:='';
BankType.ItemIndex:=0;
HuMing.Text:=Trim(KHName.Text);
HangNo.SetFocus;
end;
procedure TfrmPBGYSInPutMainBank.Button3Click(Sender: TObject);
begin
if Trim(BankType.Text)='' then
begin
application.MessageBox('<27><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if Trim(BankNo.Text)='' then
begin
application.MessageBox('<27>˺Ų<CBBA><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if Trim(HuMing.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if SaveDataBank() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
ModalResult:=1;
end;
end;
function TfrmPBGYSInPutMainBank.SaveDataBank():Boolean;
var
maxno:String;
begin
result:=false;
try
ADOQueryCmd.Connection.BeginTrans;
if PState=0 then
begin
if GetLSNo(ADOQueryCmd,maxno,'BK','KH_Sub_Bank',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IDʧ<44><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
if PState=1 then
begin
maxno:=Trim(FBKID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Sub_Bank where BKID='''+Trim(maxno)+'''');
Open;
end;
with ADOQueryCmd do
begin
if PState=0 then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillerCode').Value:=Trim(DCode);
FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp);
FieldByName('Valid').Value:='Y';
end else
if PState=1 then
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditerCode').Value:=Trim(DCode);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('KHMainId').Value:=Trim(FKHMainid);
FieldByName('KHSubId').Value:=Trim(FKHMainid);
FieldByName('BKID').Value:=Trim(maxno);
RTSetsavedata(ADOQueryCmd,'KH_Sub_Bank',Panel1,3);
{if BankType.ItemIndex=0 then
begin
FieldByName('HuMing').Value:=Trim(KHName.Text);
end;}
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where BankName='''+Trim(BankName.Text)+'''');
sql.Add(' and HuMing='''+Trim(HuMing.Text)+'''');
sql.Add(' and KHSubId='''+Trim(FKHMainid)+''' and valid=''Y'' ');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where BankNo='''+Trim(BankNo.Text)+'''');
sql.Add(' and KHSubId='''+Trim(FKHMainid)+''' and valid=''Y'' ');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>˺<EFBFBD><CBBA>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if PState=0 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate KH_Sub_Bank Set XH=isnull((select Max(XH) from KH_Sub_Bank A where A.KHSubId=KH_Sub_Bank.KHSubId and A.Valid=''Y''),0)+1');
sql.Add(' where BKID='''+Trim(maxno)+'''');
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' UPdate KH_Sub_Bank Set KHNOSub=isnull((select KHNo from KH_Main A where A.KHMainId=KH_Sub_Bank.KHMainId),'''')+''-''+Cast(XH as varchar(20))');
sql.Add(' where BKID='''+Trim(maxno)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
result:=true;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmPBGYSInPutMainBank.TBAddXJClick(Sender: TObject);
begin
BankNo.Hint:='';
BankType.ItemIndex:=1;
HuMing.Text:=Trim(KHLXR.Text);
HangNo.SetFocus;
end;
procedure TfrmPBGYSInPutMainBank.BankTypeChange(Sender: TObject);
begin
if BankType.ItemIndex=0 then
begin
HuMing.Color:=clMenu;
HuMing.ReadOnly:=True;
HuMing.Text:=Trim(KHName.Text);
end else
begin
HuMing.Color:=clWindow;
HuMing.ReadOnly:=False;
end;
end;
procedure TfrmPBGYSInPutMainBank.initBtnColor(panel12:TPanel);
var
i:Integer;
begin
with panel12 do
begin
for i:=0 to panel12.ControlCount-1 do
begin
if Controls[i] is TEdit then
begin
TEdit(Controls[i]).Color:=clMenu;
TEdit(Controls[i]).ReadOnly:=True;
end else
if Controls[i] is TMemo then
begin
TMemo(Controls[i]).Color:=clMenu;
TMemo(Controls[i]).ReadOnly:=True;
end else
if Controls[i] is TComboBox then
begin
TComboBox(Controls[i]).Color:=clMenu;
TComboBox(Controls[i]).Enabled:=False;
end;
end;
end;
end;
end.