D7zzXiangHeng/应收应付2/U_YSCR.pas
DESKTOP-E401PHE\Administrator 0026e9e246 0
2025-08-08 10:42:50 +08:00

589 lines
15 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_YSCR;
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, cxDropDownEdit, Menus, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu;
type
TfrmYSCR = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: 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;
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;
TBADd: TToolButton;
VHL: TcxGridDBColumn;
VBZ: TcxGridDBColumn;
VYB: TcxGridDBColumn;
VBB: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
Tchk: TToolButton;
Tnochk: TToolButton;
cxTabControl1: TcxTabControl;
ToolButton3: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column4: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Price: TcxGridDBColumn;
v1Money: TcxGridDBColumn;
v1note: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
CDS_YFS: TClientDataSet;
DS_YFS: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
v1Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label5: TLabel;
ranchang: TEdit;
Label7: TLabel;
FtySYRName: TEdit;
lblqsqk: TLabel;
ishs: TComboBox;
Label4: TLabel;
Tv1Column1: 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 FactoryNameChange(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure TBADdClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure YFGSTypeChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure v2Column5PropertiesEditValueChanged(Sender: TObject);
procedure ishsChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure SetStatus();
public
{ Public declarations }
FCYID: string;
fmanage: string;
end;
var
frmYSCR: TfrmYSCR;
implementation
uses
U_DataLink, U_Fun, U_SXCKNewList, U_YSSCList, U_YsScXsList, U_YSKInput,
U_XXFPHXList;
{$R *.dfm}
procedure TfrmYSCR.SetStatus();
var
i: integer;
begin
Tchk.Visible := false;
TNochk.Visible := false;
TBDel.Visible := false;
ToolButton3.Visible := false;
case cxTabControl1.TabIndex of
0:
begin
Tchk.Visible := true;
TBDel.Visible := true;
ToolButton3.Visible := True;
end;
1:
begin
TNochk.Visible := true;
end;
end;
// IF fmanage='<27><>Ȩ<EFBFBD><C8A8>' then
// begin
//
//
// end
// else
// begin
//
// end;
end;
procedure TfrmYSCR.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from YF_Money_CR A');
sql.Add(' where A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
sql.Add(' and CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
sql.Add(' and A.CRType='<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ');
// if cxTabControl1.TabIndex < 2 then
// sql.Add(' and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
end;
procedure TfrmYSCR.FormDestroy(Sender: TObject);
begin
frmYSCR := nil;
end;
procedure TfrmYSCR.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmYSCR.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv11', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYSCR.TBDelClick(Sender: TObject);
var
FBBMoney, CRID: string;
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;
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 CDS_HZ do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete YF_Money_CR where YFID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + '''');
sql.Add('delete YF_Money_CR_Sub where YFID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + '''');
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
ADOQueryCmd.Connection.CommitTrans;
except
CDS_HZ.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmYSCR.FormShow(Sender: TObject);
var
fsj: string;
begin
ReadCxGrid(trim(self.Caption) + 'Tv11', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime := SGetServerDate(ADOQueryTemp);
begdate.DateTime := Enddate.DateTime;
fsj := 'select distinct(YFGSType) name from YF_Money_CR where CRType='<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ';
// SInitComBoxBySql(ADOQueryCmd, YFGSType, False, fsj);
// SetStatus();
InitGrid();
end;
procedure TfrmYSCR.TBRafreshClick(Sender: TObject);
begin
begdate.SetFocus;
InitGrid();
end;
procedure TfrmYSCR.ToolButton2Click(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 TfrmYSCR.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYSCR.Button2Click(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;
if Trim(CDS_HZ.fieldbyname('SubID').AsString) <> '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete YCL_SG_HZ where SubID=''' + Trim(CDS_HZ.fieldbyname('SubID').AsString) + '''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
end;
procedure TfrmYSCR.TBADdClick(Sender: TObject);
begin
try
frmYSKInput := TfrmYSKInput.Create(self);
with frmYSKInput do
begin
FYFID := '';
if showmodal = 1 then
begin
initGrid();
end;
end;
finally
frmYSKInput.free;
end;
end;
procedure TfrmYSCR.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv2, ADOQueryMain, <>տ<EFBFBD><D5BF>б<EFBFBD>');
end;
procedure TfrmYSCR.cxTabControl1Change(Sender: TObject);
begin
// SetStatus();
InitGrid();
end;
procedure TfrmYSCR.FormCreate(Sender: TObject);
begin
cxGrid2.Align := alclient;
end;
procedure TfrmYSCR.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 then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YF_Money_CR SET status=''1'' ');
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 TfrmYSCR.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 then
begin
if Fieldbyname('HZFPHX').AsFloat > 0 then
begin
ADOQueryCmd.Connection.RollbackTrans;
EnableControls;
application.MessageBox('<27><><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD>Ѻ<EFBFBD><D1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YF_Money_CR SET status=''0'' ');
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 TfrmYSCR.ToolButton3Click(Sender: TObject);
begin
if CDS_HZ.fieldbyname('ssel').value <> true then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ݲ<EFBFBD>׼ȷ!', '<27><>ʾ', 0);
Exit;
end;
try
frmYSKInput := TfrmYSKInput.Create(self);
with frmYSKInput do
begin
FYFID := Trim(CDS_HZ.fieldbyname('YFID').AsString);
FMONEY := CDS_HZ.fieldbyname('BBMoney').AsFLOAT;
// ToolButton1.Visible := false;
if showmodal = 1 then
begin
initGrid();
end;
end;
finally
frmYSKInput.free;
end;
end;
procedure TfrmYSCR.N1Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value := TRUE;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmYSCR.N2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value := FALSE;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmYSCR.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select *,chejian=(select top 1 jhchejian from cloth_sub C WHERE C.SUBID=(SELECT TOP 1 SUBID FROM CK_PBCP_CR B WHERE B.CKOrdNo=A.yfpzno)) from YF_Money_CR_SUB A');
sql.Add('where YFID=' + Quotedstr(Trim(CDS_HZ.fieldbyname('YFID').AsString)));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_YFS);
SInitCDSData20(ADOQueryTemp, CDS_YFS);
end;
procedure TfrmYSCR.YFGSTypeChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYSCR.Tv1DblClick(Sender: TObject);
begin
frmXXFPHXList := TfrmXXFPHXList.create(self);
with frmXXFPHXList do
begin
FTONO := TRIM(CDS_YFS.Fieldbyname('YFSID').AsString);
FFromNo := '';
if showmodal = 1 then
begin
end;
free;
end;
end;
procedure TfrmYSCR.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_YffK_SQQK ');
sql.Add(' @begdate=''' + FormatDateTime('yyyy-MM-dd', CDS_HZ.fieldbyname('CRTIME').AsDateTime) + ''' ');
sql.Add(' ,@FactoryName = ' + quotedstr(Trim(CDS_HZ.fieldbyname('FactoryName').ASSTRING)));
sql.Add(' ,@YFID =' + quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString)));
Open;
end;
lblqsqk.Caption := '<27><><EFBFBD><EFBFBD>Ƿ<EFBFBD>' + FloatToStr(ADOQueryCmd.fieldbyname('sqqk').ASFLOAT);
//- CDS_HZ.fieldbyname('BBMoney').ASFLOAT)
end;
procedure TfrmYSCR.v2Column5PropertiesEditValueChanged(Sender: TObject);
var
mvale: Boolean;
fsj: string;
begin
mvale := TcxCheckBox(Sender).EditingValue;
if mvale = True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_YffK_SQQK ');
sql.Add(' @begdate=''' + FormatDateTime('yyyy-MM-dd', CDS_HZ.fieldbyname('CRTIME').AsDateTime) + ''' ');
sql.Add(' ,@FactoryName = ' + quotedstr(Trim(CDS_HZ.fieldbyname('FactoryName').ASSTRING)));
sql.Add(' ,@YFID =' + quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString)));
// ShowMessage(SQL.Text);
Open;
end;
lblqsqk.Caption := '<27><><EFBFBD><EFBFBD>Ƿ<EFBFBD>' + ADOQueryCmd.fieldbyname('sqqk').AsString;
end;
end;
procedure TfrmYSCR.ishsChange(Sender: TObject);
begin
ToolButton2.Click;
end;
end.