D7myYunxiang/云翔生产管理(MYSC.dll)/U_MLMangeRS_CX.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

448 lines
13 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_MLMangeRS_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, Menus, cxLookAndFeelPainters, cxButtons, cxImage;
type
TfrmMLMangeRS_CX = 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;
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;
Panel5: TPanel;
Label2: TLabel;
MLNo: TEdit;
Label1: TLabel;
Label4: TLabel;
MLName: TEdit;
GYLXName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1MLNo: TcxGridDBColumn;
v1MLName: TcxGridDBColumn;
v1MLMF: TcxGridDBColumn;
v1MLKZ: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1GYLXName: TcxGridDBColumn;
v1SKID: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label3: TLabel;
TWSDY: TToolButton;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
Label7: TLabel;
DYID: TEdit;
v1ColNo: TcxGridDBColumn;
v1ColNamekh: TcxGridDBColumn;
TSsel: TToolButton;
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 MLNoChange(Sender: TObject);
procedure TV4CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv1DblClick(Sender: TObject);
procedure TCKClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TWSDYClick(Sender: TObject);
procedure DYIDKeyPress(Sender: TObject; var Key: Char);
procedure TSselClick(Sender: TObject);
private
{ Private declarations }
PState:Integer;
FCPID,FTopID:String;
procedure InitTree();
procedure InitGrid();
procedure ReadINIFile();
procedure ButtonColorCSH();
public
canshu1:string;
{ Public declarations }
end;
var
frmMLMangeRS_CX: TfrmMLMangeRS_CX;
implementation
uses
U_DataLink,U_RTFun,U_FileUp,U_MLManage_LRRS_ColCX;
{$R *.dfm}
procedure TfrmMLMangeRS_CX.InitTree();
begin
end;
procedure TfrmMLMangeRS_CX.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select *,ColNo=cast('''' as varchar(50)),ColNamekh=cast('''' as varchar(60)),PTID=cast('''' as varchar(60)) ');
sql.Add(',SKID=(select B.SKID from BP_ZDY B where B.BPID=A.MBPID)');
sql.Add(',BPCode=(select B.BPCode from BP_ZDY B where B.BPID=A.MBPID)');
sql.Add(' from ML_Manage A ');
sql.Add(' where isnull(MLType,'''')=''Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmMLMangeRS_CX.FormDestroy(Sender: TObject);
begin
frmMLMangeRS_CX:=nil;
end;
procedure TfrmMLMangeRS_CX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmMLMangeRS_CX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmMLMangeRS_CX.FormShow(Sender: TObject);
begin
InitGrid();
ReadCxGrid('Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD>',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmMLMangeRS_CX.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMLMangeRS_CX.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 TfrmMLMangeRS_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 TfrmMLMangeRS_CX.MLNoChange(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 TfrmMLMangeRS_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 TfrmMLMangeRS_CX.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 TfrmMLMangeRS_CX.Tv1DblClick(Sender: TObject);
begin
TCK.Click;
end;
procedure TfrmMLMangeRS_CX.TCKClick(Sender: TObject);
begin
try
frmMLManage_LRRS_CX:=TfrmMLManage_LRRS_CX.Create(Application);
with frmMLManage_LRRS_CX do
begin
FCYID:=Trim(Self.CDS_Main.fieldbyname('MLID').AsString);
FGYName:='Ⱦɫ';
viewFlag:=True;
if ShowModal=1 then
begin
with CDS_Main do
begin
edit;
FieldByName('ColNo').Value:=Trim(OrdBP_SH.fieldbyname('ColNo').AsString);
FieldByName('ColNamekh').Value:=Trim(OrdBP_SH.fieldbyname('ColNamekh').AsString);
FieldByName('PTID').Value:=Trim(OrdBP_SH.fieldbyname('PTID').AsString);
end;
TSsel.Click;
end;
end;
finally
frmMLManage_LRRS_CX.Free;
end;
end;
procedure TfrmMLMangeRS_CX.ButtonColorCSH();
begin
end;
procedure TfrmMLMangeRS_CX.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmMLMangeRS_CX.TWSDYClick(Sender: TObject);
var maxno,MaxSub:string;
fPrintFile,Txt,fImagePath:string;
Porderno:string;
i,j:Integer;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
SQL.Add('select * from BP_DY ');
sql.Add('where MLID='''+trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
sql.Add(' and DYType=''<27><><EFBFBD><EFBFBD>''');
//ShowMessage(sql.Text);
Open;
end;
if ADOQueryCmd.IsEmpty then
begin
if GetLSNo(ADOQueryTemp,maxno,'DY','BP_DY',3,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end
else
begin
maxno:=Trim(ADOQueryCmd.fieldbyname('DYID').AsString);
end;
with ADOQueryCmd do
begin
if IsEmpty then
begin
Append;
FieldByName('filler').Value:=Trim(DName);
FieldByName('DYID').Value:=Trim(maxno);
end
else
begin
edit;
FieldByName('laster').Value:=Trim(DName);
FieldByName('lasttime').Value:=SGetServerDate(ADOQueryTemp);
end;
FieldByName('MLID').Value:=Trim(CDS_Main.fieldbyname('MLID').AsString);
FieldByName('TFID').Value:=Trim(CDS_Main.fieldbyname('SKID').AsString);
FieldByName('DYType').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('BQType').Value:='Ⱦɫ<C8BE><C9AB><EFBFBD>ϱ<EFBFBD>ǩ';
post;
end;
//////////<2F><>¼
if GetLSNo(ADOQueryTemp,MaxSub,'JL','BP_DY_JL',3,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
SQL.Add('select * from BP_DY_JL ');
sql.Add('where 1=2');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('filler').Value:=Trim(DName);
FieldByName('JLID').Value:=Trim(MaxSub);
FieldByName('DYID').Value:=Trim(maxno);
FieldByName('MLID').Value:=Trim(CDS_Main.fieldbyname('MLID').AsString);
FieldByName('TFID').Value:=Trim(CDS_Main.fieldbyname('SKID').AsString);
FieldByName('BQType').Value:='Ⱦɫ<C8BE><C9AB><EFBFBD>ϱ<EFBFBD>ǩ';
post;
end;
//<2F><>ӡ
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\Ⱦɫ<C8BE><C9AB><EFBFBD>ϱ<EFBFBD>ǩ.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,C.DYID,D.ColNo colorNo,D.ColNameKH colorName,B.ColNameEng colorNameEng ');
sql.Add('from BP_DY C ');
sql.Add('inner join ML_Manage A on A.MLID=C.MLID ');
sql.add('left join BP_ZDY BP on A.MBPID=BP.BPID ');
sql.Add('left join BP_ColZDY D on D.PTID=C.TFID and BP.SKID=D.SKID ');
sql.Add('left join RT_PTColor B on B.PTID=D.PTID ');
sql.Add(' Where C.DYID='''+Trim(maxno)+'''');
//ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryPrint,CDS_Print);
SInitCDSData20(ADOQueryPrint,CDS_Print);
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=Trim(CDS_Print.fieldbyname('DYID').AsString);
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\Ⱦɫ<C8BE><C9AB><EFBFBD>ϱ<EFBFBD>ǩ.rmf'),'<27><>ʾ',0);
exit;
end;
end;
procedure TfrmMLMangeRS_CX.DYIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,C.DYID,D.ColNo colorNo,D.ColNameKH colorName,B.ColNameEng colorNameEng ');
sql.Add(',D.ColNo,D.ColNameKH,B.ColNameEng ');
sql.Add('from BP_DY C ');
sql.Add('inner join ML_Manage A on A.MLID=C.MLID ');
sql.add('left join BP_ZDY BP on A.MBPID=BP.BPID ');
sql.Add('left join BP_ColZDY D on D.PTID=C.TFID and BP.SKID=D.SKID ');
sql.Add('left join RT_PTColor B on B.PTID=D.PTID ');
sql.Add(' Where C.DYID='''+Trim(DYID.Text)+'''');
//ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
DYID.Text:='';
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmMLMangeRS_CX.TSselClick(Sender: TObject);
begin
ModalResult:=1;
end;
end.