RTFormwork/项目代码/RTBasicsV1/F06染色成品仓库/U_DyeClothDROutEdit.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

512 lines
14 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_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.