523 lines
14 KiB
ObjectPascal
523 lines
14 KiB
ObjectPascal
unit U_YSHZMXView;
|
||
|
||
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, cxDropDownEdit;
|
||
|
||
type
|
||
TfrmYSHZMXView = 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;
|
||
OrderNo: TEdit;
|
||
cxGrid2: TcxGrid;
|
||
Tv2: TcxGridDBTableView;
|
||
cxGridDBColumn1: TcxGridDBColumn;
|
||
cxGridDBColumn5: TcxGridDBColumn;
|
||
cxGridDBColumn6: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
Label2: TLabel;
|
||
Label6: TLabel;
|
||
begdate: TDateTimePicker;
|
||
Enddate: TDateTimePicker;
|
||
cxGridPopupMenu2: TcxGridPopupMenu;
|
||
DS_HZ: TDataSource;
|
||
CDS_HZ: TClientDataSet;
|
||
v2Column1: TcxGridDBColumn;
|
||
VHL: TcxGridDBColumn;
|
||
VBZ: TcxGridDBColumn;
|
||
v2Column6: TcxGridDBColumn;
|
||
VOrderNo: TcxGridDBColumn;
|
||
v2PS: TcxGridDBColumn;
|
||
v2Column2: TcxGridDBColumn;
|
||
v2Column3: TcxGridDBColumn;
|
||
v2Column4: TcxGridDBColumn;
|
||
v2Column5: TcxGridDBColumn;
|
||
Label4: TLabel;
|
||
OrdDefNote3: TComboBox;
|
||
v2Column7: TcxGridDBColumn;
|
||
v2Column8: TcxGridDBColumn;
|
||
v2Column9: TcxGridDBColumn;
|
||
v2Column10: TcxGridDBColumn;
|
||
v2Column11: TcxGridDBColumn;
|
||
v2Column12: 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 P_OrderNo_YSK(Sender: TObject);
|
||
procedure cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject);
|
||
procedure cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject);
|
||
procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure v2Column2PropertiesEditValueChanged(Sender: TObject);
|
||
procedure v2Column5PropertiesEditValueChanged(Sender: TObject);
|
||
procedure OrderNoChange(Sender: TObject);
|
||
procedure MPRTCodeNameChange(Sender: TObject);
|
||
procedure v2Column10CustomDrawCell(Sender: TcxCustomGridTableView;
|
||
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
|
||
var ADone: Boolean);
|
||
procedure Tv2StylesGetContentStyle(Sender: TcxCustomGridTableView;
|
||
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
|
||
out AStyle: TcxStyle);
|
||
procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
|
||
private
|
||
{ Private declarations }
|
||
FDate:TDateTime;
|
||
procedure InitGrid();
|
||
|
||
public
|
||
{ Public declarations }
|
||
RKFlag,FCYID:String;
|
||
|
||
end;
|
||
|
||
var
|
||
frmYSHZMXView: TfrmYSHZMXView;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_Fun,U_ZDYHelp, U_ProductOrderNewList;
|
||
|
||
{$R *.dfm}
|
||
|
||
|
||
|
||
procedure TfrmYSHZMXView.InitGrid();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered:=False;
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' exec P_OrderNo_YSK_View :begdate,:enddate,:WSql');
|
||
Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',begdate.DateTime));
|
||
Parameters.ParamByName('Enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1));
|
||
if Trim(DParameters1)<>'<27><><EFBFBD><EFBFBD>' then
|
||
Parameters.ParamByName('WSql').Value:=' and A.Filler='''+Trim(DName)+''''
|
||
else
|
||
Parameters.ParamByName('WSql').Value:='';
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain,CDS_HZ);
|
||
SInitCDSData20(ADOQueryMain,CDS_HZ);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TfrmYSHZMXView.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmYSHZMXView:=nil;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action:=caFree;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid('Ӧ<><D3A6><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>ϸ<EFBFBD><CFB8>ѯ',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Close;
|
||
end;
|
||
procedure TfrmYSHZMXView.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid('Ӧ<><D3A6><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>ϸ<EFBFBD><CFB8>ѯ',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
|
||
begdate.DateTime:=Enddate.DateTime-50;
|
||
FDate:=SGetServerDate(ADOQueryTemp);
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
begdate.SetFocus;
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active then
|
||
begin
|
||
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
||
SCreateCDS20(ADOQueryMain,CDS_HZ);
|
||
SInitCDSData20(ADOQueryMain,CDS_HZ);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.P_OrderNo_YSK(Sender: TObject);
|
||
begin
|
||
ToolButton2.Click;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.cxGridDBColumn8PropertiesEditValueChanged(
|
||
Sender: TObject);
|
||
var
|
||
mvalue,FFieldName:String;
|
||
begin
|
||
mvalue:=TcxTextEdit(Sender).EditingText;
|
||
FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value:=Trim(mvalue);
|
||
Post;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate YCL_SG_HZ ');
|
||
if Trim(mvalue)<>'' then
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+'''');
|
||
end else
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'=NULL');
|
||
end;
|
||
SQL.Add(',Editer='''+Trim(DName)+'''');
|
||
SQL.Add(',Edittime=getdate() ');
|
||
SQL.Add(' where SubId='''+Trim(CDS_HZ.fieldbyname('SubId').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.cxGridDBColumn5PropertiesEditValueChanged(
|
||
Sender: TObject);
|
||
var
|
||
mvalue,FQty,FPrice,FMoney,FHuiLv,FBBMoney,FKCBB,FFieldName:String;
|
||
begin
|
||
{if Trim(CDS_HZ.fieldbyname('YFType').AsString)<>'' then
|
||
begin
|
||
Application.MessageBox('<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2>ܸ<EFBFBD><DCB8><EFBFBD>!','<27><>ʾ',0);
|
||
Exit;
|
||
end; }
|
||
mvalue:=TcxTextEdit(Sender).EditingText;
|
||
if Trim(mvalue)='' then
|
||
begin
|
||
mvalue:='0';
|
||
end;
|
||
FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value:=Trim(mvalue);
|
||
if Trim(DParameters2)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
||
begin
|
||
FieldByName('HuiLv').Value:=1;
|
||
end;
|
||
Post;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select isnull(BBMoney,0) BBMoney from YF_Money_CR where YFID='''+cds_hz.fieldbyname('YFID').AsString+'''');
|
||
Open;
|
||
end;
|
||
FKCBB:=ADOQueryTemp.fieldbyname('BBMoney').AsString;
|
||
|
||
FQty:=Trim(CDS_HZ.fieldbyname('Qty').AsString);
|
||
if Trim(FQty)='' then FQty:='0';
|
||
|
||
FPrice:=Trim(CDS_HZ.fieldbyname('Price').AsString);
|
||
if Trim(FPrice)='' then FPrice:='0';
|
||
FQty:=Trim(CDS_HZ.fieldbyname('Qty').AsString);
|
||
if Trim(FQty)='' then FQty:='0';
|
||
|
||
FMoney:=Trim(CDS_HZ.fieldbyname('Money').AsString);
|
||
if Trim(FMoney)='' then FMoney:='0';
|
||
|
||
FHuiLv:=Trim(CDS_HZ.fieldbyname('HuiLv').AsString);
|
||
if Trim(FHuiLv)='' then FHuiLv:='0';
|
||
|
||
{FBBMoney:=Trim(CDS_HZ.fieldbyname('BBMoney').AsString);
|
||
if Trim(FBBMoney)='' then FBBMoney:='0'; }
|
||
|
||
if Trim(FFieldName)<>'Money' then
|
||
begin
|
||
if Trim(FFieldName)<>'HuiLv' then
|
||
begin
|
||
FBBMoney:=FloatToStr(StrToFloat(FQty)*StrToFloat(FPrice)*StrToFloat(FHuiLv));
|
||
FMoney:=FloatToStr(StrToFloat(FQty)*StrToFloat(FPrice));
|
||
end else
|
||
begin
|
||
FBBMoney:=FloatToStr(StrToFloat(FMoney)*StrToFloat(FHuiLv));
|
||
end;
|
||
|
||
end else
|
||
begin
|
||
FBBMoney:=FloatToStr(StrToFloat(FMoney)*StrToFloat(FHuiLv));
|
||
end;
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName('Money').Value:=StrToFloat(FMoney);
|
||
FieldByName('BBMoney').Value:=StrToFloat(FBBMoney);
|
||
Post;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate YF_Money_CR ');
|
||
sql.Add(' Set '+FFieldName+'='+Trim(mvalue));
|
||
if Trim(FFieldName)<>'Money' then
|
||
begin
|
||
sql.Add(',Money='+FMoney);
|
||
end;
|
||
|
||
sql.Add(',BBMoney='+FBBMoney);
|
||
SQL.Add(',Editer='''+Trim(DName)+'''');
|
||
SQL.Add(',Edittime=getdate() ');
|
||
SQL.Add(' where YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+'''');
|
||
|
||
SQL.Add('Update YF_Money_KC Set KCBBMoney=KCBBMoney-'+FKCBB+'+'+FBBMoney);
|
||
sql.Add(' where CRID='''+Trim(CDS_HZ.fieldbyname('CRID').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.cxGridDBColumn1PropertiesEditValueChanged(
|
||
Sender: TObject);
|
||
var
|
||
mvalue,FFieldName:String;
|
||
begin
|
||
mvalue:=TcxTextEdit(Sender).EditingText;
|
||
FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value:=Trim(mvalue);
|
||
Post;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate JYOrder_Main ');
|
||
if Trim(mvalue)<>'' then
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+'''');
|
||
end else
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'=NULL');
|
||
end;
|
||
SQL.Add(' where MainId='''+Trim(CDS_HZ.fieldbyname('MainId').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then Exit;
|
||
SelExportData(Tv2,ADOQueryMain,'Ӧ<><D3A6><EFBFBD>˿<EFBFBD><CBBF>б<EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.v2Column2PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue,FFieldName:String;
|
||
begin
|
||
mvalue:=TcxTextEdit(Sender).EditingText;
|
||
FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value:=Trim(mvalue);
|
||
Post;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate JYOrder_Main ');
|
||
if Trim(mvalue)<>'' then
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+'''');
|
||
end else
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'=NULL');
|
||
end;
|
||
SQL.Add(' where MainId='''+Trim(CDS_HZ.fieldbyname('MainId').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TfrmYSHZMXView.v2Column5PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue,FFieldName:String;
|
||
begin
|
||
mvalue:=TcxComboBox(Sender).EditingText;
|
||
FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
with CDS_HZ do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value:=Trim(mvalue);
|
||
Post;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate JYOrder_Main ');
|
||
if Trim(mvalue)<>'' then
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+'''');
|
||
end else
|
||
begin
|
||
sql.Add(' Set '+FFieldName+'=NULL');
|
||
end;
|
||
SQL.Add(' where MainId='''+Trim(CDS_HZ.fieldbyname('MainId').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TfrmYSHZMXView.OrderNoChange(Sender: TObject);
|
||
begin
|
||
if Length(Trim(OrderNo.Text))<3 then Exit;
|
||
ToolButton2.Click;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.MPRTCodeNameChange(Sender: TObject);
|
||
begin
|
||
ToolButton2.Click;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.v2Column10CustomDrawCell(
|
||
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
||
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
var
|
||
Id,Id10,Id20,i:Integer;
|
||
|
||
begin
|
||
{Id:=TV2.GetColumnByFieldName('SKYBMoney').Index;//;-TV1.GroupedItemCount;
|
||
Id10:=TV2.GetColumnByFieldName('Qty').Index;
|
||
Id20:=TV2.GetColumnByFieldName('CRTime').Index;
|
||
if Id<0 then Exit;
|
||
if Id10<0 then Exit;
|
||
if AViewInfo.GridRecord.Values[Id]=0 then
|
||
begin
|
||
if AViewInfo.GridRecord.Values[Id10]>0 then
|
||
begin
|
||
i:=FDate-AViewInfo.GridRecord.Values[Id20];
|
||
if (i<30) and (i>0) then
|
||
begin
|
||
|
||
end else
|
||
if (i>=30) and (i<60) then
|
||
ACanvas.Brush.Color:=clYellow
|
||
else if (i>=60) and (i<90) then
|
||
ACanvas.Brush.Color:=clRed
|
||
else
|
||
ACanvas.Brush.Color:=clGreen;
|
||
|
||
end;
|
||
|
||
end; }
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.Tv2StylesGetContentStyle(
|
||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
var
|
||
Id,Id10,Id20,Id30,i:Integer;
|
||
|
||
begin
|
||
try
|
||
if Tv2.GroupedItemCount=0 then
|
||
begin
|
||
Id:=TV2.GetColumnByFieldName('SKYBMoney').Index;//;-TV1.GroupedItemCount;
|
||
Id10:=TV2.GetColumnByFieldName('Qty').Index;
|
||
Id20:=TV2.GetColumnByFieldName('CRTime').Index;
|
||
Id30:=TV2.GetColumnByFieldName('SKBBMoney').Index;
|
||
if (ARecord.Values[Id]=0) and (ARecord.Values[Id30]=0) then
|
||
begin
|
||
if ARecord.Values[Id10]>0 then
|
||
begin
|
||
i:=FDate-ARecord.Values[Id20];
|
||
if (i<30) and (i>0) then
|
||
begin
|
||
|
||
end else
|
||
if (i>=30) and (i<60) then
|
||
AStyle:=DataLink_YSYF.QHuangSe
|
||
else if (i>=60) and (i<90) then
|
||
|
||
AStyle:=DataLink_YSYF.Red
|
||
else
|
||
|
||
AStyle:=DataLink_YSYF.Green;
|
||
|
||
end;
|
||
|
||
end;
|
||
end else
|
||
begin
|
||
|
||
end;
|
||
except
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYSHZMXView.OrderNoKeyPress(Sender: TObject; var Key: Char);
|
||
var
|
||
fsj:string;
|
||
begin
|
||
if Key=#13 then
|
||
begin
|
||
fsj:='';
|
||
if Length(Trim(OrderNo.Text))<3 then Exit;
|
||
fsj:=' and A.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+'''';
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered:=False;
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' exec P_OrderNo_YSK_View :begdate,:enddate,:WSql');
|
||
Parameters.ParamByName('begdate').Value:='2000-01-01';
|
||
Parameters.ParamByName('Enddate').Value:='2050-10-10';
|
||
if Trim(DParameters1)<>'<27><><EFBFBD><EFBFBD>' then
|
||
Parameters.ParamByName('WSql').Value:=fsj+' and A.Filler='''+Trim(DName)+''''
|
||
else
|
||
Parameters.ParamByName('WSql').Value:=fsj+'';
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain,CDS_HZ);
|
||
SInitCDSData20(ADOQueryMain,CDS_HZ);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
end.
|