D10gmBitao/A01基础公司管理/U_MGFactory.pas
DESKTOP-E401PHE\Administrator 630f9184a2 12345
2025-04-11 10:54:54 +08:00

269 lines
7.1 KiB
ObjectPascal

unit U_MGFactory;
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,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu,U_BaseList;
type
FdDy = record
inc: integer; //客户端套接字句柄
FDdys: string[32]; //客户端套接字
FdDysName: string[32]; //客户端套接字
end;
TfrmMGFactory = class(TFrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton1: TToolButton;
OpenDialog1: TOpenDialog;
cxGrid1: TcxGrid;
TV1: TcxGridDBBandedTableView;
cxGridDBBandedColumn51: TcxGridDBBandedColumn;
cxGridDBBandedColumn52: TcxGridDBBandedColumn;
cxGridDBBandedColumn56: TcxGridDBBandedColumn;
cxGridDBBandedColumn57: TcxGridDBBandedColumn;
cxGridDBBandedColumn59: TcxGridDBBandedColumn;
cxGridDBBandedColumn61: TcxGridDBBandedColumn;
cxGridDBBandedColumn62: TcxGridDBBandedColumn;
cxGridDBBandedColumn63: TcxGridDBBandedColumn;
cxGridDBBandedColumn64: TcxGridDBBandedColumn;
cxGridDBBandedColumn77: TcxGridDBBandedColumn;
cxGridDBBandedColumn81: TcxGridDBBandedColumn;
cxGridDBBandedColumn87: TcxGridDBBandedColumn;
cxGridDBBandedColumn91: TcxGridDBBandedColumn;
V1Column6: TcxGridDBBandedColumn;
V1Column4: TcxGridDBBandedColumn;
V1Column5: TcxGridDBBandedColumn;
V1Column3: TcxGridDBBandedColumn;
cxGridLevel2: TcxGridLevel;
V1Column1: TcxGridDBBandedColumn;
Panel1: TPanel;
Label3: TLabel;
CoName: TEdit;
ToolButton3: 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 ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
dFdDy: array[0..30] of FdDy;
{ Private declarations }
procedure InitGrid();
procedure InsertMG(MCoid: string);
public
end;
var
frmMGFactory: TfrmMGFactory;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_ZdyAttachGYS;
{$R *.dfm}
procedure TfrmMGFactory.InsertMG(MCoid: string);
var
MaxId: string;
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(' from Company_MGFY 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('取最大号失败!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' insert into Company_MGFY(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 TfrmMGFactory.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_MGFY B on A.COID=B.FromCoID ');
sql.Add(' where CoType=''供应商'' and Valid=''Y'' ');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmMGFactory.FormDestroy(Sender: TObject);
begin
inherited;
frmMGFactory := nil;
end;
procedure TfrmMGFactory.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmMGFactory.TBCloseClick(Sender: TObject);
begin
WriteCxBandedGrid(trim(self.caption), Tv1, '供应商管理');
Close;
end;
procedure TfrmMGFactory.FormShow(Sender: TObject);
begin
inherited;
ReadCxBandedGrid(trim(self.Caption), Tv1, '供应商管理管理');
InitGrid();
end;
procedure TfrmMGFactory.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMGFactory.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 TfrmMGFactory.CoNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmMGFactory.TBuserClick(Sender: TObject);
var
FuserName: string;
begin
end;
procedure TfrmMGFactory.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_MGFY set ' + FFieldName + '=' + (Trim(mvalue)));
sql.Add('where FYID=' + quotedstr(Trim(CDS_HZ.fieldbyname('FYID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmMGFactory.ToolButton1Click(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 TfrmMGFactory.ToolButton3Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if Application.MessageBox('确定要删除数据吗?', '提示', 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_MGFY where FYID=''' + Trim(CDS_HZ.fieldbyname('FYID').AsString) + '''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
end;
end.