D10myBiaoqi/T04贸易明细仓库/U_TradeClothOutEdit.pas
2025-11-08 10:16:26 +08:00

795 lines
23 KiB
ObjectPascal
Raw 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_TradeClothOutEdit;
interface
uses
Windows, Messages, strUtils, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, MMSystem,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, U_BaseList, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, RM_Common, RM_Class,
RM_GridReport, RM_Dataset, Vcl.ToolWin, BtnEdit, dxSkinWXI,
dxScrollbarAnnotations, cxContainer, dxCoreGraphics, cxTextEdit, cxMaskEdit,
cxButtonEdit;
type
TfrmTradeClothOutEdit = class(TfrmBaseList)
GPM_1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
DS_1: TDataSource;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Panel1: TPanel;
CDS_2: TClientDataSet;
DS_2: TDataSource;
GPM_2: TcxGridPopupMenu;
DS_3: TDataSource;
CDS_3: TClientDataSet;
GPM_3: TcxGridPopupMenu;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
v1PRTMF: TcxGridDBColumn;
v1PRTKZ: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Panel2: TPanel;
Panel4: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
v3Column5: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
v3MJID: TcxGridDBColumn;
v3Column3: TcxGridDBColumn;
Tv3Column1: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
v3Column1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
Panel3: TPanel;
Label4: TLabel;
Label5: TLabel;
Label11: TLabel;
CRTime: TDateTimePicker;
OutNo: TEdit;
CRType: TComboBox;
ToolBar3: TToolBar;
ToolButton3: TToolButton;
btnGetOutNo: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
edtScan: TEdit;
Label6: TLabel;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
Tv2Column2: TcxGridDBColumn;
ToolButton4: TToolButton;
Tv1Column2: TcxGridDBColumn;
Tv3Column2: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv3Column3: TcxGridDBColumn;
Label1: TLabel;
IONote: TMemo;
Tv1Column4: TcxGridDBColumn;
Tv3Column4: TcxGridDBColumn;
ToolButton5: TToolButton;
IOPosition: TBtnEditC;
Tv1Column5: TcxGridDBColumn;
Label2: TLabel;
ToCoName: TcxButtonEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure btnGetOutNoClick(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure edtScanKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure IOPositionBtnUpClick(Sender: TObject);
procedure IOPositionBtnDnClick(Sender: TObject);
procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure CRTypeChange(Sender: TObject);
private
{ Private declarations }
FScan, FSubIds: string;
procedure PlayWav(MWav: string);
procedure InitGrid1();
procedure InitGrid2();
procedure InitGrid3();
procedure ScanInNo();
procedure ScanCIID();
public
{ Public declarations }
end;
var
frmTradeClothOutEdit: TfrmTradeClothOutEdit;
implementation
uses
U_DataLink, U_RTFun, U_TradeClothWaitReleased, U_LabelPrint, U_ZDYHelp,
U_CompanySel;
{$R *.dfm}
procedure TfrmTradeClothOutEdit.PlayWav(MWav: string);
begin
if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav'), 0, SND_ASYNC);
end;
procedure TfrmTradeClothOutEdit.InitGrid2();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(' from Trade_Plan_Sub A ');
sql.Add(' inner join Trade_Plan_Main B on A.MainId=B.Mainid');
if TRIm(FSubIds) <> '' then
sql.add('and A.SubId in (' + FSubIds + ')')
else
sql.add('and 1=2');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_2);
SInitCDSData(ADOQueryTemp, CDS_2);
end;
procedure TfrmTradeClothOutEdit.InitGrid1();
begin
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.IOFlag,A.IONo,A.IOID,A.StkType,B.* from Trade_Cloth_IO A ');
sql.Add('inner join Trade_Cloth_Stock B on A.StkId=B.StkId and A.IOCycles=B.StkCycles ');
sql.Add('where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and B.StkExists=1 ');
if TRIm(FSubIds) <> '' then
sql.add('and SubId in (' + FSubIds + ')')
else
sql.add('and 1=2');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmTradeClothOutEdit.InitGrid3();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select A.IOFlag,A.IONo,A.IOID,B.* from Trade_Cloth_IO A ');
sql.Add('inner join Trade_Cloth_Stock B on A.StkId=B.StkId and A.IOCycles=B.StkCycles ');
sql.Add('where A.IOFlag=''<27><><EFBFBD><EFBFBD>'' and B.StkExists=0 ');
if TRIm(OutNo.Text) <> '' then
sql.add('and IONO =' + QuotedStr(TRIm(OutNo.Text)))
else
sql.add('and 1=2');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_3);
SInitCDSData(ADOQueryTemp, CDS_3);
end;
procedure TfrmTradeClothOutEdit.IOPositionBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmTradeClothOutEdit.IOPositionBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
begin
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeClothOutEdit.ScanInNo();
var
MStkIds: string;
begin
try
if Trim(OutNo.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if CDS_2.IsEmpty then
raise Exception.Create(ѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
if not CDS_1.Locate('IONo', Trim(FScan), []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
MStkIds := '';
with CDS_1 do
begin
First;
while CDS_1.Locate('IONo', Trim(FScan), []) = True do
begin
MStkIds := MStkIds + (Trim(CDS_1.FieldByName('StkId').AsString)) + ',';
MoveCDS(CDS_1, CDS_3);
CDS_1.Delete;
end;
end;
MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId) values(''ӡȾ<D3A1><C8BE>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'',' + quotedstr(OutNo.Text) + ') ');
Sql.Add('exec P_Trade_Cloth_Out1 ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
Sql.Add(',@IONO=' + Quotedstr(OutNo.Text));
Sql.Add(',@IONote=' + Quotedstr(IONote.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmTradeClothOutEdit.ScanCIID();
var
MStkIds: string;
begin
try
if Trim(OutNo.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if CDS_2.IsEmpty then
raise Exception.Create(ѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
if not CDS_1.Locate('StkId', Trim(FScan), []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
try
ADOQueryCmd.Connection.BeginTrans;
MStkIds := (Trim(CDS_1.FieldByName('StkId').AsString));
MoveCDS(CDS_1, CDS_3);
CDS_1.Delete;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId) values('<>׳<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'',' + quotedstr(OutNo.Text) + ') ');
Sql.Add('exec P_Trade_Cloth_Out1 ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
Sql.Add(',@IONO=' + Quotedstr(OutNo.Text));
Sql.Add(',@IONote=' + Quotedstr(IONote.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmTradeClothOutEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradeClothOutEdit.FormDestroy(Sender: TObject);
begin
inherited;
frmTradeClothOutEdit := nil;
end;
procedure TfrmTradeClothOutEdit.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.caption + 'Tv1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(self.caption + 'Tv2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(self.caption + 'Tv3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid2();
InitGrid1();
InitGrid3();
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
end;
procedure TfrmTradeClothOutEdit.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_3.IsEmpty = False then
Exit;
if CDS_2.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if Trim(CDS_1.fieldbyname('SubId').AsString) = Trim(CDS_2.fieldbyname('SubId').AsString) then
begin
CDS_1.Delete;
end
else
Next;
end;
end;
CDS_1.EnableControls;
CDS_2.Delete;
end;
procedure TfrmTradeClothOutEdit.CRTypeChange(Sender: TObject);
begin
inherited;
if CRType.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
Label2.Visible := true;
ToCoName.Visible := true;
end
else
begin
Label2.Visible := false;
ToCoName.Visible := false;
ToCoName.Text := '';
end
end;
procedure TfrmTradeClothOutEdit.cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
inherited;
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '<27>ͻ<EFBFBD>';
if ShowModal = 1 then
begin
ToCoName.Text := CDS_1.FieldByName('CoName').AsString;
end;
end;
end;
procedure TfrmTradeClothOutEdit.edtScanKeyPress(Sender: TObject; var Key: Char);
var
maxno, SMFlag, KYCKFlag, FMainId, ff: string;
FFQty: Integer;
begin
if Key = #13 then
begin
FScan := TRIM(edtScan.Text);
edtScan.Text := '';
if Copy(FScan, 1, 2) = 'RK' then
begin
ScanInNo();
end
else
begin
ScanCIID();
end;
end;
end;
procedure TfrmTradeClothOutEdit.ToolButton10Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmTradeClothOutEdit.ToolButton11Click(Sender: TObject);
begin
SelOKNo(CDS_3, True);
end;
procedure TfrmTradeClothOutEdit.ToolButton12Click(Sender: TObject);
begin
SelOKNo(CDS_3, False);
end;
procedure TfrmTradeClothOutEdit.ToolButton1Click(Sender: TObject);
var
MStkIds, MIOIDS: string;
begin
if CDS_3.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
MStkIds := '';
MIOIDS := '';
with CDS_3 do
begin
while CDS_3.Locate('SSel', True, []) do
begin
MStkIds := MStkIds + (Trim(CDS_3.FieldByName('StkId').AsString)) + ',';
MIOIDS := MIOIDS + (Trim(CDS_3.FieldByName('IOID').AsString)) + ',';
CDS_3.Delete;
end;
end;
MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
MIOIDS := copy(MIOIDS, 1, Length(MIOIDS) - 1);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Fin_Flow_Judge ');
Sql.Add(' @FFIDS=' + quotedstr(OutNo.Text));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId) values(''ӡȾ<D3A1><C8BE>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'',' + quotedstr(OutNo.Text) + ') ');
Sql.Add('exec P_Trade_Cloth_ReOut ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOIDS=' + quotedstr(trim(MIOIDS)));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
// ShowMessage(sql.Text);
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
InitGrid1();
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
InitGrid1();
InitGrid3();
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmTradeClothOutEdit.ToolButton2Click(Sender: TObject);
var
MStkIds: string;
begin
try
if Trim(CRType.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if (Trim(CRType.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') and (ToCoName.Text = '') then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if Trim(OutNo.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if CDS_2.IsEmpty then
raise Exception.Create(ѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
if not CDS_1.Locate('SSel', True, []) then
raise Exception.Create('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
MStkIds := '';
with CDS_1 do
begin
while CDS_1.Locate('SSel', True, []) = True do
begin
MStkIds := MStkIds + (Trim(CDS_1.FieldByName('StkId').AsString)) + ',';
CDS_1.Delete;
end;
end;
MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Fin_Flow_Judge');
Sql.Add(' @FFIDS=' + quotedstr(OutNo.Text));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values(''ӡȾ<D3A1><C8BE>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(OutNo.Text));
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(MStkIds));
sql.Add(') ');
Sql.Add('exec P_Trade_Cloth_Out1 ');
Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
Sql.Add(',@IONO=' + Quotedstr(OutNo.Text));
Sql.Add(',@ToCoName=' + Quotedstr(ToCoName.Text));
Sql.Add(',@IONote=' + Quotedstr(IONote.Text));
Sql.Add(',@IOPosition=' + Quotedstr(IOPosition.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
InitGrid3();
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
InitGrid1();
InitGrid3();
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmTradeClothOutEdit.ToolButton3Click(Sender: TObject);
begin
if Trim(OutNo.Text) = '' then
Exit;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'DyeClothOut1';
FFiltration1 := Trim(Self.OutNo.Text);
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmTradeClothOutEdit.ToolButton4Click(Sender: TObject);
begin
FSubIds := '';
InitGrid2();
end;
procedure TfrmTradeClothOutEdit.btnGetOutNoClick(Sender: TObject);
var
maxNo: string;
begin
if GetLSNo(ADOQueryCmd, maxNo, 'CK', 'CK_BanCP_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><E2B5A5>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
OutNo.Text := Trim(maxNo);
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
InitGrid3();
end;
procedure TfrmTradeClothOutEdit.ToolButton6Click(Sender: TObject);
var
maxno, fsj: string;
begin
try
frmTradeClothWaitReleased := TfrmTradeClothWaitReleased.Create(Application);
with frmTradeClothWaitReleased do
begin
if ShowModal = 1 then
begin
CDS_OrderSel.DisableControls;
with CDS_OrderSel do
begin
First;
while not Eof do
begin
if FieldByName('SSel').Value = True then
begin
if Self.CDS_2.Locate('SubId', Trim(CDS_OrderSel.fieldbyname('SubId').AsString), []) = False then
begin
with Self.CDS_2 do
begin
Append;
FieldByName('MainId').Value := Trim(CDS_OrderSel.fieldbyname('MainId').AsString);
FieldByName('SubId').Value := Trim(CDS_OrderSel.fieldbyname('SubId').AsString);
FieldByName('CustNo').Value := Trim(CDS_OrderSel.fieldbyname('CustNo').AsString);
FieldByName('CustName').Value := Trim(CDS_OrderSel.fieldbyname('CustName').AsString);
FieldByName('C_Name').Value := Trim(CDS_OrderSel.fieldbyname('C_Name').AsString);
FieldByName('OrdPiece').Value := CDS_OrderSel.fieldbyname('OrdPiece').Value;
FieldByName('OrdQty').Value := CDS_OrderSel.fieldbyname('OrdQty').Value;
FieldByName('OrdUnit').Value := Trim(CDS_OrderSel.fieldbyname('OrdUnit').AsString);
FieldByName('C_Color').Value := Trim(CDS_OrderSel.fieldbyname('C_Color').AsString);
FieldByName('C_Width').Value := Trim(CDS_OrderSel.fieldbyname('C_Width').AsString);
FieldByName('C_ColorNo').Value := Trim(CDS_OrderSel.fieldbyname('C_ColorNo').AsString);
FieldByName('C_Pattern').Value := Trim(CDS_OrderSel.fieldbyname('C_Pattern').AsString);
FieldByName('C_GramWeight').Value := Trim(CDS_OrderSel.fieldbyname('C_GramWeight').AsString);
Post;
end;
end;
end;
Next;
end;
end;
CDS_OrderSel.EnableControls;
end;
end;
finally
frmTradeClothWaitReleased.Free;
end;
FSubIds := '';
CDS_2.DisableControls;
with CDS_2 do
begin
First;
while not Eof do
begin
FSubIds := FSubIds + Quotedstr(Trim(CDS_2.FieldByName('SubId').AsString)) + ',';
Next;
end;
end;
FSubIds := copy(FSubIds, 1, Length(FSubIds) - 1);
CDS_2.EnableControls;
if Trim(OutNo.Text) = '' then
btnGetOutNo.Click;
InitGrid1();
InitGrid3();
end;
procedure TfrmTradeClothOutEdit.ToolButton7Click(Sender: TObject);
begin
tv1.Controller.EditingController.ShowEdit();
tv3.Controller.EditingController.ShowEdit();
Close;
end;
procedure TfrmTradeClothOutEdit.ToolButton8Click(Sender: TObject);
begin
WriteCxGrid(self.caption + 'Tv2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(self.caption + 'Tv1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(self.caption + 'Tv3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmTradeClothOutEdit.ToolButton9Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
end.