512 lines
14 KiB
ObjectPascal
512 lines
14 KiB
ObjectPascal
unit U_DyeClothDROutEdit;
|
||
|
||
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
|
||
TfrmDyeClothDROutEdit = 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;
|
||
VC_MJXH: TcxGridDBColumn;
|
||
v3Column1: TcxGridDBColumn;
|
||
v3Column2: TcxGridDBColumn;
|
||
cv3Column4: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
cxGrid1: TcxGrid;
|
||
TV4: TcxGridDBTableView;
|
||
cCXCONNO: TcxGridDBColumn;
|
||
cV4Column1: TcxGridDBColumn;
|
||
cCXCOLOR: TcxGridDBColumn;
|
||
VC_SQQTY: TcxGridDBColumn;
|
||
cCXFHPS: TcxGridDBColumn;
|
||
cxGridLevel2: TcxGridLevel;
|
||
TV4Column1: TcxGridDBColumn;
|
||
Tv3Column1: TcxGridDBColumn;
|
||
TV4Column2: TcxGridDBColumn;
|
||
TV4Column3: TcxGridDBColumn;
|
||
OutNo: TEdit;
|
||
Tv3Column2: TcxGridDBColumn;
|
||
Tv3Column3: TcxGridDBColumn;
|
||
GPM_2: TcxGridPopupMenu;
|
||
TV4Column5: TcxGridDBColumn;
|
||
Tv3Column4: 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
|
||
frmDyeClothDROutEdit: TfrmDyeClothDROutEdit;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun, MMSystem, U_DyeDRSel;
|
||
|
||
procedure TfrmDyeClothDROutEdit.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 TfrmDyeClothDROutEdit.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 Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule) ');
|
||
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(self.Caption));
|
||
sql.Add(') ');
|
||
|
||
Sql.Add('exec P_Dye_Cloth_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_Dye_Cloth_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 TfrmDyeClothDROutEdit.TV4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
begin
|
||
inherited;
|
||
|
||
InitCKGrid();
|
||
end;
|
||
|
||
function TfrmDyeClothDROutEdit.SaveCKJTM(MStkIds: string): Boolean;
|
||
begin
|
||
try
|
||
if Trim(OutNo.Text) = '' then
|
||
raise Exception.Create('<27><><EFBFBD>ⵥ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
|
||
|
||
try
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Dye_Cloth_DRJudge @OutNo=' + Quotedstr(Trim(OutNo.Text)));
|
||
sql.Add(',@StkIds=' + Quotedstr(Trim(MStkIds)));
|
||
Open;
|
||
end;
|
||
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||
begin
|
||
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
|
||
// with ADOQueryCmd do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('insert into Dye_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
|
||
// sql.Add('values(''ӡȾ<D3A1><C8BE>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>'' ');
|
||
// sql.Add(',' + quotedstr(MPCIDS));
|
||
// sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
|
||
// sql.Add(',' + quotedstr(DName));
|
||
// sql.Add(',' + quotedstr(trim(self.Caption)));
|
||
// sql.Add(',' + quotedstr(MStkIds));
|
||
// sql.Add(') ');
|
||
// execsql;
|
||
// end;
|
||
|
||
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(') ');
|
||
execsql;
|
||
end;
|
||
|
||
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_Dye_Cloth_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));
|
||
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_Dye_Cloth_DR @OutNoS=' + 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 TfrmDyeClothDROutEdit.JudgeSQD(): Boolean;
|
||
begin
|
||
Result := false;
|
||
try
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from Dye_Cloth_DR_Main A inner join Dye_Cloth_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 TfrmDyeClothDROutEdit.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.FormDestroy(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frmDyeClothDROutEdit := nil;
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
edtScan.SetFocus;
|
||
ReadCxGrid('ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tv4', Tv4, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
ReadCxGrid('ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tv3', Tv3, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.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, 3) = 'TDM' then
|
||
begin
|
||
if not JudgeSQD() then
|
||
exit;
|
||
end
|
||
else
|
||
begin
|
||
if Trim(edtIsSMTH.Text) = '' then
|
||
begin
|
||
if Copy(FSMStr, 1, 2) = 'BI' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' select StkIdS=CAST((select distinct lTRIM(RTRIM(X.StkId)) + '','' ');
|
||
sql.Add(' from Dye_Cloth_Stock X where X.PacketId=' + quotedstr(FSMStr) + ' for xml path('''') ) AS NVARCHAR(MAX)) ');
|
||
Open;
|
||
end;
|
||
if SaveCKJTM(ADOQueryTemp.FieldByName('StkIdS').AsString) then
|
||
begin
|
||
PlayWav('<27><>ȷ');
|
||
end
|
||
else
|
||
exit;
|
||
end
|
||
else
|
||
begin
|
||
if SaveCKJTM(FSMStr) then
|
||
begin
|
||
PlayWav('<27><>ȷ');
|
||
end
|
||
else
|
||
exit;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
SaveCKJTMCX();
|
||
end;
|
||
|
||
InitSQGrid();
|
||
InitCKGrid();
|
||
end;
|
||
|
||
edtScan.Text := '';
|
||
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.Button2Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid('ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tv4', Tv4, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
WriteCxGrid('ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tv3', Tv3, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Close;
|
||
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.Button1Click(Sender: TObject);
|
||
var
|
||
MKey: Char;
|
||
begin
|
||
MKey := #13;
|
||
try
|
||
frmTatDRSel := TfrmTatDRSel.Create(self);
|
||
with frmTatDRSel do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
edtScan.Text := Trim(Order_Main.fieldbyname('DRMID').AsString);
|
||
edtScanKeyPress(edtScan, MKey);
|
||
end;
|
||
end;
|
||
finally
|
||
frmTatDRSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.edtIsSMTHClick(Sender: TObject);
|
||
begin
|
||
if Trim(edtIsSMTH.Text) = '' then
|
||
edtIsSMTH.Text := '<27><>'
|
||
else
|
||
edtIsSMTH.Text := '';
|
||
end;
|
||
|
||
procedure TfrmDyeClothDROutEdit.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 TfrmDyeClothDROutEdit.InitSQGrid();
|
||
begin
|
||
if OutNo.Text <> '' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('SELECT * FROM Dye_Cloth_DR_Sub B');
|
||
sql.Add('inner join Dye_Cloth_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 TfrmDyeClothDROutEdit.InitCKGrid();
|
||
begin
|
||
if OutNo.Text <> '' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * ');
|
||
sql.Add(' from Dye_Cloth_Stock A inner join Dye_Cloth_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.
|
||
|