347 lines
9.0 KiB
ObjectPascal
347 lines
9.0 KiB
ObjectPascal
unit U_CraftInfo;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxGraphics, cxCustomData, cxStyles, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, ADODB, DBClient, ComCtrls, ToolWin, StdCtrls, ExtCtrls, Menus,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
|
||
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
|
||
cxGridPopupMenu, cxNavigator, dxDateRanges, dxBarBuiltInMenu, cxCheckBox,
|
||
dxScrollbarAnnotations, U_BaseList, cxLookAndFeels, cxLookAndFeelPainters,
|
||
dxSkinsCore, dxSkinsDefaultPainters, dxSkinWXI;
|
||
|
||
type
|
||
TfrmCraftInfo = class(TfrmBaseList)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBAdd: TToolButton;
|
||
TBEdit: TToolButton;
|
||
TBDel: TToolButton;
|
||
TBExport: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
CR_Code: TEdit;
|
||
CR_Name: TEdit;
|
||
GPM_1: TcxGridPopupMenu;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
Tv1SSel: TcxGridDBColumn;
|
||
Tv1CR_Code: TcxGridDBColumn;
|
||
Tv1CR_Name: TcxGridDBColumn;
|
||
Tv1C_Width: TcxGridDBColumn;
|
||
Tv1C_GramWeight: TcxGridDBColumn;
|
||
Tv1C_Color: TcxGridDBColumn;
|
||
Tv1C_YarnQty: TcxGridDBColumn;
|
||
Tv1head_count: TcxGridDBColumn;
|
||
Tv1strip_width: TcxGridDBColumn;
|
||
Tv1C_MachLatitudeDensity: TcxGridDBColumn;
|
||
Tv1row_count_top: TcxGridDBColumn;
|
||
Tv1displace: TcxGridDBColumn;
|
||
Tv1reed_width: TcxGridDBColumn;
|
||
Tv1C_ReedNo: TcxGridDBColumn;
|
||
Tv1ends_per_dent: TcxGridDBColumn;
|
||
Tv1selvage_yarn: TcxGridDBColumn;
|
||
Tv1yardage: TcxGridDBColumn;
|
||
Tv1FILLER: TcxGridDBColumn;
|
||
Tv1FILLTIME: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
DS_1: TDataSource;
|
||
ADOQueryMain: TADOQuery;
|
||
CDS_1: TClientDataSet;
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
PM_1: TPopupMenu;
|
||
N1: TMenuItem;
|
||
N2: TMenuItem;
|
||
TbPrint: TToolButton;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure TBAddClick(Sender: TObject);
|
||
procedure TBEditClick(Sender: TObject);
|
||
procedure TBDelClick(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure CRCodeKeyPress(Sender: TObject; var Key: Char);
|
||
procedure N1Click(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure TbPrintClick(Sender: TObject);
|
||
private
|
||
{ Private declarations }
|
||
procedure InitGrid();
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmCraftInfo: TfrmCraftInfo;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun, U_CraftInfoInput,U_LabelPrint;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmCraftInfo.InitGrid();
|
||
var
|
||
fwhere, Pwhere: string;
|
||
begin
|
||
Panel1.Refresh;
|
||
fwhere := '';
|
||
Pwhere := SGetFilters(Panel1, 1, 2);
|
||
|
||
if trim(Pwhere) <> '' then
|
||
fwhere := ' where ' + trim(Pwhere);
|
||
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
Filtered := False;
|
||
sql.Clear;
|
||
sql.Add('select A.* from BS_Craft_Info A' + fwhere + ' order by CR_Code');
|
||
Open;
|
||
end;
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||
SCreateCDS(ADOQueryMain, CDS_1);
|
||
SInitCDSData(ADOQueryMain, CDS_1);
|
||
TV1.DataController.Filter.Clear;
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
TV1.DataController.Filter.Clear;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.FormDestroy(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frmCraftInfo := nil;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ReadCxGrid(self.Caption + 'TV1', Tv1, '<27><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>');
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TBAddClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmCraftInfoInput := TfrmCraftInfoInput.Create(Application);
|
||
with frmCraftInfoInput do
|
||
begin
|
||
FCRID := '';
|
||
if ShowModal = 1 then
|
||
begin
|
||
Self.InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmCraftInfoInput.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TBEditClick(Sender: TObject);
|
||
begin
|
||
if CDS_1.IsEmpty then
|
||
Exit;
|
||
try
|
||
frmCraftInfoInput := TfrmCraftInfoInput.Create(Application);
|
||
with frmCraftInfoInput do
|
||
begin
|
||
FCRID := Trim(Self.CDS_1.fieldbyname('CRID').AsString);
|
||
if ShowModal = 1 then
|
||
begin
|
||
Self.InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmCraftInfoInput.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TBDelClick(Sender: TObject);
|
||
var
|
||
MRefCodes: string;
|
||
begin
|
||
if CDS_1.IsEmpty then
|
||
Exit;
|
||
if not CDS_1.Locate('SSel', True, []) 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;
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ֹ(<28><><EFBFBD><EFBFBD>ɾһ<C9BE><D2BB>)
|
||
MRefCodes := '';
|
||
CDS_1.DisableControls;
|
||
try
|
||
CDS_1.First;
|
||
while not CDS_1.Eof do
|
||
begin
|
||
if CDS_1.fieldbyname('SSel').AsBoolean then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select count(*) as AA from BS_Cloth_Info where CRID=' + QuotedStr(Trim(CDS_1.fieldbyname('CRID').AsString)));
|
||
Open;
|
||
end;
|
||
if ADOQueryTemp.FieldByName('AA').AsInteger > 0 then
|
||
begin
|
||
if MRefCodes <> '' then
|
||
MRefCodes := MRefCodes + ',';
|
||
MRefCodes := MRefCodes + Trim(CDS_1.fieldbyname('CR_Code').AsString);
|
||
end;
|
||
end;
|
||
CDS_1.Next;
|
||
end;
|
||
CDS_1.Locate('SSel', True, []);
|
||
finally
|
||
CDS_1.EnableControls;
|
||
end;
|
||
if MRefCodes <> '' then
|
||
begin
|
||
Application.MessageBox(PChar('<27><><EFBFBD><EFBFBD> ' + MRefCodes + ' <20>ѱ<EFBFBD><D1B1><EFBFBD>Ʒʹ<C6B7><CAB9>,<2C><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!<21><><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>Ĺ<EFBFBD><C4B9>հ<D5B0>'), '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
//<2F><><EFBFBD><EFBFBD>Ʒɾ<C6B7><C9BE>һ<EFBFBD><D2BB>:ѭ<><D1AD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>(<28><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>+<2B>ư<EFBFBD>ͼ<EFBFBD>ӱ<EFBFBD>)
|
||
while CDS_1.Locate('SSel', true, []) do
|
||
begin
|
||
if Trim(CDS_1.fieldbyname('CRID').AsString) <> '' then
|
||
begin
|
||
//<2F>ȱ<EFBFBD><C8B1>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>(<28><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>ȫһ<C8AB><D2BB>,select * <20><><EFBFBD><EFBFBD><EFBFBD>嵥,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>)
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('insert into BS_Craft_Info_Del select * from BS_Craft_Info where CRID=' + QuotedStr(Trim(CDS_1.fieldbyname('CRID').AsString)));
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('delete BS_Craft_Yarn where CRID=' + QuotedStr(Trim(CDS_1.fieldbyname('CRID').AsString)));
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('delete BS_Craft_Info_WB where CRID=' + QuotedStr(Trim(CDS_1.fieldbyname('CRID').AsString)));
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('delete BS_Craft_Info where CRID=' + QuotedStr(Trim(CDS_1.fieldbyname('CRID').AsString)));
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
|
||
SQL.Add(' ' + QuotedStr(Trim(DName)));
|
||
SQL.Add(',getdate() ');
|
||
SQL.Add(',' + QuotedStr(Trim(self.Caption)));
|
||
SQL.Add(',' + QuotedStr(Trim('ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
|
||
SQL.Add(',' + QuotedStr(Trim(CDS_1.fieldbyname('CRID').AsString)));
|
||
SQL.Add(',' + QuotedStr(Trim('<27>ɹ<EFBFBD>')));
|
||
SQL.Add(')');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
CDS_1.Delete;
|
||
end;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
Application.MessageBox('ɾ<><C9BE><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ɾ<><C9BE>ʧ<EFBFBD><CAA7>!', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNoFiler(Tv1, True);
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNoFiler(Tv1, False);
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TBExportClick(Sender: TObject);
|
||
begin
|
||
if CDS_1.IsEmpty then
|
||
Exit;
|
||
TcxGridToExcel(self.Caption, cxGrid1);
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TbPrintClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmLabelPrint := TfrmLabelPrint.Create(Application);
|
||
with frmLabelPrint do
|
||
begin
|
||
FLMType := 'CraftInfoPrint';
|
||
FFiltration1 := CDS_1.fieldbyname('CRID').AsString;
|
||
if ShowModal = 1 then
|
||
begin
|
||
// Self.InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelPrint.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(self.Caption + 'TV1', Tv1, '<27><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmCraftInfo.CRCodeKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
InitGrid();
|
||
end;
|
||
|
||
end.
|