D10myBiaoqi/A02基础产品管理/U_PatternInfo.pas

1153 lines
30 KiB
ObjectPascal
Raw Permalink Normal View History

2024-07-04 16:01:24 +08:00
unit U_PatternInfo;
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, jpeg, U_SLT, ComObj, Menus,
cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator,
dxBarBuiltInMenu, cxPC, Math, RM_BarCode, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, IdExplicitTLSClientServerBase, U_BaseList, cxContainer,
dxDBBarCode, dxBarCode, Vcl.Clipbrd, cxTextEdit, BtnEdit, StrUtils,
cxButtonEdit;
type
FdDy = record
inc: integer; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>־<EFBFBD><D6BE><EFBFBD>
FDdys: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
FdDysName: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
end;
TfrmPatternInfo = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
GPM_1: TcxGridPopupMenu;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Panel1: TPanel;
TBFilter: TToolButton;
v1CYNo: TcxGridDBColumn;
DS_1: TDataSource;
ADOQueryMain: TADOQuery;
CDS_1: TClientDataSet;
TBExport: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
TBUP: TToolButton;
Label3: TLabel;
C_Code: TEdit;
Panel2: TPanel;
v1SSel: TcxGridDBColumn;
DSCYNO: TDataSource;
CDS_CYNO: TClientDataSet;
Label11: TLabel;
Label12: TLabel;
Panel3: TPanel;
adoqueryPicture: TADOQuery;
v1Column9: TcxGridDBColumn;
Label4: TLabel;
C_Name: TEdit;
TBAdd: TToolButton;
OpenDialog1: TOpenDialog;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column11: TcxGridDBColumn;
Panel7: TPanel;
Panel4: TPanel;
Label14: TLabel;
LBCPAP1: TLabel;
Button1: TButton;
Button2: TButton;
TCBNOR1: TComboBox;
RMBarCodeObject1: TRMBarCodeObject;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
DataSource3: TDataSource;
CDS_Sub: TClientDataSet;
Tv1Column9: TcxGridDBColumn;
cxGridPopupMenu2: TcxGridPopupMenu;
N3: TMenuItem;
Panel9: TPanel;
Panel10: TPanel;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
ADOQueryPrint: TADOQuery;
CDS_Label: TClientDataSet;
Tv1Column1: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
CDS_2: TClientDataSet;
DS_2: TDataSource;
ADOQueryHZ: TADOQuery;
Tv1Column2: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
Tv1Column8: TcxGridDBColumn;
ToolButton4: TToolButton;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ADOQuery1: TADOQuery;
DS_3: TDataSource;
CDS_3: TClientDataSet;
Tv1Column10: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBFilterClick(Sender: TObject);
procedure CYNoChange(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBUPClick(Sender: TObject);
procedure C_CodeKeyPress(Sender: TObject; var Key: Char);
procedure TBAddClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TCBNOR1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure TextEdit(Sender: TObject);
procedure HXNameBtnUpClick(Sender: TObject);
procedure HXNameBtnDnClick(Sender: TObject);
procedure cbbHXChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure v1CYNoPropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton1Click(Sender: TObject);
procedure TV2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure TV3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1Column8PropertiesEditValueChanged(Sender: TObject);
private
{ Private declarations }
CurrentPage, RecordsNumber: Integer;
CTID: string;
PState: Integer;
FCTID, FTopID, FJurisdiction, FCTType: string;
procedure SetStatus();
procedure InitGrid(EditName: string);
procedure InitGY();
procedure InitHZ();
procedure ReadINIFile();
procedure InitImage();
function SaveData(): Boolean;
procedure LookImage(FileName: string);
public
dFdDy: array[0..20] of FdDy; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{ Public declarations }
end;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_RTFun, U_ClothInfoInput, U_CloInfoFileUp, U_ClothTypeSel,
U_ZDYHelp, U_LabelPrint, U_DictSel;
{$R *.dfm}
procedure TfrmPatternInfo.LookImage(FileName: string);
var
sFieldName: string;
begin
sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName), nil);
sFieldName := sFieldName + '\' + trim(FileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
end;
if IdFTP1.Connected then
begin
application.ProcessMessages;
try
// ShowMessage(PChar(Trim('D:\' + Trim(FileName))));
IdFTP1.Get(Trim(UserDataFlag + 'YP\' + FileName), sFieldName, true, false);
except
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
if IdFTP1.Connected then
IdFTP1.Quit;
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
end;
procedure TfrmPatternInfo.SetStatus();
begin
TBAdd.Enabled := False;
TBDel.Enabled := False;
TBUP.Enabled := False;
ToolButton4.Enabled := false;
if FJurisdiction <> '<27><>ѯ' then
begin
TBAdd.Enabled := true;
TBDel.Enabled := true;
TBUP.Enabled := true;
ToolButton4.Enabled := true;
end;
end;
procedure TfrmPatternInfo.InitGrid(EditName: string);
var
fwhere, MBCIID, Pwhere: string;
begin
Panel2.Visible := True;
Panel2.Refresh;
if not CDS_1.IsEmpty then
MBCIID := Trim(CDS_1.FieldByName('BCIID').AsString)
else
MBCIID := '';
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
begin
if fwhere <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere)
else
fwhere := ' where ' + trim(Pwhere);
end;
if trim(EditName) <> 'C_Name' then
begin
// if CDS_3.IsEmpty = False then
// begin
if fwhere <> '' then
fwhere := fwhere + ' and C_Technology=' + QuotedStr(trim(cds_2.FieldByName('C_Technology').AsString)) + ' and C_Technologytype=' + QuotedStr(trim(cds_3.FieldByName('C_Technology').AsString))
else
fwhere := ' where C_Technology=' + QuotedStr(trim(cds_2.FieldByName('C_Technology').AsString)) + ' and C_Technologytype=' + QuotedStr(trim(cds_3.FieldByName('C_Technology').AsString));
// end;
end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add(' exec P_BS_PatInfo_Get ');
sql.Add(' @CTID='''' ');
sql.Add(',@pageIndex=' + inttostr(CurrentPage));
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
sql.Add(',@criteria= ' + quotedstr(fwhere));
// ShowMessage(sql.Text);
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
TV1.DataController.Filter.Clear;
LBCPAP1.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber));
finally
ADOQueryMain.EnableControls;
TV1.DataController.Filter.Clear;
end;
Panel2.Visible := False;
if MBCIID <> '' then
CDS_1.Locate('BCIID', MBCIID, []);
end;
procedure TfrmPatternInfo.InitHZ();
var
FTechnology: string;
begin
if cds_2.IsEmpty = False then
FTechnology := cds_2.FieldByName('C_Technology').asstring;
with ADOQueryHZ do
begin
Close;
sql.Clear;
sql.Add(' select A.*,DictName as C_Technology from Sy_Dict A where A.Type=''GYName''');
Open;
end;
SCreateCDS(ADOQueryHZ, CDS_2);
SInitCDSData(ADOQueryHZ, CDS_2);
if FTechnology <> '' then
cds_2.Locate('C_Technology', FTechnology, []);
end;
procedure TfrmPatternInfo.InitGY();
var
FTechnology: string;
begin
if cds_3.IsEmpty = False then
FTechnology := cds_3.FieldByName('C_Technology').asstring;
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add(' select A.*,itemtext as C_Technology from SY_Dict_Item A where A.DictId=''' + cds_2.FieldByName('DictId').AsString + '''');
Open;
end;
SCreateCDS(ADOQuery1, CDS_3);
SInitCDSData(ADOQuery1, CDS_3);
if FTechnology <> '' then
cds_3.Locate('C_Technology', FTechnology, []);
end;
procedure TfrmPatternInfo.FormClose(Sender: TObject; var Action: TCloseAction);
var
i, j: integer;
begin
inherited;
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
Action := cafree;
end;
procedure TfrmPatternInfo.FormCreate(Sender: TObject);
begin
inherited;
FJurisdiction := Trim(Self.fParameters1);
FCTType := Trim(self.fParameters2);
end;
procedure TfrmPatternInfo.TBCloseClick(Sender: TObject);
begin
if DirectoryExists(ExtractFileDir('D:\Right1209')) then
winexec('cmd /c rd /s /q D:\Right1209', sw_hide);
Close;
end;
procedure TfrmPatternInfo.TBDelClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
while CDS_1.Locate('SSel', true, []) do
begin
if Trim(CDS_1.fieldbyname('BCIID').AsString) <> '' then
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from BS_Cloth_Glide A inner join Bs_Cloth_Info B on A.BCIID=B.BCIID ');
sql.Add('where A.ProcessName=''' + Trim(CDS_1.fieldbyname('C_Technology').AsString) + ''' ');
sql.Add('AND A.ProcessTypeName=''' + Trim(CDS_1.fieldbyname('C_TechnologyType').AsString) + ''' ');
sql.Add('AND A.PatternNo=''' + Trim(CDS_1.fieldbyname('C_Code').AsString) + ''' ');
open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD>ڲ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4>ڲ<EFBFBD><DAB2><EFBFBD>ɾ<EFBFBD><C9BE>,<2C><>', '<27><>ʾ', 0);
ADOQueryCmd.Connection.RollbackTrans;
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete Bs_Pattern_Info where BCIID=''' + Trim(CDS_1.fieldbyname('BCIID').AsString) + '''');
ExecSQL;
end;
end;
CDS_1.Delete;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
end;
TBRafresh.Click;
end;
procedure TfrmPatternInfo.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.Caption + 'TV1', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
// pnlreport.Top := FTop + 110;
application.ProcessMessages;
RecordsNumber := 500;
CurrentPage := 1;
SetStatus();
InitHZ();
InitGY();
InitGrid('');
end;
procedure TfrmPatternInfo.cbbHXChange(Sender: TObject);
begin
InitImage();
end;
procedure TfrmPatternInfo.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid('');
end;
procedure TfrmPatternInfo.TBRafreshClick(Sender: TObject);
begin
initHZ();
InitGY();
InitGrid('');
end;
procedure TfrmPatternInfo.TBFilterClick(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 TfrmPatternInfo.CYNoChange(Sender: TObject);
begin
//if Length(Trim(TEdit(Sender).Text))<4 then Exit;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmPatternInfo.TBExportClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxGrid1);
end;
procedure TfrmPatternInfo.TBUPClick(Sender: TObject);
var
ffbciid: string;
begin
try
ffbciid := Trim(Self.CDS_1.fieldbyname('BCIID').AsString);
frmCloInfoFileUp := TfrmCloInfoFileUp.Create(Application);
with frmCloInfoFileUp do
begin
Code.Text := Trim(Self.CDS_1.fieldbyname('C_Code').AsString);
FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmCloInfoFileUp.Free;
end;
initgrid('');
Self.CDS_1.Locate('BCIID', ffbciid, []);
InitImage();
end;
procedure TfrmPatternInfo.ReadINIFile();
var
programIni: Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
FileName: string;
begin
FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI';
programIni := Tinifile.create(FileName);
server := programIni.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '127.0.0.1');
programIni.Free;
end;
procedure TfrmPatternInfo.InitImage();
var
i, j: integer;
jpg: TJpegImage;
myStream: TADOBlobStream;
begin
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
if CDS_1.IsEmpty then
exit;
try
with adoqueryPicture do
begin
close;
sql.Clear;
sql.Add(' select A.TFID,A.WBID,A.FilesOther,A.FileName from TP_File A ');
sql.add('where A.WBID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString)));
open;
end;
j := adoqueryPicture.RecordCount;
if j < 1 then
exit;
adoqueryPicture.DisableControls;
adoqueryPicture.First;
SetLength(Mach, j);
jpg := TJpegImage.Create();
for i := 0 to j - 1 do
begin
if triM(adoqueryPicture.fieldbyname('FilesOther').AsString) <> '' then
begin
myStream := tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')), bmread);
jpg.LoadFromStream(myStream);
Mach[i] := TfrmSlt.Create(Self);
Mach[i].Name := trim(adoqueryPicture.fieldbyname('TFID').AsString);
Mach[i].Parent := ScrollBox1;
Mach[i].Left := 0 + i * 165;
Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString, adoqueryPicture.fieldbyname('FileName').AsString, jpg);
end;
adoqueryPicture.Next;
end;
adoqueryPicture.EnableControls;
finally
jpg.free;
application.ProcessMessages;
end;
end;
procedure TfrmPatternInfo.C_CodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid(Trim(TEdit(Sender).name));
end;
end;
procedure TfrmPatternInfo.TBAddClick(Sender: TObject);
begin
if CDS_3.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with CDS_1 do
begin
Append;
FieldByName('FILLTIME').Value := SGetServerDate(ADOQueryTemp);
FieldByName('FILLer').Value := Trim(DName);
FieldByName('IsImg').AsBoolean := False;
FieldByName('C_Technology').AsString := cds_2.FieldByName('C_Technology').AsString;
FieldByName('C_TechnologyType').AsString := cds_3.FieldByName('C_Technology').AsString;
Post;
end;
self.SaveData();
end;
function TfrmPatternInfo.SaveData(): Boolean;
var
maxId, CRID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if CDS_1.FieldByName('BCIID').AsString = '' then
begin
if GetLSNo(ADOQueryCmd, maxId, 'BPI', 'Bs_Pattern_Info', 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 := CDS_1.FieldByName('BCIID').AsString;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from Bs_Pattern_Info where BCIID=''' + trim(maxId) + ''' ');
Open;
end;
with ADOQueryCmd do
begin
if ADOQueryCmd.IsEmpty then
begin
Append;
FieldByName('BCIID').Value := Trim(maxId);
FieldByName('Filler').Value := cds_1.FieldByName('Filler').AsString;
// FieldByName('FillTime').Value := cds_1.FieldByName('FillTime').Value;
end
else
begin
FieldByName('editer').Value := trim(DName);
FieldByName('edittime').Value := SGetServerDate(ADOQueryTemp);
end;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'Bs_Pattern_Info', 1);
FieldByName('C_Technology').Value := cds_1.FieldByName('C_Technology').Value;
FieldByName('C_TechnologyType').Value := cds_1.FieldByName('C_TechnologyType').Value;
Post;
end;
with CDS_1 do
begin
Edit;
FieldByName('BCIID').Value := Trim(maxId);
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
procedure TfrmPatternInfo.TextEdit(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
if mvalue = '' then
mvalue := '0';
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update BS_Cloth_Info set ' + FFieldName + '=' + (Trim(mvalue)));
sql.Add('where BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString)));
ExecSQL;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPatternInfo.ToolButton1Click(Sender: TObject);
begin
inherited;
WriteCxGrid(self.Caption + 'TV1', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end;
procedure TfrmPatternInfo.ToolButton2Click(Sender: TObject);
var
WSql: string;
fPrintFile, fPrintFile10, FMainID, LBName: string;
begin
if CDS_1.IsEmpty then
Exit;
LBName := '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>';
ExportFtErpFile(LBName + '.rmf', ADOQueryTemp);
Tv1.OnFocusedRecordChanged := nil;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
WSql := '';
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if CDS_1.fieldbyname('SSel').AsBoolean then
begin
if WSql <> '' then
begin
WSql := WSql + ',' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString));
end
else
begin
WSql := quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString));
end;
end;
Next;
end;
end;
CDS_1.Locate('SSel', True, []);
CDS_1.EnableControls;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_BS_PatInfo_PrtImg @Filtration=' + quotedstr(Trim(WSql)));
Open;
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + LBName + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies := 1;
RM1.ShowReport
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmPatternInfo.ToolButton3Click(Sender: TObject);
var
WSql: string;
begin
if CDS_1.IsEmpty then
Exit;
Tv1.OnFocusedRecordChanged := nil;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
WSql := '';
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if CDS_1.fieldbyname('SSel').AsBoolean then
begin
if WSql <> '' then
begin
WSql := WSql + ',' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString));
end
else
begin
WSql := quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString));
end;
end;
Next;
end;
end;
CDS_1.Locate('SSel', True, []);
CDS_1.EnableControls;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'PatternInfoPrint';
FFiltration1 := WSql;
// label3.Visible := true;
// label4.Visible := true;
//
// inputcode.visible := True;
// inputnote.visible := true;
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmPatternInfo.ToolButton4Click(Sender: TObject);
begin
inherited;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from Bs_Pattern_Info where BCIID =''' + cds_1.FieldByName('BCIID').AsString + ''' ');
open;
end;
with CDS_1 do
begin
Append;
FieldByName('FILLTIME').Value := SGetServerDate(ADOQueryTemp);
FieldByName('FILLer').Value := Trim(DName);
FieldByName('IsImg').AsBoolean := False;
FieldByName('C_Technology').AsString := cds_2.FieldByName('C_Technology').AsString;
FieldByName('C_TechnologyType').AsString := cds_3.FieldByName('C_Technology').AsString;
FieldByName('C_Name').AsString := ADOQueryCmd.FieldByName('C_Name').AsString;
FieldByName('C_Source').AsString := ADOQueryCmd.FieldByName('C_Source').AsString;
FieldByName('C_TechnologyNote').AsString := ADOQueryCmd.FieldByName('C_TechnologyNote').AsString;
FieldByName('Price').Value := ADOQueryCmd.FieldByName('Price').Value;
FieldByName('CINote').AsString := ADOQueryCmd.FieldByName('CINote').AsString;
Post;
end;
self.SaveData();
end;
procedure TfrmPatternInfo.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
inherited;
InitImage();
end;
procedure TfrmPatternInfo.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
FTechnology: string;
begin
inherited;
FTechnology := cds_2.FieldByName('C_Technology').asstring;
try
frmDictSel := TfrmDictSel.Create(Application);
with frmDictSel do
begin
flag := 'GYName';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
f1note := true;
V1Note.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
f2note := true;
V2Note.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
cxgrid2.Visible := false;
tv1.OnCellDblClick := TV1CellDblClick;
if ShowModal = 1 then
begin
with cds_1 do
begin
edit;
FieldByName('C_Technology').Value := Trim(ClientDataSet1.fieldbyname('DictName').AsString);
post;
end;
end;
end;
finally
frmDictSel.Free;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Bs_Pattern_Info set C_Technology =' + QuotedStr(Trim(CDS_1.fieldbyname('C_Technology').AsString)));
sql.Add(',editer=''' + trim(DName) + ''' ');
sql.Add(',edittime=getdate()');
sql.Add('where BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString)));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
InitHZ();
cds_2.Locate('C_Technology', FTechnology, []);
end;
procedure TfrmPatternInfo.Tv1Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Bs_Pattern_Info set ' + FFieldName + '=' + QuotedStr(Trim(mvalue)));
sql.Add(',editer=''' + trim(DName) + ''' ');
sql.Add(',edittime=getdate()');
sql.Add('where BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString)));
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select count(*) as AA from Bs_Pattern_Info where C_Code=''' + Trim(CDS_1.fieldbyname('C_Code').AsString) + '''');
sql.add(' and C_Technology=''' + Trim(CDS_1.fieldbyname('C_Technology').AsString) + ''' ');
sql.add(' and C_TechnologyType=''' + Trim(CDS_1.fieldbyname('C_TechnologyType').AsString) + ''' ');
Open;
if FieldByName('AA').AsInteger > 1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><C2BB>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
TBRafresh.Click;
Exit;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPatternInfo.TV2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
inherited;
InitGY();
initgrid('');
InitImage();
end;
procedure TfrmPatternInfo.TV3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
inherited;
initgrid('');
InitImage();
end;
procedure TfrmPatternInfo.v1CYNoPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from BS_Cloth_Glide A inner join Bs_Cloth_Info B on A.BCIID=B.BCIID ');
sql.Add('where A.ProcessName=''' + Trim(CDS_1.fieldbyname('C_Technology').AsString) + ''' ');
sql.Add('AND A.ProcessTypeName=''' + Trim(CDS_1.fieldbyname('C_TechnologyType').AsString) + ''' ');
sql.Add('AND A.PatternNo=(select C_Code from Bs_Pattern_Info X where X.BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString)) + ' ) ');
open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD>ڲ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>޸<EFBFBD>,<2C><>', '<27><>ʾ', 0);
initgrid('');
InitImage();
Exit;
end;
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Bs_Pattern_Info set ' + FFieldName + '=' + QuotedStr(Trim(mvalue)));
sql.Add(',editer=''' + trim(DName) + ''' ');
sql.Add(',edittime=getdate()');
sql.Add('where BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString)));
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select count(*) as AA from Bs_Pattern_Info where C_Code=''' + Trim(CDS_1.fieldbyname('C_Code').AsString) + '''');
sql.add(' and C_Technology=''' + Trim(CDS_1.fieldbyname('C_Technology').AsString) + ''' ');
sql.add(' and C_TechnologyType=''' + Trim(CDS_1.fieldbyname('C_TechnologyType').AsString) + ''' ');
Open;
if FieldByName('AA').AsInteger > 1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><C2BB>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
TBRafresh.Click;
Exit;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPatternInfo.N1Click(Sender: TObject);
begin
SelOKNoFiler(Tv1, True);
end;
procedure TfrmPatternInfo.N2Click(Sender: TObject);
begin
SelOKNoFiler(Tv1, False);
end;
procedure TfrmPatternInfo.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmPatternInfo.TCBNOR1Change(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR1.Text);
CurrentPage := 1;
C_Code.SetFocus;
InitGrid('');
end;
procedure TfrmPatternInfo.HXNameBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmPatternInfo.HXNameBtnUpClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'HX' + Trim(Self.CDS_1.fieldbyname('CYNO').AsString);
flagname := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmPatternInfo.Button1Click(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid('');
end;
procedure TfrmPatternInfo.Button2Click(Sender: TObject);
begin
if CurrentPage < CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid('');
end;
end.