330 lines
9.1 KiB
ObjectPascal
330 lines
9.1 KiB
ObjectPascal
unit U_CPSMRk;
|
||
|
||
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, RM_System, RM_Common,
|
||
RM_Class, RM_GridReport, RM_Dataset, cxCalendar, MMSystem, U_BaseList,
|
||
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
|
||
cxNavigator, dxDateRanges, dxBarBuiltInMenu;
|
||
|
||
type
|
||
TfrmCPSMRk = class(TfrmBaseList)
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
Panel1: TPanel;
|
||
Button2: TButton;
|
||
DS_RKJL: TDataSource;
|
||
CDS_RKJL: TClientDataSet;
|
||
PM_RKJL: TPopupMenu;
|
||
MenuItem1: TMenuItem;
|
||
MenuItem2: TMenuItem;
|
||
Button6: TButton;
|
||
RKOrdID: TEdit;
|
||
Label5: TLabel;
|
||
RM1: TRMGridReport;
|
||
ADOQueryPrint: TADOQuery;
|
||
RMDB_Main: TRMDBDataSet;
|
||
Label6: TLabel;
|
||
edtScan: TEdit;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1Column4: TcxGridDBColumn;
|
||
v1Column1: TcxGridDBColumn;
|
||
v2Column1: TcxGridDBColumn;
|
||
v1Column10: TcxGridDBColumn;
|
||
v2Column3: TcxGridDBColumn;
|
||
v1Column18: TcxGridDBColumn;
|
||
v1Column8: TcxGridDBColumn;
|
||
v1Column9: TcxGridDBColumn;
|
||
v1Column6: TcxGridDBColumn;
|
||
v1Column13: TcxGridDBColumn;
|
||
v1Column21: TcxGridDBColumn;
|
||
v1Column5: TcxGridDBColumn;
|
||
v1Column3: TcxGridDBColumn;
|
||
v1Column2: TcxGridDBColumn;
|
||
v1Column16: TcxGridDBColumn;
|
||
v2Column5: TcxGridDBColumn;
|
||
v2Column6: TcxGridDBColumn;
|
||
v1Column7: TcxGridDBColumn;
|
||
v1Column19: TcxGridDBColumn;
|
||
v1Column20: TcxGridDBColumn;
|
||
v1Column22: TcxGridDBColumn;
|
||
v1Column11: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
Button1: TButton;
|
||
ComboBox1: TComboBox;
|
||
CDS_Label: TClientDataSet;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Button2Click(Sender: TObject);
|
||
procedure MenuItem1Click(Sender: TObject);
|
||
procedure MenuItem2Click(Sender: TObject);
|
||
procedure Button6Click(Sender: TObject);
|
||
procedure edtScanKeyPress(Sender: TObject; var Key: Char);
|
||
procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char);
|
||
procedure Button1Click(Sender: TObject);
|
||
private
|
||
{ Private declarations }
|
||
FBaoId: string;
|
||
procedure InitGrid();
|
||
function CheckData(): Boolean;
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmCPSMRk: TfrmCPSMRk;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun, U_ZDYHelp;
|
||
|
||
{$R *.dfm}
|
||
function TfrmCPSMRk.CheckData(): Boolean;
|
||
var
|
||
mvalue: Double;
|
||
begin
|
||
try
|
||
if Trim(RKOrdID.Text) = '' then
|
||
raise Exception.Create('<27><><EFBFBD>ⵥ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
||
if Trim(edtScan.Text) = '' then
|
||
raise Exception.Create('<27><>ɨ<EFBFBD>裡');
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select count(*) JLS from CK_Cloth_CR where JYID=' + QuotedStr(Trim(edtScan.Text)));
|
||
sql.Add('and CRFlag in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ,''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') ');
|
||
Open;
|
||
end;
|
||
if ADOQueryTemp.fieldbyname('JLS').AsInteger = 1 then
|
||
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
if ADOQueryTemp.fieldbyname('JLS').AsInteger <> 2 then
|
||
raise Exception.Create('<27>ѳ<EFBFBD><D1B3><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Result := True;
|
||
except
|
||
Result := false;
|
||
// application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
PlaySound(PChar('wav\' + Exception(ExceptObject).Message + '.wav'), 0, SND_FILENAME or SND_ASYNC);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.FormDestroy(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frmCPSMRk := nil;
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.InitGrid();
|
||
begin
|
||
try
|
||
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' select A.* ');
|
||
sql.Add(' ,B.orderNo,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ,B.conNo,B.KHconNo ');
|
||
sql.Add(' ,C.PRTColor,C.PRTEColor');
|
||
sql.Add(' from CK_Cloth_CR A inner join JYOrder_Main B on A.MainId=B.MainId inner join JYOrder_Sub C on A.SubId=C.SubId ');
|
||
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.RKOrdID=' + quotedstr(RKOrdID.Text));
|
||
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryMain, CDS_RKJL);
|
||
|
||
SInitCDSData(ADOQueryMain, CDS_RKJL);
|
||
finally
|
||
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.FormShow(Sender: TObject);
|
||
var
|
||
fsj: string;
|
||
begin
|
||
inherited;
|
||
fsj := 'select distinct(LMName) name from Lbael_Map where LMType=''<27><><EFBFBD>ⵥ<EFBFBD>뵥'' ';
|
||
SInitComBoxBySql(ADOQueryCmd, ComboBox1, true, fsj);
|
||
|
||
with ADOQueryTemp do
|
||
begin
|
||
Filtered := False;
|
||
Close;
|
||
sql.Clear;
|
||
Sql.Add('select * from Lbael_Map where LMType=''<27><><EFBFBD>ⵥ<EFBFBD>뵥''');
|
||
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryTemp, CDS_Label);
|
||
SInitCDSData(ADOQueryTemp, CDS_Label);
|
||
ReadCxGrid('<27><>Ʒɨ<C6B7><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.Button2Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid('<27><>Ʒɨ<C6B7><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.MenuItem1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_RKJL, True);
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.MenuItem2Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_RKJL, False);
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.Button6Click(Sender: TObject);
|
||
var
|
||
maxno: string;
|
||
begin
|
||
if GetLSNo(ADOQueryCmd, maxno, 'RK', 'CK_Cloth_CR', 4, 1) = False then
|
||
begin
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD>ⵥ<EFBFBD><E2B5A5>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
RKOrdID.Text := Trim(maxno);
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.edtScanKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
if not CheckData() then
|
||
begin
|
||
edtScan.Text := '';
|
||
exit;
|
||
end;
|
||
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPDATE CK_Cloth_CR Set ');
|
||
sql.add('RKNO=' + Quotedstr(Trim(RKOrdID.Text)));
|
||
sql.Add('where CK_Cloth_CR.JYID=' + Quotedstr(Trim(edtScan.Text)));
|
||
sql.Add('and CK_Cloth_CR.CRFlag in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') ');
|
||
|
||
sql.Add('UPDATE CK_Cloth_CR Set ');
|
||
sql.add(' CRTime=getdate(),CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' where CK_Cloth_CR.JYID=' + Quotedstr(Trim(edtScan.Text)));
|
||
sql.Add('and CK_Cloth_CR.CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
|
||
|
||
sql.Add('UPDATE JY_Cloth Set ');
|
||
sql.add('RKNO=' + Quotedstr(Trim(RKOrdID.Text)));
|
||
sql.add(',JYCRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
|
||
sql.Add('where JY_Cloth.JYID=' + Quotedstr(Trim(edtScan.Text)));
|
||
SQL.Add('and JY_Cloth.JYCRType=''δ<><CEB4><EFBFBD><EFBFBD>'' ');
|
||
ExecSQL;
|
||
end;
|
||
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select count(distinct MainId) DDSL from CK_Cloth_CR A ');
|
||
sql.Add(' where A.RKNO= ' + quotedstr(trim(RKOrdID.Text)));
|
||
Open;
|
||
end;
|
||
if ADOQueryTemp.FieldByName('DDSL').AsInteger > 1 then
|
||
begin
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ͬһ<CDAC><D2BB><EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲻ<EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
||
end;
|
||
edtScan.Text := '';
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.RKOrdIDKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCPSMRk.Button1Click(Sender: TObject);
|
||
var
|
||
fPrintFile10, FMainID, FKHName, FFPNo: string;
|
||
fPrintFile: string;
|
||
Txt, fImagePath: string;
|
||
Moudle: THandle;
|
||
Makebar: TMakebar;
|
||
Mixtext: TMixtext;
|
||
begin
|
||
if Trim(RKOrdID.Text) = '' then
|
||
Exit;
|
||
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
|
||
|
||
if CDS_Label.Locate('LMName', trim(ComboBox1.Text), []) then
|
||
begin
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.add('exec ' + trim(CDS_Label.fieldbyname('LMSql').AsString) + ' @RKOrdNo=' + quotedstr(Trim(RKOrdID.Text)));
|
||
Open;
|
||
end;
|
||
end;
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt := Trim(RKOrdID.Text);
|
||
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
|
||
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
|
||
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
|
||
if FileExists(fImagePath) then
|
||
DeleteFile(fImagePath);
|
||
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
|
||
except
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.rmf';
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RMVariables['QRBARCODE'] := fImagePath;
|
||
RMVariables['ZDR'] := trim(DName);
|
||
RM1.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD>ҵ<EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|