D7myYunxiang/样品新云翔(YPGLBOM.dll)/U_MLMange_CX.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

569 lines
15 KiB
ObjectPascal
Raw Permalink 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_MLMange_CX;
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, cxTextEdit,
cxButtonEdit;
type
TfrmMLMange_CX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryTree: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel1: TPanel;
Label2: TLabel;
MLNo: TEdit;
ToolButton2: TToolButton;
Label1: TLabel;
MLName: TEdit;
DataSource2: TDataSource;
ADOQueryMain: TADOQuery;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
Panel2: TPanel;
cxGrid3: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
TVBPName: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
cxGrid4: TcxGrid;
TV3: TcxGridDBTableView;
V2BPSeHao: TcxGridDBColumn;
V2BPCol: TcxGridDBColumn;
V2CBPColEng: TcxGridDBColumn;
V2BPNote: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
DataSource3: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
Order_GX: TClientDataSet;
DataSource4: TDataSource;
cxGridPopupMenu3: TcxGridPopupMenu;
ML_Col: TClientDataSet;
DataSource5: TDataSource;
cxGridPopupMenu4: TcxGridPopupMenu;
CDS_Sub: TClientDataSet;
V2XHNo: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
V2BPGYSName: TcxGridDBColumn;
V2BPPrice: TcxGridDBColumn;
Panel4: TPanel;
cxGridPopupMenu5: TcxGridPopupMenu;
DataSource6: TDataSource;
Ord_HX: TClientDataSet;
cxGrid5: TcxGrid;
tv5: TcxGridDBTableView;
v2ZDYCode: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2defstr3: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
cxGridLevel4: TcxGridLevel;
ADOQuery1: TADOQuery;
tv5Ssel: TcxGridDBColumn;
V3Ssel: TcxGridDBColumn;
Panel6: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1GSNo: TcxGridDBColumn;
v1GYName: TcxGridDBColumn;
v1MLNo: TcxGridDBColumn;
v1MLName: TcxGridDBColumn;
v1MLMF: TcxGridDBColumn;
v1MLKZ: TcxGridDBColumn;
v1MLType: TcxGridDBColumn;
v1MLDLNo: TcxGridDBColumn;
v1GYLX: TcxGridDBColumn;
v1GYLXName: TcxGridDBColumn;
v1DLHXK: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel3: TPanel;
Label8: TLabel;
Panel5: TPanel;
cxGrid2: TcxGrid;
TV4: TcxGridDBTableView;
V1Ssel: TcxGridDBColumn;
V1BPCode: TcxGridDBColumn;
V1BPName: TcxGridDBColumn;
V1BPMF: TcxGridDBColumn;
V1BPKZ: TcxGridDBColumn;
V1BPJS: TcxGridDBColumn;
V1BPWS: TcxGridDBColumn;
v1BPMiDu: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel7: TPanel;
Label3: TLabel;
Panel8: TPanel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure MLNoChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TFHClick(Sender: TObject);
procedure ToZHADDClick(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure TJSClick(Sender: TObject);
procedure TV4CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
{ Private declarations }
PState:Integer;
FTopID:String;
procedure InitTree();
procedure InitGrid();
procedure ReadINIFile();
public
FMXCPID:string;
{ Public declarations }
end;
var
frmMLMange_CX: TfrmMLMange_CX;
implementation
uses
U_DataLink,U_Fun,U_CPAdd,U_FileUp,U_MLManage_LR,U_BPZdy_LR,U_BPZdy_SH,U_MLManage_FHLR,U_MLManage_ZHLR,U_BPZdy_HXK;
{$R *.dfm}
procedure TfrmMLMange_CX.InitTree();
begin
end;
procedure TfrmMLMange_CX.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select * from ML_Manage ');
sql.Add('where MLID='''+trim(FMXCPID)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmMLMange_CX.FormDestroy(Sender: TObject);
begin
frmMLMange_CX:=nil;
end;
procedure TfrmMLMange_CX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmMLMange_CX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
if DirectoryExists(ExtractFileDir('E:\Right1209')) then
winexec('cmd /c rd /s /q D:\Right1209',sw_hide);
Close;
end;
procedure TfrmMLMange_CX.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete ML_Manage where MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
sql.Add('delete ML_Manage_PB where MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
sql.Add('delete ML_Manage_GX where MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
ExecSQL;
end;
CDS_Main.Delete;
end;
procedure TfrmMLMange_CX.FormShow(Sender: TObject);
begin
InitGrid();
ReadCxGrid('<27><>Ʒ<EFBFBD>б<EFBFBD>',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end;
procedure TfrmMLMange_CX.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMLMange_CX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMLMange_CX.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmMLMange_CX.MLNoChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmMLMange_CX.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',cxGrid1);
end;
procedure TfrmMLMange_CX.ReadINIFile();
var
programIni:Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
FileName:string;
begin
FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI';
programIni:=Tinifile.create(FileName);
server:=programIni.ReadString('SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
programIni.Free;
end;
procedure TfrmMLMange_CX.ToolButton4Click(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='PBName';
flagName:='<27><><EFBFBD><EFBFBD>';
Panel2.Visible:=false;
cxGrid3.Visible:=false;
cxGrid1.Align:=alClient;
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.ToolButton5Click(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='GXName';
flagName:='<27><><EFBFBD><EFBFBD>';
V1BPMF1.Visible:=false;
V1BPKZ.Visible:=false;
V1BPJS.Visible:=false;
//V1BPWS.Visible:=false;
v1BPMiDu.Visible:=false;
cxGrid3.Visible:=false;
V2BPGYSName.Caption:='<27><><EFBFBD><EFBFBD>';
V2BPPrice.Caption:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.ToolButton6Click(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='MHName';
flagName:='<27>޻<EFBFBD>';
V1BPJS.Visible:=false;
//V1BPWS.Visible:=false;
v1BPMiDu.Visible:=false;
cxGrid3.Visible:=false;
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.ToolButton7Click(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='XXName';
flagName:='<27><><EFBFBD><EFBFBD>';
V1BPJS.Visible:=false;
//V1BPWS.Visible:=false;
v1BPMiDu.Caption:='<27><>ɫ';
V1BPMF1.Caption:='<27><>Ӧ<EFBFBD><D3A6>';
V1BPKZ.Visible:=false;
Panel2.Visible:=false;
cxGrid3.Visible:=false;
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.ToolButton8Click(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='WFBDY';
flagName:='<27>޷IJ<DEB7>';
V1BPMF1.Visible:=false;
V1BPKZ.Visible:=false;
V1BPJS.Visible:=false;
//V1BPWS.Visible:=false;
v1BPMiDu.Visible:=false;
cxGrid3.Visible:=false;
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.ToolButton9Click(Sender: TObject);
begin
frmBPZDY_SH:=TfrmBPZDY_SH.Create(self);
with frmBPZDY_SH do
begin
flag:='SHK';
flagName:=<>ſ<EFBFBD>';
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var FMLDLNo,FDLHXK:string;
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,isnull(B.BPCode,C.MLNo) BPCode,isnull(B.BPName,C.MLName) BPName');
sql.Add(' ,isnull(B.BPMF,C.MLMF) BPMF,isnull(B.BPKZ,C.MLKZ) BPKZ');
sql.Add(',B.BPJS,B.BPWS,B.BPMiDu,B.BPUnit,C.MLDLNo,C.DLHXK');
SQL.Add(' from ML_Manage_PB A left join BP_ZDY B on B.BPID=A.BPID ');
sql.Add(' left join ML_Manage C on C.MLID=A.BPID');
sql.Add(' where A.MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
//ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryCmd,CDS_Sub);
SInitCDSData20(ADOQueryCmd,CDS_Sub);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,B.*,C.* from ML_Manage_GX A inner join BP_ZDY B on B.BPID=A.BPID ');
sql.Add('inner join BP_ZDY_Sub C on C.BPSubID=A.BPSubID');
sql.Add(' where A.MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryCmd,Order_GX);
SInitCDSData20(ADOQueryCmd,Order_GX);
//if CDS_Main.FieldByName('MLType').AsString<>'<27><><EFBFBD><EFBFBD>' then
if CDS_Main.fieldbyname('MLDLNo').AsString='' then
FMLDLNo:='<27><>ɫ<EFBFBD><C9AB>'
else
FMLDLNo:=CDS_Main.fieldbyname('MLDLNo').AsString;
if CDS_Main.fieldbyname('DLHXK').AsString='' then
FDLHXK:='<27>޻<EFBFBD><DEBB><EFBFBD>'
else
FDLHXK:=CDS_Main.fieldbyname('DLHXK').AsString;
begin
//if CDS_Main.FieldByName('MLType').AsString<>'<27><><EFBFBD><EFBFBD>' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from BP_ZDY_Sub ');
sql.Add('where BPCode='''+Trim(FMLDLNo)+''' and BPflag=''SHK''');
//ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryCmd,ML_Col);
SInitCDSData20(ADOQueryCmd,ML_Col);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select A.*,B.* from BP_ZDY_Sub A ');
Sql.Add('inner join KH_Zdy_Attachment B on A.HXATID=B.ATID and B.Type=''CPHX''');
sql.Add(' where A.BPCode='''+trim(FDLHXK)+'''');
open;
end;
SCreateCDS20(ADOQueryCmd,Ord_HX);
SInitCDSData20(ADOQueryCmd,Ord_HX);
end;
end;
procedure TfrmMLMange_CX.TFHClick(Sender: TObject);
begin
try
frmMLManage_FHLR:=TfrmMLManage_FHLR.Create(Application);
with frmMLManage_FHLR do
begin
FCYID:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmMLManage_FHLR.Free;
end;
end;
procedure TfrmMLMange_CX.ToZHADDClick(Sender: TObject);
begin
frmMLManage_ZHLR:=TfrmMLManage_ZHLR.Create(self);
with frmMLManage_ZHLR do
begin
FCYID:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
free;
end;
end;
procedure TfrmMLMange_CX.ToolButton10Click(Sender: TObject);
begin
{if RadioGroup1.ItemIndex=-1 then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;}
frmBPZDY_HXK:=TfrmBPZDY_HXK.Create(self);
with frmBPZDY_HXK do
begin
//flag:='HXK'+inttostr(RadioGroup1.ItemIndex);
//flagName:=RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]+'<27><><EFBFBD>Ϳ<EFBFBD>';
flag:='HXK';
flagName:='<27><><EFBFBD>Ϳ<EFBFBD>';
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.TJSClick(Sender: TObject);
begin
frmBPZDY_LR:=TfrmBPZDY_LR.Create(self);
with frmBPZDY_LR do
begin
flag:='JSName';
flagName:='<27><>ˮ';
Panel2.Visible:=false;
cxGrid3.Visible:=false;
cxGrid1.Align:=alClient;
V1BPJS.Visible:=false;
v1BPMiDu.Visible:=false;
V1BPKZ.Visible:=false;
V1BPMF1.Visible:=false;
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLMange_CX.TV4CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var FMLDLNo,FDLHXK,FCode:String;
begin
//if CDS_Main.FieldByName('MLType').AsString='<27><><EFBFBD><EFBFBD>' then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select A.* from BP_ZDY_Sub A inner join ML_Manage B on B.MLDLNo=A.BPCode and B.GYType=''Ⱦɫ''');
sql.Add(' where '''+Trim(CDS_Sub.fieldbyname('BPCode').AsString)+''' like ''%''+B.MLNo+''%'' and A.BPflag=''SHK''');
//ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQuery1,ML_Col);
SInitCDSData20(ADOQuery1,ML_Col);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select A.* ');
sql.Add(',IFTP=(case when isnull((select Top 1 B.CYID from XD_File B where B.CYID=A.BPSubID),'''')='''' then '''' else ''<27><>'' end)');
sql.Add(' from BP_ZDY_Sub A inner join ML_Manage B on B.DLHXK=A.BPCode and B.GYType='<><D3A1>''');
sql.Add(' where '''+trim(CDS_Sub.fieldbyname('BPCode').AsString)+''' like ''%''+B.MLNo+''%'' and A.BPflag=''HXK''');
//ShowMessage(sql.Text);
open;
end;
SCreateCDS20(ADOQuery1,Ord_HX);
SInitCDSData20(ADOQuery1,Ord_HX);
end;
end;
end.