1114 lines
32 KiB
ObjectPascal
1114 lines
32 KiB
ObjectPascal
|
|
unit U_DictList;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
|||
|
|
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseInput, 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, Vcl.Menus, U_BaseList;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrmDictList = class(TfrmBaseList)
|
|||
|
|
TV1: TcxGridDBTableView;
|
|||
|
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
|
cxGrid1: TcxGrid;
|
|||
|
|
V1Code: TcxGridDBColumn;
|
|||
|
|
V1Name: TcxGridDBColumn;
|
|||
|
|
ToolBar1: TToolBar;
|
|||
|
|
ADOQueryMain: TADOQuery;
|
|||
|
|
ADOQueryTemp: TADOQuery;
|
|||
|
|
ADOQueryCmd: TADOQuery;
|
|||
|
|
DataSource1: TDataSource;
|
|||
|
|
ClientDataSet1: TClientDataSet;
|
|||
|
|
TBAdd: TToolButton;
|
|||
|
|
TBSave: TToolButton;
|
|||
|
|
TBDel: TToolButton;
|
|||
|
|
TBClose: TToolButton;
|
|||
|
|
ToolButton1: TToolButton;
|
|||
|
|
TBEdit: TToolButton;
|
|||
|
|
V1Note: TcxGridDBColumn;
|
|||
|
|
V1OrderNo: TcxGridDBColumn;
|
|||
|
|
ADOConnection1: TADOConnection;
|
|||
|
|
Panel1: TPanel;
|
|||
|
|
Label1: TLabel;
|
|||
|
|
DictName: TEdit;
|
|||
|
|
ThreeImgList: TImageList;
|
|||
|
|
Label2: TLabel;
|
|||
|
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|||
|
|
ImageList1: TImageList;
|
|||
|
|
V1Description: TcxGridDBColumn;
|
|||
|
|
cxGrid2: TcxGrid;
|
|||
|
|
TV2: TcxGridDBTableView;
|
|||
|
|
V2Code: TcxGridDBColumn;
|
|||
|
|
V2OrderNo: TcxGridDBColumn;
|
|||
|
|
V2Name: TcxGridDBColumn;
|
|||
|
|
V2Note: TcxGridDBColumn;
|
|||
|
|
V2Description: TcxGridDBColumn;
|
|||
|
|
cxGridLevel1: TcxGridLevel;
|
|||
|
|
ADOQuerySub: TADOQuery;
|
|||
|
|
DataSource2: TDataSource;
|
|||
|
|
ClientDataSet2: TClientDataSet;
|
|||
|
|
PM_1: TPopupMenu;
|
|||
|
|
N1: TMenuItem;
|
|||
|
|
N2: TMenuItem;
|
|||
|
|
N3: TMenuItem;
|
|||
|
|
procedure FormCreate(Sender: TObject);
|
|||
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
procedure TBAddClick(Sender: TObject);
|
|||
|
|
procedure TBSaveClick(Sender: TObject);
|
|||
|
|
procedure TBDelClick(Sender: TObject);
|
|||
|
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
|
procedure FormShow(Sender: TObject);
|
|||
|
|
procedure ToolButton1Click(Sender: TObject);
|
|||
|
|
procedure TBEditClick(Sender: TObject);
|
|||
|
|
procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
|
procedure DictNameChange(Sender: TObject);
|
|||
|
|
procedure V1NamePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure V1OrderNoPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure V1NotePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure V1Column1PropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure FormDestroy(Sender: TObject);
|
|||
|
|
procedure V1DescriptionPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
|||
|
|
procedure V2NamePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure V2NotePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure V2OrderNoPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure V2DescriptionPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
procedure N1Click(Sender: TObject);
|
|||
|
|
procedure N2Click(Sender: TObject);
|
|||
|
|
procedure N3Click(Sender: TObject);
|
|||
|
|
procedure TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
|
private
|
|||
|
|
procedure InitGrid();
|
|||
|
|
{ Private declarations }
|
|||
|
|
public
|
|||
|
|
flag, flagname, snote: string;
|
|||
|
|
f1note, f1orderno, f2note, f2orderno: Boolean;
|
|||
|
|
PPSTE: integer;
|
|||
|
|
{ Public declarations }
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frmDictList: TfrmDictList;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
U_DataLink, U_RTFun, U_ZDYHelp;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.FormCreate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
try
|
|||
|
|
// cxGrid1.Align := alClient;
|
|||
|
|
with ADOConnection1 do
|
|||
|
|
begin
|
|||
|
|
Connected := false;
|
|||
|
|
ConnectionString := DConString;
|
|||
|
|
Connected := true;
|
|||
|
|
end;
|
|||
|
|
ADOQueryBaseCmd.Connection := ADOConnection1;
|
|||
|
|
ADOQueryBaseTemp.Connection := ADOConnection1;
|
|||
|
|
except
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
DictName.SetFocus;
|
|||
|
|
|
|||
|
|
Action := cafree;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.InitGrid();
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
ADOQueryMain.DisableControls;
|
|||
|
|
with ADOQueryMain do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select A.*,ZJM=dbo.getPinYin(A.DictName) from Sy_Dict A where A.Type=''' + flag + '''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS(ADOQueryMain, ClientDataSet1);
|
|||
|
|
SInitCDSData(ADOQueryMain, ClientDataSet1);
|
|||
|
|
finally
|
|||
|
|
ADOQueryMain.EnableControls;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.N1Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
i: Integer;
|
|||
|
|
begin
|
|||
|
|
DictName.SetFocus;
|
|||
|
|
TV2.OptionsData.Editing := True;
|
|||
|
|
TV2.OptionsSelection.CellSelect := True;
|
|||
|
|
for i := 0 to 0 do
|
|||
|
|
begin
|
|||
|
|
with ClientDataSet2 do
|
|||
|
|
begin
|
|||
|
|
Append;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.N2Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if ClientDataSet2.IsEmpty then
|
|||
|
|
Exit;
|
|||
|
|
if (Trim(ClientDataSet2.FieldByName('itemId').AsString) <> '') or (Trim(ClientDataSet2.FieldByName('itemtext').AsString) <> '') then
|
|||
|
|
begin
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from BS_Cloth_Glide A ');
|
|||
|
|
sql.Add('inner join bs_cloth_info X on A.bciid=X.bciid');
|
|||
|
|
sql.Add('where isnull(A.ProcessNO,'''')+isnull(A.ProcessTypeNO,'''') ');
|
|||
|
|
sql.Add('=(select isnull(A.Note,'''')+isnull(B.ItemNote,'''') from SY_Dict A ');
|
|||
|
|
sql.Add('inner join SY_Dict_item B on A.DictId=B.DictId where B.itemId=''' + Trim(ClientDataSet2.fieldbyname('itemId').AsString) + ''' ) ');
|
|||
|
|
sql.Add('and isnull(A.ProcessName,'''')+isnull(A.ProcessTypeName,'''') ');
|
|||
|
|
sql.Add('=(select isnull(A.DictName,'''')+isnull(B.ItemText,'''') from SY_Dict A ');
|
|||
|
|
sql.Add('inner join SY_Dict_item B on A.DictId=B.DictId where B.itemId=''' + Trim(ClientDataSet2.fieldbyname('itemId').AsString) + ''' ) ');
|
|||
|
|
// showmessage(sql.Text);
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = false then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>в<EFBFBD>Ʒ<EFBFBD>ǼǸù<C7B8><C3B9><EFBFBD><F2A3ACB2><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>?', '<27><>ʾ<EFBFBD><CABE>Ϣ', 1) = 2 then
|
|||
|
|
exit;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('delete SY_Dict_item where itemId=''' + Trim(ClientDataSet2.fieldbyname('itemId').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
ClientDataSet2.Delete;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.N3Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
TV2.OptionsData.Editing := True;
|
|||
|
|
TV2.OptionsSelection.CellSelect := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TBAddClick(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
i: Integer;
|
|||
|
|
begin
|
|||
|
|
DictName.SetFocus;
|
|||
|
|
TV1.OptionsData.Editing := True;
|
|||
|
|
TV1.OptionsSelection.CellSelect := True;
|
|||
|
|
for i := 0 to 0 do
|
|||
|
|
begin
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
Append;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TBSaveClick(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
maxno: string;
|
|||
|
|
begin
|
|||
|
|
if ClientDataSet1.IsEmpty then
|
|||
|
|
Exit;
|
|||
|
|
DictName.SetFocus;
|
|||
|
|
|
|||
|
|
if ClientDataSet1.Locate('DictName', null, []) then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
if ClientDataSet1.Locate('DictName', '', []) then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select * from SY_Dict where DictId=''' + Trim(flag) + '''');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty then
|
|||
|
|
begin
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict where 1=2');
|
|||
|
|
open;
|
|||
|
|
ADOQueryCmd.Append;
|
|||
|
|
ADOQueryCmd.FieldByName('DictId').Value := Trim(flag);
|
|||
|
|
ADOQueryCmd.FieldByName('DictName').Value := trim(flagname);
|
|||
|
|
ADOQueryCmd.FieldByName('Type').Value := 'Main';
|
|||
|
|
ADOQueryCmd.Post;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
ClientDataSet1.DisableControls;
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
First;
|
|||
|
|
while not eof do
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet1.FieldByName('DictId').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
if GetLSNo(ADOQueryTemp, maxno, 'SY', 'SY_Dict', 3, 1) = False then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
ClientDataSet1.EnableControls;
|
|||
|
|
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
maxno := Trim(ClientDataSet1.fieldbyname('DictId').AsString);
|
|||
|
|
end;
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from SY_Dict where Type=''' + Trim(flag) + '''');
|
|||
|
|
sql.Add(' and DictName=''' + Trim(ClientDataSet1.fieldbyname('DictName').AsString) + '''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty = False then
|
|||
|
|
begin
|
|||
|
|
if ADOQueryTemp.RecordCount > 1 then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
ClientDataSet1.EnableControls;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('DictId').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
ClientDataSet1.EnableControls;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
if Trim(ADOQueryTemp.fieldbyname('DictId').AsString) <> Trim(ClientDataSet1.fieldbyname('DictId').AsString) then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
ClientDataSet1.EnableControls;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
SQL.Add('delete SY_Dict where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict where 1<>1');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Append;
|
|||
|
|
ADOQueryCmd.FieldByName('DictId').Value := Trim(maxno);
|
|||
|
|
ADOQueryCmd.FieldByName('DictName').Value := ClientDataSet1.fieldbyname('DictName').Value;
|
|||
|
|
ADOQueryCmd.FieldByName('note').Value := Trim(snote);
|
|||
|
|
ADOQueryCmd.FieldByName('Type').Value := flag;
|
|||
|
|
ADOQueryCmd.FieldByName('valid').Value := '1';
|
|||
|
|
ADOQueryCmd.Post;
|
|||
|
|
ClientDataSet1.Edit;
|
|||
|
|
ClientDataSet1.FieldByName('DictId').Value := Trim(maxno);
|
|||
|
|
ClientDataSet1.Post;
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
ClientDataSet1.EnableControls;
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
TV1.OptionsData.Editing := False;
|
|||
|
|
TV1.OptionsSelection.CellSelect := False;
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TBDelClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if ClientDataSet1.IsEmpty then
|
|||
|
|
Exit;
|
|||
|
|
if (Trim(ClientDataSet1.FieldByName('DictId').AsString) <> '') or (Trim(ClientDataSet1.FieldByName('DictName').AsString) <> '') then
|
|||
|
|
begin
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict_Item where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = false then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27>Ѿ<EFBFBD><D1BE>Ǽǹ<C7BC><C7B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from BS_Cloth_Glide A ');
|
|||
|
|
sql.Add('where isnull(A.ProcessName,'''')=''' + Trim(ClientDataSet1.fieldbyname('DictName').AsString) + ''' ');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = false then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>в<EFBFBD>Ʒ<EFBFBD>ǼǸù<C7B8><C3B9><EFBFBD><F2A3ACB2><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>?', '<27><>ʾ<EFBFBD><CABE>Ϣ', 1) = 2 then
|
|||
|
|
exit;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('delete SY_Dict where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
SQL.Add(' and Type=''' + Trim(flag) + '''');
|
|||
|
|
|
|||
|
|
sql.Add('delete SY_Dict_Item where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
ClientDataSet1.Delete;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TBCloseClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DictName.SetFocus;
|
|||
|
|
|
|||
|
|
Close;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.FormShow(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
fsj, fsj1: string;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
|
|||
|
|
flag := 'GYName';
|
|||
|
|
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
|||
|
|
|
|||
|
|
InitGrid();
|
|||
|
|
// fsj := Trim(flag) + '01';
|
|||
|
|
// fsj1 := Trim(flagname) + '01';
|
|||
|
|
|
|||
|
|
ReadCxGrid(self.Caption + Trim(flag), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
|
|
|||
|
|
|
|||
|
|
// V1Note.Visible := f1note;
|
|||
|
|
// V1OrderNo.Visible := f1orderno;
|
|||
|
|
//
|
|||
|
|
// V2Note.Visible := f2note;
|
|||
|
|
// V2OrderNo.Visible := f2orderno;
|
|||
|
|
// if ViewFlag = True then
|
|||
|
|
// begin
|
|||
|
|
// TBAdd.Visible := False;
|
|||
|
|
// TBSave.Visible := False;
|
|||
|
|
// TBDel.Visible := False;
|
|||
|
|
// TBEdit.Visible := False;
|
|||
|
|
// Label2.Visible := False;
|
|||
|
|
// end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.ToolButton1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DictName.SetFocus;
|
|||
|
|
// WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>'+Trim(flag),TV1,'<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
|
ModalResult := 1;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TBEditClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
TV1.OptionsData.Editing := True;
|
|||
|
|
TV1.OptionsSelection.CellSelect := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
|
begin
|
|||
|
|
if TV1.OptionsData.Editing = true then
|
|||
|
|
begin
|
|||
|
|
TV1.OptionsData.Editing := false;
|
|||
|
|
end;
|
|||
|
|
if TV1.OptionsData.Editing = False then
|
|||
|
|
begin
|
|||
|
|
ModalResult := 1;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if ClientDataSet1.IsEmpty then
|
|||
|
|
exit;
|
|||
|
|
|
|||
|
|
with ADOQuerySub do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict_Item where DictId =''' + ClientDataSet1.FieldByName('DictId').asstring + ''' ');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS(ADOQuerySub, ClientDataSet2);
|
|||
|
|
SInitCDSData(ADOQuerySub, ClientDataSet2);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if TV2.OptionsData.Editing = true then
|
|||
|
|
begin
|
|||
|
|
TV2.OptionsData.Editing := false;
|
|||
|
|
end;
|
|||
|
|
if TV2.OptionsData.Editing = False then
|
|||
|
|
begin
|
|||
|
|
ModalResult := 1;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.DictNameChange(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
fsj: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(DictName.Text) <> '' then
|
|||
|
|
begin
|
|||
|
|
fsj := ' DictName like ''' + '%' + Trim(DictName.Text) + '%' + '''' + ' or Note like ''' + '%' + Trim(DictName.Text) + '%' + '''' + ' or ZJM like ''' + '%' + Trim(DictName.Text) + '%' + '''';
|
|||
|
|
end;
|
|||
|
|
if ADOQueryMain.Active then
|
|||
|
|
begin
|
|||
|
|
SDofilter(ADOQueryMain, fsj);
|
|||
|
|
SCreateCDS(ADOQueryMain, ClientDataSet1);
|
|||
|
|
SInitCDSData(ADOQueryMain, ClientDataSet1);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V1NamePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
maxno, mvalue: string;
|
|||
|
|
begin
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
//Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('DictName').Value := Trim(mvalue);
|
|||
|
|
//Post;
|
|||
|
|
end;
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select * from SY_Dict where DictID=''' + Trim(flag) + '''');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty then
|
|||
|
|
begin
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict where 1=2');
|
|||
|
|
open;
|
|||
|
|
ADOQueryCmd.Append;
|
|||
|
|
ADOQueryCmd.FieldByName('DictID').Value := Trim(flag);
|
|||
|
|
ADOQueryCmd.FieldByName('DictName').Value := trim(flagname);
|
|||
|
|
ADOQueryCmd.FieldByName('Type').Value := 'Main';
|
|||
|
|
ADOQueryCmd.Post;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet1.FieldByName('DictID').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
if GetLSNo(ADOQueryTemp, maxno, 'SY', 'SY_Dict', 3, 1) = False then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
//ClientDataSet1.EnableControls;
|
|||
|
|
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
maxno := Trim(ClientDataSet1.fieldbyname('DictID').AsString);
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict_Item where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = False then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27>Ѿ<EFBFBD><D1BE>Ǽǹ<C7BC><C7B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from SY_Dict where Type=''' + Trim(flag) + '''');
|
|||
|
|
sql.Add(' and DictName=''' + Trim(ClientDataSet1.fieldbyname('DictName').AsString) + '''');
|
|||
|
|
sql.Add(' and note=''' + Trim(ClientDataSet1.fieldbyname('note').AsString) + '''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty = False then
|
|||
|
|
begin
|
|||
|
|
if ADOQueryTemp.RecordCount > 1 then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('DictID').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
if Trim(ADOQueryTemp.fieldbyname('DictID').AsString) <> Trim(ClientDataSet1.fieldbyname('DictID').AsString) then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
SQL.Add('delete SY_Dict where DictID=''' + Trim(ClientDataSet1.fieldbyname('DictID').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict where 1<>1');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Append;
|
|||
|
|
ADOQueryCmd.FieldByName('DictID').Value := Trim(maxno);
|
|||
|
|
ADOQueryCmd.FieldByName('DictName').Value := ClientDataSet1.fieldbyname('DictName').AsString;
|
|||
|
|
ADOQueryCmd.FieldByName('note').Value := Trim(snote);
|
|||
|
|
ADOQueryCmd.FieldByName('Type').Value := flag;
|
|||
|
|
ADOQueryCmd.FieldByName('valid').Value := '1';
|
|||
|
|
ADOQueryCmd.Post;
|
|||
|
|
ClientDataSet1.Edit;
|
|||
|
|
ClientDataSet1.FieldByName('DictID').Value := Trim(maxno);
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V1OrderNoPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('DictName').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
mvalue := '0';
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('SortOrder').Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update SY_Dict Set SortOrder=' + mvalue);
|
|||
|
|
sql.Add(' where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V2DescriptionPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('ItemName').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
mvalue := '';
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet2 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Description').Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update SY_Dict_Item Set Description=''' + Trim(mvalue) + '''');
|
|||
|
|
sql.Add(' where itemId=''' + Trim(ClientDataSet1.fieldbyname('itemId').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V2NamePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
maxno, mvalue: string;
|
|||
|
|
begin
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
//Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet2 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('ItemText').Value := Trim(mvalue);
|
|||
|
|
//Post;
|
|||
|
|
end;
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet2.FieldByName('ItemId').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
if GetLSNo(ADOQueryTemp, maxno, 'SDI', 'SY_Dict_Item', 3, 1) = False then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
//ClientDataSet1.EnableControls;
|
|||
|
|
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from BS_Cloth_Glide A ');
|
|||
|
|
sql.Add('where isnull(A.ProcessNO,'''')+isnull(A.ProcessTypeNO,'''') ');
|
|||
|
|
sql.Add('=(select isnull(A.Note,'''')+isnull(B.ItemNote,'''') from SY_Dict A ');
|
|||
|
|
sql.Add('inner join SY_Dict_item B on A.DictId=B.DictId where B.itemId=''' + Trim(ClientDataSet2.fieldbyname('itemId').AsString) + ''' ) ');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = false then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>в<EFBFBD>Ʒ<EFBFBD>ǼǸù<C7B8><C3B9><EFBFBD><F2A3ACB2><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
maxno := Trim(ClientDataSet2.fieldbyname('ItemId').AsString);
|
|||
|
|
end;
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from SY_Dict_Item where ');
|
|||
|
|
sql.Add(' ItemText=''' + Trim(ClientDataSet2.fieldbyname('ItemText').AsString) + '''');
|
|||
|
|
sql.Add(' and ItemNote=''' + Trim(ClientDataSet2.fieldbyname('ItemNote').AsString) + '''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty = False then
|
|||
|
|
begin
|
|||
|
|
if ADOQueryTemp.RecordCount > 1 then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
if Trim(ClientDataSet2.fieldbyname('ItemID').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
if Trim(ADOQueryTemp.fieldbyname('ItemID').AsString) <> Trim(ClientDataSet2.fieldbyname('ItemID').AsString) then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
SQL.Add('delete SY_Dict_ITEM where ItemID=''' + Trim(ClientDataSet2.fieldbyname('ItemID').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict_Item where 1<>1');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Append;
|
|||
|
|
ADOQueryCmd.FieldByName('DictID').Value := Trim(ClientDataSet1.FieldByName('DictID').AsString);
|
|||
|
|
ADOQueryCmd.FieldByName('ItemId').Value := Trim(maxno);
|
|||
|
|
ADOQueryCmd.FieldByName('ItemText').Value := ClientDataSet2.fieldbyname('ItemText').AsString;
|
|||
|
|
ADOQueryCmd.FieldByName('Itemnote').Value := Trim(snote);
|
|||
|
|
ADOQueryCmd.FieldByName('valid').Value := '1';
|
|||
|
|
ADOQueryCmd.Post;
|
|||
|
|
ClientDataSet2.Edit;
|
|||
|
|
ClientDataSet2.FieldByName('DictID').Value := Trim(ClientDataSet1.FieldByName('DictID').AsString);
|
|||
|
|
ClientDataSet2.FieldByName('ItemId').Value := Trim(maxno);
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V2NotePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
FDictID: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet2.fieldbyname('ItemText').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
mvalue := '';
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet2 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('itemNote').Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.add('select * from BS_Cloth_Glide A ');
|
|||
|
|
sql.Add('inner join bs_cloth_info X on A.bciid=X.bciid');
|
|||
|
|
sql.Add('where isnull(A.ProcessNO,'''')+isnull(A.ProcessTypeNO,'''') ');
|
|||
|
|
sql.Add('=(select isnull(A.Note,'''')+isnull(B.ItemNote,'''') from SY_Dict A ');
|
|||
|
|
sql.Add('inner join SY_Dict_item B on A.DictId=B.DictId where B.itemId=''' + Trim(ClientDataSet2.fieldbyname('itemId').AsString) + ''' ) ');
|
|||
|
|
sql.Add('and isnull(A.ProcessName,'''')+isnull(A.ProcessTypeName,'''') ');
|
|||
|
|
sql.Add('=(select isnull(A.DictName,'''')+isnull(B.ItemText,'''') from SY_Dict A ');
|
|||
|
|
sql.Add('inner join SY_Dict_item B on A.DictId=B.DictId where B.itemId=''' + Trim(ClientDataSet2.fieldbyname('itemId').AsString) + ''' ) ');
|
|||
|
|
// showmessage(sql.Text);
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = false then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>в<EFBFBD>Ʒ<EFBFBD>ǼǸù<C7B8><C3B9><EFBFBD><F2A3ACB2><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
FDictID := ClientDataSet2.fieldbyname('ItemId').AsString;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update SY_Dict_ITEM Set itemNote=''' + Trim(mvalue) + '''');
|
|||
|
|
sql.Add(' where ITEMID=''' + Trim(ClientDataSet2.fieldbyname('ITEMID').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
sql.Clear;
|
|||
|
|
SQL.Add(' select isnull(A.Note,'''')+isnull(B.ItemNote,'''') from SY_Dict A ');
|
|||
|
|
SQL.Add(' inner join SY_Dict_Item B on A.DictId=B.DictId ');
|
|||
|
|
sql.Add(' where isnull(A.Note,'''')<>'''' and isnull(B.ItemNote,'''')<>'''' ');
|
|||
|
|
SQL.Add(' group by isnull(A.Note,'''')+isnull(B.ItemNote,'''') having count(*)>1');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty = False then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
|
|||
|
|
with ADOQuerySub do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict_Item where DictId =''' + ClientDataSet1.FieldByName('DictId').asstring + ''' ');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS(ADOQuerySub, ClientDataSet2);
|
|||
|
|
SInitCDSData(ADOQuerySub, ClientDataSet2);
|
|||
|
|
|
|||
|
|
ClientDataSet2.Locate('ItemId', FDictID, []);
|
|||
|
|
|
|||
|
|
exit;
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V2OrderNoPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet2.fieldbyname('ItemText').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
mvalue := '0';
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet2 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Note').Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update SY_Dict_ITEM Set SortOrder=''' + Trim(mvalue) + '''');
|
|||
|
|
sql.Add(' where ITEMID=''' + Trim(ClientDataSet1.fieldbyname('ITEMID').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V1NotePropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
FDictID: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('DictName').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
mvalue := '';
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Note').Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from SY_Dict_Item where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if ADOQueryTemp.IsEmpty = false then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27>Ѿ<EFBFBD><D1BE>Ǽǹ<C7BC><C7B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
FDictID := ClientDataSet1.fieldbyname('DictID').AsString;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update SY_Dict Set Note=''' + Trim(mvalue) + '''');
|
|||
|
|
sql.Add(' where DictID=''' + Trim(ClientDataSet1.fieldbyname('DictID').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
close;
|
|||
|
|
sql.Clear;
|
|||
|
|
SQL.Add(' select isnull(A.Note,'''')+isnull(B.ItemNote,'''') from SY_Dict A ');
|
|||
|
|
SQL.Add(' inner join SY_Dict_Item B on A.DictId=B.DictId ');
|
|||
|
|
sql.Add(' where isnull(A.Note,'''')<>'''' and isnull(B.ItemNote,'''')<>'''' ');
|
|||
|
|
SQL.Add(' group by isnull(A.Note,'''')+isnull(B.ItemNote,'''') having count(*)>1');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryTemp.IsEmpty = False then
|
|||
|
|
begin
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
|
|||
|
|
initgrid();
|
|||
|
|
ClientDataSet1.Locate('DictID', FDictID, []);
|
|||
|
|
|
|||
|
|
exit;
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V1Column1PropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
fieldname: string;
|
|||
|
|
begin
|
|||
|
|
fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName(fieldname).Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update KH_Zdy Set ' + fieldname + '=''' + Trim(mvalue) + ''' ');
|
|||
|
|
sql.Add('where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.V1DescriptionPropertiesEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue: string;
|
|||
|
|
begin
|
|||
|
|
if Trim(ClientDataSet1.fieldbyname('DictName').AsString) = '' then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
if Trim(mvalue) = '' then
|
|||
|
|
begin
|
|||
|
|
mvalue := '0';
|
|||
|
|
end;
|
|||
|
|
with ClientDataSet1 do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Description').Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
sql.Add('Update SY_Dict Set Description=' + mvalue);
|
|||
|
|
sql.Add(' where DictId=''' + Trim(ClientDataSet1.fieldbyname('DictId').AsString) + '''');
|
|||
|
|
ExecSQL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDictList.FormDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
WriteCxGrid(self.Caption, TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
|
frmZDYHelp := nil;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|
|||
|
|
|