D7myYunxiang/云翔一码通/U_MLMangeYHSel.pas
DESKTOP-E401PHE\Administrator 2f4312e0c3 1
2025-09-26 16:19:47 +08:00

546 lines
16 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_MLMangeYHSel;
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,
Menus, cxLookAndFeelPainters, cxButtons, cxImage, BtnEdit, jpeg,
cxLookAndFeels, cxNavigator, 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;
type
TfrmMLMangeYHSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryTree: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel11: TPanel;
DataSource2: TDataSource;
ADOQueryMain: TADOQuery;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
DataSource3: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
Order_GX: TClientDataSet;
DataSource4: TDataSource;
cxGridPopupMenu3: TcxGridPopupMenu;
ML_Col: TClientDataSet;
DataSource5: TDataSource;
cxGridPopupMenu4: TcxGridPopupMenu;
CDS_Sub: TClientDataSet;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxGridPopupMenu5: TcxGridPopupMenu;
DataSource6: TDataSource;
Ord_HX: TClientDataSet;
ADOQuery1: TADOQuery;
Panel1: TPanel;
Label2: TLabel;
MLXXNO: TEdit;
Label1: TLabel;
Label4: TLabel;
MLName: TEdit;
MLCF: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1MLName: TcxGridDBColumn;
v1MLMF: TcxGridDBColumn;
v1MLKZ: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1MLXXNO: TcxGridDBColumn;
Label6: TLabel;
MLKZ: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Panel2: TPanel;
cxButton1: TcxButton;
cxButton2: TcxButton;
cxButton3: TcxButton;
Label8: TLabel;
RM2: TRMGridReport;
Image1: TImage;
N5: TMenuItem;
DY: TMenuItem;
cxButton4: TcxButton;
ToolButton3: TToolButton;
Label3: TLabel;
MLMF: TEdit;
Tv1Column1: TcxGridDBColumn;
LX: TComboBox;
Label5: TLabel;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Label7: TLabel;
GYLXName: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ToolButton10Click(Sender: TObject);
procedure TV4CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure DYClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure LXChange(Sender: TObject);
procedure MLXXNOChange(Sender: TObject);
private
{ Private declarations }
PState: Integer;
FCPID, FTopID: string;
procedure InitTree();
procedure InitGrid();
procedure ReadINIFile();
public
canshu1: string;
{ Public declarations }
end;
var
frmMLMangeYHSel: TfrmMLMangeYHSel;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmMLMangeYHSel.InitTree();
begin
end;
procedure TfrmMLMangeYHSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select MLID,YPPrice,MLXXNO=TJML,MLName,MLMF,MLKZ,MLCF,LX='<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',GYLXName=MLXXGYName ');
sql.Add(' from ML_Manage A ');
sql.Add(' where isnull(A.MLType,'''')='<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
SQL.Add(' UNION all');
SQL.Add(' select MLID,YPPrice,MLXXNO=MLNo,MLName,MLMF,MLKZ,MLCF,LX=''Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>'',GYLXName ');
sql.Add(' from ML_Manage A ');
sql.Add(' where isnull(A.MLType,'''')=''Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>'' ');
SQL.Add(' UNION all');
SQL.Add(' select MLID,YPPrice,MLXXNO=TJML,MLName,MLMF,MLKZ,MLCF,LX=''<27>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD>'',GYLXName=MLXXGYName ');
sql.Add(' from ML_Manage A ');
sql.Add(' where isnull(A.MLType,'''')=''<27>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmMLMangeYHSel.FormDestroy(Sender: TObject);
begin
frmMLMangeYHSel := nil;
end;
procedure TfrmMLMangeYHSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmMLMangeYHSel.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmMLMangeYHSel.FormShow(Sender: TObject);
begin
{if canshu1='<27><>Ȩ<EFBFBD><C8A8>' then
begin
toolbutton11.Visible:=True;
ToolButton3.Visible:=true;
TBDel.Visible:=true;
end
else
begin
if canshu1='<27><>ѯ' then
begin
toolbutton11.Visible:=false;
ToolButton3.Visible:=false;
TBDel.Visible:=false;
end
else
begin
toolbutton11.Visible:=false;
ToolButton3.Visible:=false;
TBDel.Visible:=false;
end;
end;}
InitGrid();
ReadCxGrid(<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end;
procedure TfrmMLMangeYHSel.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMLMangeYHSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmMLMangeYHSel.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 TfrmMLMangeYHSel.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>', cxGrid1);
end;
procedure TfrmMLMangeYHSel.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 TfrmMLMangeYHSel.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
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
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(CDS_Main.fieldbyname('MLDLNo').AsString) + ''' and BPflag=''SHK''');
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(CDS_Main.fieldbyname('DLHXK').AsString) + '''');
open;
end;
SCreateCDS20(ADOQueryCmd, Ord_HX);
SInitCDSData20(ADOQueryCmd, Ord_HX);
end;
end;
procedure TfrmMLMangeYHSel.ToolButton10Click(Sender: TObject);
begin
{if RadioGroup1.ItemIndex=-1 then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;}
end;
procedure TfrmMLMangeYHSel.TV4CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
//if CDS_Main.FieldByName('MLType').AsString='<27><><EFBFBD><EFBFBD>' then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select * from BP_ZDY_Sub ');
sql.Add('where BPCode=''' + Trim(CDS_Sub.Fieldbyname('MLDLNo').AsString) + ''' and BPflag=''SHK''');
Open;
end;
SCreateCDS20(ADOQuery1, ML_Col);
SInitCDSData20(ADOQuery1, ML_Col);
with ADOQuery1 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(CDS_Sub.Fieldbyname('DLHXK').AsString) + '''');
open;
end;
SCreateCDS20(ADOQuery1, Ord_HX);
SInitCDSData20(ADOQuery1, Ord_HX);
end;
end;
procedure TfrmMLMangeYHSel.Tv1DblClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
self.ModalResult := 1;
end;
procedure TfrmMLMangeYHSel.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
end;
procedure TfrmMLMangeYHSel.N2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
SQL.Add('select * from ML_Manage A ');
sql.Add(' where isnull(A.MLType,'''')='<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
sql.Add(' and TJML=''' + trim(CDS_Main.fieldbyname('TJML').AsString) + '''');
Open;
end;
if ADOQueryCmd.RecordCount = 1 then
begin
Application.MessageBox(<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB>,<2C><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>', '<27><>ʾ');
exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
SQL.Add('select * from BP_DY ');
sql.Add('where MLID=''' + trim(CDS_Main.fieldbyname('MLID').AsString) + '''');
Open;
end;
if ADOQueryCmd.IsEmpty = false then
begin
if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>ӡȷ<D3A1><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>?', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
//exit;
end
else
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
end;
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) + '''');
sql.Add('delete Image_Info where TJML=''' + Trim(CDS_Main.fieldbyname('TJML').AsString) + '''');
sql.Add(' and TJGYName=''' + Trim(CDS_Main.fieldbyname('TJGYName').AsString) + '''');
ExecSQL;
end;
CDS_Main.Delete;
end;
procedure TfrmMLMangeYHSel.cxButton1Click(Sender: TObject);
var
fPrintFile, Txt, fImagePath, maxno: string;
i, j: Integer;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ӡ<><D3A1><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ǩ.rmf';
if FileExists(fPrintFile) = False then
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\ӡ<><D3A1><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ǩ.rmf'), '<27><>ʾ', 0);
exit;
end;
CDS_Main.DisableControls;
with CDS_Main do
begin
//First;
//while Locate('SSel',True,[]) do
begin
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryCmd, maxno, 'TGML', 'BP_DY', 4, 1, ) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1>Ʒ<EFBFBD><C6B7>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from BP_DY where DYId=''' + Trim(maxno) + '''');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('MLID').Value := Trim(CDS_Main.fieldbyname('MLID').AsString);
FieldByName('TFID').Value := Trim(CDS_Main.fieldbyname('PTID').AsString);
FieldByName('DYId').Value := Trim(maxno);
FieldByName('Filler').Value := Trim(DName);
FieldByName('FillerCode').Value := Trim(DCode);
FieldByName('Valid').Value := 'Y';
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
Exit;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(maxno);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
application.MessageBox('<27><>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
RMVariables['DYID'] := maxno;
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
end;
end;
CDS_Main.EnableControls;
panel2.Visible := false;
end;
procedure TfrmMLMangeYHSel.Image1Click(Sender: TObject);
begin
panel2.Visible := False;
end;
procedure TfrmMLMangeYHSel.DYClick(Sender: TObject);
begin
Panel2.Visible := true;
end;
procedure TfrmMLMangeYHSel.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
self.ModalResult := 1;
end;
procedure TfrmMLMangeYHSel.LXChange(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 TfrmMLMangeYHSel.MLXXNOChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
end.