D7myChengxie/贸易管理/U_ContractListXF_YGML.pas

548 lines
17 KiB
ObjectPascal
Raw Permalink Normal View History

2025-08-25 10:39:41 +08:00
unit U_ContractListXF_YGML;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter,
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls,
Menus, cxPC, cxButtonEdit, cxTextEdit, cxCurrencyEdit, RM_e_Graphic,
RM_e_Jpeg;
type
TfrmContractListXF_YGML = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
v1ConNo: TcxGridDBColumn;
v1FLMoney: TcxGridDBColumn;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDB_Ord: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1CustomerNoName: TcxGridDBColumn;
v1BGYSFee: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
v1MLJGMoney: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
PopupMenu2: TPopupMenu;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
Panel1: TPanel;
Label1: TLabel;
Label8: TLabel;
Label9: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
MPRTCodeName: TEdit;
ConNo: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
v1OtherMoney: TcxGridDBColumn;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
RMJPEGExport1: TRMJPEGExport;
Label6: TLabel;
CustomerNoName: TEdit;
v1DEFStr7: TcxGridDBColumn;
v1YLYGMoney: TcxGridDBColumn;
v1ZJYGMoney: TcxGridDBColumn;
v1KPYGMoney: TcxGridDBColumn;
v1GLMoney: TcxGridDBColumn;
v1YGLiRun: TcxGridDBColumn;
order_Sub: TClientDataSet;
Label15: TLabel;
DEFStr7: TEdit;
TEdit: TToolButton;
Panel4: TPanel;
Label14: TLabel;
Panel10: TPanel;
Image2: TImage;
Button1: TButton;
RadioGroup1: TRadioGroup;
v1PRTCodeName: TcxGridDBColumn;
Label2: TLabel;
PRTCodeName: TEdit;
v1PRTspec: TcxGridDBColumn;
v1Filltime: TcxGridDBColumn;
v1JGMoney: TcxGridDBColumn;
v1ConMXMoney: TcxGridDBColumn;
Order_ZL: TClientDataSet;
Order_FL: TClientDataSet;
Order_MLJG: TClientDataSet;
Order_CBJG: TClientDataSet;
RMDB_CBJG: TRMDBDataSet;
RMDB_MLJG: TRMDBDataSet;
RMDB_ZL: TRMDBDataSet;
RMDB_FL: TRMDBDataSet;
ADOQuery1: TADOQuery;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBTPClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CustomerNoChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TEditClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
procedure InitGridFH();
procedure SetStatus();
procedure InitSub();
{ Private declarations }
public
FFInt,FCloth:Integer;
canshu1,Canshu2:string;
{ Public declarations }
end;
var
frmContractListXF_YGML: TfrmContractListXF_YGML;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_FjList_RZ,U_ConInPutXF_YGDJ; //U_ConInPutXF,U_SKCR_CX
{$R *.dfm}
procedure TfrmContractListXF_YGML.InitSub();
begin
IF Order_Main.IsEmpty then exit;
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from JYOrderCon_sub ');
sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString)));
open;
end;
SCreateCDS20(ADOQuerySub,Order_Sub);
SInitCDSData20(ADOQuerySub,Order_Sub);
end;
procedure TfrmContractListXF_YGML.SetStatus();
begin
end;
procedure TfrmContractListXF_YGML.FormDestroy(Sender: TObject);
begin
frmContractListXF_YGML:=nil;
end;
procedure TfrmContractListXF_YGML.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmContractListXF_YGML.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
//BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
//EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
DQdate:=SGetServerDate(ADOQueryTemp);
canshu1:=trim(DParameters1);
Canshu2:=trim(DParameters2);
end;
procedure TfrmContractListXF_YGML.TBCloseClick(Sender: TObject);
begin
Close;
if FCloth<>1 then
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>б<EFBFBD>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
else
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>б<EFBFBD>ѡ<EFBFBD><D1A1>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmContractListXF_YGML.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(',DEFStr7=(select Top 1 B.DEFStr7 from KH_Zdy_Attachment B where B.Type=''KHName'' and B.ZdyName=A.CustomerNoName)');
sql.Add(' from JYOrderCon_Main A');
sql.Add(' inner join JYOrderCon_Sub B on B.Mainid=A.Mainid');
SQL.Add(' where A.fILLtIME>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
SQL.Add(' and A.fILLtIME<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
sql.Add(' and (A.ConPerson1='''+Trim(DName)+''' or A.Filler='''+Trim(DName)+''')');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally;
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractListXF_YGML.InitGridFH();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('exec Order_QryList :MainId,:WSql');
Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''
+' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+'''';
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractListXF_YGML.InitForm();
begin
if FCloth<>1 then
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>б<EFBFBD>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
else
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>б<EFBFBD>ѡ<EFBFBD><D1A1>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-30;
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
InitGrid();
end;
procedure TfrmContractListXF_YGML.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
function TfrmContractListXF_YGML.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete JYOrderCon_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.Add('delete JYOrderCon_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' '+quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(','+quotedstr(trim(self.Caption)));
sql.Add(','+quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬɾ<CDAC><C9BE>')));
sql.Add(','+quotedstr(trim('<27><>ͬ<EFBFBD>ţ<EFBFBD>'+trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(','+quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmContractListXF_YGML.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv1,ADOQueryMain,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD>б<EFBFBD>');
end;
procedure TfrmContractListXF_YGML.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractListXF_YGML.FormShow(Sender: TObject);
begin
SetStatus();
InitForm();
end;
procedure TfrmContractListXF_YGML.TBTPClick(Sender: TObject);
var
FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String;
begin
end;
procedure TfrmContractListXF_YGML.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractListXF_YGML.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractListXF_YGML.N1Click(Sender: TObject);
var
fPrintFile:string;
Porderno:string;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>10.rmf' ;
SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+'''');
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString);
if FileExists(fPrintFile) then
begin
//RMVariables['begindate']:=begindate.DateTime;
//RMVariables['enddate']:=enddate.DateTime;
//RMVariables['printtime']:=Now;
//RMVariables['printer']:=Trim(gUserName);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>10.rmf'),'<27><>ʾ',0);
end;
SDofilter(ADOQueryMain,'');
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
Order_Main.Locate('ordernoM',Porderno,[]);
end;
procedure TfrmContractListXF_YGML.N2Click(Sender: TObject);
var
fPrintFile:string;
Porderno:string;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf' ;
SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+'''');
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString);
if FileExists(fPrintFile) then
begin
//RMVariables['begindate']:=begindate.DateTime;
//RMVariables['enddate']:=enddate.DateTime;
//RMVariables['printtime']:=Now;
//RMVariables['printer']:=Trim(gUserName);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf'),'<27><>ʾ',0);
end;
SDofilter(ADOQueryMain,'');
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
Order_Main.Locate('ordernoM',Porderno,[]);
end;
procedure TfrmContractListXF_YGML.CustomerNoChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmContractListXF_YGML.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
TBRafresh.Click;
end;
procedure TfrmContractListXF_YGML.Image2Click(Sender: TObject);
begin
Panel4.Visible:=False;
end;
procedure TfrmContractListXF_YGML.TBPrintClick(Sender: TObject);
var
fPrintFile:string;
EngMoney:string;
begin
if Order_Main.IsEmpty then Exit;
Button1.Click;
end;
procedure TfrmContractListXF_YGML.Button1Click(Sender: TObject);
var
fPrintFile:string;
EngMoney:string;
FimageFile: string;
i:Integer;
begin
FimageFile:='';
if Order_Main.IsEmpty then Exit;
if radiogroup1.ItemIndex=0 then
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\Ԥ<><D4A4><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>.rmf' ;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,XHNo=cast(0 as int),RMBMoney=B.ConMXMoney*B.HuiLV ');
sql.Add(',SumQty=(select Sum(C.PRTOrderQty) from JYOrderCon_Sub C where C.Subid=B.Subid)');
sql.Add(',SumConMXMoney=(select Sum(C.ConMXMoney) from JYOrderCon_Sub C where C.Subid=B.Subid)');
sql.Add(',SumRMBMoney=(select Sum(C.ConMXMoney*C.HuiLV) from JYOrderCon_Sub C where C.Subid=B.Subid)');
sql.Add(',DEFStr7=(select Top 1 B.DEFStr7 from KH_Zdy_Attachment B where B.Type=''KHName'' and B.ZdyName=A.CustomerNoName)');
sql.Add(' from JYOrderCon_Main A');
sql.Add(' inner join JYOrderCon_Sub B on B.Mainid=A.Mainid');
SQL.Add(' where B.Subid='''+trim(Order_Main.fieldbyname('Subid').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_Print);
SInitCDSData20(ADOQueryPrint,CDS_Print);
with CDS_Print do
begin
first;
i:=1;
while not eof do
begin
edit;
FieldByName('XHNo').Value:=i;
i:=i+1;
next;
end;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select * ');
sql.add(',SumQty=(select Sum(B.Qty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD><EFBFBD>'')');
sql.add(',SumXLQty=(select Sum(B.XLQty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD><EFBFBD>'')');
sql.add(',SumMoney=(select Sum(B.Money) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD><EFBFBD>'')');
sql.add('from JYOrderCon_YGCB A ');
sql.Add('where A.Subid='''+Trim(Order_Main.fieldbyname('Subid').AsString)+'''');
sql.add(' and A.CBType=''<27><><EFBFBD><EFBFBD>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_ZL);
SInitCDSData20(ADOQuery1,Order_ZL);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select * ');
sql.add(',SumQty=(select Sum(B.Qty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD>ϼӹ<CFBC>'')');
sql.add(',SumMoney=(select Sum(B.Money) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD>ϼӹ<CFBC>'')');
sql.add('from JYOrderCon_YGCB A ');
sql.Add('where Subid='''+Trim(Order_Main.fieldbyname('Subid').AsString)+'''');
sql.add(' and CBType=''<27><><EFBFBD>ϼӹ<CFBC>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_MLJG);
SInitCDSData20(ADOQuery1,Order_MLJG);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select * ');
sql.add(',SumXLQty=(select Sum(B.XLQty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD><EFBFBD>'')');
sql.add(',SumMoney=(select Sum(B.Money) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><><EFBFBD><EFBFBD>'')');
sql.add('from JYOrderCon_YGCB A ');
sql.Add('where Subid='''+Trim(Order_Main.fieldbyname('Subid').AsString)+'''');
sql.add(' and CBType=''<27><><EFBFBD><EFBFBD>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_FL);
SInitCDSData20(ADOQuery1,Order_FL);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select * ');
sql.add(',SumQty=(select Sum(B.Qty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><>Ʒ<EFBFBD>ӹ<EFBFBD>'')');
sql.add(',SumMoney=(select Sum(B.Money) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27><>Ʒ<EFBFBD>ӹ<EFBFBD>'')');
sql.add('from JYOrderCon_YGCB A ');
sql.Add('where Subid='''+Trim(Order_Main.fieldbyname('Subid').AsString)+'''');
sql.add(' and CBType=''<27><>Ʒ<EFBFBD>ӹ<EFBFBD>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_CBJG);
SInitCDSData20(ADOQuery1,Order_CBJG);
if FileExists(fPrintFile) then
begin
RMVariables['ImageFile']:=trim(FimageFile);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\Ԥ<><D4A4><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmContractListXF_YGML.TEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmConInPutXF_YGDJ:=TfrmConInPutXF_YGDJ.Create(Application);
with frmConInPutXF_YGDJ do
begin
PState:=1;
FSubid:=Trim(Self.Order_Main.fieldbyname('Subid').AsString);
FMainid:=Trim(Self.Order_Main.fieldbyname('Mainid').AsString);
FZT:='1';
if ShowModal=1 then
begin
end;
end;
finally
frmConInPutXF_YGDJ.Free;
end;
end;
procedure TfrmContractListXF_YGML.Tv1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TEdit.Click;
end;
end.