D7myYunxiang/云翔生产管理(MYSC.dll)/U_MLMangeYH.pas
DESKTOP-E401PHE\Administrator 5bc2a25bce 更新产品管理等页面
2025-08-22 09:38:54 +08:00

538 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_MLMangeYH;
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
TfrmMLMangeYH = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryTree: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel1: TPanel;
ToolButton2: TToolButton;
DataSource2: TDataSource;
ADOQueryMain: TADOQuery;
CDS_Main: TClientDataSet;
ToolButton1: TToolButton;
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;
TCK: TToolButton;
ToolButton11: TToolButton;
Panel5: 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 HXTypeChange(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure DYClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
PState: Integer;
FCPID, FTopID: string;
procedure InitTree();
procedure InitGrid();
procedure ReadINIFile();
public
canshu1: string;
{ Public declarations }
end;
var
frmMLMangeYH: TfrmMLMangeYH;
implementation
uses
U_DataLink, U_Fun, U_SCPerson;
// ,U_MLManage_LR,U_BPZdy_LR,U_BPZdy_SH,U_MLManage_LRRS,U_HXKTJ,
// U_MLManage_FHLR,U_MLManage_ZHLR,U_BPZdy_HXK,U_MLMange_CX,U_BPZdy_LRPB,U_BPZdy_LRGX,U_BPZdy_ColTJ,
// U_CPManage_TP,U_BPZdy_LRSHK, U_BPZdy_PanelCX,U_BPZdy_Panel,U_MLManage_LRTJ,U_MLManage_LRTJ_Ceshi1,
// ,U_MLManage_LRYH,U_MLManage_LRYHDY,U_MLManage_LRYHCE;
{$R *.dfm}
procedure TfrmMLMangeYH.InitTree();
begin
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.FormDestroy(Sender: TObject);
begin
frmMLMangeYH := nil;
end;
procedure TfrmMLMangeYH.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmMLMangeYH.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel5, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmMLMangeYH.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>', cxGrid1);
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.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 TfrmMLMangeYH.ToolButton10Click(Sender: TObject);
begin
{if RadioGroup1.ItemIndex=-1 then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;}
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.Tv1DblClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
self.ModalResult := 1;
end;
procedure TfrmMLMangeYH.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.HXTypeChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmMLMangeYH.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 TfrmMLMangeYH.Image1Click(Sender: TObject);
begin
panel2.Visible := False;
end;
procedure TfrmMLMangeYH.DYClick(Sender: TObject);
begin
Panel2.Visible := true;
end;
procedure TfrmMLMangeYH.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
self.ModalResult := 1;
end;
end.