425 lines
11 KiB
ObjectPascal
425 lines
11 KiB
ObjectPascal
unit U_KnitInspEdit;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, cxTextEdit, DBClient, ADODB, cxGridLevel,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||
cxControls, cxGridCustomView, cxGrid, StdCtrls, ExtCtrls, ComCtrls, ToolWin,
|
||
cxButtonEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
|
||
dxSkinsDefaultPainters, dxDateRanges;
|
||
|
||
type
|
||
TfrmKnitInspEdit = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
ToolButton2: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
CIID: TEdit;
|
||
ADOTmp: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOCmd: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
Order_MJ: TClientDataSet;
|
||
ToolButton1: TToolButton;
|
||
ToolButton3: TToolButton;
|
||
Label2: TLabel;
|
||
GrossWeight: TEdit;
|
||
Label4: TLabel;
|
||
Label6: TLabel;
|
||
Meter: TEdit;
|
||
RadioGroup1: TRadioGroup;
|
||
Ma: TLabel;
|
||
Label7: TLabel;
|
||
MJQty1: TEdit;
|
||
Label5: TLabel;
|
||
Label10: TLabel;
|
||
Label12: TLabel;
|
||
Label14: TLabel;
|
||
NetWeight: TEdit;
|
||
PieceNo: TEdit;
|
||
Label15: TLabel;
|
||
Label11: TLabel;
|
||
Yardage: TEdit;
|
||
ToolButton4: TToolButton;
|
||
cxGrid1: TcxGrid;
|
||
TV1: TcxGridDBTableView;
|
||
cxGridDBColumn2: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
cxGridDBColumn4: TcxGridDBColumn;
|
||
cxGridDBColumn5: TcxGridDBColumn;
|
||
cxGridDBColumn6: TcxGridDBColumn;
|
||
cxGridDBColumn7: TcxGridDBColumn;
|
||
cxGridDBColumn8: TcxGridDBColumn;
|
||
cxGridDBColumn9: TcxGridDBColumn;
|
||
cxGridLevel3: TcxGridLevel;
|
||
TV1Column1: TcxGridDBColumn;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure tv2CDWZPropertiesEditValueChanged(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject);
|
||
procedure TV1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
private
|
||
{ Private declarations }
|
||
function SaveData(): Boolean;
|
||
procedure GetJYXK(FJYIP: string);
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmKnitInspEdit: TfrmKnitInspEdit;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_RTFun, U_ZDYHelp, U_DataLink;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmKnitInspEdit.GetJYXK(FJYIP: string);
|
||
begin
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select A.* from Knit_Cloth_Inspect A ');
|
||
sql.Add(' where A.CIID=''' + Trim(FJYIP) + '''');
|
||
Open;
|
||
end;
|
||
if ADOTmp.IsEmpty then
|
||
begin
|
||
CIID.Text := '';
|
||
Label2.Caption := '';
|
||
Label2.Visible := False;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
PieceNo.Text := Trim(ADOTmp.fieldbyname('PieceNo').AsString);
|
||
|
||
GrossWeight.Text := Trim(ADOTmp.fieldbyname('GrossWeight').AsString);
|
||
NetWeight.Text := Trim(ADOTmp.fieldbyname('NetWeight').AsString);
|
||
Meter.Text := Trim(ADOTmp.fieldbyname('Meter').AsString);
|
||
Yardage.Text := Trim(ADOTmp.fieldbyname('Yardage').AsString);
|
||
|
||
if Trim(Trim(ADOTmp.fieldbyname('Grade').AsString)) = '<27><>Ʒ' then
|
||
begin
|
||
RadioGroup1.ItemIndex := 0
|
||
end
|
||
else if Trim(Trim(ADOTmp.fieldbyname('Grade').AsString)) = '<27><>Ʒ' then
|
||
begin
|
||
RadioGroup1.ItemIndex := 1;
|
||
end;
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select * from Knit_Cloth_Inspect_Flaw A where A.CIID=''' + Trim(CIID.Text) + '''');
|
||
Open;
|
||
end;
|
||
Label2.Caption := Trim(CIID.Text);
|
||
Label2.Visible := True;
|
||
CIID.Text := '';
|
||
SCreateCDS(ADOTmp, Order_MJ);
|
||
SInitCDSData(ADOTmp, Order_MJ);
|
||
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, CIFbeg, CIFEnd: string;
|
||
FFReal: Double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CIFEnd').Value := mvalue;
|
||
Post;
|
||
end;
|
||
CIFbeg := Trim(Order_MJ.fieldbyname('CIFbeg').AsString);
|
||
CIFEnd := Trim(Order_MJ.fieldbyname('CIFEnd').AsString);
|
||
if (Trim(CIFbeg) <> '') and (Trim(CIFEnd) <> '') then
|
||
begin
|
||
if TryStrToFloat(CIFbeg, FFReal) and TryStrToFloat(CIFbeg, FFReal) then
|
||
begin
|
||
if StrToFloat(CIFEnd) < StrToFloat(CIFbeg) then
|
||
begin
|
||
Application.MessageBox('<27><>ֹλ<D6B9><CEBB>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CDQty').Value := StrToFloat(CIFEnd) - StrToFloat(CIFbeg);
|
||
Post;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmKnitInspEdit := nil;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.tv2CDWZPropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, CIFbeg, CIFEnd: string;
|
||
FFReal: Double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CIFbeg').Value := mvalue;
|
||
Post;
|
||
end;
|
||
CIFbeg := Trim(Order_MJ.fieldbyname('CIFbeg').AsString);
|
||
CIFEnd := Trim(Order_MJ.fieldbyname('CIFEnd').AsString);
|
||
if (Trim(CIFbeg) <> '') and (Trim(CIFEnd) <> '') then
|
||
begin
|
||
if TryStrToFloat(CIFbeg, FFReal) and TryStrToFloat(CIFbeg, FFReal) then
|
||
begin
|
||
if StrToFloat(CIFEnd) < StrToFloat(CIFbeg) then
|
||
begin
|
||
Application.MessageBox('<27><>ֹλ<D6B9><CEBB>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CIFQty').Value := StrToFloat(CIFEnd) - StrToFloat(CIFbeg);
|
||
Post;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if Trim(Label2.Caption) = '' then
|
||
Exit;
|
||
Order_MJ.Append;
|
||
Order_MJ.Post;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
if Trim(Label2.Caption) = '' then
|
||
Exit;
|
||
if Order_MJ.IsEmpty then
|
||
Exit;
|
||
if Trim(Order_MJ.fieldbyname('CIFID').AsString) <> '' then
|
||
begin
|
||
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
|
||
Exit;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete Knit_Cloth_Inspect_Flaw where CIFID=''' + Trim(Order_MJ.fieldbyname('CIFID').AsString) + '''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
Order_MJ.Delete;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.ToolButton4Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(trim(Self.Caption), Tv1, 'ӡȾ<D3A1><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.TV1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
try
|
||
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag := 'WFBCD';
|
||
flagname := '<27>õ<EFBFBD>';
|
||
if ShowModal = 1 then
|
||
begin
|
||
Self.Order_MJ.Edit;
|
||
Self.Order_MJ.FieldByName('CIFName').value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
function TfrmKnitInspEdit.SaveData(): Boolean;
|
||
var
|
||
maxno: string;
|
||
FFreal: Double;
|
||
begin
|
||
try
|
||
ADOCmd.Connection.BeginTrans;
|
||
///<2F><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
|
||
with Order_MJ do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if trim(Order_MJ.FieldByName('CIFName').AsString) = '' then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
if Trim(Order_MJ.fieldbyname('CIFID').AsString) = '' then
|
||
begin
|
||
if GetLSNo(ADOTmp, maxno, 'JC', 'Knit_Cloth_Inspect_Flaw', 5, 1) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
maxno := Trim(Order_MJ.fieldbyname('CIFID').AsString);
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' select * from Knit_Cloth_Inspect_Flaw ');
|
||
sql.Add(' where CIFID=''' + Trim(maxno) + ''' ');
|
||
Open;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
if Trim(Order_MJ.fieldbyname('CIFID').AsString) = '' then
|
||
Append
|
||
else
|
||
Edit;
|
||
FieldByName('CIID').Value := Trim(Label2.Caption);
|
||
FieldByName('CIFID').Value := Trim(maxno);
|
||
RTSetSaveDataCDS(ADOCmd, Tv1, Order_MJ, 'Knit_Cloth_Inspect_Flaw', 0);
|
||
Post;
|
||
end;
|
||
|
||
Order_MJ.Edit;
|
||
Order_MJ.FieldByName('CIFID').Value := Trim(maxno);
|
||
Order_MJ.FieldByName('CIID').Value := Trim(Label2.Caption);
|
||
Next;
|
||
end;
|
||
end;
|
||
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' UPdate Knit_Cloth_Inspect Set ');
|
||
sql.Add(' PieceNo=''' + Trim(PieceNo.Text) + ''' ');
|
||
sql.Add(',GrossWeight=' + FloatToStr(Strtofloatdef(GrossWeight.Text, 0)));
|
||
sql.Add(',NetWeight=' + FloatToStr(Strtofloatdef(NetWeight.Text, 0)));
|
||
sql.Add(',Meter=' + FloatToStr(Strtofloatdef(Meter.Text, 0)));
|
||
sql.Add(',Yardage=' + FloatToStr(Strtofloatdef(Yardage.Text, 0)));
|
||
|
||
if RadioGroup1.ItemIndex = 0 then
|
||
begin
|
||
sql.Add(',Grade=''<27><>Ʒ'' ');
|
||
end
|
||
else if RadioGroup1.ItemIndex = 1 then
|
||
begin
|
||
sql.Add(',Grade=''<27><>Ʒ'' ');
|
||
end;
|
||
sql.Add(' where CIID=''' + Trim(Label2.Caption) + '''');
|
||
ExecSQL;
|
||
end;
|
||
////////////////// <20><><EFBFBD>¾<EFBFBD><C2BE>Ŵõ<C5B4><C3B5><EFBFBD>Ϣ //////////////////
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Knit_Insp_Up @CIID=''' + Trim(Label2.Caption) + '''');
|
||
sql.Add(',@InspType=' + QuotedStr('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'));
|
||
execsql;
|
||
end;
|
||
////////////////// <20><><EFBFBD>¾<EFBFBD><C2BE>Ŵõ<C5B4><C3B5><EFBFBD>Ϣ //////////////////
|
||
///
|
||
////////////////// <20><><EFBFBD><EFBFBD><EFBFBD>⼰<EFBFBD><E2BCB0><EFBFBD><EFBFBD> //////////////////
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Knit_Insp_In_Stk @CIID=''' + Trim(Label2.Caption) + '''');
|
||
execsql;
|
||
end;
|
||
////////////////// <20><><EFBFBD><EFBFBD><EFBFBD>⼰<EFBFBD><E2BCB0><EFBFBD><EFBFBD> //////////////////
|
||
///
|
||
////////////////// <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD> //////////////////
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('insert into Knit_Need_Up(UType,UDataId) values(''<27><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>'',' + quotedstr(Trim(Label2.Caption)) + ') ');
|
||
execsql;
|
||
end;
|
||
////////////////// <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD> //////////////////
|
||
///
|
||
ADOCmd.Connection.CommitTrans;
|
||
Result := True;
|
||
except
|
||
Result := False;
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if Trim(Label2.Caption) = '' then
|
||
Exit;
|
||
if SaveData() then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
|
||
end;
|
||
|
||
procedure TfrmKnitInspEdit.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid(trim(Self.Caption), Tv1, 'ӡȾ<D3A1><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
if CIID.Text <> '' then
|
||
begin
|
||
GetJYXK(CIID.Text);
|
||
end;
|
||
|
||
end;
|
||
|
||
end.
|
||
|