RTFormwork/项目代码/RTBasicsV1/F05染色检验/U_DyeInspEdit.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

418 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_DyeInspEdit;
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
TfrmDyeInspEdit = 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
frmDyeInspEdit: TfrmDyeInspEdit;
implementation
uses
U_RTFun, U_ZDYHelp, U_DataLink;
{$R *.dfm}
procedure TfrmDyeInspEdit.GetJYXK(FJYIP: string);
begin
with ADOTmp do
begin
Close;
sql.Clear;
SQL.Add('select A.* from Dye_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 Dye_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 TfrmDyeInspEdit.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 TfrmDyeInspEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDyeInspEdit.FormDestroy(Sender: TObject);
begin
frmDyeInspEdit := nil;
end;
procedure TfrmDyeInspEdit.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 TfrmDyeInspEdit.ToolButton1Click(Sender: TObject);
begin
if Trim(Label2.Caption) = '' then
Exit;
Order_MJ.Append;
Order_MJ.Post;
end;
procedure TfrmDyeInspEdit.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 Dye_Cloth_Inspect_Flaw where CIFID=''' + Trim(Order_MJ.fieldbyname('CIFID').AsString) + '''');
ExecSQL;
end;
end;
Order_MJ.Delete;
end;
procedure TfrmDyeInspEdit.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption), Tv1, 'ӡȾ<D3A1><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmDyeInspEdit.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 TfrmDyeInspEdit.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
raise Exception.Create(pchar('<27>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>'));
if Trim(Order_MJ.fieldbyname('CIFID').AsString) = '' then
begin
if GetLSNo(ADOTmp, maxno, 'JC', 'Dye_Cloth_Inspect_Flaw', 5, 1) = False then
raise Exception.Create(pchar(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>'));
end
else
begin
maxno := Trim(Order_MJ.fieldbyname('CIFID').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add(' select * from Dye_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, 'Dye_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 Dye_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_Dye_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_Dye_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 Dye_Need_Up(UOperation,UType,UDataId) values(''<27><><EFBFBD><EFBFBD>'',''<27><><EFBFBD><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(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmDyeInspEdit.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 TfrmDyeInspEdit.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDyeInspEdit.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.