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

403 lines
10 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_PBGYSInPutGR;
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
TfrmPBGYSInPutGR = class(TForm)
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Panel2: TPanel;
Label15: TLabel;
Label13: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
KHSJAddMX: TMemo;
KHLXRMX: TEdit;
KHTelMX: TEdit;
KHNameMX: TEdit;
NoteMX: TEdit;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
V3Column1: TcxGridDBColumn;
V3Column2: TcxGridDBColumn;
cxGridDBBankName: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
ToolBar1: TToolBar;
TBSave: TToolButton;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
LabGYSName: TLabel;
BankNo: TEdit;
BankName: TEdit;
HangNo: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Panel1: TPanel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Label11: TLabel;
DS_HZ3: TDataSource;
CDS_HZ3: TClientDataSet;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure TV3CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
function SaveData():Boolean;
function SaveDataBank():Boolean;
public
{ Public declarations }
FKHMainid,FTSFlag,FKHSubId:String;
end;
var
frmPBGYSInPutGR: TfrmPBGYSInPutGR;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_FjList_RZ;
{$R *.dfm}
procedure TfrmPBGYSInPutGR.InitGrid();
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Sub where KHSubID='''+Trim(FKHSubId)+'''');
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 KHSubId='''+Trim(FKHSubId)+''' and Valid=''Y'' ');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_HZ3);
SInitCDSData20(ADOQueryTemp,CDS_HZ3);
end;
procedure TfrmPBGYSInPutGR.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmPBGYSInPutGR.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmPBGYSInPutGR.FormShow(Sender: TObject);
begin
InitGrid();
end;
function TfrmPBGYSInPutGR.SaveData():Boolean;
var
maxno,FGYSNO:String;
begin
result:=false;
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FKHSubId)='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'KS','KH_Sub',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD>˱<EFBFBD><CBB1><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(FKHSubId);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Sub where KHSubId='''+Trim(maxno)+'''');
Open;
end;
with ADOQueryCmd do
begin
If IsEmpty then
begin
append;
FieldByName('DataType').Value:='<27><><EFBFBD><EFBFBD>';
end
else
begin
Edit;
end;
FieldByName('KHSubid').Value:=Trim(maxno);
FieldByName('KHMainID').Value:=Trim(FKHMainid);
RTSetsavedata(ADOQueryCmd,'KH_Sub',Panel2,2);
FieldByName('Valid').Value:='Y';
FieldByName('KHNameJCMX').Value:=Trim(KHNameMX.Text);
post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub where KHNameMX='''+Trim(KHNameMX.Text)+'''');
sql.Add(' and KHMainId='''+Trim(FKHMainid)+'''');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Trim(FKHSubId)='' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate KH_Sub Set XHNo=isnull((select Max(XHNo) from KH_Sub A where A.KHMainId=KH_Sub.KHMainId),0)+1');
sql.Add(' where KHSubId='''+Trim(maxno)+'''');
ExecSQL;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
FKHSubId:=maxno;
result:=true;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=false;
Application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end;
procedure TfrmPBGYSInPutGR.TBSaveClick(Sender: TObject);
begin
Panel2.SetFocus;
IF trim(KHNameMX.Text)='' then
begin
application.MessageBox('<27><><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if SaveData() then
begin
if Trim(BankNo.Hint)<>'' then
begin
SaveDataBank();
end;
if FTSFlag<>'99' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
ModalResult:=1;
end;
end;
end;
procedure TfrmPBGYSInPutGR.TBDelClick(Sender: TObject);
begin
IF CDS_HZ3.IsEmpty then exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Sub_Bank Set Valid=''N'',DelTime=getdate(),Deler='''+Trim(DName)+''',DelerCode='''+Trim(DCode)+'''');
sql.add('where BKID='''+Trim(CDS_HZ3.fieldbyname('BKID').AsString)+'''');
ExecSQL;
end;
CDS_HZ3.Delete;
end;
procedure TfrmPBGYSInPutGR.TBAddClick(Sender: TObject);
begin
Panel1.Visible:=True;
SClearData(Panel1,0);
BankNo.Hint:='';
end;
procedure TfrmPBGYSInPutGR.Button3Click(Sender: TObject);
begin
FTSFlag:='99';
if Trim(FKHSubId)='' then
begin
TBSave.Click;
end;
if Trim(Edit2.Text)='' then
begin
application.MessageBox('<27>˺Ų<CBBA><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if Trim(Edit3.Text)='' then
begin
application.MessageBox('<27><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
HangNo.Text:=Trim(Edit1.Text);
BankNo.Text:=Trim(Edit2.Text);
BankName.Text:=Trim(Edit3.Text);
if SaveDataBank() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
ModalResult:=1;
end;
end;
function TfrmPBGYSInPutGR.SaveDataBank():Boolean;
var
maxno:String;
begin
result:=false;
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FTSFlag)='99' 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 Trim(FTSFlag)='' then
begin
maxno:=Trim(CDS_HZ3.FieldByName('BKID').AsString);
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 Trim(FTSFlag)='99' 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 Trim(FTSFlag)='' 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(FKHSubId);
FieldByName('BKID').Value:=Trim(maxno);
RTSetsavedata(ADOQueryCmd,'KH_Sub_Bank',Panel2,3);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where BankName='''+Trim(BankName.Text)+'''');
sql.Add(' and KHSubId='''+Trim(FKHSubId)+''' and valid=''Y'' ');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><>ַ<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(FKHSubId)+''' 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 Trim(BankNo.Hint)='' 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),0)+1');
sql.Add(' where BKID='''+Trim(maxno)+'''');
ExecSQL;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
result:=true;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmPBGYSInPutGR.TV3CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_HZ3.IsEmpty then
begin
BankName.Text:='';
BankNo.Text:='';
BankNo.Hint:='';
Exit;
end;
BankName.Text:=Trim(CDS_HZ3.fieldbyname('BankName').AsString);
BankNo.Text:=Trim(CDS_HZ3.fieldbyname('BankNo').AsString);
HangNo.Text:=Trim(CDS_HZ3.fieldbyname('HangNo').AsString);
BankNo.Hint:=Trim(CDS_HZ3.fieldbyname('BKID').AsString);
end;
procedure TfrmPBGYSInPutGR.Button1Click(Sender: TObject);
begin
Panel1.Visible:=False;
end;
end.