D10gmBitao/A01基础公司管理/U_GCFactory.pas

267 lines
7.0 KiB
ObjectPascal
Raw Normal View History

2025-04-11 10:54:54 +08:00
unit U_GCFactory;
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, cxDBLookupComboBox, ComObj, cxGridBandedTableView,
cxGridDBBandedTableView, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, U_BaseList,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu;
type
FdDy = record
inc: integer; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>־<EFBFBD><D6BE><EFBFBD>
FDdys: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
FdDysName: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
end;
TfrmGCFactory = class(TFrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
CoName: TEdit;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
OpenDialog1: TOpenDialog;
cxGrid1: TcxGrid;
TV1: TcxGridDBBandedTableView;
cxGridDBBandedColumn51: TcxGridDBBandedColumn;
cxGridDBBandedColumn52: TcxGridDBBandedColumn;
cxGridDBBandedColumn56: TcxGridDBBandedColumn;
cxGridDBBandedColumn57: TcxGridDBBandedColumn;
cxGridDBBandedColumn59: TcxGridDBBandedColumn;
cxGridDBBandedColumn61: TcxGridDBBandedColumn;
cxGridDBBandedColumn62: TcxGridDBBandedColumn;
cxGridDBBandedColumn63: TcxGridDBBandedColumn;
cxGridDBBandedColumn64: TcxGridDBBandedColumn;
cxGridDBBandedColumn81: TcxGridDBBandedColumn;
cxGridDBBandedColumn87: TcxGridDBBandedColumn;
V1Column6: TcxGridDBBandedColumn;
V1Column4: TcxGridDBBandedColumn;
V1Column5: TcxGridDBBandedColumn;
V1Column10: TcxGridDBBandedColumn;
cxGridLevel2: TcxGridLevel;
V1Column1: TcxGridDBBandedColumn;
ToolButton3: TToolButton;
ToolButton1: TToolButton;
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 CoNameChange(Sender: TObject);
procedure TBuserClick(Sender: TObject);
procedure cxGridDBBandedColumn64PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
dFdDy: array[0..30] of FdDy;
{ Private declarations }
procedure InitGrid();
procedure InsertMG(MCoid: string);
public
end;
var
frmGCFactory: TfrmGCFactory;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_ZdyAttachGYS;
{$R *.dfm}
procedure TfrmGCFactory.InsertMG(MCoid: string);
var
MaxId: string;
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(' from Company_GCFY A ');
sql.Add(' where FromCoID=' + quotedstr(Trim(MCoid)));
Open;
end;
if ADOQueryTemp.isempty then
begin
if GetLSNo(ADOQueryCmd, MaxId, 'CO', 'Company', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' insert into Company_GCFY(FromCoID,FYID) ');
sql.Add(' values(' + quotedstr(Trim(MCoid)) + ',' + quotedstr(Trim(MaxId)) + ') ');
ExecSQL;
end;
with CDS_HZ do
begin
Edit;
FieldByName('FYID').Value := Trim(MaxId);
Post;
end;
end;
end;
procedure TfrmGCFactory.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select A.*,B.* ');
sql.Add(' from Company A inner join Company_GCFY B on A.COID=B.FromCoID ');
sql.Add(' where CoType=''<27><>Ӧ<EFBFBD><D3A6>'' and Valid=''Y'' ');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmGCFactory.FormDestroy(Sender: TObject);
begin
inherited;
frmGCFactory := nil;
end;
procedure TfrmGCFactory.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmGCFactory.TBCloseClick(Sender: TObject);
begin
WriteCxBandedGrid(trim(self.caption), Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
Close;
end;
procedure TfrmGCFactory.FormShow(Sender: TObject);
begin
inherited;
ReadCxBandedGrid(trim(self.Caption), Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmGCFactory.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmGCFactory.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmGCFactory.CoNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmGCFactory.TBuserClick(Sender: TObject);
var
FuserName: string;
begin
end;
procedure TfrmGCFactory.cxGridDBBandedColumn64PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
if mvalue = '' then
mvalue := '0';
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Company_GCFY set ' + FFieldName + '=' + (Trim(mvalue)));
sql.Add('where FYID=' + quotedstr(Trim(CDS_HZ.fieldbyname('FYID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmGCFactory.ToolButton3Click(Sender: TObject);
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal = 1 then
begin
InsertMG(Trim(CDS_HZ.fieldbyname('COID').AsString));
end;
end;
finally
frmZdyAttachGYS.Free;
end;
InitGrid();
end;
procedure TfrmGCFactory.ToolButton1Click(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('COID').AsString) <> '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete Company_GCFY where FYID=''' + Trim(CDS_HZ.fieldbyname('FYID').AsString) + '''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
end;
end.