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

258 lines
6.6 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_GSInPutMain;
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, BtnEdit;
type
TfrmGSInPutMain = class(TForm)
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Panel2: TPanel;
Label15: TLabel;
Label16: TLabel;
LabKHName: TLabel;
Label20: TLabel;
KHAdd: TMemo;
KHAddEng: TMemo;
KHName: TEdit;
KHNameJC: TEdit;
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
DS_HZ3: TDataSource;
CDS_HZ3: TClientDataSet;
Label1: TLabel;
KHNameEng: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
function SaveData():Boolean;
procedure initBtnColor(panel12:TPanel);
public
{ Public declarations }
FKHMainid,FTSFlag,FKHFlag:String;
end;
var
frmGSInPutMain: TfrmGSInPutMain;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmGSInPutMain.InitGrid();
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Main where KHMainID='''+Trim(FKHMainid)+'''');
Open;
end;
//Ö÷±í
if ADOQueryTemp.IsEmpty=false then
SCSHDataNew(ADOQueryTemp,Panel2,2);
end;
procedure TfrmGSInPutMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmGSInPutMain.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmGSInPutMain.FormShow(Sender: TObject);
begin
KHName.SetFocus;
InitGrid();
if TBSave.Visible=False then
begin
initBtnColor(Panel2);
end;
end;
procedure TfrmGSInPutMain.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;
function TfrmGSInPutMain.SaveData():Boolean;
var
maxno,FGYSNO,maxnoYWY:String;
begin
result:=false;
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FKHMainid)='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'GS','KH_Main',4,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('È¡×î´óIDʧ°ÜGSKH£¡','Ìáʾ',0);
Exit;
end;
if Trim(FKHFlag)='GS' then
begin
if GetLSNo(ADOQueryCmd,FGYSNO,Trim('GS'),'KH_Main',2,0)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('È¡¹«Ë¾×î´óºÅʧ°Ü£¡','Ìáʾ',0);
Exit;
end;
end;
end else
begin
maxno:=Trim(FKHMainid);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Main where KHMainID='''+Trim(FKHMainid)+'''');
Open;
end;
with ADOQueryCmd do
begin
If IsEmpty then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('Fillercode').Value:=Trim(DCode);
FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp);
FieldByName('KHNO').Value:=Trim(FGYSNO);
end
else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditerCode').Value:=Trim(DCode);
FieldByName('Edittime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('KHMainID').Value:=Trim(maxno);
RTSetsavedata(ADOQueryCmd,'KH_Main',Panel2,2);
FieldByName('KHFlag').Value:=Trim(FKHFlag);
FieldByName('Valid').Value:='Y';
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Main where KHName='''+Trim(KHName.Text)+'''');
sql.Add(' and KHFlag='''+Trim(FKHFlag)+''' and Valid=''Y'' ');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('¹«Ë¾Ãû³ÆÖظ´!','Ìáʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Main where KHNameJC='''+Trim(KHNameJC.Text)+'''');
sql.Add(' and KHFlag='''+Trim(FKHFlag)+''' and Valid=''Y'' ');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('¼ò³ÆÖظ´!','Ìáʾ',0);
Exit;
end;
ADOQueryCmd.Connection.CommitTrans;
FKHMainid:=maxno;
result:=true;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=false;
Application.MessageBox('Êý¾Ý±£´æÊ§°Ü!','Ìáʾ',0);
Exit;
end;
end;
procedure TfrmGSInPutMain.TBSaveClick(Sender: TObject);
begin
Panel2.SetFocus;
IF trim(KHName.Text)='' then
begin
application.MessageBox('¹«Ë¾Ãû³Æ²»ÄÜΪ¿Õ£¡','ÌáʾÐÅÏ¢',MB_ICONERROR);
exit;
end;
if Trim(KHNameJC.Text)='' then
begin
application.MessageBox('¼ò³Æ²»ÄÜΪ¿Õ£¡','ÌáʾÐÅÏ¢',MB_ICONERROR);
exit;
end;
IF trim(KHNameEng.Text)='' then
begin
application.MessageBox('¹«Ë¾Ãû³Æ(Ó¢ÎÄ)²»ÄÜΪ¿Õ£¡','ÌáʾÐÅÏ¢',MB_ICONERROR);
exit;
end;
if Trim(KHAdd.Text)='' then
begin
application.MessageBox('¹«Ë¾µØÖ·²»ÄÜΪ¿Õ£¡','ÌáʾÐÅÏ¢',MB_ICONERROR);
exit;
end;
if Trim(KHAddEng.Text)='' then
begin
application.MessageBox('¹«Ë¾µØÖ·(Ó¢ÎÄ)²»ÄÜΪ¿Õ£¡','ÌáʾÐÅÏ¢',MB_ICONERROR);
exit;
end;
if Application.MessageBox('È·¶¨Òª±£´æÊý¾ÝÂð£¿','Ìáʾ',32+4)<>IDYES then Exit;
if SaveData() then
begin
Application.MessageBox('±£´æ³É¹¦!','Ìáʾ',0);
ModalResult:=1;
end;
end;
end.