D7myChuangpin/创品码单管理(FMMD.dll)/U_CPCKOutList.pas
“ddf” ece69a5ac1 1
2024-07-23 20:18:14 +08:00

753 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_CPCKOutList;
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, cxButtonEdit, cxTextEdit, RM_BarCode, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator;
type
TfrmCPCKOutList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
Label12: TLabel;
Label7: TLabel;
SPName: TEdit;
FactoryName: TEdit;
SPCode: TEdit;
SPSpec: TEdit;
CRType: TComboBox;
QCorderNo: TEdit;
Label10: TLabel;
CKorderNo: TEdit;
Label11: TLabel;
FromFactoryName: TEdit;
Label13: TLabel;
ToFactoryName: TEdit;
Label9: TLabel;
Label14: TLabel;
RCGangNo: TEdit;
ConNo: TEdit;
ADOQueryPrint: TADOQuery;
Label17: TLabel;
PRTHX: TEdit;
RM1: TRMGridReport;
RMBarCodeObject1: TRMBarCodeObject;
v1ConNo: TcxGridDBColumn;
CDS_Print: TClientDataSet;
RM2: TRMGridReport;
v1BPType: TcxGridDBColumn;
v1filler: TcxGridDBColumn;
v1filltime: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
v1SPCode: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
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 TBFindClick(Sender: TObject);
procedure SPNameChange(Sender: TObject);
procedure SPCodeChange(Sender: TObject);
procedure SPCodeKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PRTColorChange(Sender: TObject);
procedure PRTColorNoChange(Sender: TObject);
procedure PRTHXChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TJBQClick(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
canshu1,canshu2,canShu3:string;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCPCKOutList: TfrmCPCKOutList;
implementation
uses
U_DataLink,U_RTFun,U_DJBCKOutPut, U_CPCKOutPut;
{$R *.dfm}
procedure TfrmCPCKOutList.FormDestroy(Sender: TObject);
begin
frmCPCKOutList:=nil;
end;
procedure TfrmCPCKOutList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCPCKOutList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
canShu3:=trim(DParameters3);
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime-30;
end;
procedure TfrmCPCKOutList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select isnull(B.PRTColorEng,B.PRTColor) PRTColorEng,B.PRTColor,B.PRTHX,A.*');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.add(' left join JYOrder_Main E on E.Mainid=B.Mainid');
sql.add(' where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''');
sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+'''');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')=''<27><>Ʒ'' ');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and A.Filler='''+Trim(DName)+'''');
end;
SQL.Add(' order by A.CRTime desc');
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCPCKOutList.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmCPCKOutList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
end;
end;
procedure TfrmCPCKOutList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>1233',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCPCKOutList.FormShow(Sender: TObject);
begin
if Trim(canshu2)='<27>鿴' then
begin
TBAdd.Visible:=False;
TBDel.Visible:=False;
TBEdit.Visible:=False;
end else
begin
TBAdd.Visible:=True;
TBDel.Visible:=True;
TBEdit.Visible:=True;
end;
ReadCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>1233',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
//InitGrid();
end;
procedure TfrmCPCKOutList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then exit;
TcxGridToExcel('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmCPCKOutList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmCPCKOutList.SPNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKOutList.SPCodeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKOutList.SPCodeKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
{if Length(Trim(SPID.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where SPID like :SXID');
Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end; }
end;
end;
procedure TfrmCPCKOutList.N1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not eof do
begin
if Trim(CDS_Main.fieldbyname('CRType').AsString)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
Edit;
FieldByName('SSel').Value:=True;
Post;
end;
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmCPCKOutList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main,False);
end;
procedure TfrmCPCKOutList.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if trim(CDS_Main.fieldbyname('filler').AsString)<>trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Main.fieldbyname('SPID').AsString)<>'' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where Mainid='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
if Trim(CDS_Main.fieldbyname('CRType').AsString)='ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
sql.Add('(select SPID from CK_SXPB_CR where PYID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete CK_SXPB_CR where SPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' Update CK_SXPB_CR Set MXKCKgQty=(select sum(isnull(KGQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.add(',MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(' where SPID='''+Trim(CDS_Main.fieldbyname('FZSPID').AsString)+'''');
if Trim(CDS_Main.fieldbyname('CRType').AsString)='ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
sql.Add(' delete CK_SXPB_CR where isnull(PYID,'''')='''+Trim(CDS_Main.fieldbyname('PYID').AsString)+'''');
end;
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
CDS_Main.Delete;
end;
procedure TfrmCPCKOutList.TBAddClick(Sender: TObject);
begin
try
frmCPCKOutPut:=TfrmCPCKOutPut.Create(Application);
with frmCPCKOutPut do
begin
FBCId:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmCPCKOutPut.Free;
end;
end;
procedure TfrmCPCKOutList.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
sql.Add('(select SPID from CK_SXPB_CR where PYID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where Mainid='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
frmCPCKOutPut:=TfrmCPCKOutPut.Create(Application);
with frmCPCKOutPut do
begin
FTYPE:=trim(canShu3);
FBCId:=Trim(CDS_Main.fieldbyname('SPID').AsString);
TBDel.Visible:=False;
TBAdd.Visible:=False;
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmCPCKOutPut.Free;
end;
end;
procedure TfrmCPCKOutList.ToolButton3Click(Sender: TObject);
var
fPrintFile:string;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
begin
if CDS_Main.IsEmpty then Exit;
if CDS_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with CDS_Main do
begin
first;
while not eof do
begin
if fieldbyname('Ssel').AsBoolean=true then
begin
if CDS_Main.FieldByName('ConLBName').AsString='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ǩδ<C7A9><CEB4><EFBFBD>ò<EFBFBD><C3B2>ܴ<EFBFBD>ӡ','<27><>ʾ');
exit;
end;
if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then Exit;
if CDS_Main.FieldByName('IFPrint').AsString='<27>Ѵ<EFBFBD>ӡ' then
begin
if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>ӡ<EFBFBD><D3A1>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>´<EFBFBD>ӡ','<27><>ʾ',1)=2 then
Exit;
end;
end;
next;
end;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf' ;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel',True,[]) do
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select A.* ,B.PRTColorNO,E.styleNo,B.PRTColor,B.PRTHX,C.OrderNo,C.MPRTCodeName,D.KHConNO');
sql.Add(',C.CustomerNoName,D.ConNo,E.PRTOrderQty');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.Add(' left join JYOrder_Main C on A.ORDMainIdCK=C.MainId');
sql.add(' left join JYOrderCon_Sub E on A.ConCKID=E.Subid');
sql.Add(' left join JYOrderCon_Main D on D.Mainid=E.MainId');
sql.Add(' where A.SPId='''+Trim(CDS_Main.fieldbyname('SPId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_PRT);
SInitCDSData20(ADOQueryPrint,CDS_PRT);
with ADOQueryPrint do
begin
close;
sql.Clear;
sql.add('update CK_SXPB_CR set IFPrint=''<27>Ѵ<EFBFBD>ӡ'' ');
sql.Add('where SPId='''+Trim(CDS_Main.fieldbyname('SPId').AsString)+'''');
execsql;
end;
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=Trim(CDS_PRT.fieldbyname('SPID').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
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
end else
begin
CDS_Main.EnableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf'),'<27><>ʾ',0);
Exit;
end;
Edit;
FieldByName('SSel').Value:=False;
Post;
end;
end;
CDS_Main.EnableControls;
initGrid();
end;
procedure TfrmCPCKOutList.Tv1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if CDS_Main.IsEmpty then Exit;
if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
Tv1.OptionsSelection.CellSelect:=False;
end else
begin
Tv1.OptionsSelection.CellSelect:=True;
end;
end;
procedure TfrmCPCKOutList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKOutList.PRTColorNoChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKOutList.PRTHXChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPCKOutList.ToolButton1Click(Sender: TObject);
var
fPrintFile:string;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
begin
if CDS_Main.IsEmpty then Exit;
//if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' 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 CDS_Main.FieldByName('ConLBName').AsString='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ǩδ<C7A9><CEB4><EFBFBD>ò<EFBFBD><C3B2>ܴ<EFBFBD>ӡ','<27><>ʾ');
exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf' ;
CDS_Main.DisableControls;
with CDS_Main do
begin
//First;
// while CDS_Main.Locate('SSel',True,[]) do
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select D.ConNo,D.KHConNO,E.styleNo,E.PRTOrderQty,A.* ,B.PRTColorNO,B.PRTColor,B.PRTHX,C.OrderNo,C.MPRTCodeName');
sql.Add(',C.CustomerNoName');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.Add(' left join JYOrder_Main C on A.ORDMainIdCK=C.MainId');
sql.add(' left join JYOrderCon_Sub E on A.ConCKID=E.Subid');
sql.Add(' inner join JYOrderCon_Main D on D.Mainid=E.MainId');
sql.Add(' where A.SPId='''+Trim(CDS_Main.fieldbyname('SPId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_PRT);
SInitCDSData20(ADOQueryPrint,CDS_PRT);
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=Trim(CDS_PRT.fieldbyname('SPID').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
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
// RM1.PrintReport;
end else
begin
CDS_Main.EnableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf'),'<27><>ʾ',0);
Exit;
end;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmCPCKOutList.TJBQClick(Sender: TObject);
var
fPrintFile,LBName:string;
i,j:Integer;
begin
if CDS_Main.IsEmpty then Exit;
LBName:=trim(CDS_Main.fieldbyname('ConLBName').AsString);
if LBName='' then
begin
application.MessageBox(<><C3BB><EFBFBD><EFBFBD><EFBFBD>þ<EFBFBD><C3BE><EFBFBD>ǩ','<27><>ʾ');
exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LBName)+'.rmf' ;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select B.PRTColorNo,B.PRTColor,B.PRTHX,B.PRTColorEng,E.LengUnit,E.MPRTMF,E.MPRTKZ,GangNo=A.RCgangNO,E.MPRTCode,E.MPRTSpec,E.OrderNo,E.MPRTCodeName,D.StyleNo,E.MaiTouNote,cast('''' as varchar(60)) MJID,A.*,C.*');
sql.add(' ,cast(0 as decimal(18,2)) MJLen,cast(0 as decimal(18,2)) MJQty4,cast('''' as varchar(60)) MJXH,cast(0 as decimal(18,2)) MJQty2');
sql.add(' ,substring(C.ConNo,LEN(C.ConNO)-3,LEN(C.ConNO)) HS,cast(0 as decimal(18,2)) MJMaoZ,D.XHNo');
SQL.ADD(' ,D.PRTCodeName,D.PRTCode,D.PRTMF,D.PRTKZ');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.add(' left join JYOrder_Main E on E.Mainid=B.Mainid');
sql.add(' left join JYOrderCon_Sub D on D.Subid=A.conCKID');
sql.add(' left join JYOrderCon_Main C on C.Mainid=D.Mainid');
sql.add(' where A.SPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_PRT);
SInitCDSData20(ADOQueryPrint,CDS_PRT);
if FileExists(fPrintFile) then
begin
RMVariables['ID']:=trim(CDS_PRT.fieldbyname('HS').AsString)+Trim(CDS_PRT.fieldbyname('XHNo').AsString);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LBName)+'.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmCPCKOutList.ToolButton4Click(Sender: TObject);
var
fPrintFile:string;
LBName:string;
i,j:Integer;
begin
if CDS_Main.IsEmpty then Exit;
if CDS_Main.fieldbyname('ConPerson2').AsString='' then
begin
if application.MessageBox(<><C3BB><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>˾ȷ<CBBE><C8B7>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
end;
LBName:=trim(CDS_Main.fieldbyname('ConNLBName').AsString);
if LBName='' then
begin
application.MessageBox(<><C3BB><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><C3B0><EFBFBD>ǩ','<27><>ʾ');
exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LBName)+'.rmf' ;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select B.PRTColorNo,B.PRTColor,B.PRTHX,B.PRTColorEng,E.LengUnit,GangNo=A.RCgangNO,E.MPRTMF,E.MPRTKZ,E.OrderNo,E.MPRTCode,E.MPRTSpec,E.MPRTCodeName,D.StyleNo,E.MaiTouNote,cast('''' as varchar(60)) MJID,A.*,C.*');
sql.add(' ,cast(0 as decimal(18,2)) MJLen,cast(0 as decimal(18,2)) MJQty4,cast('''' as varchar(70)) BaoNo,cast(0 as decimal(18,2)) MJQty2');
sql.add(' ,substring(C.ConNo,LEN(C.ConNO)-3,LEN(C.ConNO)) HS,cast(0 as decimal(18,2)) MJMaoZ,D.XHNo');
SQL.ADD(' ,D.PRTCodeName,D.PRTCode,D.PRTMF,D.PRTKZ');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.add(' left join JYOrder_Main E on E.Mainid=B.Mainid');
sql.add(' left join JYOrderCon_Sub D on D.Subid=A.conCKID');
sql.add(' left join JYOrderCon_Main C on C.Mainid=D.Mainid');
sql.add(' where A.SPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_PRT);
SInitCDSData20(ADOQueryPrint,CDS_PRT);
if FileExists(fPrintFile) then
begin
RMVariables['ID']:=trim(CDS_PRT.fieldbyname('HS').AsString)+Trim(CDS_PRT.fieldbyname('XHNo').AsString);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LBName)+'.rmf'),'<27><>ʾ',0);
end;
end;
end.