D7YPDJlingyao/贸易管理(TradeManage.dll)/U_ContractCBYG.pas

511 lines
15 KiB
ObjectPascal
Raw Normal View History

2025-07-19 16:53:04 +08:00
unit U_ContractCBYG;
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, cxDropDownEdit, cxGridBandedTableView, cxGridDBBandedTableView;
type
TfrmContractCBYG = 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;
v1YGNo: TcxGridDBColumn;
v1FLMoney: TcxGridDBColumn;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDB_Ord: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1CustomerNoName: 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;
YGNo: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
v1OtherMoney: TcxGridDBColumn;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
RMJPEGExport1: TRMJPEGExport;
Label6: TLabel;
CustomerNoName: TEdit;
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;
Label2: TLabel;
PRTCodeName: TEdit;
v1Filltime: TcxGridDBColumn;
v1JGMoney: TcxGridDBColumn;
v1TMoney: 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;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid2: TcxGrid;
Tv2: TcxGridDBBandedTableView;
V1PrtCode: TcxGridDBBandedColumn;
cxGridDBBandedColumn1: TcxGridDBBandedColumn;
V1Column3: TcxGridDBBandedColumn;
V1PRTOrderQty: TcxGridDBBandedColumn;
V1PRTPrice: TcxGridDBBandedColumn;
cxGridDBBandedColumn2: TcxGridDBBandedColumn;
V1Huilv: TcxGridDBBandedColumn;
V1RMBMoney: TcxGridDBBandedColumn;
V1PriceUnit: TcxGridDBBandedColumn;
V1OrderUnit: TcxGridDBBandedColumn;
cxGridLevel1: TcxGridLevel;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
v1TRMBMoney: TcxGridDBColumn;
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 CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CustomerNoChange(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TEditClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView;
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
private
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
FFInt,FCloth:Integer;
canshu1,Canshu2:string;
{ Public declarations }
end;
var
frmContractCBYG: TfrmContractCBYG;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_FjList_RZ,U_ConInPut_CBYG; // ,U_ConInPutXF,U_SKCR_CX
{$R *.dfm}
procedure TfrmContractCBYG.FormDestroy(Sender: TObject);
begin
frmContractCBYG:=nil;
end;
procedure TfrmContractCBYG.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmContractCBYG.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 TfrmContractCBYG.TBCloseClick(Sender: TObject);
begin
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>');
Close;
end;
procedure TfrmContractCBYG.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.* ');
SQL.Add(',TMoney=(select SUM(X.ConMXMoney) from JYOrderCon_Sub_JG X where X.MainId=A.MainId)');
SQL.Add(',TRMBMoney=(select SUM(X.ConMXMoney*X.Huilv) from JYOrderCon_Sub_JG X where X.MainId=A.MainId)');
sql.Add(' from JYOrderCon_Main_JG A');
SQL.Add(' where A.FillTime>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
SQL.Add(' and A.FillTime<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
if canshu1<>'<27><>Ȩ<EFBFBD><C8A8>' then
sql.Add(' and A.Filler='''+Trim(DName)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally;
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractCBYG.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 TfrmContractCBYG.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;
procedure TfrmContractCBYG.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv1,ADOQueryMain,'<27>ɱ<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD>ǼDZ<C7BC>');
end;
procedure TfrmContractCBYG.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractCBYG.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmContractCBYG.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractCBYG.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractCBYG.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 TfrmContractCBYG.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 TfrmContractCBYG.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 TfrmContractCBYG.Image2Click(Sender: TObject);
begin
Panel4.Visible:=False;
end;
procedure TfrmContractCBYG.TBPrintClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
Button1.Click;
end;
procedure TfrmContractCBYG.Button1Click(Sender: TObject);
var
fPrintFile: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.*');
sql.Add(' from JYOrderCon_Main_JG A');
sql.Add(' inner join JYOrderCon_Sub_JG B on B.Mainid=A.Mainid');
SQL.Add(' where A.MainId='''+trim(Order_Main.fieldbyname('MainId').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 A.* ');
sql.add(',SumQty=(select Sum(B.Qty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27>ɹ<EFBFBD>'')');
sql.add(',SumXLQty=(select Sum(B.XLQty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27>ɹ<EFBFBD>'')');
sql.add(',SumMoney=(select Sum(B.Money) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27>ɹ<EFBFBD>'')');
sql.add('from JYOrderCon_YGCB A ');
sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.add(' and A.CBType=''<27>ɹ<EFBFBD>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_ZL);
SInitCDSData20(ADOQuery1,Order_ZL);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select A.* ');
sql.add(',SumQty=(select Sum(B.Qty) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27>ӹ<EFBFBD>'')');
sql.add(',SumMoney=(select Sum(B.Money) from JYOrderCon_YGCB B where B.Subid=A.Subid and B.CBType=''<27>ӹ<EFBFBD>'')');
sql.add('from JYOrderCon_YGCB A');
sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.add(' and A.CBType=''<27>ӹ<EFBFBD>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_MLJG);
SInitCDSData20(ADOQuery1,Order_MLJG);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select A.* ');
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.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.add(' and A.CBType=''<27><><EFBFBD><EFBFBD>''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_FL);
SInitCDSData20(ADOQuery1,Order_FL);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select A.* ');
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 A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.add(' and A.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 TfrmContractCBYG.TEditClick(Sender: TObject);
begin
try
frmConInPut_CBYG:=TfrmConInPut_CBYG.Create(Application);
with frmConInPut_CBYG do
begin
PState:=0;
FMainid:='';
if ShowModal=1 then
begin
end;
end;
finally
frmConInPut_CBYG.Free;
end;
end;
procedure TfrmContractCBYG.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmConInPut_CBYG:=TfrmConInPut_CBYG.Create(Application);
with frmConInPut_CBYG do
begin
PState:=1;
FMainid:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
YGNo.Enabled:=False;
FZT:='1';
if ShowModal=1 then
begin
end;
end;
finally
frmConInPut_CBYG.Free;
end;
end;
procedure TfrmContractCBYG.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from JYOrdercon_Main_JG where MainId='''+trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.Add('delete from JYOrdercon_Sub_JG where MainId='''+trim(Order_Main.fieldbyname('MainId').AsString)+'''');
sql.Add('delete from JYOrderCon_YGCB where MainId='''+trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
procedure TfrmContractCBYG.Tv1FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
// if Order_Main.IsEmpty then Exit;
with ADOQuerySub do
begin
Close;
SQL.Clear;
SQL.Add('select A.* ');
SQL.Add(',RMBMoney=A.ConMXMoney*A.Huilv');
SQL.Add('from JYOrderCon_Sub_JG A where A.MainId='''+trim(Order_Main.fieldbyname('Mainid').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQuerySub,order_Sub);
SInitCDSData20(ADOQuerySub,order_Sub);
end;
end.