D7myChuangpin/应收应付1/U_YFZDList_MX.pas
“ddf” ece69a5ac1 1
2024-07-23 20:18:14 +08:00

318 lines
11 KiB
ObjectPascal
Raw Permalink 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_YFZDList_MX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit, cxPC;
type
TfrmYFZDList_MX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2ps: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2YFName: TcxGridDBColumn;
v2P_Spec: TcxGridDBColumn;
v2ComTaiTou: TcxGridDBColumn;
Label4: TLabel;
ComTaiTou: TEdit;
Label5: TLabel;
P_CodeName: TEdit;
Label7: TLabel;
FKTaitou: TEdit;
v2FKTaitou: TcxGridDBColumn;
Label8: TLabel;
KHType: TComboBox;
v2KHType: TcxGridDBColumn;
FactoryName: TComboBox;
v2ConNoHZ: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Label6: TLabel;
ConNoHZ: TEdit;
Label9: TLabel;
Label10: TLabel;
KPStatusH: TComboBox;
KPType: TEdit;
Label1: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
v2Ssel: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure v2SselPropertiesChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYFZDList_MX: TfrmYFZDList_MX;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmYFZDList_MX.InitGrid();
var FMoney:double;
begin
try
ADOQueryMain.DisableControls;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select Sum(Money*QtyFlag) yfkye ');
sql.add('from YF_Money_CR A ');
sql.add('where CRTime<'''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+'''');
sql.add(' and CRtype in ('<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'') ');
if FactoryName.Text<>'' then
sql.add(' and FactoryName like '''+'%'+trim(FactoryName.Text)+'%'+'''');
if ComTaiTou.Text<>'' then
sql.add(' and ComTaiTou like '''+'%'+trim(ComTaiTou.Text)+'%'+'''');
if P_CodeName.Text<>'' then
sql.add(' and P_CodeName like '''+'%'+trim(P_CodeName.Text)+'%'+'''');
if FKTaitou.Text<>'' then
sql.add(' and FKTaitou like '''+'%'+trim(FKTaitou.Text)+'%'+'''');
if ConNoHZ.Text<>'' then
sql.add(' and [dbo].[F_Get_Order_SubStr]((select B.Mainid from JYOrder_Main B where B.OrderNo=A.OrderNo),''ConNoHZ'') like '''+'%'+trim(ConNoHZ.Text)+'%'+'''');
if KPType.Text<>'' then
sql.add(' and KPType like '''+'%'+trim(KPType.Text)+'%'+'''');
if KPStatusH.Text<>'' then
sql.add(' and (case when isnull(KPstatus,'''')='''' then '<><CEB4>Ʊ'' else ''<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>'' end) like '''+'%'+trim(KPStatusH.Text)+'%'+'''');
if KHType.Text<>'' then
begin
SQL.Add(' and (select Top 1 C.DEFstr5 from KH_Zdy_Attachment C where C.Type=''GYS'' and C.ZdyName=A.FactoryName) like '''+'%'+trim(KHType.Text)+'%'+'''');
end;
if cxTabControl1.TabIndex=0 then
sql.Add(' and isnull(status,''0'')<>''0'' ');
if cxTabControl1.TabIndex=1 then
sql.Add(' and isnull(status,''0'')=''2'' ');
open;
end;
FMoney:=ADOQueryTemp.fieldbyname('yfkye').asfloat;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select AA.* ');
sql.add(' ,KHType=(select Top 1 C.DEFstr5 from KH_Zdy_Attachment C where C.Type=''GYS'' and C.ZdyName=AA.FactoryName)');
sql.add(' from (select A.*,cast(Money as decimal(18,2)) yfk,cast(0 as decimal(18,2)) fk,cast(0 as decimal(18,2)) yfkye');
sql.Add(',ConNoHZ=[dbo].[F_Get_Order_SubStr]((select B.Mainid from JYOrder_Main B where B.OrderNo=A.OrderNo),''ConNoHZ'')');
SQL.ADD(' ,KPStatusH=(case when isnull(KPstatus,'''')='''' then '<><CEB4>Ʊ'' else ''<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>'' end)');
sql.Add(' from YF_Money_CR A');
sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
sql.Add(' and A.CRType='<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
if cxTabControl1.TabIndex=0 then
sql.Add(' and isnull(A.status,''0'')<>''0'' ');
if cxTabControl1.TabIndex=1 then
sql.Add(' and isnull(A.status,''0'')=''2'' ');
sql.add(' union all');
sql.Add(' select A.*,cast(0 as decimal(18,2)) yfk,cast(Money as decimal(18,2)) fk,cast(0 as decimal(18,2)) yfkye');
sql.Add(' ,ConNoHZ=cast('''' as varchar(50))');
SQL.ADD(' ,KPStatusH=cast('''' as varchar(50))');
sql.Add(' from YF_Money_CR A');
sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
sql.Add(' and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
if cxTabControl1.TabIndex=0 then
sql.Add(' and isnull(status,''0'')<>''0'' ');
if cxTabControl1.TabIndex=1 then
sql.Add(' and isnull(status,''0'')=''2'' ');
sql.Add(' ) AA');
sql.add(' where 1=1');
if FactoryName.Text<>'' then
sql.add(' and AA.FactoryName like '''+'%'+trim(FactoryName.Text)+'%'+'''');
if ComTaiTou.Text<>'' then
sql.add(' and AA.ComTaiTou like '''+'%'+trim(ComTaiTou.Text)+'%'+'''');
if P_CodeName.Text<>'' then
sql.add(' and AA.P_CodeName like '''+'%'+trim(P_CodeName.Text)+'%'+'''');
if FKTaitou.Text<>'' then
sql.add(' and AA.FKTaitou like '''+'%'+trim(FKTaitou.Text)+'%'+'''');
if ConNoHZ.Text<>'' then
sql.add(' and AA.ConNoHZ like '''+'%'+trim(ConNoHZ.Text)+'%'+'''');
if KPType.Text<>'' then
sql.add(' and AA.KPType like '''+'%'+trim(KPType.Text)+'%'+'''');
if KPStatusH.Text<>'' then
sql.add(' and AA.KPStatusH like '''+'%'+trim(KPStatusH.Text)+'%'+'''');
if KHType.Text<>'' then
begin
SQL.Add(' and (select Top 1 C.DEFstr5 from KH_Zdy_Attachment C where C.Type=''GYS'' and C.ZdyName=AA.FactoryName) like '''+'%'+trim(KHType.Text)+'%'+'''');
end;
sql.Add('order by AA.CRTime');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
with CDS_HZ do
begin
append;
fieldbyname('CRTime').Value:=begdate.DateTime;
fieldbyname('yfkye').Value:=FMoney;
post;
end;
CDS_HZ.DisableControls;
with ADOQueryMain do
begin
first;
while not eof do
begin
with CDS_HZ do
begin
append;
fieldbyname('CRTime').Value:=ADOQueryMain.fieldbyname('CRTime').AsDateTime;
fieldbyname('factoryName').Value:=ADOQueryMain.fieldbyname('factoryName').AsString;
fieldbyname('FKTaitou').Value:=ADOQueryMain.fieldbyname('FKTaitou').AsString;
fieldbyname('P_CodeName').Value:=ADOQueryMain.fieldbyname('P_CodeName').AsString;
fieldbyname('KPStatusH').Value:=ADOQueryMain.fieldbyname('KPStatusH').AsString;
fieldbyname('P_Color').Value:=ADOQueryMain.fieldbyname('P_Color').AsString;
fieldbyname('P_Spec').Value:=ADOQueryMain.fieldbyname('P_Spec').AsString;
fieldbyname('YFName').Value:=ADOQueryMain.fieldbyname('YFName').AsString;
fieldbyname('KHType').Value:=ADOQueryMain.fieldbyname('KHType').AsString;
FieldByName('ConNoHZ').Value:=ADOQueryMain.fieldbyname('ConNoHZ').AsString;
FieldByName('KPType').Value:=ADOQueryMain.fieldbyname('KPType').AsString;
FieldByName('KPStatus').Value:=ADOQueryMain.fieldbyname('KPStatus').AsString;
fieldbyname('ps').Value:=ADOQueryMain.fieldbyname('ps').AsFloat;
fieldbyname('Qty').Value:=ADOQueryMain.fieldbyname('Qty').AsFloat;
fieldbyname('Price').Value:=ADOQueryMain.fieldbyname('Price').AsFloat;
fieldbyname('yfk').Value:=ADOQueryMain.fieldbyname('yfk').AsFloat;
fieldbyname('fk').Value:=ADOQueryMain.fieldbyname('fk').AsFloat;
FMoney:=FMoney+ADOQueryMain.fieldbyname('Money').AsFloat*ADOQueryMain.fieldbyname('QtyFlag').AsFloat;
fieldbyname('yfkye').Value:=FMoney;
fieldbyname('note').Value:=ADOQueryMain.fieldbyname('note').AsString;
fieldbyname('ComTaiTou').Value:=ADOQueryMain.fieldbyname('ComTaiTou').AsString;
post;
end;
next;
end;
end;
CDS_HZ.EnableControls;
Label12.Caption:='0';
Label13.Caption:='0';
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYFZDList_MX.FormDestroy(Sender: TObject);
begin
frmYFZDList_MX:=nil;
end;
procedure TfrmYFZDList_MX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYFZDList_MX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption,Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
Close;
end;
procedure TfrmYFZDList_MX.FormShow(Sender: TObject);
var fsj:string;
begin
ReadCxGrid(self.Caption,Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
begdate.DateTime:=Enddate.DateTime-7;
fsj:='select distinct (A.FactoryName) name from YF_Money_CR A where A.CRType='<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ';
SInitComBoxBySql(ADOQueryCmd,FactoryName,False,fsj);
//InitGrid();
end;
procedure TfrmYFZDList_MX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYFZDList_MX.ToolButton2Click(Sender: TObject);
begin
initgrid();
end;
procedure TfrmYFZDList_MX.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYFZDList_MX.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid2);
// SelExportData(Tv2,ADOQueryMain,'Ӧ<><D3A6><EFBFBD><EFBFBD><EEB8B6>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
end;
procedure TfrmYFZDList_MX.FormCreate(Sender: TObject);
begin
cxGrid2.Align:=AlClient;
end;
procedure TfrmYFZDList_MX.cxTabControl1Change(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmYFZDList_MX.v2SselPropertiesChange(Sender: TObject);
begin
toolbar1.SetFocus;
HJ(CDS_HZ,Label12,CDS_HZ.fieldbyname('Qty').AsCurrency);
HJ(CDS_HZ,Label13,CDS_HZ.fieldbyname('yfk').AsCurrency);
end;
end.