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

651 lines
17 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_MLManage_LRRS_Col;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin,
cxGridCustomPopupMenu, cxGridPopupMenu, cxContainer, cxTextEdit,
cxMaskEdit, cxDropDownEdit, cxCalendar, StdCtrls, ExtCtrls, BtnEdit,
cxButtonEdit,jpeg,U_SLT,Math, Menus, RM_Common, RM_Class, RM_GridReport,
RM_System, RM_Dataset,U_SLT_PBSK,U_BPZdy_LRSHK;
type
TfrmMLManage_LRRS_Col = class(TForm)
CDS_Sub: TClientDataSet;
ADOQueryMain: TADOQuery;
DataSource2: TDataSource;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel1: TPanel;
cxGridPopupMenu2: TcxGridPopupMenu;
Order_GX: TClientDataSet;
DataSource1: TDataSource;
Panel4: TPanel;
OrdBP_SH: TClientDataSet;
DataSource3: TDataSource;
cxGridPopupMenu3: TcxGridPopupMenu;
GSNo: TLabel;
Ord_HX: TClientDataSet;
DataSource4: TDataSource;
cxGridPopupMenu4: TcxGridPopupMenu;
GYName: TLabel;
Panel9: TPanel;
Label1: TLabel;
Label3: TLabel;
ScrollBox2: TScrollBox;
adoqueryPicture: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM1: TRMGridReport;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
Panel42: TPanel;
Label79: TLabel;
Label80: TLabel;
Panel43: TPanel;
Label81: TLabel;
Label82: TLabel;
Panel44: TPanel;
Label83: TLabel;
Label84: TLabel;
Panel45: TPanel;
Label85: TLabel;
Label86: TLabel;
Panel46: TPanel;
Label87: TLabel;
Label88: TLabel;
Panel47: TPanel;
Label89: TLabel;
Label90: TLabel;
Panel48: TPanel;
Label91: TLabel;
Label92: TLabel;
Panel49: TPanel;
Label93: TLabel;
Label94: TLabel;
Panel50: TPanel;
Label95: TLabel;
Label96: TLabel;
Panel51: TPanel;
Label97: TLabel;
Label98: TLabel;
Panel52: TPanel;
Label99: TLabel;
Label100: TLabel;
Panel53: TPanel;
Label101: TLabel;
Label102: TLabel;
Panel54: TPanel;
Label103: TLabel;
Label104: TLabel;
Panel55: TPanel;
Label105: TLabel;
Label106: TLabel;
Panel56: TPanel;
Label107: TLabel;
Label108: TLabel;
Panel57: TPanel;
Label109: TLabel;
Label110: TLabel;
Panel58: TPanel;
Label111: TLabel;
Label112: TLabel;
Panel59: TPanel;
Label113: TLabel;
Label114: TLabel;
Panel60: TPanel;
Label115: TLabel;
Label116: TLabel;
Panel61: TPanel;
Label117: TLabel;
Label118: TLabel;
Panel62: TPanel;
Label119: TLabel;
Label120: TLabel;
Panel63: TPanel;
Label121: TLabel;
Label122: TLabel;
Panel64: TPanel;
Label123: TLabel;
Label124: TLabel;
Panel65: TPanel;
Label125: TLabel;
Label126: TLabel;
Panel66: TPanel;
Label127: TLabel;
Label128: TLabel;
Panel67: TPanel;
Label129: TLabel;
Label130: TLabel;
Panel68: TPanel;
Label131: TLabel;
Label132: TLabel;
Panel69: TPanel;
Label133: TLabel;
Label134: TLabel;
Panel70: TPanel;
Label135: TLabel;
Label136: TLabel;
Panel71: TPanel;
Label137: TLabel;
Label138: TLabel;
Panel72: TPanel;
Label139: TLabel;
Label140: TLabel;
Panel73: TPanel;
Label141: TLabel;
Label142: TLabel;
Panel74: TPanel;
Label143: TLabel;
Label144: TLabel;
Panel75: TPanel;
Label145: TLabel;
Label146: TLabel;
Panel76: TPanel;
Label147: TLabel;
Label148: TLabel;
Panel77: TPanel;
Label149: TLabel;
Label150: TLabel;
Panel78: TPanel;
Label151: TLabel;
Label152: TLabel;
Panel79: TPanel;
Label153: TLabel;
Label154: TLabel;
Panel80: TPanel;
Label155: TLabel;
Label156: TLabel;
Panel81: TPanel;
Label157: TLabel;
Label158: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Panel10: TPanel;
Label7: TLabel;
Label12: TLabel;
Panel11: TPanel;
Label13: TLabel;
Label14: TLabel;
Panel12: TPanel;
Label15: TLabel;
Label16: TLabel;
Panel13: TPanel;
Label17: TLabel;
Label18: TLabel;
Panel14: TPanel;
Label19: TLabel;
Label20: TLabel;
Panel15: TPanel;
Label21: TLabel;
Label22: TLabel;
Panel16: TPanel;
Label23: TLabel;
Label24: TLabel;
Panel17: TPanel;
Label25: TLabel;
Label26: TLabel;
Panel18: TPanel;
Label27: TLabel;
Label28: TLabel;
Panel19: TPanel;
Label29: TLabel;
Label30: TLabel;
Label8: TLabel;
MLName: TLabel;
GYLXName: TLabel;
Label10: TLabel;
Button2: TButton;
Button4: TButton;
Label2: TLabel;
MLMF: TLabel;
MLKZ: TLabel;
MLCF: TLabel;
SY: TButton;
XY: TButton;
label554: TLabel;
procedure FormShow(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Panel42MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure XYClick(Sender: TObject);
procedure SYClick(Sender: TObject);
procedure Panel42DblClick(Sender: TObject);
private
Fint,my,mz:Integer;
procedure InitSubGrid();
procedure SavePrint(var CP,TP:string);
{ Private declarations }
public
FCYID,FCYCode,FCPID,FCPNO,FBPID,FGYName,FML,FGYLX,FGSNo,FHXBPID,FGSName,FSKID,FBPIDSH:String;
FGYLXName,FZ:string;
viewFlag:Boolean;
procedure initimageSH();
{ Public declarations }
end;
var
frmMLManage_LRRS_Col: TfrmMLManage_LRRS_Col;
Mach1: array of TfrmSlt;
Mach: array of TfrmSLT_PBSK;
implementation
uses
U_DataLink,U_Fun,U_BPZdy_PanelCX,U_BPZdy_Panel,U_ZDYHelp,
U_MLMange_ADDCX, U_BPZdy_YT;
{$R *.dfm}
procedure TfrmMLManage_LRRS_Col.SavePrint(var CP,TP:string);
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(CP)+'''');
sql.Add(' and TFID='''+trim(TP)+'''');
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(CP);
FieldByName('TFID').Value:=Trim(TP);
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(CP);
FieldByName('TFID').Value:=Trim(TP);
post;
end;
//<2F><>ӡ
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ǩȾɫ.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,C.DYID from BP_DY C ');
sql.Add('inner join ML_Manage A on A.MLID=C.MLID ');
sql.Add('inner join XD_File D on D.XFID=C.TFID ');
sql.Add('inner join SH_Base B on B.WBID=D.CYID ');
sql.Add(' Where C.DYID='''+Trim(maxno)+'''');
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\<5C><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ǩȾɫ.rmf'),'<27><>ʾ',0);
exit;
end;
end;
procedure TfrmMLManage_LRRS_Col.InitSubGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select * from ML_Manage where MLID='''+trim(FCYID)+'''');
Open;
end;
if ADOQueryMain.IsEmpty=false then
begin
GSNo.Caption:=Trim(ADOQueryMain.FieldByName('GSNo').asstring);
GYName.Caption:=Trim(ADOQueryMain.FieldByName('GYName').asstring);
MLMF.Caption:=Trim(ADOQueryMain.FieldByName('MLMF').asstring);
MLKZ.Caption:=Trim(ADOQueryMain.FieldByName('MLKZ').asstring);
MLCF.Caption:=Trim(ADOQueryMain.FieldByName('MLCF').asstring);
MLName.Caption:=Trim(ADOQueryMain.FieldByName('MLName').asstring)+' '+Trim(ADOQueryMain.FieldByName('MLNo').asstring);
GYLXName.Caption:=Trim(ADOQueryMain.FieldByName('GYLXName').asstring);
FBPID:=Trim(ADOQueryMain.FieldByName('MBPID').Value);
FSKID:=Trim(ADOQueryMain.FieldByName('MLDLNo').AsString);
end;
with ADOQueryMain 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,B.BPCF,B.CPMiDu,B.SKID');
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(FCYID)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Sub);
SInitCDSData20(ADOQueryMain,CDS_Sub);
if CDS_Sub.fieldbyname('SKID').AsString='' then
FBPIDSH:=Trim(CDS_Sub.fieldbyname('BPCode').AsString)
else
FBPIDSH:=Trim(CDS_Sub.fieldbyname('SKID').AsString);
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,B.* from ML_Manage_GX A ');
SQL.Add('inner join GY_ZDY B on B.GYID=A.GYID ');
if FZ<>'1' then
begin
sql.Add('where A.MLID='''+Trim(FCYID)+'''');
end
else
begin
sql.Add(' where 1=2');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_GX);
SInitCDSData20(ADOQueryMain,Order_GX);
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
SQL.Add(',MXGS=(select count(C.PTID) from BP_ColZDY C where C.SKID=B.SKID and isnull(C.SKID,'''')<>'''') ');
sql.Add('from RT_PTColor A ');
sql.Add('inner join BP_ColZDY B on B.PTID=A.PTID ');
sql.Add('where isnull(B.SKID,'''')='''+trim(FBPIDSH)+''' and isnull(B.SKID,'''')<>''''');
sql.Add(' order by cast(B.ColNo as int)');
Open;
end;
my:=1;
mz:=ceil(ADOQueryMain.fieldbyname('MXGS').AsInteger/50);
label554.Caption:=inttostr(my)+'/'+inttostr(mz);
SCreateCDS20(ADOQueryMain,OrdBP_SH);
SInitCDSData20(ADOQueryMain,OrdBP_SH);
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select * from GY_ZDY ');
sql.Add('where ZGYName='''+Trim(FGYName)+''' and GYflag=''GXName''');
Open;
end;
FML:=ADOQueryMain.fieldbyname('ZGYCode').AsString;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmMLManage_LRRS_Col.FormShow(Sender: TObject);
var
fsj:String;
begin
InitSubGrid();
initimageSH();
end;
procedure TfrmMLManage_LRRS_Col.initimageSH();
var
i,j,z,x,q:Integer;
begin
with Self.ScrollBox2 do
begin
for i:=0 to Self.ScrollBox2.ControlCount-1 do
begin
if Controls[i] is TPanel then
begin
TPanel(Controls[i]).Visible:=false;
end;
end;
end;
OrdBP_SH.DisableControls;
with OrdBP_SH do
begin
First;
i:=0;
q:=1;
while not Eof do
begin
if (q>(my-1)*50) and (q<=my*50) then
begin
with ScrollBox2 do
begin
TPanel(Controls[i]).Visible:=True;
TPanel(Controls[i]).Hint:=Trim(OrdBP_SH.Fieldbyname('PTID').AsString);
TPanel(Controls[i]).Color:=StrToInt('$'+Trim(OrdBP_SH.Fieldbyname('ColDaiMa').AsString));
with TPanel(Controls[i]) do
begin
TLabel(Controls[0]).Caption:=Trim(OrdBP_SH.Fieldbyname('ColNo').AsString);
TLabel(Controls[1]).Caption:=Trim(OrdBP_SH.Fieldbyname('ColNameKH').AsString);
TLabel(Controls[0]).Visible:=true;
TLabel(Controls[1]).Visible:=true;
TLabel(Controls[0]).Color:=clWhite;
TLabel(Controls[1]).Color:=clWhite;
end;
end;
i:=i+1;
end;
q:=q+1;
Next;
end;
end;
OrdBP_SH.EnableControls;
end;
procedure TfrmMLManage_LRRS_Col.ToolButton4Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty=false then
begin
Application.MessageBox('<27>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ','<27><>ʾ');
exit;
end;
frmMLMange_ADDCX:=TfrmMLMange_ADDCX.Create(self);
with frmMLMange_ADDCX do
begin
if ShowModal=1 then
begin
with CDS_Sub do
begin
Append;
FieldByName('BPCode').Value:=CDS_Main.fieldbyname('MLNo').AsString;
FieldByName('BPID').Value:=Trim(CDS_Main.fieldbyname('MLID').AsString);
FieldByName('BPName').Value:=CDS_Main.fieldbyname('MLName').AsString;
FieldByName('BPMF').Value:=CDS_Main.fieldbyname('MLMF').AsString;
FieldByName('BPKZ').Value:=CDS_Main.fieldbyname('MLKZ').AsString;
post;
end;
FGYLX:=CDS_Main.fieldbyname('GYLX').AsString;
GSNo.Caption:=CDS_Main.fieldbyname('GSNo').AsString;
FGSNo:=CDS_Main.fieldbyname('GSNo').AsString;
FGYLXName:=CDS_Main.fieldbyname('GYLXName').AsString;
FGSName:=CDS_Main.fieldbyname('GYName').AsString;
end;
free;
end;
end;
procedure TfrmMLManage_LRRS_Col.Button2Click(Sender: TObject);
begin
close;
end;
procedure TfrmMLManage_LRRS_Col.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Finalize(Mach1);
Finalize(Mach);
end;
procedure TfrmMLManage_LRRS_Col.Button4Click(Sender: TObject);
var i,j,x:Integer;
begin
i:=0;
j:=0;
frmBPZDY_PanelCX:=TfrmBPZDY_PanelCX.create(self);
with frmBPZDY_PanelCX do
begin
FColorFlag:=Trim(self.FBPIDSH);
FBPID:=Trim(self.FBPID);
FMLID:=Trim(self.FCYID);
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmMLManage_LRRS_Col.N1Click(Sender: TObject);
var
i:Integer;
begin
//ShowMessage(FPT);
FrmBPZdy_YT:=TFrmBPZdy_YT.create(Self);
with FrmBPZdy_YT do
begin
Panel1.Color:=StrToInt('$'+OrdBP_SH.fieldbyname('ColDaiMa').Value);
Label1.Caption:=Trim(OrdBP_SH.fieldbyname('PTID').AsString);
Label2.Caption:=Trim(OrdBP_SH.fieldbyname('ColNameEng').AsString);
Label3.Caption:=Trim(OrdBP_SH.fieldbyname('ColName').AsString);
Label4.Caption:=Trim(OrdBP_SH.fieldbyname('ColNameKH').AsString);
Label5.Visible:=true;
Label5.Caption:=Trim(OrdBP_SH.fieldbyname('ColNo').AsString);
Label6.Visible:=true;
Label6.Caption:=Trim(OrdBP_SH.fieldbyname('GYSColNo').AsString);
Edit2.Visible:=true;
Button2.Visible:=true;
FSKID:=Trim(OrdBP_SH.fieldbyname('SKID').AsString);
if showmodal=1 then
begin
with OrdBP_SH do
begin
edit;
FieldByName('GYSColNo').AsString:=Trim(FrmBPZdy_YT.Label6.Caption);
end;
end;
free;
end;
end;
procedure TfrmMLManage_LRRS_Col.Panel42MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
OrdBP_SH.Locate('PTID',TPanel(Sender).Hint,[]);
end;
procedure TfrmMLManage_LRRS_Col.XYClick(Sender: TObject);
var x:integer;
begin
if my=mz then exit;
XY.Enabled:=False;
my:=my+1;
if my>0 then
begin
SY.Enabled:=True;
end
else
begin
SY.Enabled:=False;
end;
label554.Caption:=inttostr(my)+'/'+inttostr(mz);
initimageSH();
XY.Enabled:=true;
end;
procedure TfrmMLManage_LRRS_Col.SYClick(Sender: TObject);
var x:integer;
begin
if my=1 then exit;
SY.Enabled:=False;
my:=my-1;
if my<mz then
begin
XY.Enabled:=True;
end
else
begin
XY.Enabled:=False;
end;
label554.Caption:=inttostr(my)+'/'+inttostr(mz);
initimageSH();
SY.Enabled:=true;
end;
procedure TfrmMLManage_LRRS_Col.Panel42DblClick(Sender: TObject);
begin
ModalResult:=1;
end;
end.