D7wmguihua/坯布码单待检(PBMDDJ.dll)/U_KHGetCPManage.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

547 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_KHGetCPManage; //4
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, RM_e_Xls,jpeg, BtnEdit,
cxButtonEdit, cxDropDownEdit;
type
TfrmKHGetCPManage = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryPrint: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Panel1: TPanel;
Label2: TLabel;
CYNo: TEdit;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
Label1: TLabel;
CYName: TEdit;
Label4: TLabel;
CYEName: TEdit;
Label5: TLabel;
CYSpec: TEdit;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
DataSource2: TDataSource;
ADOQueryMain: TADOQuery;
CDS_Main: TClientDataSet;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
Label3: TLabel;
KHName: TEdit;
Label6: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
Label7: TLabel;
CKNO: TEdit;
ToolButton7: TToolButton;
RM2: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
ToolButton8: TToolButton;
Image2: TImage;
ToolButton9: TToolButton;
Panel4: TPanel;
Label13: TLabel;
LabName: TBtnEditA;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
v1P_ChnName: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
v1Quantity: TcxGridDBColumn;
v1UnitName: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxSplitter1: TcxSplitter;
ClientDataSet2: TClientDataSet;
DataSource3: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
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 TBAddClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure CYNoKeyPress(Sender: TObject; var Key: Char);
procedure CYNoChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure CKNOKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton9Click(Sender: TObject);
procedure LabNameBtnClick(Sender: TObject);
private
{ Private declarations }
PState:Integer;
FCPID,FTopID:String;
procedure InitTree();
procedure InitGrid();
procedure ReadINIFile();
public
{ Public declarations }
end;
var
frmKHGetCPManage: TfrmKHGetCPManage;
implementation
uses
U_DataLink,U_RTFun,U_CPAdd,U_FileUp,U_KHGetCPAdd,U_ZDYHelp;
{$R *.dfm}
procedure TfrmKHGetCPManage.InitTree();
var
i:Integer;
begin
{with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select * from CP_Type order by CPlevel,CPName');
Open;
end;
cxDBTreeList1.Items[0].Expand(false); }
//cxDBTreeList1.Items[1].Expand(False);
end;
procedure TfrmKHGetCPManage.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Select_Get_CP_YDang :CKID,:Begdate,:EndDate,:PState');
Parameters.ParamByName('CKID').Value:='';
Parameters.ParamByName('Begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime));
Parameters.ParamByName('EndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1));
Parameters.ParamByName('PState').Value:=0;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmKHGetCPManage.FormDestroy(Sender: TObject);
begin
frmKHGetCPManage:=nil;
end;
procedure TfrmKHGetCPManage.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmKHGetCPManage.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 TfrmKHGetCPManage.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 CP_YDang_KHGet where CKID='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_YP_KC Set KCQty=(select sum(Qty*QtyFlag) from CK_YP_CR A where A.CRID=CK_YP_KC.CRID');
sql.Add(' and isnull(A.QYCKID,'''')<>'''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''')');
sql.Add(' where CRID in');
sql.Add('(select CRID from CK_YP_CR where isnull(QYCKID,'''')='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''')');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete CK_YP_CR where isnull(QYCKID,'''')='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+'''');
ExecSQL;
end;
CDS_Main.Delete;
end;
procedure TfrmKHGetCPManage.FormShow(Sender: TObject);
begin
//InitTree();
ReadCxGrid('<27><>Ʒ<EFBFBD>б<EFBFBD>',Tv1,'<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
EndDate.DateTime:=SGetServerDate(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime-7;
end;
procedure TfrmKHGetCPManage.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKHGetCPManage.TBAddClick(Sender: TObject);
begin
try
frmKHGetCPAdd:=TfrmKHGetCPAdd.Create(Application);
with frmKHGetCPAdd do
begin
FCYID:='';
//FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
//FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmKHGetCPAdd.Free;
end;
end;
procedure TfrmKHGetCPManage.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKHGetCPManage.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
frmKHGetCPAdd:=TfrmKHGetCPAdd.Create(Application);
with frmKHGetCPAdd do
begin
FCYID:=Trim(Self.CDS_Main.fieldbyname('CKNO').AsString);
//FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
//FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmKHGetCPAdd.Free;
end;
end;
procedure TfrmKHGetCPManage.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 TfrmKHGetCPManage.CYNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CP_YDang where CYID='''+Trim(CYNo.Text)+'''');
Open;
CYNo.Text:=Trim(fieldbyname('CYNo').AsString);
end;
end;
end;
procedure TfrmKHGetCPManage.CYNoChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmKHGetCPManage.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',cxGrid1);
end;
procedure TfrmKHGetCPManage.ToolButton4Click(Sender: TObject);
var
fPrintFile:string;
begin
if CDS_Main.IsEmpty then Exit;
if Trim(LabName.Text)='' then
begin
Application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LabName.Text)+'.rmf' ;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName.Text)+'.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmKHGetCPManage.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 TfrmKHGetCPManage.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
// ToolButton6.Click;
end;
procedure TfrmKHGetCPManage.CKNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if Trim(CKNO.Text)='' then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Select_Get_CP_YDang :CKID,:Begdate,:EndDate,:PState');
Parameters.ParamByName('CKID').Value:=Trim(CKNO.Text);
Parameters.ParamByName('Begdate').Value:='';
Parameters.ParamByName('EndDate').Value:='';
Parameters.ParamByName('PState').Value:=3;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
CKNO.Text:='';
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmKHGetCPManage.ToolButton7Click(Sender: TObject);
var
fPrintFile:string;
begin
if CDS_Main.IsEmpty then Exit;
with ADOQueryPrint do
begin
Close;
sql.Clear;
SQL.Add('exec P_Select_Get_CP_YDang :CKID,:Begdate,:EndDate,:PState');
Parameters.ParamByName('CKID').Value:=Trim(CDS_Main.fieldbyname('CKNO').AsString);
Parameters.ParamByName('Begdate').Value:='';
Parameters.ParamByName('EndDate').Value:='';
Parameters.ParamByName('PState').Value:=3;
Open;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>嵥.rmf' ;
if FileExists(fPrintFile) then
begin
RM2.LoadFromFile(fPrintFile);
RMVariables['printer']:=Trim(DName);
RM2.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>嵥.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmKHGetCPManage.ToolButton8Click(Sender: TObject);
var
fPrintFile:string;
begin
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C>հ<EFBFBD><D5B0>ż<EFBFBD>ֽ.rmf' ;
if FileExists(fPrintFile) then
begin
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C>հ<EFBFBD><D5B0>ż<EFBFBD>ֽ.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmKHGetCPManage.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
jpg:TJpegImage;
myStream:TADOBlobStream;
begin
if CDS_Main.IsEmpty then Exit;
if Trim(CDS_Main.fieldbyname('CYID').AsString)='' then Exit;
// if cxPageControl1.ActivePageIndex=6 then
begin
Image2.Picture.Assign(nil);
try
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select * from TP_File A where A.WBID='''+Trim(CDS_Main.fieldbyname('CYID').AsString)+'''');
sql.Add(' and TFType=''<27><>Ʒ'' ');
open;
if RecordCount>0 then
begin
if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString)<>'' then
begin
myStream:=tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')),bmread);
if myStream=nil then exit;
jpg:=TJPEGImage.Create;
jpg.LoadFromStream(myStream);
Image2.Picture.Assign(jpg);
end;
end;
end;
finally
jpg.Free;
myStream.Free;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
SQL.Add('select A.CRTime,A.CRID,A.BCID,A.Qty,A.QtyUnit,A.CYColor,A.Note,A.CYType,A.BCID ');
sql.Add(' ,A.CRPrice,A.BZTYpe,A.PBFactory,A.RCFactory,A.HJGFactory,A.CYID,A.WeiZhi,A.MiLenNote');
SQL.Add(',B.CYNO,B.CYName,B.CYMF,B.CYKZ,B.CYSpec,B.CYCF,B.CYHX,B.CYEName,B.CYECF,B.CYColorEng');
sql.Add(',MLen=dbo.F_Get_MLen(A.CYID),C.KCQty,A.CYID ');
SQL.Add(' from CK_YP_CR A inner join CP_YDang B on A.CYID=B.CYID ');
sql.Add(' inner join CK_YP_KC C on A.CRID=C.CRID');
sql.Add(' where A.QYCKID='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+'''');
sql.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQueryTemp,ClientDataSet2);
SInitCDSData20(ADOQueryTemp,ClientDataSet2);
end;
procedure TfrmKHGetCPManage.ToolButton9Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
frmKHGetCPAdd:=TfrmKHGetCPAdd.Create(Application);
with frmKHGetCPAdd do
begin
FCYID:=Trim(Self.CDS_Main.fieldbyname('CKNO').AsString);
CopyInt:=99;
//FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
//FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmKHGetCPAdd.Free;
end;
end;
procedure TfrmKHGetCPManage.LabNameBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='YPLabName';
flagname:='<27><>Ʒ<EFBFBD><C6B7>ǩ';
fnote:=True;
TBAdd.Visible:=False;
TBEdit.Visible:=False;
TBDel.Visible:=False;
if ShowModal=1 then
begin
Self.LabName.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.