D7snShanfengT/应收应付/U_FKDFKList.pas

497 lines
13 KiB
ObjectPascal
Raw Normal View History

2026-02-26 09:41:35 +08:00
unit U_FKDFKList;
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, cxCurrencyEdit, Menus, cxDropDownEdit,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle,
dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary,
dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin,
dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter,
dxBarBuiltInMenu, cxNavigator;
type
TfrmFKDFKList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
Label1: TLabel;
YFName: TEdit;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
FactoryName: TEdit;
Label2: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
cxTabControl1: TcxTabControl;
Tchk: TToolButton;
TNochk: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
CheckBox1: TCheckBox;
Label10: TLabel;
Label12: TLabel;
Label6: TLabel;
Note: TEdit;
ToolButton3: TToolButton;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Ssel: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2FKNo: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
v2FactoryName: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
v2KPType: TcxGridDBColumn;
VYB: TcxGridDBColumn;
v2PayMent: TcxGridDBColumn;
VBZ: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Chkstatus: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2IFSC: TcxGridDBColumn;
VHL: TcxGridDBColumn;
VBB: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label8: TLabel;
SQType: TComboBox;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
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 ToolButton2Click(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ComTaitouChange(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TNochkClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure v2SselPropertiesChange(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure v2Column6PropertiesEditValueChanged(Sender: TObject);
procedure v2Column7PropertiesEditValueChanged(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure SetStatus();
public
fflag:integer;
{ Public declarations }
RKFlag,FCYID,fmanage:String;
end;
var
frmFKDFKList: TfrmFKDFKList;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp, U_ProductOrderList, U_ProductOrderNewList,
U_PbProductList, U_ZdyAttachGYS,U_FjList_RZ,U_RTFun;
{$R *.dfm}
procedure TfrmFKDFKList.SetStatus();
var
i:integer;
begin
Tchk.Enabled:=false;
TNochk.Enabled:=false;
cxTabControl1.Visible:=false;
for i:=0 to tv2.ColumnCount-1 do
begin
IF uppercase(tv2.Columns[i].DataBinding.FieldName)<>'SSEL' then
tv2.Columns[i].Options.Editing:=false;
end;
if fmanage<>'<27><>ѯ' then
begin
cxTabControl1.Visible:=true;
if cxTabControl1.TabIndex=0 then
begin
Tchk.Enabled:=true;
end;
if cxTabControl1.TabIndex=1 then
begin
TNochk.Enabled:=true;
end;
end
else
begin
cxTabControl1.TabIndex:=1;
end;
end;
procedure TfrmFKDFKList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select A.*,KHZJM=dbo.getPinYin(A.FactoryName)');
sql.Add(',IFSC=(Case when isnull((select Top 1 C.WBID from TP_File C where C.WBID=A.YFID),'''')='''' then '''' else ''<27><>'' end)');
sql.Add(' from YF_Money_CR A');
sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
sql.Add(' and isnull(SQType,'''')<>'''' ');
IF cxTabControl1.TabIndex=0 then
sql.Add(' and A.status=''2'' ');
IF cxTabControl1.TabIndex=1 then
sql.Add(' and A.status=''3'' ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
label12.Caption:='0';
finally;
ADOQueryMain.EnableControls;
//ToolButton2.Click;
end;
end;
procedure TfrmFKDFKList.FormDestroy(Sender: TObject);
begin
frmFKDFKList:=nil;
end;
procedure TfrmFKDFKList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmFKDFKList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
Close;
end;
procedure TfrmFKDFKList.FormShow(Sender: TObject);
begin
fflag:=0;
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
SetStatus();
InitGrid();
end;
procedure TfrmFKDFKList.TBRafreshClick(Sender: TObject);
begin
toolbar1.SetFocus;
InitGrid();
end;
procedure TfrmFKDFKList.ToolButton2Click(Sender: TObject);
var
fsj:string;
begin
Label12.Caption:='0';
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmFKDFKList.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmFKDFKList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmFKDFKList.ComTaitouChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmFKDFKList.TchkClick(Sender: TObject);
begin
IF CDS_HZ.IsEmpty then exit;
if CDS_HZ.Locate('ssel',true,[])=false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
DisableControls;
First;
while not eof do
begin
IF Fieldbyname('ssel').AsBoolean=true then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YF_Money_CR SET status=''3'',FKPerson='''+trim(DName)+''',FKTime=getdate(),FKStatus=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>'' ');
sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
ADOQueryCmd.Connection.CommitTrans;
except;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmFKDFKList.TNochkClick(Sender: TObject);
begin
IF CDS_HZ.IsEmpty then exit;
if CDS_HZ.Locate('ssel',true,[])=false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
DisableControls;
First;
while not eof do
begin
IF Fieldbyname('ssel').AsBoolean=true then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YF_Money_CR SET status=''2'',FKPerson=Null,FKStatus=Null,FKTime=Null ');
sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmFKDFKList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmFKDFKList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_HZ,True);
end;
procedure TfrmFKDFKList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_HZ,false);
end;
procedure TfrmFKDFKList.CheckBox1Click(Sender: TObject);
begin
Label12.Caption:='0';
IF CDS_HZ.IsEmpty then exit;
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value:=checkbox1.Checked;
if checkbox1.Checked=true then
begin
Label12.Caption:=floattostr(strtofloat(Label12.Caption)+fieldbyname('Money').AsCurrency);
end;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmFKDFKList.v2SselPropertiesChange(Sender: TObject);
begin
HJ(CDS_HZ,Label12,CDS_HZ.fieldbyname('Money').AsCurrency);
end;
procedure TfrmFKDFKList.ToolButton3Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
try
frmFjList_RZ:=TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
fkeyNO:=Trim(Self.CDS_HZ.fieldbyname('YFID').AsString);
fType:='<27><>ͬ';
if ShowModal=1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
procedure TfrmFKDFKList.v2Column6PropertiesEditValueChanged(
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 YF_Money_CR ');
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 YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmFKDFKList.v2Column7PropertiesEditValueChanged(
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 YF_Money_CR ');
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 YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmFKDFKList.v2Column8PropertiesEditValueChanged(
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 YF_Money_CR ');
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 YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+'''');
ExecSQL;
end;
end;
end.