252 lines
11 KiB
ObjectPascal
252 lines
11 KiB
ObjectPascal
unit U_JYOrderYS;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, ToolWin, ExtCtrls, StdCtrls, cxStyles, cxCustomData,
|
||
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
|
||
cxCalendar, cxButtonEdit, cxTextEdit, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
|
||
cxGridCustomView, cxGrid, cxGridBandedTableView, cxGridDBBandedTableView,
|
||
DBClient, ADODB, cxCurrencyEdit;
|
||
|
||
type
|
||
TFrmJYOrderYS = class(TForm)
|
||
Panel1: TPanel;
|
||
Label2: TLabel;
|
||
KHName: TEdit;
|
||
Label3: TLabel;
|
||
OrderNo: TEdit;
|
||
Panel2: TPanel;
|
||
cxGrid1: TcxGrid;
|
||
cxGridLevel1: TcxGridLevel;
|
||
TV1: TcxGridDBBandedTableView;
|
||
ToolBar1: TToolBar;
|
||
TBClose: TToolButton;
|
||
V1CRTime: TcxGridDBBandedColumn;
|
||
V1P_CodeName: TcxGridDBBandedColumn;
|
||
V1TTPS: TcxGridDBBandedColumn;
|
||
V1TTQty: TcxGridDBBandedColumn;
|
||
V1Price: TcxGridDBBandedColumn;
|
||
V1PBMoney: TcxGridDBBandedColumn;
|
||
Panel3: TPanel;
|
||
Panel4: TPanel;
|
||
V1KCPBQty: TcxGridDBBandedColumn;
|
||
V1KCPBPS: TcxGridDBBandedColumn;
|
||
DataSource1: TDataSource;
|
||
DataSource2: TDataSource;
|
||
DataSource4: TDataSource;
|
||
DataSource5: TDataSource;
|
||
Order_PB: TClientDataSet;
|
||
Order_RF: TClientDataSet;
|
||
Order_XS: TClientDataSet;
|
||
Order_FYZC: TClientDataSet;
|
||
ADOQuery1: TADOQuery;
|
||
ADOQuery2: TADOQuery;
|
||
ADOQuery4: TADOQuery;
|
||
cxGrid2: TcxGrid;
|
||
TV2: TcxGridDBBandedTableView;
|
||
cxGridDBBandedColumn1: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn2: TcxGridDBBandedColumn;
|
||
V2Column1: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn3: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn4: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn5: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn6: TcxGridDBBandedColumn;
|
||
V2FactoryName: TcxGridDBBandedColumn;
|
||
cxGridLevel2: TcxGridLevel;
|
||
Panel5: TPanel;
|
||
cxGrid5: TcxGrid;
|
||
TV5: TcxGridDBBandedTableView;
|
||
V5CRTime: TcxGridDBBandedColumn;
|
||
V5YFName: TcxGridDBBandedColumn;
|
||
V5RMBMoney: TcxGridDBBandedColumn;
|
||
cxGridLevel5: TcxGridLevel;
|
||
Label1: TLabel;
|
||
ConNo: TEdit;
|
||
cxGrid4: TcxGrid;
|
||
TV4: TcxGridDBBandedTableView;
|
||
cxGridDBBandedColumn15: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn16: TcxGridDBBandedColumn;
|
||
V4PRTColor: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn17: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn18: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn19: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn20: TcxGridDBBandedColumn;
|
||
V4Column9: TcxGridDBBandedColumn;
|
||
V4Column11: TcxGridDBBandedColumn;
|
||
cxGridLevel4: TcxGridLevel;
|
||
cxGrid3: TcxGrid;
|
||
TV3: TcxGridDBBandedTableView;
|
||
cxGridDBBandedColumn8: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn9: TcxGridDBBandedColumn;
|
||
cxGridDBBandedColumn10: TcxGridDBBandedColumn;
|
||
cxGridLevel3: TcxGridLevel;
|
||
DataSource3: TDataSource;
|
||
ADOQuery3: TADOQuery;
|
||
Order_SK: TClientDataSet;
|
||
V5BZType: TcxGridDBBandedColumn;
|
||
V3BZType: TcxGridDBBandedColumn;
|
||
V3Huilv: TcxGridDBBandedColumn;
|
||
Label4: TLabel;
|
||
MaoLMoney: TEdit;
|
||
Label5: TLabel;
|
||
YGMoney: TEdit;
|
||
V1FactoryName: TcxGridDBBandedColumn;
|
||
V5Note: TcxGridDBBandedColumn;
|
||
V4Huilv: TcxGridDBBandedColumn;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
private
|
||
procedure initgrid();
|
||
{ Private declarations }
|
||
public
|
||
FMainid,FConnO,FYWY,FKHName,FMaoLMoney,FYGMoney: string; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
FrmJYOrderYS: TFrmJYOrderYS;
|
||
|
||
implementation
|
||
Uses
|
||
U_DataLink,U_ZDYHelp,U_Fun;
|
||
{$R *.dfm}
|
||
|
||
procedure TFrmJYOrderYS.initgrid();
|
||
var FSKMoney,FPBMoney,FJGMoney,FZCMoney:double;
|
||
begin
|
||
with Adoquery1 do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add('select A.CRTime,AA.FactoryName,AA.SPName P_CodeName,Sum(A.PiQty) TTPS,Sum(A.Qty) TTQty,Max(AA.Price) Price,Sum(isnull(A.Qty,SJRKQty)*AA.Price) PBMoney ');
|
||
sql.Add('from (select isnull(C.OrdMainidRK,Q.Mainid) OrdMainid,C.TOFactoryName,C.SPName,C.FactoryName,X.Price,Sum(X.Qty) SJRKQty,Sum(C.Qty) RKQty,SUM(X.Money) PBMoney from YF_Money_CR X ');
|
||
sql.Add(' left join JYOrder_Main Q on Q.OrderNO=X.OrderNo ');
|
||
sql.Add(' left join CK_SXPB_CR C on X.YFTypeId=C.SPID and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' where X.CRType=''Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and X.FYType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and isnull(X.status,'''')<>''0''');
|
||
sql.Add(' Group by isnull(C.OrdMainidRK,Q.Mainid),C.TOFactoryName,C.SPName,C.FactoryName,X.Price) AA ');
|
||
sql.Add(' left join CK_SXPB_CR A on A.OrdMainidRK=AA.OrdMainid and A.FromFactoryName=AA.TOFactoryName and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.FactoryName=AA.FactoryName and A.CKName=''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' where isnull(A.OrdMainidCK,AA.OrdMainid)='''+trim(FConNo)+'''');
|
||
sql.Add(' group by A.CRTime,AA.FactoryName,AA.SPName');
|
||
open;
|
||
end;
|
||
SCreateCDS20(Adoquery1,Order_PB);
|
||
SInitCDSData20(Adoquery1,Order_PB);
|
||
with Adoquery1 do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add('select A.CRTime,AA.FactoryName,AA.SPName P_CodeName,AA.PRTColor,Sum(A.PiQty) JGPS,Sum(A.Qty) JGQty,Max(AA.Price) Price,Sum(isnull(A.Qty,SJRKQty)*AA.Price) JGMoney ');
|
||
sql.Add('from (select isnull(C.OrdMainidRK,Q.Mainid) OrdMainid,C.TOFactoryName,C.SPName,C.FactoryName,U.Subid,U.PRTColor,X.Price,C.FromGX,Sum(X.Qty) SJRKQty,Sum(C.Qty) RKQty,SUM(X.Money) PBMoney from YF_Money_CR X ');
|
||
sql.Add(' left join JYOrder_Main Q on Q.OrderNO=X.OrderNo ');
|
||
sql.Add(' left join CK_SXPB_CR C on X.YFTypeId=C.SPID and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' left join JYOrder_Sub U on U.Subid=isnull(C.OrdSubidRK,X.ZSDSubid)');
|
||
sql.Add(' where X.CRType=''Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and X.FYType=''<27>ӹ<EFBFBD><D3B9><EFBFBD>'' and isnull(X.status,'''')<>''0''');
|
||
sql.Add(' Group by isnull(C.OrdMainidRK,Q.Mainid),C.TOFactoryName,C.SPName,C.FactoryName,U.Subid,U.PRTColor,X.Price,C.FromGX) AA ');
|
||
sql.Add(' left join CK_SXPB_CR A on A.OrdMainidRK=AA.OrdMainid and A.OrdSubidRK=AA.Subid and A.FromFactoryName=AA.TOFactoryName and A.FromGX=AA.FromGX and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.FactoryName=AA.FactoryName and A.CKName=''<27><><EFBFBD>ӹ<EFBFBD>'' ');
|
||
sql.Add(' where isnull(A.OrdMainidCK,AA.OrdMainid)='''+trim(FConNo)+'''');
|
||
sql.Add(' group by A.CRTime,AA.FactoryName,AA.SPName,AA.PRTColor');
|
||
open;
|
||
end;
|
||
SCreateCDS20(Adoquery1,Order_RF);
|
||
SInitCDSData20(Adoquery1,Order_RF);
|
||
with AdoQuery1 do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add('select A.ConNo,A.CRTime,A.P_CodeName,isnull(E.PRTColor,E.SOrdDefStr4) PRTColor,A.BZType,A.Price');
|
||
sql.add(',Sum(A.PS),Sum(A.Qty)');
|
||
sql.add(',Huilv=isnull((select top 1 T.HuiLV from JYOrder_HuiLV T where A.CRTime>=T.BegDate and A.CRTime<isnull(T.EndDate,A.CRTime+1) and A.BZType<>''<27><>'' and A.BZType<>''RMB'' and T.GSType=A.GSType),1)');
|
||
sql.add(',RMBMoney=cast(Sum(A.Money)*isnull((select TOP 1 C.HuiLV From JYOrder_HuiLV C where A.CRTime>=C.BegDate and A.CRTime<isnull(C.EndDate,A.CRTime+1) and A.BZType<>''<27><>'' and A.BZType<>''RMB'' and C.GSType=A.GSType),1) as decimal(18,2))');
|
||
sql.Add(',Sum(case when (A.BZType<>''<27><>'') and (A.BZType<>''RMB'') then A.Money else 0 end) USDMoney');
|
||
sql.add(' from YF_Money_CR A ');
|
||
sql.Add(' left join JYOrder_Main P on P.OrderNo=A.OrderNo');
|
||
sql.Add(' left join CK_SXPB_CR C on A.YFTypeId=C.SPID and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' left join JYOrder_Main B on B.Mainid=C.OrdMainidCK');
|
||
sql.Add(' left join JYOrder_Sub E on E.Subid=isnull(C.OrdSubidCK,A.Subid)');
|
||
sql.add(' where isnull(B.Mainid,P.Mainid)='''+trim(FConNo)+''' and A.CRType=''Ӧ<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ');
|
||
sql.add(' and A.CRFlag=''Ӧ<><D3A6><EFBFBD><EFBFBD>'' and A.Status<>''0''');
|
||
sql.add(' group by A.ConNo,A.CRTime,A.P_CodeName,E.PRTColor,E.SOrdDefStr4,A.BZType,A.Price,A.GSType'); //<2F><><EFBFBD>۲<EFBFBD>
|
||
open;
|
||
end;
|
||
SCreateCDS20(Adoquery1,Order_XS);
|
||
SInitCDSData20(Adoquery1,Order_XS);
|
||
with AdoQuery1 do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add('select B.ConNo,A.CRTime,A.BZType');
|
||
sql.add(',Huilv=isnull((select top 1 C.HuiLV from JYOrder_HuiLV C where A.CRTime>=C.BegDate and A.CRTime<isnull(C.EndDate,A.CRTime+1) and A.BZType<>''<27><>'' and A.BZType<>''RMB'' and C.GSType=A.GSType),1)');
|
||
sql.add(',RMBMoney=cast((sum(E.Num)*isnull((select TOP 1 C.HuiLV From JYOrder_HuiLV C where A.CRTime>=C.BegDate and A.CRTime<isnull(C.EndDate,A.CRTime+1) and A.BZType<>''<27><>'' and A.BZType<>''RMB'' and C.GSType=A.GSType),1)) as decimal(18,2))');
|
||
sql.add(',USDMoney=(case when (A.BZType<>''<27><>'') and (A.BZType<>''RMB'') then sum(E.Num) else 0 end)');
|
||
sql.add('from YF_Money_CR A ');
|
||
sql.add('inner join YF_log E on E.ListNo=A.YFID ');
|
||
sql.Add('inner join YF_Money_CR B on B.YFID=E.ToNo and B.CRType=''Ӧ<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ');
|
||
sql.Add('inner join JYOrder_Main C on C.OrderNO=B.OrderNO ');
|
||
sql.add('where C.Mainid='''+trim(FConNo)+''' and A.CRType=''<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ');
|
||
sql.Add(' and A.status<>''0''');
|
||
sql.add('group by B.ConNo,A.CRTime,A.BZType,A.GSType');
|
||
open;
|
||
end;
|
||
SCreateCDS20(Adoquery1,Order_SK);
|
||
SInitCDSData20(Adoquery1,Order_SK);
|
||
with AdoQuery1 do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add('select A.CRTime,A.YFName,A.BZType,A.Note ');
|
||
sql.add(',RMBMoney=(Sum(A.Money)*isnull((select top 1 C.HuiLV from JYOrder_HuiLV C where A.CRTime>=C.BegDate and A.CRTime<isnull(C.EndDate,A.CRTime+1)');
|
||
sql.Add(' and A.BZType<>''<27><>'' and A.BZType<>''RMB'' and C.GSType=A.GSType),1))');
|
||
sql.add(' from YF_Money_CR A ');
|
||
sql.add(' left join JYOrder_Main D on D.OrderNo=A.OrderNo');
|
||
sql.add(' where D.Mainid='''+trim(FConNo)+''' and A.CRType in (''Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD>'') and isnull(A.FYType,'''')<>''<27>ӹ<EFBFBD><D3B9><EFBFBD>'' and isnull(A.FYType,'''')<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
|
||
sql.Add(' and A.status<>''0''');
|
||
sql.add(' group by A.CRTime,A.YFName,A.BZType,A.GSType,A.Note');
|
||
open;
|
||
end;
|
||
SCreateCDS20(Adoquery1,Order_FYZC);
|
||
SInitCDSData20(Adoquery1,Order_FYZC);
|
||
end;
|
||
|
||
procedure TFrmJYOrderYS.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
Action:=caFree;
|
||
end;
|
||
|
||
procedure TFrmJYOrderYS.FormDestroy(Sender: TObject);
|
||
begin
|
||
FrmJYOrderYS:=nil;
|
||
end;
|
||
|
||
procedure TFrmJYOrderYS.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxBandedGrid('<27><><EFBFBD><EFBFBD>1',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
ReadCxBandedGrid('Ⱦ<><C8BE>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
ReadCxBandedGrid('<27>տ<EFBFBD>1',Tv3,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
ReadCxBandedGrid('<27><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>1',Tv5,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
ReadCxBandedGrid('<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>1',Tv4,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
ConNo.Text:=trim(FConnO);
|
||
OrderNo.Text:=trim(FYWY);
|
||
KHName.Text:=trim(FKHName);
|
||
MaoLMoney.Text:=trim(FMaoLMoney);
|
||
YGMoney.Text:=trim(FYGMoney);
|
||
initgrid();
|
||
end;
|
||
|
||
procedure TFrmJYOrderYS.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxBandedGrid('<27><><EFBFBD><EFBFBD>1',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
WriteCxBandedGrid('Ⱦ<><C8BE>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
WriteCxBandedGrid('<27>տ<EFBFBD>1',Tv3,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
WriteCxBandedGrid('<27><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>1',Tv5,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
WriteCxBandedGrid('<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>1',Tv4,'<27><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ϸ');
|
||
Close;
|
||
end;
|
||
|
||
end.
|