D10SZKaiXiYa/B02基础纱线仓库/U_YarnCFInfoSel.pas
2025-12-09 17:30:17 +08:00

295 lines
7.0 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_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
// 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;
if CDS_1.FieldByName('CFID').AsString <> '' then
begin
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;
end
else
begin
CDS_1.Delete;
end;
end;
procedure TfrmYarnCFInfoSel.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmYarnCFInfoSel.FormDestroy(Sender: TObject);
begin
inherited;
frmYarnCFInfoSel := nil;
end;
end.