184 lines
5.9 KiB
ObjectPascal
184 lines
5.9 KiB
ObjectPascal
unit U_Printckmd;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
|
||
cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer,
|
||
cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB,
|
||
ExtCtrls, BtnEdit, cxCalendar,StrUtils, RM_Common, RM_Class, RM_e_Xls,
|
||
RM_GridReport, RM_System, RM_Dataset;
|
||
|
||
type
|
||
TfrmPrintckmd = class(TForm)
|
||
Button1: TButton;
|
||
Button2: TButton;
|
||
RadioGroup1: TRadioGroup;
|
||
RMDBMain: TRMDBDataSet;
|
||
RM1: TRMGridReport;
|
||
RMXLSExport1: TRMXLSExport;
|
||
ADOQueryTemp: TADOQuery;
|
||
CDS_Main: TClientDataSet;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure Button1Click(Sender: TObject);
|
||
procedure Button2Click(Sender: TObject);
|
||
private
|
||
procedure doPrint(Print1:integer);
|
||
|
||
Procedure createcds(fADO:TADOQuery;fCDS:TclientDataSet);
|
||
{ Private declarations }
|
||
public
|
||
fckNo:string;
|
||
flag:integer;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmPrintckmd: TfrmPrintckmd;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_Fun;
|
||
{$R *.dfm}
|
||
|
||
Procedure TfrmPrintckmd.createcds(fADO:TADOQuery;fCDS:TclientDataSet);
|
||
var
|
||
i,j:integer;
|
||
fcolor:string;
|
||
begin
|
||
fCDS.EmptyDataSet;
|
||
|
||
|
||
fADO.First;
|
||
i:=1;
|
||
j:=0;
|
||
fcolor:=trim(fADO.fieldbyname('SOrddefstr4').AsString);
|
||
fCDS.Append;
|
||
fCDS.fieldbyname('MJXHlist').Value:=trim(fADO.fieldbyname('MJXH').AsString);
|
||
fCDS.fieldbyname('QtyList').Value:=trim(fADO.fieldbyname('Qty').AsString);
|
||
fCDS.fieldbyname('SOrddefstr4').Value:=trim(fADO.fieldbyname('SOrddefstr4').AsString);
|
||
|
||
fCDS.fieldbyname('kgQty').Value:=fADO.fieldbyname('kgQty').AsFloat;
|
||
fCDS.fieldbyname('Qty').Value:=fADO.fieldbyname('Qty').AsFloat;
|
||
fCDS.Post;
|
||
fADO.Next;
|
||
while not fADO.Eof do
|
||
begin
|
||
if (trim(fADO.fieldbyname('SOrddefstr4').AsString)= fcolor ) and (i<10) then
|
||
begin
|
||
fCDS.Edit;
|
||
fCDS.fieldbyname('kgQty').Value:= fCDS.fieldbyname('kgQty').AsFloat+fADO.fieldbyname('kgQty').AsFloat;
|
||
fCDS.fieldbyname('Qty').Value:= fCDS.fieldbyname('Qty').AsFloat+fADO.fieldbyname('Qty').AsFloat;
|
||
if pos('-',trim(fCDS.fieldbyname('MJXHlist').AsString))>0 then
|
||
fCDS.fieldbyname('MJXHlist').Value:=trim(LeftBStr(trim(fCDS.fieldbyname('MJXHlist').AsString),pos('-',trim(fCDS.fieldbyname('MJXHlist').AsString))-1))+
|
||
'-'+trim(fADO.fieldbyname('MJXH').AsString)
|
||
else
|
||
fCDS.fieldbyname('MJXHlist').Value:=trim(fCDS.fieldbyname('MJXHlist').AsString)+'-'+trim(fADO.fieldbyname('MJXH').AsString);
|
||
// if pos('-',trim(fCDS.fieldbyname('QtyList').AsString))>0 then
|
||
fCDS.fieldbyname('Qtylist').Value:=trim(fCDS.fieldbyname('Qtylist').AsString)+'-'+trim(fADO.fieldbyname('Qty').AsString);
|
||
|
||
i:=i+1;
|
||
fCDS.Post;
|
||
end
|
||
else
|
||
begin
|
||
fCDS.Append;
|
||
fCDS.fieldbyname('MJXHlist').Value:=trim(fADO.fieldbyname('MJXH').AsString);
|
||
fCDS.fieldbyname('QtyList').Value:=trim(fADO.fieldbyname('Qty').AsString);
|
||
fCDS.fieldbyname('SOrddefstr4').Value:=trim(fADO.fieldbyname('SOrddefstr4').AsString);
|
||
|
||
fCDS.fieldbyname('kgQty').Value:=fADO.fieldbyname('kgQty').AsFloat;
|
||
fCDS.fieldbyname('Qty').Value:=fADO.fieldbyname('Qty').AsFloat;
|
||
fCDS.Post;
|
||
fcolor:=trim(fADO.fieldbyname('SOrddefstr4').AsString);
|
||
i:=1;
|
||
end;
|
||
fADO.Next;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPrintckmd.doPrint(Print1:integer);
|
||
var
|
||
fPrintFile:String;
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select AA.*,REPLICATE('' '', 20)as MJXHList,REPLICATE('' '', 200)as QtyList from (select A.*,');
|
||
sql.Add('GangNo=(select AOrdDefStr1 from JYOrder_Sub_AnPai B where B.APID=A.APID),');
|
||
sql.Add('OrderNo=(select OrderNo from JYOrder_Main B where B.MainID=A.MainID),');
|
||
sql.Add('SOrddefstr4=(select SOrddefstr4 from JYOrder_Sub B where B.SubID=A.SubID),');
|
||
sql.Add('PRTHX=(select PRTHX from JYOrder_Sub B where B.SubID=A.subID),');
|
||
SQL.Add('TaiTou=(select Top 1 Note from KH_Zdy B where B.ZdyName=DD.OrdDefStr2 and Type=''OrdDefStr2'' ),');
|
||
SQL.Add('MpRTCodeNameEng=(select Top 1 Note from KH_Zdy B where B.ZdyName=DD.MpRTCodeName ),');
|
||
sql.Add('MJXH=(select MJXH from WFB_MJJY B where B.MJID=A.MJID)');
|
||
sql.Add(' from CK_BanCP_CR A');
|
||
sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId');
|
||
if flag=1 then
|
||
begin
|
||
sql.Add(' where A.MainId='''+Trim(fckNo)+'''');
|
||
sql.Add(' and CRflag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(' where A.ckordNo='''+Trim(fckNo)+'''');
|
||
sql.Add(' and CRflag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
end;
|
||
{ if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then
|
||
begin
|
||
sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+'''');
|
||
end; }
|
||
// sql.Add(' and CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' )AA order by SOrddefstr4,GangNo,MJXH ');
|
||
Open;
|
||
end;
|
||
|
||
SCreateCDS20(ADOQueryTemp,CDS_Main);
|
||
SInitCDSData20(ADOQueryTemp,CDS_Main);
|
||
|
||
if Print1=1 then
|
||
begin
|
||
createcds(ADOQueryTemp,CDS_Main);
|
||
end;
|
||
|
||
if Print1=0 then
|
||
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>뵥.rmf'
|
||
else
|
||
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>뵥2.rmf';
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RM1.ShowReport;
|
||
end else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>뵥.rmf'),'<27><>ʾ',0);
|
||
end;
|
||
end;
|
||
procedure TfrmPrintckmd.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
Action:=cahide;
|
||
end;
|
||
|
||
procedure TfrmPrintckmd.FormDestroy(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmPrintckmd.Button1Click(Sender: TObject);
|
||
begin
|
||
doPrint(RadioGroup1.ItemIndex);
|
||
end;
|
||
|
||
procedure TfrmPrintckmd.Button2Click(Sender: TObject);
|
||
begin
|
||
ModalResult:=-1;
|
||
end;
|
||
|
||
end.
|