445 lines
12 KiB
ObjectPascal
445 lines
12 KiB
ObjectPascal
unit U_YEYarnDROutEdit;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient,
|
||
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls, BtnEdit, ShellAPI, cxTextEdit,
|
||
RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, RM_e_Xls,
|
||
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
|
||
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList;
|
||
|
||
type
|
||
TfrmYEYarnDROutEdit = class(TfrmBaseList)
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
DS_MainSel: TDataSource;
|
||
CDS_MainSel: TClientDataSet;
|
||
GPM_1: TcxGridPopupMenu;
|
||
Panel2: TPanel;
|
||
Label5: TLabel;
|
||
Label4: TLabel;
|
||
Label9: TLabel;
|
||
edtScan: TEdit;
|
||
CRTime: TDateTimePicker;
|
||
ToCoName: TEdit;
|
||
Button2: TButton;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
Label12: TLabel;
|
||
CDS_Main: TClientDataSet;
|
||
CRType: TEdit;
|
||
Button1: TButton;
|
||
RMXLSExport1: TRMXLSExport;
|
||
RMDBMX: TRMDBDataSet;
|
||
RM1: TRMGridReport;
|
||
CDS_JuanPRT: TClientDataSet;
|
||
Label10: TLabel;
|
||
edtIsSMTH: TEdit;
|
||
btn1: TButton;
|
||
ds1: TClientDataSet;
|
||
ds2: TDataSource;
|
||
Panel1: TPanel;
|
||
cxGrid3: TcxGrid;
|
||
Tv3: TcxGridDBTableView;
|
||
cv3Column3: TcxGridDBColumn;
|
||
v3Column1: TcxGridDBColumn;
|
||
v3Column2: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
cxGrid1: TcxGrid;
|
||
TV4: TcxGridDBTableView;
|
||
cCXCONNO: TcxGridDBColumn;
|
||
cV4Column1: TcxGridDBColumn;
|
||
cCXCOLOR: TcxGridDBColumn;
|
||
VC_SQQTY: TcxGridDBColumn;
|
||
cCXFHPS: TcxGridDBColumn;
|
||
cxGridLevel2: TcxGridLevel;
|
||
TV4Column1: TcxGridDBColumn;
|
||
TV4Column2: TcxGridDBColumn;
|
||
TV4Column3: TcxGridDBColumn;
|
||
OutNo: TEdit;
|
||
Tv3Column2: TcxGridDBColumn;
|
||
GPM_2: TcxGridPopupMenu;
|
||
TV4Column5: TcxGridDBColumn;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure edtScanKeyPress(Sender: TObject; var Key: Char);
|
||
procedure Button2Click(Sender: TObject);
|
||
procedure Button1Click(Sender: TObject);
|
||
procedure edtIsSMTHClick(Sender: TObject);
|
||
procedure btn1Click(Sender: TObject);
|
||
procedure TV4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
private
|
||
{ Private declarations }
|
||
FCKNO, FSMStr, JXFlag, CZZT, fcuowu: string;
|
||
procedure InitCKGrid();
|
||
procedure InitSQGrid();
|
||
procedure PlayWav(MWav: string);
|
||
function JudgeSQD(): Boolean;
|
||
function SaveCKJTM(MStkIds: string): Boolean; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
procedure SaveCKJTMCX(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmYEYarnDROutEdit: TfrmYEYarnDROutEdit;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun, MMSystem, U_YEYarnDRSel;
|
||
|
||
procedure TfrmYEYarnDROutEdit.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 TfrmYEYarnDROutEdit.SaveCKJTMCX();
|
||
begin
|
||
|
||
try
|
||
if Trim(OutNo.Text) = '' then
|
||
raise Exception.Create('<27><><EFBFBD>ⵥ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
|
||
|
||
if CDS_MainSel.IsEmpty then
|
||
raise Exception.Create('<27>ɳ<DEBF><C9B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
Sql.Clear;
|
||
sql.Add('insert into YE_Need_Up(UType,UDataId) values(''<27>ӵ<EFBFBD>˿<EFBFBD><CBBF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'',' + quotedstr(OutNo.Text) + ') ');
|
||
|
||
Sql.Add('exec P_YE_Yarn_ReOut ');
|
||
Sql.Add(' @StkIds=' + quotedstr(trim(FSMStr)));
|
||
Sql.Add(',@IOIDS=' + quotedstr(trim('')));
|
||
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;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_YE_Yarn_DR @OutNo=' + Quotedstr(Trim(OutNo.Text)));
|
||
Open;
|
||
end;
|
||
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||
begin
|
||
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||
end;
|
||
except
|
||
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.TV4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
begin
|
||
inherited;
|
||
|
||
InitCKGrid();
|
||
end;
|
||
|
||
function TfrmYEYarnDROutEdit.SaveCKJTM(MStkIds: string): Boolean;
|
||
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;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
Sql.Clear;
|
||
sql.Add('insert into YE_Need_Up(UType,UDataId) values(''<27>ӵ<EFBFBD>˿<EFBFBD><CBBF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'',' + quotedstr(OutNo.Text) + ') ');
|
||
|
||
Sql.Add('exec P_YE_Yarn_Out ');
|
||
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(',@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;
|
||
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
raise Exception.Create(PChar(Exception(ExceptObject).Message));
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_YE_Yarn_DR @OutNo=' + Quotedstr(Trim(OutNo.Text)));
|
||
Open;
|
||
end;
|
||
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||
begin
|
||
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||
end;
|
||
|
||
PlayWav('<27><>ȷ');
|
||
Result := True;
|
||
except
|
||
Result := False;
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
end;
|
||
|
||
{$R *.dfm}
|
||
|
||
function TfrmYEYarnDROutEdit.JudgeSQD(): Boolean;
|
||
begin
|
||
Result := false;
|
||
try
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from YE_Yarn_DR_Main A inner join YE_Yarn_DR_Sub B on A.DRMID=B.DRMID where A.DRMID=''' + Trim(FSMStr) + '''');
|
||
Open;
|
||
end;
|
||
if ADOQueryTemp.IsEmpty then
|
||
raise Exception.Create('<27><><EFBFBD>뵥<EFBFBD><EBB5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>!');
|
||
|
||
if Trim(OutNo.Text) <> '' then
|
||
begin
|
||
FCKNO := Trim(OutNo.Text);
|
||
end;
|
||
OutNo.Text := Trim(FSMStr);
|
||
|
||
if FSMStr <> FCKNO then
|
||
begin
|
||
InitCKGrid();
|
||
InitSQGrid();
|
||
end;
|
||
|
||
Result := True;
|
||
except
|
||
Result := false;
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
// PlaySound('δɨ<CEB4><C9A8><EFBFBD><EFBFBD><EFBFBD>뵥<EFBFBD><EBB5A5>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>.wav', 0, SND_FILENAME or SND_ASYNC);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.FormDestroy(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frmYEYarnDROutEdit := nil;
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
edtScan.SetFocus;
|
||
|
||
ReadCxGrid(trim(Self.Caption) + 'Tv4', Tv4, '<27>ӵ<EFBFBD>ɴ<EFBFBD>ֿ߲<DFB2>');
|
||
ReadCxGrid(trim(Self.Caption) + 'Tv3', Tv3, '<27>ӵ<EFBFBD>ɴ<EFBFBD>ֿ߲<DFB2>');
|
||
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.edtScanKeyPress(Sender: TObject; var Key: Char);
|
||
var
|
||
maxno, SMFlag, KYCKFlag, FMainId, ff: string;
|
||
FFQty: Integer;
|
||
begin
|
||
|
||
if Key = #13 then
|
||
begin
|
||
FSMStr := TRIM(edtScan.Text);
|
||
if Copy(FSMStr, 1, 2) = 'DM' then //ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD>Ǽӵ<C7BC>ɴ<EFBFBD>ֿ߲<DFB2><D6BF><EFBFBD><EFBFBD><EFBFBD>
|
||
begin
|
||
if not JudgeSQD() then
|
||
exit;
|
||
end
|
||
else
|
||
begin
|
||
if Trim(edtIsSMTH.Text) = '' then //û<>й<EFBFBD>ѡɨ<D1A1><C9A8><EFBFBD>˻<EFBFBD>
|
||
begin
|
||
if SaveCKJTM(FSMStr) then //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
begin
|
||
PlayWav('<27><>ȷ');
|
||
end
|
||
else
|
||
exit;
|
||
end
|
||
else
|
||
begin
|
||
SaveCKJTMCX(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
end;
|
||
|
||
InitSQGrid();
|
||
InitCKGrid();
|
||
end;
|
||
|
||
edtScan.Text := '';
|
||
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.Button2Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(trim(Self.Caption) + 'Tv4', Tv4, '<27>ӵ<EFBFBD>ɴ<EFBFBD>ֿ߲<DFB2>');
|
||
WriteCxGrid(trim(Self.Caption) + 'Tv3', Tv3, '<27>ӵ<EFBFBD>ɴ<EFBFBD>ֿ߲<DFB2>');
|
||
Close;
|
||
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.Button1Click(Sender: TObject);
|
||
var
|
||
MKey: Char;
|
||
begin
|
||
MKey := #13;
|
||
try
|
||
frmYEYarnDRSel := TfrmYEYarnDRSel.Create(self);
|
||
with frmYEYarnDRSel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
edtScan.Text := Trim(Order_Main.fieldbyname('DRMID').AsString);
|
||
edtScanKeyPress(edtScan, MKey);
|
||
end;
|
||
end;
|
||
finally
|
||
frmYEYarnDRSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.edtIsSMTHClick(Sender: TObject);
|
||
begin
|
||
if Trim(edtIsSMTH.Text) = '' then
|
||
edtIsSMTH.Text := '<27><>'
|
||
else
|
||
edtIsSMTH.Text := '';
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.btn1Click(Sender: TObject);
|
||
var
|
||
MKey: Char;
|
||
begin
|
||
MKey := #13;
|
||
CZZT := 'ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
fcuowu := '1';
|
||
// try
|
||
// frmCKProductCPKCListSel := TfrmCKProductCPKCListSel.Create(Application);
|
||
// with frmCKProductCPKCListSel do
|
||
// begin
|
||
//// CustomerNoName.text := trim(Self.KHName.text);
|
||
// if ShowModal = 1 then
|
||
// begin
|
||
// with frmCKProductCPKCListSel.CDS_Main do
|
||
// begin
|
||
// First;
|
||
// while not Eof do
|
||
// begin
|
||
// if Fieldbyname('ssel').AsBoolean then
|
||
// begin
|
||
//
|
||
// Self.edtScan.Text := Trim(Fieldbyname('JYID').AsString);
|
||
// edtScanKeyPress(Self.edtScan, MKey);
|
||
// if fcuowu = '<27><><EFBFBD><EFBFBD>' then
|
||
// begin
|
||
// Break;
|
||
// end;
|
||
// Sleep(200);
|
||
// end;
|
||
// Next;
|
||
// end;
|
||
// end;
|
||
// end;
|
||
// end;
|
||
// finally
|
||
// frmCKProductCPKCListSel.Free;
|
||
// end;
|
||
InitCKGrid();
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.InitSQGrid();
|
||
begin
|
||
if OutNo.Text <> '' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('SELECT * FROM YE_Yarn_DR_Sub B');
|
||
sql.Add('inner join YE_Yarn_DR_Main A ON A.DRMID=B.DRMID ');
|
||
sql.Add('WHERE B.DRMID=''' + Trim(OutNo.Text) + '''');
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryTemp, DS1);
|
||
SInitCDSData(ADOQueryTemp, DS1);
|
||
crtype.Text := Trim(ADOQueryTemp.FieldByName('OutType').AsString);
|
||
ToCoName.Text := Trim(ADOQueryTemp.FieldByName('ToCoName').AsString);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYEYarnDROutEdit.InitCKGrid();
|
||
begin
|
||
if OutNo.Text <> '' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * ');
|
||
sql.Add(' from YE_Yarn_Stock A inner join YE_Yarn_IO B on A.STKID=B.StkId ');
|
||
sql.Add(' where B.IONO=''' + Trim(OutNo.Text) + '''');
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryTemp, CDS_MainSel);
|
||
SInitCDSData(ADOQueryTemp, CDS_MainSel);
|
||
end;
|
||
|
||
end;
|
||
|
||
end.
|
||
|