RTFormwork/项目代码/RTBasicsV1/D02针织坯布检验/U_KnitInspEdit.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

425 lines
11 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_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.