D7XHshengfang/盛纺贸易管理/U_FanYangListHZ.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

400 lines
12 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_FanYangListHZ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, DBClient, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls,
ToolWin, cxPC, cxGridBandedTableView, cxGridDBBandedTableView,
cxCustomPivotGrid, cxDBPivotGrid, cxContainer, cxTextEdit, cxCurrencyEdit;
type
TFrmFanYangListHZ = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
ToolButton1: 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;
OrderNoM: TEdit;
CustomerNo: TEdit;
MPRTCodeName: TEdit;
ConNo: TEdit;
MPRTKuanNO: TEdit;
MPRTCode: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
cxGrid1: TcxGrid;
cxGrid1Level1: TcxGridLevel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
TChk: TToolButton;
TNoChk: TToolButton;
cxTabControl1: TcxTabControl;
TV1: TcxGridDBBandedTableView;
VOrdDate: TcxGridDBBandedColumn;
V1OrdDefStr1: TcxGridDBBandedColumn;
V1Mainid: TcxGridDBBandedColumn;
V1MPRTCodeName: TcxGridDBBandedColumn;
V1MPRTCode: TcxGridDBBandedColumn;
V1PRTColor: TcxGridDBBandedColumn;
V1PRTOrderQty: TcxGridDBBandedColumn;
V1OrdQty4: TcxGridDBBandedColumn;
V1SOrdQty1: TcxGridDBBandedColumn;
V1MLF: TcxGridDBBandedColumn;
V1OrdQty5: TcxGridDBBandedColumn;
V1OrdQty2: TcxGridDBBandedColumn;
V1OrdQty1: TcxGridDBBandedColumn;
V1ZWF: TcxGridDBBandedColumn;
V1OrdQty3: TcxGridDBBandedColumn;
V1SMPYF: TcxGridDBBandedColumn;
V1ZJ: TcxGridDBBandedColumn;
V1Note: TcxGridDBBandedColumn;
V1OrderUnit: TcxGridDBBandedColumn;
V1OrdQty6: TcxGridDBBandedColumn;
V1SOrdQty2: TcxGridDBBandedColumn;
V1OrdDefStr6: TcxGridDBBandedColumn;
OrdDefStr1: TEdit;
Label2: TLabel;
V1CustomerNoName: TcxGridDBBandedColumn;
V1OrdQty7: TcxGridDBBandedColumn;
PanelSh: TPanel;
Label5: TLabel;
Orddefdate1: TDateTimePicker;
Label6: TLabel;
ordQty9: TcxCurrencyEdit;
Label7: TLabel;
OrddefNote1: TMemo;
Button1: TButton;
Button2: TButton;
V1Orddefdate1: TcxGridDBBandedColumn;
V1OrdQty9: TcxGridDBBandedColumn;
V1OrddefNote1: TcxGridDBBandedColumn;
ToolButton2: TToolButton;
V1conNo: TcxGridDBBandedColumn;
V1orddefstr7: TcxGridDBBandedColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure OrderNoMChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TChkClick(Sender: TObject);
procedure TNoChkClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TBPrintClick(Sender: TObject);
procedure VOrdDateCompareRowValuesForCellMerging(Sender: TcxGridColumn;
ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties;
const AValue1: Variant; ARow2: TcxGridDataRow;
AProperties2: TcxCustomEditProperties; const AValue2: Variant;
var AAreEqual: Boolean);
procedure V1PRTColorCompareRowValuesForCellMerging(
Sender: TcxGridColumn; ARow1: TcxGridDataRow;
AProperties1: TcxCustomEditProperties; const AValue1: Variant;
ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties;
const AValue2: Variant; var AAreEqual: Boolean);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
procedure initGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
FrmFanYangListHZ: TFrmFanYangListHZ;
implementation
uses U_DataLink,U_FanYangList_Sub,U_Fun;
{$R *.dfm}
procedure TFrmFanYangListHZ.initGrid();
begin
with ADOQueryTmp do
begin
Filtered:=False;
close;
sql.Clear;
sql.add('exec P_Get_FYList ');
sql.add('@begdate='''+formatdatetime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(',@endDate='''+formatdatetime('yyyy-MM-dd',endDate.DateTime+1)+''' ');
open;
end;
SCreateCDS20(ADOQueryTmp,Order_Main);
SInitCDSData20(ADOQueryTmp,Order_Main);
TBFind.Click;
end;
procedure TFrmFanYangListHZ.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TFrmFanYangListHZ.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
end;
procedure TFrmFanYangListHZ.FormDestroy(Sender: TObject);
begin
FrmFanYangListHZ:=nil;
end;
procedure TFrmFanYangListHZ.FormShow(Sender: TObject);
begin
ReadCxBandedGrid(self.Caption+Tv1.Name+'5',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ͳ<EFBFBD><CDB3>');
BegDate.DateTime:=SGetServerDate10(ADOQueryPrint)-15;
EndDate.DateTime:=SGetServerDate10(ADOQueryPrint);
initGrid();
end;
procedure TFrmFanYangListHZ.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TFrmFanYangListHZ.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxBandedGrid(self.Caption+Tv1.Name+'5',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ͳ<EFBFBD><CDB3>');
end;
procedure TFrmFanYangListHZ.TBFindClick(Sender: TObject);
var strwhere: string;
begin
if ADOQueryTmp.Active=False then Exit;
strwhere:=SGetFilters(Panel1,1,2);
IF strwhere='' then
begin
if cxTabControl1.TabIndex<2 then
strwhere:=' status ='''+inttostr(cxTabControl1.TabIndex)+'''';
end
else
begin
if cxTabControl1.TabIndex<2 then
strwhere:=strwhere+' and status ='''+inttostr(cxTabControl1.TabIndex)+'''';
end;
SDofilter(ADOQueryTmp,strwhere);
SCreateCDS20(ADOQueryTmp,Order_Main);
SInitCDSData20(ADOQueryTmp,Order_Main);
end;
procedure TFrmFanYangListHZ.OrderNoMChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TFrmFanYangListHZ.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 TFrmFanYangListHZ.cxTabControl1Change(Sender: TObject);
begin
Tchk.Visible:=False;
TNochk.Visible:=False;
if CxTabControl1.TabIndex=0 then
begin
Tchk.Visible:=True;
end;
if CxTabControl1.TabIndex=1 then
begin
TNochk.Visible:=true;
end;
initGrid();
end;
procedure TFrmFanYangListHZ.TChkClick(Sender: TObject);
begin
if order_Main.IsEmpty then exit;
PanelSh.Left:=(Width-PanelSh.Width) div 2;
PanelSh.top:=(Height-PanelSh.Height-100) div 2;
Orddefdate1.DateTime:=date();
ordQty9.Text:='';
OrddefNote1.Text:='';
PanelSh.Visible:=true;
end;
procedure TFrmFanYangListHZ.TNoChkClick(Sender: TObject);
begin
if order_Main.IsEmpty then exit;
try
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.add('update jYorderFY_Main set Chker='''',Chktime=Null,status=''0'' ');
sql.Add(',Orddefdate1=null,ordQty9=0,OrddefNote1='''' ');
sql.add('where Mainid='''+trim(Order_Main.fieldbyname('Mainid').asstring)+''' ');
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
initGrid();
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TFrmFanYangListHZ.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ToolButton1.Click;
end;
procedure TFrmFanYangListHZ.TBPrintClick(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('CLRGS=(select count(AA.PRTColor) from (select distinct D.PRTColor from JYOrderFy_Sub D where D.Mainid=A.Mainid ) AA),');
//sql.add('SumOrdQty1=(select Sum(D.SOrdQty1) from JYOrderFY_Sub D where D.Mainid=A.Mainid ),');
//sql.add('ZJ=(select C.OrdQty5*Count(D.PRTColor)+C.OrdQty1*C.OrdQty2+C.OrdQty3*Sum(D.SOrdQty1)+C.OrdQty4*Sum(D.SOrdQty1)');
//sql.add(' from JYOrderFy_Main C inner join JYOrderFy_Sub D on D.Mainid=C.Mainid where C.Mainid=A.Mainid ');
//sql.add('group by C.OrdQty5,C.OrdQty1,C.OrdQty2,C.OrdQty3,C.OrdQty4 ),');
sql.add('ZJ=(select (AA.OrdQty5*Count(AA.PRTColor)+AA.OrdQty1*AA.OrdQty2+AA.OrdQty3*Sum(SL)+AA.OrdQty4*Sum(SL)) from ');
sql.add('(select E.PRTColor,F.OrdQty5,F.OrdQty1,F.OrdQty2,F.OrdQty3,F.OrdQty4,Sum(E.SOrdQty1) SL From JYOrderFy_Sub E inner join ');
sql.add('JYOrderFy_Main F on F.Mainid=E.Mainid where F.Mainid=A.Mainid group by E.PRTColor,F.OrdQty5,F.OrdQty1,F.OrdQty2,F.OrdQty3,F.OrdQty4 ) AA ');
sql.add('group by AA.OrdQty5,AA.OrdQty1,AA.OrdQty2,AA.OrdQty3,AA.OrdQty4) ,');
sql.add('MLF=SOrdQty1*OrdQty4,ZWF=OrdQty2*OrdQty1,SMPYF=OrdQty3*SOrdQty1 ');
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);}
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ͳ<EFBFBD><CDB3>.rmf' ;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ͳ<EFBFBD><CDB3>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TFrmFanYangListHZ.VOrdDateCompareRowValuesForCellMerging(
Sender: TcxGridColumn; ARow1: TcxGridDataRow;
AProperties1: TcxCustomEditProperties; const AValue1: Variant;
ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties;
const AValue2: Variant; var AAreEqual: Boolean);
begin
if ARow1.Values[V1Mainid.Index]=ARow2.Values[V1Mainid.Index] then
AAreEqual:=True
else
AAreEqual:=False;
end;
procedure TFrmFanYangListHZ.V1PRTColorCompareRowValuesForCellMerging(
Sender: TcxGridColumn; ARow1: TcxGridDataRow;
AProperties1: TcxCustomEditProperties; const AValue1: Variant;
ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties;
const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[V1Mainid.Index]=ARow2.Values[V1Mainid.Index]) and
(ARow1.Values[V1PRTColor.Index]=ARow2.Values[V1PRTColor.Index]) then
begin
AAreEqual:=true
end
else
AAreEqual:=False;
end;
procedure TFrmFanYangListHZ.Button1Click(Sender: TObject);
begin
try
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.add(' update jYorderFY_Main set Chker='''+Trim(DName)+''',Chktime=getdate(),status=''1'' ');
IF strTofloatdef(trim(OrdQty9.Text),0)<>0 then
begin
sql.Add(',Orddefdate1='''+formatdateTime('yyyy-MM-dd',Orddefdate1.DateTime)+''' ');
sql.Add(',OrdQty9='''+floattostr(strTofloatdef(trim(OrdQty9.Text),0))+''' ');
sql.Add(',OrddefNote1='''+trim(OrddefNote1.Text)+''' ');
end;
sql.add(' where Mainid='''+trim(Order_Main.fieldbyname('Mainid').asstring)+''' ');
execsql;
end;
PanelSh.Visible:=false;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
initGrid();
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TFrmFanYangListHZ.Button2Click(Sender: TObject);
begin
PanelSh.Visible:=false;
end;
procedure TFrmFanYangListHZ.ToolButton2Click(Sender: TObject);
begin
IF Order_Main.IsEmpty then exit;
TcxGridToExcel(self.Caption,CXGrid1);
end;
end.