D7fhyuhan/成品仓库(FinishedClothWarehouse.dll)/U_CKProductBCPInList.pas
DESKTOP-E401PHE\Administrator fc7b44d7f6 移交
2025-09-21 08:59:38 +08:00

733 lines
22 KiB
ObjectPascal
Raw 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_CKProductBCPInList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, MovePanel, Math, Clipbrd, cxPC,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, cxContainer, dxCore,
cxDateUtils, cxTextEdit, cxMaskEdit;
type
TfrmCKProductBCPInList = class(TForm)
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label2: TLabel;
CDS_Main: TClientDataSet;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
cxgrdMPRTCodeName: TcxGridDBColumn;
cxgrdPRTColor: TcxGridDBColumn;
cxgrdMPRTMF: TcxGridDBColumn;
cxgrdMPRTKZ: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxgrdKGQty: TcxGridDBColumn;
cxgrdQty: TcxGridDBColumn;
cxgrdQtyUnit: TcxGridDBColumn;
cxgrdMPRTSpec: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
RM2: TRMGridReport;
RMXLSExport1: TRMXLSExport;
v1Column4: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column13: TcxGridDBColumn;
cxgrdNetKGQty: TcxGridDBColumn;
cxgrdKuangHao: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
lblAPID: TLabel;
cxgrdAPID: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
begtime: TDateTimePicker;
endTime: TDateTimePicker;
RMDBCD: TRMDBDataSet;
MovePanel2: TMovePanel;
IsJYTime: TCheckBox;
cxgrdCustomerNoName: TcxGridDBColumn;
APID: TEdit;
lblMPRTCodeName: TLabel;
lblMJID: TLabel;
lblMPRTKZ: TLabel;
lblMPRTMF: TLabel;
lblCPType: TLabel;
lblPRTColor: TLabel;
lblMPRTSpec: TLabel;
lblRKplace: TLabel;
lblConNo: TLabel;
lblRKOrdID: TLabel;
lblJYXH: TLabel;
Label14: TLabel;
MPRTCodeName: TEdit;
MJID: TEdit;
MJKZ: TEdit;
MJMF: TEdit;
CPType: TComboBox;
RKplace: TEdit;
PRTColor: TEdit;
MPRTSpec: TEdit;
ConNo: TEdit;
RKOrdID: TEdit;
JYXH: TEdit;
CustomerNoName: TEdit;
cxgrdJQty: TcxGridDBColumn;
N3: TMenuItem;
lblorderNo: TLabel;
orderNo: TEdit;
Panel2: TPanel;
Panel3: TPanel;
cxTabControl1: TcxTabControl;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
ADOQueryPrint: TADOQuery;
Panel7: TPanel;
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBRKCX: TToolButton;
tbPrint: TToolButton;
TBExport: TToolButton;
ToolButton1: TToolButton;
TBClose: TToolButton;
Panel5: TPanel;
Edit1: TEdit;
Panel4: TPanel;
Edit2: TEdit;
madan: TComboBox;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
BegDate: TcxDateEdit;
EndDate: TcxDateEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure orderNoKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBRKCXClick(Sender: TObject);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure BTNPClick(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure CPTypeChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure CustomerNoNameKeyPress(Sender: TObject; var Key: Char);
procedure tbPrintClick(Sender: TObject);
private
canshu2: string;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
canshu1: string;
FLeft, FTop: Integer;
fkhname: string;
{ Public declarations }
end;
//var
// frmCKProductBCPInList: TfrmCKProductBCPInList;
implementation
uses
U_DataLink, U_Fun, U_SysLogHelp;
{$R *.dfm}
procedure TfrmCKProductBCPInList.SetStatus();
var
i: Integer;
begin
TBRKCX.Visible := false;
tbPrint.Visible := false;
Panel5.Visible := false;
Edit1.Visible := false;
Panel4.Visible := false;
Edit2.Visible := false;
case cxTabControl1.TabIndex of
0:
begin
Panel6.Visible := False;
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
cxgrdJQty.Visible := True;
cxgrdKGQty.Visible := True;
cxgrdNETKGQty.Visible := True;
cxgrdQty.Visible := True;
cxgrdQtyUnit.Visible := True;
end;
1:
begin
Panel6.Visible := False;
ClearOrHideControls(Panel1, '0', false, True);
ClearOrHideControls(Panel1, '1', True, True);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
IsVisibleTV(Panel1, TV1, '1', True);
cxgrdJQty.Visible := True;
cxgrdKGQty.Visible := True;
cxgrdNETKGQty.Visible := True;
cxgrdQty.Visible := True;
cxgrdQtyUnit.Visible := True;
end;
2:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
cxgrdJQty.Visible := false;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', False, True);
// Edit2.Visible := True;
// Panel4.Visible := True;
// Edit1.Visible := True;
// Panel5.Visible := True;
// madan.Visible := True;
tbPrint.Visible := true;
Panel6.Visible := True;
if canshu1 = '<27><><EFBFBD><EFBFBD>' then
TBRKCX.Visible := true;
end;
end;
if cxTabControl1.TabIndex = 0 then
begin
ReadCxGrid(trim(self.Caption) + '1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end
else if cxTabControl1.TabIndex = 1 then
begin
ReadCxGrid(trim(self.Caption) + '2', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end
else
begin
ReadCxGrid(trim(self.Caption) + '3', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
if canshu1 = '<27>ͻ<EFBFBD><CDBB><EFBFBD>ѯ' then
begin
CustomerNoName.Text := fkhname;
ToolButton1.Visible := False;
end;
end;
procedure TfrmCKProductBCPInList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductBCPInList.FormCreate(Sender: TObject);
begin
EndDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp) + 1) + ' 06:00:00';
BegDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp)) + ' 06:00:00';
end;
procedure TfrmCKProductBCPInList.InitGrid();
var
fwhere, Pwhere: string;
begin
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
MovePanel2.Visible := True;
MovePanel2.Refresh;
Pwhere := SGetFilters(Panel1, 1, 2);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
case cxTabControl1.TabIndex of
0:
begin
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
sql.Add('select * from ( ');
sql.Add('select SUM(A.KGQty) KGQty,SUM(A.Qty) Qty,SUM(A.NetKGQty) NETKGQty,count(A.MJID) JQty,A.QtyUnit ');
sql.Add(',B.CustomerNoName,sum(a.Qty-a.kongjia)jinchang');
sql.Add('from CK_BanCP_CR A inner join JYOrder_Main B on A.MainId=B.MainId ');
sql.Add('inner join JYOrder_Sub C on A.SubId=C.SubId ');
sql.Add('inner join JYOrder_Car D on D.CarNo=A.APID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' and A.CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd HH:mm:ss', StrToDateTime(BegDate.text))));
sql.Add(' and A.CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd HH:mm:ss', StrToDateTime(endDate.text))));
sql.Add(' group by B.CustomerNoName,A.QtyUnit');
sql.Add(' ) AA ' + fwhere);
end;
1:
begin
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
sql.Add('select * from ( ');
sql.Add('select SUM(A.KGQty) KGQty,SUM(A.Qty) Qty,SUM(A.NetKGQty) NetKGQty,count(A.MJID) JQty,A.QtyUnit,A.ganghao ');
sql.Add(' ,B.CustomerNoName,B.ConNo,B.OrderNo,B.MPRTCode,B.MPRTCodeName, B.MPRTSpec,PRTColor=isnull(jycolor,PRTColor) ');
sql.Add(' ,A.MJMF,A.MJKZ,A.APID ,sum(a.Qty-a.kongjia)jinchang ');
sql.Add('from CK_BanCP_CR A inner join JYOrder_Main B on A.MainId=B.MainId ');
sql.Add('inner join JYOrder_Sub C on A.SubId=C.SubId ');
sql.Add('inner join JYOrder_Car D on D.CarNo=A.APID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' and A.CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd HH:mm:ss', StrToDateTime(BegDate.text))));
sql.Add(' and A.CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd HH:mm:ss', StrToDateTime(endDate.text))));
sql.Add(' group by B.CustomerNoName,A.QtyUnit,A.ganghao,B.ConNo,B.OrderNo,B.MPRTCode,B.MPRTCodeName,A.MJMF,A.MJKZ,A.APID,B.MPRTSpec,isnull(jycolor,PRTColor) ');
sql.Add(' ) AA ' + fwhere);
end;
2:
begin
if IsJYTime.Checked then
begin
fwhere := ' where CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd HH:mm:ss', StrToDateTime(BegDate.text)));
fwhere := fwhere + ' and CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd HH:mm:ss', StrToDateTime(endDate.text)));
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
end
else
begin
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
end;
sql.Add('exec P_Page_FinishClothRK ');
sql.Add('@pageIndex=' + inttostr(CurrentPage));
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
sql.Add(',@criteria= ' + quotedstr(fwhere));
end;
end;
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
if cxTabControl1.TabIndex = 2 then
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmCKProductBCPInList.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
SetStatus();
InitGrid();
end;
procedure TfrmCKProductBCPInList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPInList.TBCloseClick(Sender: TObject);
begin
if cxTabControl1.TabIndex = 0 then
begin
WriteCxGrid(trim(self.Caption) + '1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end
else if cxTabControl1.TabIndex = 1 then
begin
WriteCxGrid(trim(self.Caption) + '2', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end
else
begin
WriteCxGrid(trim(self.Caption) + '3', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
Close;
end;
procedure TfrmCKProductBCPInList.FormShow(Sender: TObject);
begin
CurrentPage := 1;
RecordsNumber := 500;
if canshu1 = '<27>ͻ<EFBFBD><CDBB><EFBFBD>ѯ' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM Company WHERE COTYPE=''<27>ͻ<EFBFBD>'' and valid=''Y'' and isnull(cohrname,coname)=' + QuotedStr(Trim(DName)));
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
CustomerNoName.Text := ADOQueryTemp.FIELDBYNAME('coNAME').AsString;
fkhname := ADOQueryTemp.FIELDBYNAME('coNAME').AsString;
CustomerNoName.Enabled := False;
end;
end;
SetStatus();
end;
procedure TfrmCKProductBCPInList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductBCPInList.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductBCPInList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductBCPInList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductBCPInList.TBRKCXClick(Sender: TObject);
var
strsql: string;
begin
if CDS_Main.IsEmpty then
Exit;
if cxTabControl1.TabIndex <> 2 then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
while Locate('SSel', True, []) do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_BanCP_CR where CRID=' + Trim(CDS_Main.fieldbyname('CRID').AsString));
sql.Add('and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
if ADOQueryTemp.RecordCount >= 1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
MovePanel2.Visible := False;
Application.MessageBox('<27>ѳ<EFBFBD><D1B3><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' Update CK_BanCP_CR Set CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',CRType='''',CRTime=NULL,RKOrdId='''',RKStage='''' ');
sql.Add(' where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' ');
sql.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' Update WFB_MJJY Set MJStr2='<><CEB4><EFBFBD><EFBFBD>'' where exists(select MJID from CK_BanCP_CR X where X.MJID=WFB_MJJY.MJID and X.CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and MJStr2<>'<><CEB4><EFBFBD><EFBFBD>'')');
ExecSQL;
end;
strsql := '<27><>ID<49><44>' + trim(CDS_Main.FieldByName('MJID').AsString) + ' <20><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('RKOrdID').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><E2B3B7>')));
sql.Add(',' + quotedstr(trim(strsql)));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
CDS_Main.Delete;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
MovePanel2.Visible := False;
except
ADOQueryCmd.Connection.RollbackTrans;
MovePanel2.Visible := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductBCPInList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductBCPInList.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmCKProductBCPInList.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmCKProductBCPInList.TCBNORChange(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR.Text);
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPInList.CPTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPInList.ToolButton1Click(Sender: TObject);
begin
frmSysLogHelp := TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
fModel := self.caption;
// facction:='<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ɾ<EFBFBD><C9BE>';
showmodal;
free;
end;
end;
procedure TfrmCKProductBCPInList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmCKProductBCPInList.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmCKProductBCPInList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
var
Tabint: integer;
begin
Tabint := cxTabControl1.TabIndex;
case Tabint of
0:
begin
AssignmentControls(Panel1, CDS_Main, '0');
cxTabControl1.TabIndex := 1;
end;
1:
begin
AssignmentControls(Panel1, CDS_Main, '1');
cxTabControl1.TabIndex := 2;
end;
end;
end;
procedure TfrmCKProductBCPInList.CustomerNoNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductBCPInList.tbPrintClick(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_Main.IsEmpty then
Exit;
ExportFtErpFile(madan.Text + '.rmf', ADOQueryTemp);
with CDS_Main do
begin
// if (madan.Text='<27>ֿ<EFBFBD><D6BF>뵥ʵ<EBB5A5><CAB5>') or (madan.Text='<27>ֿ<EFBFBD><D6BF>뵥(<28><><EFBFBD><EFBFBD><><CAB5>') or (madan.Text='<27>ֿ<EFBFBD><D6BF>뵥(<28><><EFBFBD><EFBFBD><><CAB5>') then
// begin
// if Edit1.text=''then Edit1.text:='0';
// if Edit2.text=''then Edit2.text:='0';
// with ADOQueryPrint do
// begin
// Close;
// SQL.Clear;
// sql.Add(' exec P_Print_RKMDGangNo ');
// SQL.Add(' @RKOrdID=''' + Trim(Trim(CDS_Main.fieldbyname('RKOrdID').AsString)) + '''');
// if FloatToStr(strtofloat(Edit1.text)-CDS_Main.fieldbyname('kongjia').Asfloat)<>'' then
// begin
// SQL.Add(' ,@kj=' + FloatToStr(strtofloat(Edit1.text)-CDS_Main.fieldbyname('kongjia').AsFloat) );
// end else
// begin
// SQL.Add(' ,@kj=0' );
// end;
// if FloatToStr(strtofloat(Edit2.text)-CDS_Main.fieldbyname('kongjiawei').Asfloat)<>''then
// begin
// SQL.Add(' ,@kjw=' + FloatToStr(strtofloat(Edit2.text)-CDS_Main.fieldbyname('kongjiawei').AsFloat) );
// end else
// begin
// SQL.Add(' ,@kjw=0' );
// end;
//// ShowMessage(SQL.Text);
// Open;
// end;
// end else
if (madan.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5><EFBFBD><EFBFBD>') or (madan.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5><EFBFBD><EFBFBD>') then
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' exec P_Print_RKMDWSQ2F_10 ');
SQL.Add(' @CKOrdNO=''' + Trim(Trim(CDS_Main.fieldbyname('APID').AsString)) + '''');
SQL.Add(' ,@kj=' + FloatToStr(StrToFloatDef(Edit1.text, 0)));
SQL.Add(' ,@kjw=' + FloatToStr(StrToFloatDef(Edit2.text, 0)));
// ShowMessage(SQL.text);
Open;
end;
end;
if (madan.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׺͹<D7BA><CDB9><EFBFBD>') then
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' exec P_Print_RKMDWSQ2F_5 ');
SQL.Add(' @CKOrdNO=''' + Trim(Trim(CDS_Main.fieldbyname('APID').AsString)) + '''');
SQL.Add(' ,@kj=' + FloatToStr(StrToFloatDef(Edit1.text, 0)));
SQL.Add(' ,@kjw=' + FloatToStr(StrToFloatDef(Edit2.text, 0)));
// ShowMessage(SQL.text);
Open;
end;
end;
if (madan.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5><EFBFBD><EFBFBD>(16<31><36>)') or (madan.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5><EFBFBD><EFBFBD>(16<31><36>)') then
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' exec P_Print_RKMD16 ');
SQL.Add(' @CKOrdNO=''' + Trim(Trim(CDS_Main.fieldbyname('APID').AsString)) + '''');
Open;
end;
end;
if (madan.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׺͹<D7BA><CDB9><EFBFBD>(16<31><36>)') then
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' exec P_Print_RKMD16_5 ');
SQL.Add(' @CKOrdNO=''' + Trim(Trim(CDS_Main.fieldbyname('APID').AsString)) + '''');
Open;
end;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(CDS_Main.fieldbyname('apid').AsString);
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\' + madan.Text + '.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RMVariables['DMR'] := Trim(DName);
RMVariables['JYGH'] := FieldByName('JYGH').AsString;
RMVariables['JYXH'] := FieldByName('JYXH').AsString;
RM2.LoadFromFile(fPrintFile);
// Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
// RM2.PrintReport;
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
Exit;
end;
end;
end;
end.