RTFormwork/项目代码/RTBasicsV1/C03纱线加弹仓库/U_YEYarnDROutEdit.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

445 lines
12 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_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.