D10xhGemei/A05基础资料管理/U_MachineInPut.pas

265 lines
6.4 KiB
ObjectPascal
Raw Permalink Normal View History

2024-12-17 17:25:32 +08:00
unit U_MachineInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, StdCtrls, ExtCtrls,
StrUtils, U_BaseInput, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxDateRanges, dxScrollbarAnnotations, cxContainer, dxBarBuiltInMenu,
2025-03-20 16:38:30 +08:00
System.ImageList, Vcl.ImgList, cxImageList, dxSkinsCore,
dxSkinsDefaultPainters;
2024-12-17 17:25:32 +08:00
type
TfrmMachineInPut = class(TfrmBaseInput)
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column2: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBDel: TToolButton;
TBSave: TToolButton;
TBClose: TToolButton;
DataSource3: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBAddClick(Sender: TObject);
2025-02-20 14:17:49 +08:00
procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
2024-12-17 17:25:32 +08:00
private
{ Private declarations }
function SaveCKData(): Boolean;
public
{ Public declarations }
FBCId, FSTKName: string;
end;
var
frmMachineInPut: TfrmMachineInPut;
implementation
uses
2025-02-20 14:17:49 +08:00
U_DataLink, U_RTFun, U_ZDYHelp, U_EmployeeSel;
2024-12-17 17:25:32 +08:00
{$R *.dfm}
procedure TfrmMachineInPut.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
function TfrmMachineInPut.SaveCKData(): Boolean;
var
MaxNo, MWBID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Bs_Vehicle where VID=''' + Trim(CDS_Sub.fieldbyname('VID').AsString) + '''');
open;
end;
MWBID := Trim(ADOQueryTemp.fieldbyname('VID').AsString);
if Trim(MWBID) = '' then
begin
if GetLSNo(ADOQueryCmd, MaxNo, 'M', 'Bs_Vehicle', 4, 1) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end
else
begin
MaxNo := Trim(MWBID);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from Bs_Vehicle where VID=''' + Trim(MaxNo) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(MWBID) = '' then
begin
Append;
FieldByName('Fillid').Value := Trim(Dcode);
FieldByName('Filler').Value := Trim(DName)
end
else
begin
Edit;
FieldByName('Editid').Value := Trim(Dcode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
end;
FieldByName('VID').Value := Trim(MaxNo);
// FieldByName('STKName').Value := Trim(FSTKName);
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'Bs_Vehicle', 0);
Post;
end;
Edit;
FieldByName('VID').Value := Trim(MaxNo);
Post;
Next;
end;
end;
CDS_Sub.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmMachineInPut.TBAddClick(Sender: TObject);
begin
with CDS_Sub do
begin
Append;
Post;
end;
end;
procedure TfrmMachineInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmMachineInPut.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid(trim(self.Caption), Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from Bs_Vehicle A');
sql.Add(' where VID=''' + Trim(FBCId) + '''');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_Sub);
SInitCDSData(ADOQueryTemp, CDS_Sub);
end;
procedure TfrmMachineInPut.TBDelClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
if Trim(CDS_Sub.fieldbyname('VID').AsString) <> '' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete Bs_Vehicle where VID=''' + Trim(CDS_Sub.fieldbyname('VID').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Sub.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end
else
begin
CDS_Sub.Delete;
end;
end;
procedure TfrmMachineInPut.TBSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
if CDS_Sub.Locate('VNO', null, []) = True then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if SaveCKData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
ModalResult := 1;
Exit;
end;
end;
procedure TfrmMachineInPut.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
end;
2025-02-20 14:17:49 +08:00
procedure TfrmMachineInPut.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
inherited;
try
frmEmployeeSel := TfrmEmployeeSel.Create(Application);
with frmEmployeeSel do
begin
FPost := <><CBBE>';
if ShowModal = 1 then
begin
// FRCode := Trim(TSpeedButton(Sender).Hint);
// FRName := Trim(TSpeedButton(Sender).Caption);
with self.CDS_Sub do
begin
Edit;
FieldByName('Driver').Value := FRName;
Post;
end;
end;
end;
finally
frmEmployeeSel.Free;
end;
end;
2024-12-17 17:25:32 +08:00
end.