D7gmYongjin/BI(BIView.dll)/U_JinDuDJ.pas

568 lines
15 KiB
ObjectPascal
Raw Permalink Normal View History

2026-03-04 09:51:44 +08:00
unit U_JinDuDJ;
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, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator;
type
TfrmJinDuDJ = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
VYB: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
ToolButton4: TToolButton;
CheckBox1: TCheckBox;
ToolButton5: TToolButton;
v2Column4: TcxGridDBColumn;
Panel2: TPanel;
v2Column5: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Tv2Column4: TcxGridDBColumn;
Tv2Column5: TcxGridDBColumn;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Tv2Column6: TcxGridDBColumn;
Label7: TLabel;
Tv2Column7: TcxGridDBColumn;
Tv2Column8: TcxGridDBColumn;
Tv2Column9: TcxGridDBColumn;
Tv2Column10: TcxGridDBColumn;
Tv2Column11: TcxGridDBColumn;
Tv2Column12: TcxGridDBColumn;
Tv2Column13: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FactoryName10Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure v2Column1PropertiesEditValueChanged(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure VYBPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v2Column4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Tv2Column6CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure Label1DblClick(Sender: TObject);
procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v2Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
{ Private declarations }
procedure InitGrid();
function SaveData():Boolean;
public
canshu1:string;
end;
//var
//frmDiTuiDJ: TfrmDiTuiDJ;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_RTFun;
{$R *.dfm}
procedure TfrmJinDuDJ.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(' from JinDu_DJ A');
if CheckBox1.Checked then
begin
sql.Add('where A.QDDate>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and QDDate<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
end else
begin
sql.Add('where A.QDDate>=''2000-01-01'' ');
sql.Add(' and QDDate<''2500-01-01'' ');
end;
sql.Add(' and A.Valid=''Y'' ');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and A.FillNo='''+Trim(DCode)+'''');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
end;
procedure TfrmJinDuDJ.FormDestroy(Sender: TObject);
begin
//frmDiTuiDJ:=nil;
end;
procedure TfrmJinDuDJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmJinDuDJ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('1',Tv2,'<27><><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmJinDuDJ.TBDelClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' Update JinDu_DJ Set ValidTime=getdate(),Valider='''+Trim(DName)+''',Valid=''N'' ');
sql.Add(' where JDID='''+Trim(CDS_HZ.fieldbyname('JDID').AsString)+'''');
execsql;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_HZ.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmJinDuDJ.FormShow(Sender: TObject);
begin
ReadCxGrid('1',Tv2,'<27><><EFBFBD><EFBFBD>');
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
InitGrid();
end;
procedure TfrmJinDuDJ.TBRafreshClick(Sender: TObject);
begin
begdate.SetFocus;
InitGrid();
end;
procedure TfrmJinDuDJ.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmJinDuDJ.FactoryName10Change(Sender: TObject);
begin
ToolButton2.Click;
end;
function TfrmJinDuDJ.SaveData():Boolean;
var
maxId,CRID:String;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryCmd,maxId,'JD','JinDu_DJ',4,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from JinDu_DJ where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('JDID').Value:=Trim(maxId);
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillNo').Value:=Trim(DCode);
FieldByName('QDDate').Value:=formatdateTIme('yyyy-MM-dd',CDS_HZ.fieldbyname('QDDate').AsDateTime);
FieldByName('Valid').Value:='Y';
Post;
end;
with CDS_HZ do
begin
Edit;
FieldByName('JDID').Value:=Trim(maxId);
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
Result:=True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmJinDuDJ.ToolButton3Click(Sender: TObject);
begin
with Self.CDS_HZ do
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('QDDate').Value:=SGetServerDate(ADOQueryTemp);
Post;
end;
Self.SaveData();
end;
procedure TfrmJinDuDJ.v2Column1PropertiesEditValueChanged(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;
end;
procedure TfrmJinDuDJ.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmJinDuDJ.ToolButton4Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
begdate.SetFocus;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD>浱ǰѡ<C7B0>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from JinDu_DJ where JDID='''+Trim(CDS_HZ.fieldbyname('JDID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_HZ,'JinDu_DJ',7);
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JinDu_DJ Set ');
if Trim(CDS_HZ.fieldbyname('SSDate').AsString)<>'' then
begin
sql.Add(' BegFlag=1');
end else
begin
sql.Add(' BegFlag=0');
end;
if Trim(CDS_HZ.fieldbyname('OKDate').AsString)<>'' then
begin
sql.Add(' ,OKFlag=1');
end else
begin
sql.Add(' ,OKFlag=0');
end;
if Trim(CDS_HZ.fieldbyname('TDDate').AsString)<>'' then
begin
sql.Add(' ,TDFlag=1');
end else
begin
sql.Add(' ,TDFlag=0');
end;
sql.Add(',QKMoney=isnull(YSMoney,0)-isnull(SKMoney,0)');
sql.Add(' where JDID='''+Trim(CDS_HZ.fieldbyname('JDID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmJinDuDJ.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
begdate.SetFocus;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>浱ǰҳ<C7B0><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_HZ.DisableControls;
with CDS_HZ do
begin
First;
while not eof do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from JinDu_DJ where JDID='''+Trim(CDS_HZ.fieldbyname('JDID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
Edit;
RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_HZ,'JinDu_DJ',7);
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JinDu_DJ Set ');
if Trim(CDS_HZ.fieldbyname('SSDate').AsString)<>'' then
begin
sql.Add(' BegFlag=1');
end else
begin
sql.Add(' BegFlag=0');
end;
if Trim(CDS_HZ.fieldbyname('OKDate').AsString)<>'' then
begin
sql.Add(' ,OKFlag=1');
end else
begin
sql.Add(' ,OKFlag=0');
end;
if Trim(CDS_HZ.fieldbyname('TDDate').AsString)<>'' then
begin
sql.Add(' ,TDFlag=1');
end else
begin
sql.Add(' ,TDFlag=0');
end;
sql.Add(',QKMoney=isnull(YSMoney,0)-isnull(SKMoney,0)');
sql.Add(' where JDID='''+Trim(CDS_HZ.fieldbyname('JDID').AsString)+'''');
ExecSQL;
end;
next;
end;
end;
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
except
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmJinDuDJ.VYBPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='KF';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_HZ do
begin
Edit;
FieldByName('KF').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJinDuDJ.v2Column4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='LeiXing';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_HZ do
begin
Edit;
FieldByName('LeiXing').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJinDuDJ.Tv2Column6CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
id:Integer;
begin
Id:=TV2.GetColumnByFieldName('ColorName').Index;//;-TV1.GroupedItemCount;
if Id<0 then Exit;
if AViewInfo.GridRecord.Values[Id]='<27><>ɫ' then
begin
ACanvas.Brush.Color:=clBlue;
end else
if AViewInfo.GridRecord.Values[Id]='<27><>ɫ' then
begin
ACanvas.Brush.Color:=clRed;
end else
if AViewInfo.GridRecord.Values[Id]='<27><>ɫ' then
begin
ACanvas.Brush.Color:=clYellow;
end else
if AViewInfo.GridRecord.Values[Id]='<27><>ɫ' then
begin
ACanvas.Brush.Color:=clFuchsia;
end;
end;
procedure TfrmJinDuDJ.Label1DblClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JinDu_DJ Set ColorName='''+Trim(TLabel(Sender).Hint)+'''');
sql.Add(' where JDID='''+Trim(CDS_HZ.fieldbyname('JDID').AsString)+'''');
ExecSQL;
end;
with CDS_HZ do
begin
edit;
FieldByName('ColorName').Value:=Trim(TLabel(Sender).Hint);
Post;
end;
end;
procedure TfrmJinDuDJ.cxGridDBColumn3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='XS';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_HZ do
begin
Edit;
FieldByName('XS').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmJinDuDJ.v2Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='SS';
flagname:='ʵʩ';
if ShowModal=1 then
begin
with Self.CDS_HZ do
begin
Edit;
FieldByName('SS').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.