D10SZKaiXiYa/E02梭织经轴仓库/U_GKInput.pas
DESKTOP-E401PHE\Administrator bf5567aecf 1234
2025-08-20 16:06:38 +08:00

254 lines
6.0 KiB
ObjectPascal
Raw Permalink 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_GKInput;
interface
uses
Windows, Messages, StrUtils, 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, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxContainer, dxCore,
cxDateUtils, cxImage, cxDBEdit, IdExplicitTLSClientServerBase, cxMemo,
U_BaseInput, System.ImageList, Vcl.ImgList, cxImageList, dxSkinsCore,
dxSkinsDefaultPainters;
type
TfrmGKInput = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
TbSave: TToolButton;
ScrollBox1: TScrollBox;
Label2: TLabel;
Label6: TLabel;
Label39: TLabel;
GKKH: TcxTextEdit;
GKBH: TcxTextEdit;
GKLength: TcxTextEdit;
Label7: TLabel;
JZBH: TcxTextEdit;
Label3: TLabel;
Note: TcxMemo;
Label1: TLabel;
JZCH: TcxTextEdit;
Label4: TLabel;
GKCS: TcxTextEdit;
Label5: TLabel;
GKwidth: TcxTextEdit;
Label8: TLabel;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TbSaveClick(Sender: TObject);
procedure CoareaBtnDnClick(Sender: TObject);
procedure JZBHPropertiesChange(Sender: TObject);
procedure GKKHExit(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
function SaveData(): Boolean;
public
fFlileFlag: string;
fkhType: string;
{ Public declarations }
FGKID: string;
end;
var
frmGKInput: TfrmGKInput;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_CompanySel;
{$R *.dfm}
procedure TfrmGKInput.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select * from BS_GK where GKID=''' + Trim(FGKID) + '''');
Open;
end;
SCSHData(ADOQueryMain, ScrollBox1, 2);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmGKInput.JZBHPropertiesChange(Sender: TObject);
begin
inherited;
GKBH.Text := JZBH.Text + '-' + GKKH.Text + '-' + JZCH.Text + '-' + GKLength.Text;
end;
procedure TfrmGKInput.FormDestroy(Sender: TObject);
begin
inherited;
frmGKInput := nil;
end;
procedure TfrmGKInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmGKInput.TBCloseClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmGKInput.FormShow(Sender: TObject);
begin
inherited;
InitGrid();
end;
procedure TfrmGKInput.GKKHExit(Sender: TObject);
var
FKCS, FKOUHAO: double;
begin
FKCS := StrToFloatDef(GKCS.Text, 0);
FKOUHAO := StrToFloatDef(GKKH.Text, 0);
if FKOUHAO <> 0 then
begin
GKwidth.Text := FloatToStr(RoundFloat(FKCS / FKOUHAO * 2, 2));
end;
end;
procedure TfrmGKInput.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
function TfrmGKInput.SaveData(): Boolean;
var
MaxId, MaxSubId, FCoCode, FCCID, MaxCFID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FGKID) = '' then
begin
if GetLSNo(ADOQueryCmd, MaxId, 'GK', 'BS_GK', 4, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
MaxId := Trim(FGKID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from BS_GK where GKID=''' + Trim(FGKID) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FGKID) = '' then
begin
Append;
FieldByName('Filler').Value := Trim(DName);
end
else
begin
Edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('GKID').Value := Trim(MaxId);
RTSetsavedata(ADOQueryCmd, 'BS_GK', ScrollBox1, 2);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BS_GK where GKBH=' + quotedstr(trim(GKBH.Text)));
Open;
end;
if ADOQueryCmd.RecordCount > 1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>ֿ۱<D6BF><DBB1><EFBFBD><EFBFBD>ظ<EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ADOQueryCmd.Connection.CommitTrans;
FCCID := Trim(MaxSubId);
Result := True;
except
Result := false;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmGKInput.TbSaveClick(Sender: TObject);
begin
if Trim(JZBH.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD>ӱ<EFBFBD><D3B1>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end
else if Trim(GKKH.Text) = '' then
begin
Application.MessageBox('<27>غŲ<D8BA><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end
else if Trim(JZCH.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD>Ӳ<EFBFBD><D3B2>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end
else if Trim(GKLength.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD>س<EFBFBD><D8B3>Ȳ<EFBFBD><C8B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
procedure TfrmGKInput.CoareaBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
end.