D7wmguihua/桂华管理系统/U_Printckmd.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

184 lines
5.9 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_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.