D10SZKaiXiYa/B02基础纱线仓库/U_YarnCFInfoSel.pas

295 lines
7.0 KiB
ObjectPascal
Raw Normal View History

2025-11-16 11:44:23 +08:00
unit U_YarnCFInfoSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit,
cxDropDownEdit, dxScrollbarAnnotations, cxCheckBox;
type
TfrmYarnCFInfoSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
TBSaveForMat: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
ADOConnection1: TADOConnection;
Panel1: TPanel;
Label1: TLabel;
CF: TEdit;
GPM_1: TcxGridPopupMenu;
ImageList1: TImageList;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column2: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Tv1Column4: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
TbSave: TToolButton;
Tv1SSel: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBSaveForMatClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure CFChange(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TbSaveClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
procedure InitGrid();
function SaveData(): Boolean;
{ Private declarations }
public
FSTKName: string;
{ Public declarations }
end;
var
frmYarnCFInfoSel: TfrmYarnCFInfoSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmYarnCFInfoSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end;
end;
procedure TfrmYarnCFInfoSel.CFChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmYarnCFInfoSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CF.SetFocus;
Action := cahide;
end;
procedure TfrmYarnCFInfoSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('SELECT A.*');
SQL.Add('FROM BS_Yarn_Info_CF A');
SQL.Add('WHERE A.BYIID IS NULL');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYarnCFInfoSel.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(<>߳ɷ<DFB3>ѡ<EFBFBD><D1A1>' + Trim(FSTKName), TV1, <>߳ɷ<DFB3>ѡ<EFBFBD><D1A1>');
InitGrid();
end;
procedure TfrmYarnCFInfoSel.TBCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmYarnCFInfoSel.TbSaveClick(Sender: TObject);
begin
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
end;
end;
function TfrmYarnCFInfoSel.SaveData(): Boolean;
var
maxCFID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
////////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ɷֱ<C9B7> //////////////////////
with CDS_1 do
begin
First;
while not Eof do
begin
if Trim(CDS_1.fieldbyname('CFID').AsString) = '' then
begin
if GetLSNo(ADOQueryTemp, maxCFID, 'CF', 'BS_Yarn_Info_CF', 5, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from BS_Yarn_Info_CF where 1 = 2 ');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_1.fieldbyname('CFID').AsString) = '' then
begin
Append;
end;
FieldByName('CFID').Value := Trim(maxCFID);
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'BS_Yarn_Info_CF', 0);
Post;
end;
end;
Next;
end;
end;
//////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ɷֱ<C9B7><D6B1><EFBFBD><EFBFBD><EFBFBD> //////////////////////
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmYarnCFInfoSel.TBSaveForMatClick(Sender: TObject);
begin
WriteCxGrid(<>߳ɷ<DFB3>ѡ<EFBFBD><D1A1>' + Trim(FSTKName), TV1, <>߳ɷ<DFB3>ѡ<EFBFBD><D1A1>');
end;
procedure TfrmYarnCFInfoSel.ToolButton1Click(Sender: TObject);
begin
CF.SetFocus;
ModalResult := 1;
end;
procedure TfrmYarnCFInfoSel.ToolButton2Click(Sender: TObject);
begin
CDS_1.Append;
CDS_1.FieldByName('SSel').Value := False;
CDS_1.Post;
end;
procedure TfrmYarnCFInfoSel.ToolButton3Click(Sender: TObject);
begin
2025-12-09 17:30:17 +08:00
// CDS_1.First;
// while not CDS_1.Eof do
// begin
// if CDS_1.FieldByName('SSel').AsBoolean = True then
// begin
//
//
//
//
// end;
// CDS_1.Next; // <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼
// end;
2025-11-16 11:44:23 +08:00
if CDS_1.FieldByName('CFID').AsString <> '' then
begin
2025-12-09 17:30:17 +08:00
if MessageDlg(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('delete from BS_Yarn_Info_CF where CFID = ' + QuotedStr(Trim(CDS_1.FieldByName('CFID').AsString)));
ExecSQL;
end;
CDS_1.Delete;
ShowMessage(<><C9BE><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>');
end
else
begin
Exit;
end;
2025-11-16 11:44:23 +08:00
end
else
begin
2025-12-09 17:30:17 +08:00
CDS_1.Delete;
2025-11-16 11:44:23 +08:00
end;
end;
procedure TfrmYarnCFInfoSel.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmYarnCFInfoSel.FormDestroy(Sender: TObject);
begin
inherited;
frmYarnCFInfoSel := nil;
end;
end.