D7wmbeiqi/贝其贸易管理/U_FanYangList_sel.pas
DESKTOP-E401PHE\Administrator 0843d5fa7d ~
2025-04-30 16:20:38 +08:00

465 lines
13 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_FanYangList_sel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, Menus, RM_Common,
RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, DBClient,
ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxSplitter, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls,
ToolWin, cxPC;
type
TFrmFanYangList_sel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
ToolButton1: TToolButton;
TBDel: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
OrderNo: TEdit;
CustomerNoName: TEdit;
MPRTCodeName: TEdit;
ConNo: TEdit;
MPRTKuanNO: TEdit;
MPRTCode: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1OrderNO: TcxGridDBColumn;
v1ConNo: TcxGridDBColumn;
v1MPRTCode: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
v1DlyDate: TcxGridDBColumn;
v1CustomerNoName: TcxGridDBColumn;
v1MPRTCodeName: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
v1MPRTKZ: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
v1OrdDefStr1: TcxGridDBColumn;
v1OrdDefStr2: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
v1CPCFBi: TcxGridDBColumn;
v1PBFactory: TcxGridDBColumn;
v1RanFactory: TcxGridDBColumn;
v1OrdQty1: TcxGridDBColumn;
v1OrdQty3: TcxGridDBColumn;
v1OrdQty5: TcxGridDBColumn;
OrdDefStr1: TEdit;
Label2: TLabel;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridDBColumn21: TcxGridDBColumn;
cxGridDBColumn22: TcxGridDBColumn;
cxGridDBColumn23: TcxGridDBColumn;
cxGridDBColumn24: TcxGridDBColumn;
cxGridDBColumn25: TcxGridDBColumn;
cxGridDBColumn26: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ADOQuerySub: TADOQuery;
DSSUB: TDataSource;
v1orddefstr7: TcxGridDBColumn;
V2Column1: TcxGridDBColumn;
Panel4: TPanel;
Label14: TLabel;
Panel10: TPanel;
Image2: TImage;
Button1: TButton;
RadioGroup1: TRadioGroup;
cxTabControl1: TcxTabControl;
v1Column1: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
ToolButton2: TToolButton;
v1Column2: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
TOK: TToolButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TBPrintClick(Sender: TObject);
procedure OrderNoChange(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView;
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
procedure Image2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TOKClick(Sender: TObject);
private
procedure initGrid();
procedure initsub();
procedure SetStatus();
{ Private declarations }
public
{ Public declarations }
end;
var
FrmFanYangList_sel: TFrmFanYangList_sel;
implementation
uses U_DataLink,U_FanYangList_Sub,U_Fun;
{$R *.dfm}
procedure TFrmFanYangList_sel.SetStatus();
begin
{ tbedit.Visible:=false;
tbdel.Visible:=false;
case cxTabControl1.TabIndex of
0:begin
// tchk.Visible:=true;
tbedit.Visible:=true;
tbdel.Visible:=true;
end;
1:begin
// tnochk.Visible:=true;
end;
2:begin
end;
end; }
end;
procedure TFrmFanYangList_sel.initsub();
begin
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select A.*,B.* from JYOrderFy_Main A ');
sql.add('inner join JYOrderFy_Sub B on B.Mainid=A.Mainid ');
sql.Add('where A.MainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString)));
open;
end;
end;
procedure TFrmFanYangList_sel.initGrid();
begin
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.* from JYOrderFy_Main A ');
// sql.add('inner join JYOrderFy_Sub B on B.Mainid=A.Mainid ');
sql.Add('where A.OrdDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+''' ');
sql.add('and A.OrdDate<'''+FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1)+''' ');
//sql.add('and status=''0''');
{ if trim(DParameters1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.add('and filler='''+trim(DName)+''' ');
end;}
// if cxTabControl1.TabIndex<2 then
// sql.add(' and status ='''+inttostr(cxTabControl1.TabIndex)+''' ');
open;
end;
SCreateCDS20(ADOQueryTmp,Order_Main);
SInitCDSData20(ADOQueryTmp,Order_Main);
TBFind.Click;
end;
procedure TFrmFanYangList_sel.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption+Tv1.Name,Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>¼<EFBFBD><C2BC>');
ReadCxGrid(self.Caption+Tv2.Name,Tv2,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>¼<EFBFBD><C2BC>');
BegDate.DateTime:=SGetServerDate10(ADOQuerycmd)-30;
EndDate.DateTime:=SGetServerDate10(ADOQuerycmd);
SetStatus();
initGrid();
end;
procedure TFrmFanYangList_sel.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TFrmFanYangList_sel.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
end;
procedure TFrmFanYangList_sel.FormDestroy(Sender: TObject);
begin
FrmFanYangList_sel:=nil;
end;
procedure TFrmFanYangList_sel.TBAddClick(Sender: TObject);
begin
try
FrmFanYangListSub:=TFrmFanYangListSub.Create(Application);
with FrmFanYangListSub do
begin
FMainid:='';
// v1SOrdQty1.Options.Editing:=False;
if ShowModal=1 then
begin
initGrid();
end;
end;
finally
FrmFanYangListSub.Free;
end;
end;
procedure TFrmFanYangList_sel.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TFrmFanYangList_sel.TBFindClick(Sender: TObject);
begin
if ADOQueryTmp.Active=False then Exit;
SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryTmp,Order_Main);
SInitCDSData20(ADOQueryTmp,Order_Main);
end;
procedure TFrmFanYangList_sel.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
IF trim(order_Main.fieldbyname('Status').AsString)='1' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>޸<EFBFBD>','<27><>ʾ');
exit;
end;
{ if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
try
FrmFanYangListSub:=TFrmFanYangListSub.Create(Application);
with FrmFanYangListSub do
begin
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
// CustomerNo.Enabled:=False;
// CustomerNoName.Enabled:=False;
OrdDefStr1.Enabled:=False;
if ShowModal=1 then
begin
initGrid();
end;
end;
finally
FrmFanYangListSub.Free;
end;
end;
procedure TFrmFanYangList_sel.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
FrmFanYangListSub:=TFrmFanYangListSub.Create(Application);
with FrmFanYangListSub do
begin
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
ToolBar2.Visible:=False;
TBSave.Visible:=False;
Panel1.Enabled:=False;
if ShowModal=1 then
begin
initGrid();
end;
end;
finally
FrmFanYangListSub.Free;
end;
end;
procedure TFrmFanYangList_sel.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
IF trim(order_Main.fieldbyname('Status').AsString)='1' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>ɾ<EFBFBD><C9BE>','<27><>ʾ');
exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
close;
sql.clear;
sql.Add('delete from JYOrderFy_Main where Mainid='''+trim(order_Main.fieldbyname('Mainid').AsString)+''' ');
sql.Add('delete from JYOrderFY_Sub 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>ɾ<EFBFBD><C9BE>')));
sql.Add(','+quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>'+trim(Order_Main.FieldByName('OrderNO').AsString))));
sql.Add(','+quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
initGrid();
end;
procedure TFrmFanYangList_sel.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(self.Caption+Tv1.Name,Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>¼<EFBFBD><C2BC>');
WriteCxGrid(self.Caption+Tv2.Name,Tv2,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>¼<EFBFBD><C2BC>');
end;
procedure TFrmFanYangList_sel.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TOK.Click;
end;
procedure TFrmFanYangList_sel.TBPrintClick(Sender: TObject);
begin
Panel4.Visible:=true;
end;
procedure TFrmFanYangList_sel.OrderNoChange(Sender: TObject);
begin
if ADOQueryTmp.Active=False then Exit;
SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryTmp,Order_Main);
SInitCDSData20(ADOQueryTmp,Order_Main);
end;
procedure TFrmFanYangList_sel.Tv1FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
initsub();
end;
procedure TFrmFanYangList_sel.Image2Click(Sender: TObject);
begin
Panel4.Visible:=False;
end;
procedure TFrmFanYangList_sel.Button1Click(Sender: TObject);
var
fPrintFile:string;
begin
if order_Main.IsEmpty then exit;
with ADOQueryPrint do
begin
close;
sql.clear;
sql.add('select A.*,B.*, ');
sql.add('ColorGS=(select count(AA.PRTColor) from ');
sql.add('(select distinct C.PRTColor From JYOrderFY_Sub C where C.Mainid=A.Mainid) AA),');
sql.Add('PYZJ=(select Sum(C.PRTOrderQty) from JYOrderFY_Sub C where C.Mainid=A.Mainid),');
sql.Add('m_SOrdQty1=(select Sum(C.SOrdQty1) from JYOrderFY_Sub C where C.Mainid=A.Mainid),');
sql.Add('m_SOrdQty2=(select Sum(C.SOrdQty2) from JYOrderFY_Sub C where C.Mainid=A.Mainid),');
sql.Add('MLMoney=(select Sum(C.PRTOrderQty*PrtPrice) from JYOrderFY_Sub C where C.Mainid=A.Mainid)');
sql.add('from JYOrderFY_Main A ');
sql.add('inner join JYOrderFY_Sub 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);
IF RadioGroup1.ItemIndex=2 then
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>Ʊ.rmf'
else
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf' ;
if FileExists(fPrintFile) then
begin
RMVariables['FS'] :=RadioGroup1.ItemIndex;
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;
end;
procedure TFrmFanYangList_sel.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initgrid();
end;
procedure TFrmFanYangList_sel.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
FrmFanYangListSub:=TFrmFanYangListSub.Create(Application);
with FrmFanYangListSub do
begin
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
CopyInt:=99;
// CustomerNo.Enabled:=False;
// CustomerNoName.Enabled:=False;
// OrdDefStr1.Enabled:=False;
if ShowModal=1 then
begin
initGrid();
end;
end;
finally
FrmFanYangListSub.Free;
end;
end;
procedure TFrmFanYangList_sel.TOKClick(Sender: TObject);
begin
IF Order_Main.IsEmpty then exit;
ModalResult:=1;
end;
end.