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

399 lines
11 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_MYSC_CKTJ;
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,DateUtils,
cxButtonEdit, cxTextEdit, cxDropDownEdit, RM_e_Xls, BtnEdit, cxPC;
type
TfrmMYSC_CKTJ = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label4: TLabel;
OrdDefNote3: TComboBox;
ToolButton3: TToolButton;
RMXLSExport1: TRMXLSExport;
Panetime: TPanel;
cxTabControl1: TcxTabControl;
Panel2: TPanel;
begdate: TDateTimePicker;
Panel3: TPanel;
Label1: TLabel;
FBegDate: TDateTimePicker;
FEndDate: TDateTimePicker;
Panel4: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v1Column9: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
v1LJQty: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
RadioGroup1: TRadioGroup;
Label34: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
MYCode: TEdit;
MYName: TEdit;
Note: TEdit;
GYLXName: TEdit;
Label7: TLabel;
MYColor: TEdit;
Label8: TLabel;
Edit1: TEdit;
Label9: TLabel;
Edit2: TEdit;
CheckBox1: TCheckBox;
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 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);
procedure MYNameChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure DateSel(FMonth:string);
public
{ Public declarations }
RKFlag,FCYID:String;
fType,FMX:string;
PState:Integer;
end;
var
frmMYSC_CKTJ: TfrmMYSC_CKTJ;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_RTFun,U_ZdyAttachGYS, U_KHListSelJJ;
{$R *.dfm}
procedure TfrmMYSC_CKTJ.DateSel(FMonth:string);
var FYMD:Tdatetime;
FRQ:string;
i:Integer;
begin
{FYMD:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-'+FMonth+'-01');
FRQ:=FormatDateTime('dd',EndOfTheMonth(FYMD));
cxTabControl2.Tabs.Clear;
for i:=0 to StrToInt(FRQ)-1 do
begin
cxTabControl2.Tabs.Add(' '+IntToStr(i+1)+'<27><>');
end;}
end;
procedure TfrmMYSC_CKTJ.InitGrid();
var
FYue,FRQ,FDate,Fdate1:string;
FInt,Fint1: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;
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;
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_Ysk_CKMonth :FDate,:MYName,:GYLXName,:MYCode,:Note,:MYColor');
Parameters.ParamByName('FDate').Value:=Trim(Fdate);
if Trim(MYName.Text)='' then
Parameters.ParamByName('MYName').Value:=NULL
else
Parameters.ParamByName('MYName').Value:=Trim(MYName.Text);
if Trim(GYLXName.Text)='' then
Parameters.ParamByName('GYLXName').Value:=NULL
else
Parameters.ParamByName('GYLXName').Value:=Trim(GYLXName.Text);
if Trim(MYCode.Text)='' then
Parameters.ParamByName('MYCode').Value:=NULL
else
Parameters.ParamByName('MYCode').Value:=Trim(MYCode.Text);
if Trim(Note.Text)='' then
Parameters.ParamByName('Note').Value:=NULL
else
Parameters.ParamByName('Note').Value:=Trim(Note.Text);
if Trim(MYColor.Text)='' then
Parameters.ParamByName('MYColor').Value:=NULL
else
Parameters.ParamByName('MYColor').Value:=Trim(MYColor.Text);
end else
if RadioGroup1.ItemIndex=1 then
begin
sql.Add(' exec P_Qry_Ysk_CK :FBegDate,:FEndDate,:MYName,:GYLXName,:MYCode,:Note,:MYColor');
Parameters.ParamByName('FBegdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FBegDate.Date));
Parameters.ParamByName('FEndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FEndDate.Date+1));
if Trim(MYName.Text)='' then
Parameters.ParamByName('MYName').Value:=NULL
else
Parameters.ParamByName('MYName').Value:=Trim(MYName.Text);
if Trim(GYLXName.Text)='' then
Parameters.ParamByName('GYLXName').Value:=NULL
else
Parameters.ParamByName('GYLXName').Value:=Trim(GYLXName.Text);
if Trim(MYCode.Text)='' then
Parameters.ParamByName('MYCode').Value:=NULL
else
Parameters.ParamByName('MYCode').Value:=Trim(MYCode.Text);
if Trim(Note.Text)='' then
Parameters.ParamByName('Note').Value:=NULL
else
Parameters.ParamByName('Note').Value:=Trim(Note.Text);
if Trim(MYColor.Text)='' then
Parameters.ParamByName('MYColor').Value:=NULL
else
Parameters.ParamByName('MYColor').Value:=Trim(MYColor.Text);
end;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
Panetime.Visible:=false;
screen.Cursor:=crdefault;
end;
end;
procedure TfrmMYSC_CKTJ.FormDestroy(Sender: TObject);
begin
frmMYSC_CKTJ:=nil;
end;
procedure TfrmMYSC_CKTJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmMYSC_CKTJ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<>տ<EFBFBD><D5BF><EFBFBD><EFBFBD>˵<EFBFBD>YX1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmMYSC_CKTJ.FormShow(Sender: TObject);
var
fstr,FRQ:string;
begin
ReadCxGrid(<>տ<EFBFBD><D5BF><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;
FBegDate.Date:=SGetServerDate(ADOQueryCmd)-7;
FEndDate.Date:=SGetServerDate(ADOQueryCmd);
InitGrid();
end;
end;
procedure TfrmMYSC_CKTJ.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmMYSC_CKTJ.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,self.Caption);
end;
procedure TfrmMYSC_CKTJ.FormCreate(Sender: TObject);
begin
cxGrid2.Align:=AlClient;
end;
procedure TfrmMYSC_CKTJ.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\Ӧ<>տ<EFBFBD><D5BF><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 TfrmMYSC_CKTJ.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 TfrmMYSC_CKTJ.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 TfrmMYSC_CKTJ.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 TfrmMYSC_CKTJ.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMYSC_CKTJ.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 TfrmMYSC_CKTJ.MYNameChange(Sender: TObject);
begin
InitGrid();
end;
end.