D7myYunxiang/云翔财务(Money.dll)/U_YFMXlistMonDay.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

365 lines
9.9 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_YFMXlistMonDay;
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, RM_e_Xls, BtnEdit, cxPC, Menus;
type
TfrmYFMXlistMonDay = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxCRTime: TcxGridDBColumn;
cxMoneyYe: TcxGridDBColumn;
cxQty: TcxGridDBColumn;
cxQtyUnit: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Price: TcxGridDBColumn;
VMoney: TcxGridDBColumn;
v2BBMoney: TcxGridDBColumn;
v2MPRTCodeName: TcxGridDBColumn;
Label4: TLabel;
OrdDefNote3: TComboBox;
ToolButton3: TToolButton;
RMXLSExport1: TRMXLSExport;
v2Column1: TcxGridDBColumn;
v2note: TcxGridDBColumn;
Panetime: TPanel;
v2Column2: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
Panel2: TPanel;
Label2: TLabel;
begdate: TDateTimePicker;
Panel3: TPanel;
Label1: TLabel;
Label3: TLabel;
FBegDate: TDateTimePicker;
FEndDate: TDateTimePicker;
Panel4: TPanel;
Label5: TLabel;
factoryName: TBtnEditA;
RadioGroup1: TRadioGroup;
v2Column3: TcxGridDBColumn;
LabGYS: TLabel;
v2Column8: 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 ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure factoryNameBtnClick(Sender: TObject);
procedure v2Column3PropertiesEditValueChanged(Sender: TObject);
procedure v2Column3CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure ToFactoryNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
RKFlag,FCYID:String;
fType,FMX:string;
PState:Integer;
end;
var
frmYFMXlistMonDay: TfrmYFMXlistMonDay;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_RTFun,U_ZdyAttachGYS, U_KHListSelJJ,
U_GYSListSelJJ;
{$R *.dfm}
procedure TfrmYFMXlistMonDay.InitGrid();
var
FYue,FDate:string;
FInt:Integer;
begin
FInt:=cxTabControl1.TabIndex+1;
FYue:=Trim(IntToStr(FInt));
if FInt<10 then
begin
FYue:='0'+Trim(IntToStr(FInt));
end;
FDate:=Trim(FormatDateTime('yyyy',begdate.Date))+'-'+FYue;
if FMX='' then
begin
FBegDate.Date:=StrToDate(FDate+'-01');
if FInt=12 then
FEndDate.Date:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-12-31')
else
FEndDate.Date:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-'+Trim(IntToStr(FInt+1))+'-01')-1;
IF trim(factoryName.Text)='' then
begin
//application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>Ӧ<EFBFBD>̣<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
end;
screen.Cursor:=crsqlwait;
Panetime.Visible:=true;
Panetime.Left:=(Width-Panetime.Width) div 2;
Panetime.top:=(Height-Panetime.Height-200) div 2;
application.ProcessMessages;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
if RadioGroup1.ItemIndex=0 then
begin
sql.Add(' exec P_Qry_YFk_Month :FDate,:factoryNo');
Parameters.ParamByName('FDate').Value:=Trim(FDate);
Parameters.ParamByName('factoryNo').Value:=Trim(factoryName.TxtCode);
end else
if RadioGroup1.ItemIndex=1 then
begin
sql.Add(' exec P_Qry_YFk_Day :FBegDate,:FEndDate,:factoryNo');
Parameters.ParamByName('FBegdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FBegDate.Date));
Parameters.ParamByName('FEndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FEndDate.Date+1));
Parameters.ParamByName('factoryNo').Value:=Trim(factoryName.TxtCode);
end;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
Panetime.Visible:=false;
screen.Cursor:=crdefault;
end;
end;
procedure TfrmYFMXlistMonDay.FormDestroy(Sender: TObject);
begin
frmYFMXlistMonDay:=nil;
end;
procedure TfrmYFMXlistMonDay.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYFMXlistMonDay.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>YX1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYFMXlistMonDay.FormShow(Sender: TObject);
var
fstr:string;
begin
ReadCxGrid(<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>YX1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
if Trim(FMX)='' then
begin
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
fstr:=Trim(FormatDateTime('MM',begdate.Date));
cxTabControl1.TabIndex:=StrToInt(fstr)-1;
Panel3.Visible:=False;
end else
begin
RadioGroup1.ItemIndex:=PState;
if RadioGroup1.ItemIndex=0 then
begin
Panel2.Visible:=True;
Panel3.Visible:=False;
cxTabControl1.Visible:=True;
end else
if RadioGroup1.ItemIndex=1 then
begin
Panel2.Visible:=False;
Panel3.Visible:=True;
cxTabControl1.Visible:=False;
end;
InitGrid();
end;
end;
procedure TfrmYFMXlistMonDay.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmYFMXlistMonDay.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,self.Caption);
end;
procedure TfrmYFMXlistMonDay.FormCreate(Sender: TObject);
begin
cxGrid2.Align:=AlClient;
end;
procedure TfrmYFMXlistMonDay.ToolButton3Click(Sender: TObject);
var
filepath,fsj:string;
mBegdate,mEnddate:string;
begin
fsj:=cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption;
mbegdate:=FormatDateTime('yyyy',begdate.Date)+'<27><>'+Trim(Copy(fsj,3,Length(fsj)-2))+'<27><>';
if CDS_HZ.IsEmpty then exit;
try
filepath:=ExtractFilePath(Application.ExeName) + 'report\Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>YX.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>['+filepath+']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_IConError);
exit;
end;
RMVariables['dtxz'] :=FormatDateTime('yyyy-mm-dd',date());
RMVariables['zdr'] :=trim(DName);
RmVariables['begDate'] :=mbegdate;
RmVariables['endNum'] :=CDS_HZ.fieldbyname('MoneyYe').AsString;
RM1.LoadFromFile(filepath);
RM1.ShowReport;
finally
end;
end;
procedure TfrmYFMXlistMonDay.factoryNameBtnClick(Sender: TObject);
begin
try
frmGYSListSelJJ:=TfrmGYSListSelJJ.Create(Application);
with frmGYSListSelJJ do
begin
frmGYSListSelJJ.canshu2:='<27><>Ȩ<EFBFBD><C8A8>';
if ShowModal=1 then
begin
Self.factoryName.Text:=Trim(frmGYSListSelJJ.CDS_HZ.fieldbyname('KHNameJC').AsString);
Self.factoryName.TxtCode:=Trim(frmGYSListSelJJ.CDS_HZ.fieldbyname('KHNO').AsString);
end;
end;
finally
frmGYSListSelJJ.Free;
end;
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmYFMXlistMonDay.v2Column3PropertiesEditValueChanged(
Sender: TObject);
var
mvalue:Boolean;
begin
mvalue:=TcxCheckBox(Sender).EditValue;
with CDS_HZ do
begin
Edit;
FieldByName('DZFlag').Value:=mvalue;
end;
if mvalue=True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YF_Money_CR Set DZFlag=1,DZTime=getdate(),DZPerson='''+Trim(DName)+'''');
sql.Add(' where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
ExecSQL;
end;
end else
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YF_Money_CR Set DZFlag=0,DZTime=getdate(),DZPerson='''+Trim(DName)+'''');
sql.Add(' where YFID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+'''');
ExecSQL;
end;
end;
end;
procedure TfrmYFMXlistMonDay.v2Column3CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
id:Integer;
begin
Id:=TV2.GetColumnByFieldName('DZFlag').Index;//;-TV1.GroupedItemCount;
if Id<0 then Exit;
if AViewInfo.GridRecord.Values[Id]=True then
begin
ACanvas.Brush.Color:=clRed;
end;
end;
procedure TfrmYFMXlistMonDay.ToFactoryNameChange(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 TfrmYFMXlistMonDay.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYFMXlistMonDay.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then
begin
Panel2.Visible:=True;
Panel3.Visible:=False;
cxTabControl1.Visible:=True;
end else
if RadioGroup1.ItemIndex=1 then
begin
Panel2.Visible:=False;
Panel3.Visible:=True;
cxTabControl1.Visible:=False;
end;
InitGrid();
end;
end.