RTFormwork/项目代码/RTBasicsV1/T03贸易布匹检验/U_TradeInspEdit.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

426 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_TradeInspEdit;
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
TfrmTradeInspEdit = 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 }
FBCIOID: string;
function SaveData(): Boolean;
procedure GetJYXK(FJYIP: string);
public
{ Public declarations }
end;
var
frmTradeInspEdit: TfrmTradeInspEdit;
implementation
uses
U_RTFun, U_ZDYHelp, U_DataLink;
{$R *.dfm}
procedure TfrmTradeInspEdit.GetJYXK(FJYIP: string);
begin
with ADOTmp do
begin
Close;
sql.Clear;
SQL.Add('select A.* from Trade_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;
FBCIOID := Trim(ADOTmp.fieldbyname('BCIOID').AsString);
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 Trade_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 TfrmTradeInspEdit.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 TfrmTradeInspEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmTradeInspEdit.FormDestroy(Sender: TObject);
begin
frmTradeInspEdit := nil;
end;
procedure TfrmTradeInspEdit.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 TfrmTradeInspEdit.ToolButton1Click(Sender: TObject);
begin
if Trim(Label2.Caption) = '' then
Exit;
Order_MJ.Append;
Order_MJ.Post;
end;
procedure TfrmTradeInspEdit.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 Trade_Cloth_Inspect_Flaw where CIFID=''' + Trim(Order_MJ.fieldbyname('CIFID').AsString) + '''');
ExecSQL;
end;
end;
Order_MJ.Delete;
end;
procedure TfrmTradeInspEdit.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption), Tv1, 'ӡȾ<D3A1><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmTradeInspEdit.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 TfrmTradeInspEdit.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', 'Trade_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 Trade_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, 'Trade_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 Trade_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_Trade_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_Trade_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 Trade_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values(''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(FBCIOID));
sql.Add(',''<27><><EFBFBD><EFBFBD><EFBFBD>༭'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(Label2.Caption));
sql.Add(') ');
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 TfrmTradeInspEdit.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 TfrmTradeInspEdit.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeInspEdit.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.