D7myYunxiang/云翔生产管理(MYSC.dll)/U_CKCR_TJCX.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

314 lines
9.3 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_CKCR_TJCX;
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, cxPC, cxGridBandedTableView,
cxGridDBBandedTableView, cxLookAndFeels, cxLookAndFeelPainters,
dxBarBuiltInMenu, cxNavigator,dxCore,ActiveX;
type
TfrmCKCR_TJCX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
ADOQueryMain: TADOQuery;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
cxTabControl1: TcxTabControl;
Panel2: TPanel;
Label2: TLabel;
begdate: TDateTimePicker;
Panel4: TPanel;
RadioGroup1: TRadioGroup;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v1CRTime: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Panel3: TPanel;
Label5: TLabel;
FBegDate: TDateTimePicker;
FEndDate: TDateTimePicker;
CheckBox1: TCheckBox;
ADOQuery1: TADOQuery;
v2CRType: TcxGridDBColumn;
v2MYName: 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 FactoryNameGYSChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure v2Column6HeaderClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fDParameters1:string;
{ Public declarations }
RKFlag,FCYID:String;
FDate1:TDateTime;
end;
var
frmCKCR_TJCX: TfrmCKCR_TJCX;
implementation
uses
U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_MYSC_CKTJ;
{$R *.dfm}
procedure TfrmCKCR_TJCX.InitGrid();
var
FYue,FDate:string;
FInt:Integer;
FHuiLv:Double;
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;
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;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
if RadioGroup1.ItemIndex=0 then
begin
sql.Add('select A.CRTime,A.MYName,A.CRType,Sum(GangQty) GangQty,Sum(PS) PS');
sql.Add(',Sum(KgQty) KgQty,Sum(Qty) Qty');
sql.Add(' from CK_MYSC_CR A');
sql.Add(' inner join ML_Manage B on A.MLID=B.MLID ');
sql.Add(' where convert(varchar(7),A.CRTime,120)='''+Trim(FDate)+'''');
sql.Add(' group by A.CRTime,A.MYName,A.CRType order by A.CRTime');
end
else
begin
sql.Add('select A.CRTime,A.MYName,A.CRType,Sum(GangQty) GangQty,Sum(PS) PS');
sql.Add(',Sum(KgQty) KgQty,Sum(Qty) Qty');
sql.Add(' from CK_MYSC_CR A');
sql.Add(' inner join ML_Manage B on A.MLID=B.MLID ');
if CheckBox1.Checked=false then
begin
sql.Add('where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',FDate1))+'''');
sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',FDate1+1))+'''');
end
else
begin
sql.Add(' where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',FBegDate.Date))+'''');
sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',FendDate.Date+1))+'''');
end;
sql.Add(' group by A.CRTime,A.MYName,A.CRType order by A.CRTime');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKCR_TJCX.FormDestroy(Sender: TObject);
begin
frmCKCR_TJCX:=nil;
end;
procedure TfrmCKCR_TJCX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCKCR_TJCX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<>տ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmCKCR_TJCX.FormShow(Sender: TObject);
var
fstr:string;
begin
ReadCxGrid(<>տ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
Fbegdate.DateTime:=SGetServerDate(ADOQueryTemp);
FEndDate.Date:=Fbegdate.DateTime;
FDate1:=SGetServerDate(ADOQuery1);
fstr:=Trim(FormatDateTime('MM',begdate.Date));
cxTabControl1.TabIndex:=StrToInt(fstr)-1;
Panel3.Visible:=False;
// InitGrid();
end;
procedure TfrmCKCR_TJCX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCKCR_TJCX.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel4,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmCKCR_TJCX.FactoryNameGYSChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmCKCR_TJCX.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
//SelExportData(Tv2,ADOQueryMain,'Ӧ<>տ<EFBFBD><D5BF>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
TcxGridToExcel(<>տ<EFBFBD><D5BF>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmCKCR_TJCX.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
try
frmMYSC_CKTJ:=TfrmMYSC_CKTJ.Create(Application);
with frmMYSC_CKTJ do
begin
FMX:='99';
PState:=Self.RadioGroup1.ItemIndex;
if Self.RadioGroup1.ItemIndex=0 then
begin
frmMYSC_CKTJ.begdate.DateTime:=Self.begdate.DateTime;
frmMYSC_CKTJ.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex;
//frmMYSC_CKTJ.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
frmMYSC_CKTJ.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmMYSC_CKTJ.FEnddate.DateTime:=Self.FEnddate.DateTime;
end else
if Self.RadioGroup1.ItemIndex=1 then
begin
frmMYSC_CKTJ.begdate.DateTime:=Self.begdate.DateTime;
frmMYSC_CKTJ.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmMYSC_CKTJ.FEnddate.DateTime:=Self.FEnddate.DateTime;
//frmMYSC_CKTJ.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
end;
//frmMYSC_CKTJ.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString;
frmMYSC_CKTJ.Align:=alClient;
if ShowModal=1 then
begin
end;
end;
finally
frmMYSC_CKTJ.Free;
end;
end;
procedure TfrmCKCR_TJCX.ToolButton3Click(Sender: TObject);
var
filepath,fsj:string;
mBegdate,mEnddate:string;
FName,FNameSX,FNameJX:String;
i:Integer;
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\Ӧ<>տ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><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['begDate'] :=mbegdate;
RM1.LoadFromFile(filepath);
RM1.ShowReport;
finally
end;
end;
procedure TfrmCKCR_TJCX.v2Column6HeaderClick(Sender: TObject);
var
FName,FNameSX,FNameJX:String;
begin
FName:=TcxGridDBColumn(Sender).DataBinding.FilterFieldName;
FNameSX:=Trim(FName)+'-1';
FNameJX:=Trim(FName)+'-2';
CDS_HZ.AddIndex(FNameSX, FName, []); { <20><><EFBFBD><EFBFBD> }
CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); { <20><><EFBFBD><EFBFBD> }
if TcxGridDBColumn(Sender).SortOrder=soDescending then
begin
CDS_HZ.IndexName:=FNameSX;
end else
if TcxGridDBColumn(Sender).SortOrder=soAscending then
begin
CDS_HZ.IndexName:=FNameJX;
end;
end;
procedure TfrmCKCR_TJCX.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;
procedure TfrmCKCR_TJCX.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.