D7myzhenyong/样品(YPGL.dll)/U_CPManage.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

1951 lines
51 KiB
ObjectPascal
Raw Permalink 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_CPManage;
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, jpeg, U_SLT, ComObj, Menus,
cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator,
dxBarBuiltInMenu, cxPC, Math, RM_BarCode, Clipbrd, cxTextEdit, BtnEdit,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinValentine, dxSkinVS2010,
dxSkinWhiteprint, dxSkinXmas2008Blue;
type
FdDy = record
inc: integer; //客户端套接字句柄
FDdys: string[32]; //客户端套接字
FdDysName: string[32]; //客户端套接字
end;
TfrmCPManage = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
DataSource1: TDataSource;
ADOQueryTree20: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxSplitter1: TcxSplitter;
Panel1: TPanel;
Label2: TLabel;
CYID: TEdit;
TBFilter: TToolButton;
v1CYNo: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
DataSource2: TDataSource;
ADOQueryMain: TADOQuery;
CDS_Main: TClientDataSet;
v1Column12: TcxGridDBColumn;
TBExport: TToolButton;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
TBUP: TToolButton;
Label3: TLabel;
CYNO: TEdit;
TBCopy: TToolButton;
Panel2: TPanel;
v1Column19: TcxGridDBColumn;
DSCYNO: TDataSource;
CDS_CYNO: TClientDataSet;
ADOQueryTree: TClientDataSet;
Panel5: TPanel;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
Label11: TLabel;
Label12: TLabel;
ComboBox1: TComboBox;
Panel3: TPanel;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
adoqueryPicture: TADOQuery;
ToolButton8: TToolButton;
v1Column39: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Label4: TLabel;
CYName: TEdit;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBMLEdit: TToolButton;
Edit1: TEdit;
v1Column6: TcxGridDBColumn;
Label1: TLabel;
CYColor: TEdit;
Label6: TLabel;
CYCF: TEdit;
Label7: TLabel;
ZCYNote: TEdit;
TBImport: TToolButton;
v1Column7: TcxGridDBColumn;
OpenDialog1: TOpenDialog;
v1Column8: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
Label9: TLabel;
CYKZ: TEdit;
Label8: TLabel;
CYMF: TEdit;
v1Column13: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column11: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
cxgrdCYCNHS: TcxGridDBColumn;
Panel7: TPanel;
Panel8: TPanel;
cxTabControl1: TcxTabControl;
Panel4: TPanel;
Label14: TLabel;
LBCPAP1: TLabel;
Button1: TButton;
Button2: TButton;
TCBNOR1: TComboBox;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
RMBarCodeObject1: TRMBarCodeObject;
Label5: TLabel;
Label10: TLabel;
XX1: TEdit;
ShaZhi: TEdit;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
ToolButton1: TToolButton;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CheckBox1: TCheckBox;
N3: TMenuItem;
BSBJ1: TcxGridDBColumn;
CheckBox2: TCheckBox;
bsbj: TEdit;
N4: TMenuItem;
N5: TMenuItem;
Tv1Column8: TcxGridDBColumn;
Label15: TLabel;
khcpcode2: TEdit;
Label16: TLabel;
CYConNo: TEdit;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridDBColumn21: TcxGridDBColumn;
cxGridDBColumn22: TcxGridDBColumn;
cxGridDBColumn23: TcxGridDBColumn;
cxGridDBColumn24: TcxGridDBColumn;
cxGridDBColumn25: TcxGridDBColumn;
cxGridDBColumn26: TcxGridDBColumn;
cxGridDBColumn27: TcxGridDBColumn;
cxGridDBColumn28: TcxGridDBColumn;
cxGridDBColumn29: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
CDS2: TClientDataSet;
DataSource3: TDataSource;
ToolButton2: TToolButton;
Label17: TLabel;
xgbegdate: TDateTimePicker;
xgenddate: TDateTimePicker;
CheckBox3: TCheckBox;
Panel6: TPanel;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn31: TcxGridDBColumn;
cxGridDBColumn32: TcxGridDBColumn;
cxGridDBColumn33: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolBar2: TToolBar;
ToolButton6: TToolButton;
ToolButton12: TToolButton;
CDSCB: TClientDataSet;
DataSource4: TDataSource;
TV3Column1: TcxGridDBColumn;
Panel9: TPanel;
Label18: TLabel;
Edit2: TEdit;
Label19: TLabel;
Edit3: TEdit;
Button3: TButton;
Button4: TButton;
ADOQuery1: TADOQuery;
Label20: TLabel;
CustomerNoName: TBtnEditC;
TV3Column2: TcxGridDBColumn;
ToolButton3: TToolButton;
CBID: TEdit;
CPTYPE: TComboBox;
Label21: TLabel;
gongyi: TComboBox;
Label22: TLabel;
TV3Column3: TcxGridDBColumn;
TV3Column4: TcxGridDBColumn;
Label23: TLabel;
CDS_ZG: TClientDataSet;
DataSource5: TDataSource;
Panel11: TPanel;
Label24: TLabel;
Label25: TLabel;
Label29: TLabel;
MSGL: TEdit;
Edit5: TEdit;
Button5: TButton;
Button6: TButton;
zgid: TEdit;
Label27: TLabel;
ZGL2: TEdit;
Label28: TLabel;
ZGL4: TEdit;
Panel10: TPanel;
cxGrid4: TcxGrid;
TV4: TcxGridDBTableView;
cxGridDBColumn30: TcxGridDBColumn;
cxGridDBColumn35: TcxGridDBColumn;
cxGridDBColumn34: TcxGridDBColumn;
cxGridDBColumn36: TcxGridDBColumn;
cxGridDBColumn37: TcxGridDBColumn;
cxGridDBColumn39: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
ToolBar3: TToolBar;
ToolButton5: TToolButton;
ToolButton7: TToolButton;
ToolButton9: TToolButton;
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 TBRafreshClick(Sender: TObject);
procedure TBFilterClick(Sender: TObject);
procedure CYIDKeyPress(Sender: TObject; var Key: Char);
procedure CYNoChange(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure TBUPClick(Sender: TObject);
procedure TBImportClick(Sender: TObject);
procedure TBCopyClick(Sender: TObject);
procedure CYNOKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton8Click(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TBMLEditClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TCBNOR1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure N3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton12Click(Sender: TObject);
procedure CustomerNoNameBtnUpClick(Sender: TObject);
procedure CustomerNoNameBtnDnClick(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
private
{ Private declarations }
CurrentPage, RecordsNumber: Integer;
CPID: string;
PState: Integer;
FCPID, FTopID: string;
FJurisdiction: string;
procedure SetJurisdiction();
procedure InitTree();
procedure InitGrid();
procedure Initcb();
procedure ReadINIFile();
procedure InitImage();
procedure LookImage(FileName: string);
public
dFdDy: array[0..20] of FdDy; //客户端连接数组
{ Public declarations }
end;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_Fun, U_CPAdd, U_FileUp, U_YPCR, U_CPAddPN, U_YPTypeHelp,
U_YPGL_YGDJ, StrUtils, U_ZdyAttachment;
{$R *.dfm}
procedure TfrmCPManage.LookImage(FileName: string);
var
sFieldName: string;
// ff: TADOBlobStream;
// FJStream : TMemoryStream;
begin
sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\图片查看';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName), nil);
sFieldName := sFieldName + '\' + trim(FileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '服务器地址', '127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
end;
if IdFTP1.Connected then
begin
application.ProcessMessages;
try
// ShowMessage(PChar(Trim('D:\' + Trim(FileName))));
IdFTP1.Get(Trim(UserDataFlag + 'YP\' + FileName), sFieldName, true, false);
except
Application.MessageBox('客户图样文件不存在', '提示', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Application.MessageBox('无法连接文件服务器', '提示', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
if IdFTP1.Connected then
IdFTP1.Quit;
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
end;
procedure TfrmCPManage.SetJurisdiction();
begin
if trim(self.Caption) = '产品信息录入' then
begin
FJurisdiction := '登记';
end
else if trim(self.Caption) = '产品信息管理' then
begin
FJurisdiction := '管理';
end
else
begin
FJurisdiction := '查询';
end;
TBAdd.Visible := false;
TBCopy.Visible := false;
TBEdit.Visible := false;
TBMLEdit.Visible := false;
TBDel.Visible := false;
TBImport.Visible := false;
TBUP.Visible := false;
TBExport.Visible := false;
if FJurisdiction = '管理' then
begin
TBAdd.Visible := true;
TBCopy.Visible := true;
TBEdit.Visible := true;
TBMLEdit.Visible := true;
TBDel.Visible := true;
TBImport.Visible := true;
TBUP.Visible := true;
TBExport.Visible := true;
end
else if FJurisdiction = '登记' then
begin
TBAdd.Visible := true;
TBCopy.Visible := true;
TBEdit.Visible := true;
TBMLEdit.Visible := true;
TBDel.Visible := true;
TBImport.Visible := true;
TBUP.Visible := true;
TBExport.Visible := true;
end;
if trim(self.Caption) = '产品信息查询(低权限)' then
begin
cxgrdCYCNHS.Visible := False;
cxgrdCYCNHS.Hidden := True;
end;
end;
procedure TfrmCPManage.InitTree();
var
i: Integer;
begin
with ADOQueryTree20 do
begin
Close;
SQL.Clear;
SQL.Add('select * from CP_Type order by CPlevel,CPOrder,CPName');
Open;
end;
SCreateCDS20(ADOQueryTree20, ADOQueryTree);
SInitCDSData20(ADOQueryTree20, ADOQueryTree);
cxDBTreeList1.Items[0].Expand(false);
//cxDBTreeList1.Items[1].Expand(False);
end;
procedure TfrmCPManage.Initcb();
begin
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from cp_cbprice where cyid=' + QuotedStr(Trim(CDS_Main.fieldbyname('cyid').AsString)));
SQL.Add('order by filltime desc');
Open;
end;
SCreateCDS20(ADOQuery1, CDSCB);
SInitCDSData20(ADOQuery1, CDSCB);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from cp_ZGUI where cyid=' + QuotedStr(Trim(CDS_Main.fieldbyname('cyid').AsString)));
SQL.Add('order by filltime desc');
Open;
end;
SCreateCDS20(ADOQuery1, CDS_ZG);
SInitCDSData20(ADOQuery1, CDS_ZG);
end;
procedure TfrmCPManage.InitGrid();
var
fwhere, Pwhere: string;
begin
Panel2.Visible := True;
Panel2.Refresh;
// case cxTabControl1.TabIndex of
// 0:
// begin
// fwhere := 'where status=''0'' ';
// end;
// 1:
// begin
// fwhere := 'where status=''1'' ';
// end;
// end;
fwhere := 'where 1=1 ';
if CheckBox1.Checked then
begin
fwhere := fwhere + ' and LaYangDate>=' + QuotedStr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
fwhere := fwhere + 'and LaYangDate<' + QuotedStr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
end;
if CheckBox3.Checked then
begin
fwhere := fwhere + ' and edittime>=' + QuotedStr(FormatDateTime('yyyy-MM-dd', xgBegDate.DateTime));
fwhere := fwhere + 'and edittime<' + QuotedStr(FormatDateTime('yyyy-MM-dd', xgenddate.DateTime + 1));
end;
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
begin
if fwhere <> '' then
begin
fwhere := fwhere + ' and ' + trim(Pwhere);
end
else
fwhere := ' where ' + trim(Pwhere);
end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add(' exec P_Page_YP ');
sql.Add('@CYType=' + quotedstr(Trim(ADOQueryTree.fieldbyname('CPID').AsString)));
sql.Add(',@pageIndex=' + inttostr(CurrentPage));
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
sql.Add(',@criteria= ' + quotedstr(fwhere));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
LBCPAP1.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
finally
ADOQueryMain.EnableControls;
end;
Panel2.Visible := False;
end;
// Panel2.Visible := True;
// Panel2.Refresh;
// try
// ADOQueryMain.DisableControls;
// with ADOQueryMain do
// begin
// Filtered := False;
// Close;
// SQL.Clear;
// SQL.Add('exec P_Select_CP_YDang :Code,:PState,:CYType');
// Parameters.ParamByName('Code').Value := '';
// Parameters.ParamByName('PState').Value := 0;
// Parameters.ParamByName('CYType').Value := Trim(ADOQueryTree.fieldbyname('CPID').AsString);
// Open;
// end;
// SCreateCDS20(ADOQueryMain, CDS_Main);
// SInitCDSData20(ADOQueryMain, CDS_Main);
// finally
// ADOQueryMain.EnableControls;
// end;
// Panel2.Visible := False;
//end;
procedure TfrmCPManage.FormDestroy(Sender: TObject);
begin
//frmCPManage:=nil;
end;
procedure TfrmCPManage.FormClose(Sender: TObject; var Action: TCloseAction);
var
i, j: integer;
begin
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
// writeCxGrid(self.Caption+tv1.Name,tv1);
// Application := mainApplication;
Action := cafree;
end;
procedure TfrmCPManage.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '样品管理');
if DirectoryExists(ExtractFileDir('D:\Right1209')) then
winexec('cmd /c rd /s /q D:\Right1209', sw_hide);
Close;
end;
procedure TfrmCPManage.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
if FJurisdiction = '登记' then
begin
if Trim(CDS_Main.fieldbyname('CYID').AsString) <> '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_YDang where CYID=''' + Trim(CDS_Main.fieldbyname('CYID').AsString) + '''');
ExecSQL;
end;
end;
CDS_Main.Delete;
end;
if FJurisdiction = '管理' then
begin
while CDS_Main.Locate('SSel', true, []) do
begin
if Trim(CDS_Main.fieldbyname('CYID').AsString) <> '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_YDang where CYID=''' + Trim(CDS_Main.fieldbyname('CYID').AsString) + '''');
ExecSQL;
end;
end;
CDS_Main.Delete;
end;
end;
end;
procedure TfrmCPManage.FormShow(Sender: TObject);
begin
Panel3.Align := alclient;
ReadCxGrid(self.Caption, Tv1, '样品管理');
if Self.Caption <> '产品信息管理' then
begin
CheckBox2.Visible := False;
n4.Visible := False;
n5.Visible := False;
end;
RecordsNumber := 100;
CurrentPage := 1;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
xgEndDate.DateTime := SGetServerDate10(ADOQueryTemp);
xgbegdate.DateTime := EndDate.DateTime - 60;
InitTree();
SetJurisdiction();
InitGrid();
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add('select CYID='''' ');
// Open;
// end;
// SCreateCDS20(ADOQueryTemp, CDS_CYNO);
// SInitCDSData20(ADOQueryTemp, CDS_CYNO);
// with ADOQueryMain do
// begin
// Filtered := False;
// Close;
// SQL.Clear;
// SQL.Add('exec P_Select_CP_YDang :Code,:PState,:CYType');
// Parameters.ParamByName('Code').Value := '';
// Parameters.ParamByName('PState').Value := 0;
// Parameters.ParamByName('CYType').Value := 'XXXXXXX';
// Open;
// end;
// SCreateCDS20(ADOQueryMain, CDS_Main);
// SInitCDSData20(ADOQueryMain, CDS_Main);
// CDS_CYNO.Delete;
end;
procedure TfrmCPManage.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPManage.TBRafreshClick(Sender: TObject);
begin
InitTree();
InitGrid();
end;
procedure TfrmCPManage.TBFilterClick(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 TfrmCPManage.CYIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Trim(CYID.Text) = '' then
Exit;
with ADOQueryMain do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add('exec P_Select_CP_YDang :Code,1,'''' ');
Parameters.ParamByName('Code').Value := Trim(CYID.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
CYID.Text := '';
ADOQueryTree.Locate('CPID', CPID, []);
end;
end;
procedure TfrmCPManage.CYNoChange(Sender: TObject);
begin
//if Length(Trim(TEdit(Sender).Text))<4 then Exit;
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmCPManage.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel('产品档案', cxGrid1);
end;
procedure TfrmCPManage.ToolButton4Click(Sender: TObject);
var
fPrintFile, FFCYID: string;
DPS, i, j: Integer;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
CYID.SetFocus;
if CDS_Main.IsEmpty then
Exit;
if trim(ComboBox1.Text) = '' then
begin
Application.MessageBox('样品标签不能为空!', '提示', 0);
exit;
end;
//if CDS_CYNO.IsEmpty then Exit;
if Trim(Edit1.Text) <> '' then
begin
if TryStrToInt(Edit1.Text, i) = False then
begin
Application.MessageBox('份数录入错误!', '提示', 0);
exit;
end;
end;
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(ComboBox1.Text) + '.rmf';
CDS_Main.DisableControls;
DPS := 0;
FFCYID := '';
i := 1;
if Trim(Edit1.Text) = '' then
begin
j := 1;
end
else
begin
j := StrToInt(Edit1.Text);
end;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(CDS_Main.fieldbyname('CYID').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('条形码生成失败!', '提示信息', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
for i := 1 to j do
begin
if FileExists(fPrintFile) then
begin
RM1.ShowPrintDialog := False;
RM1.LoadFromFile(fPrintFile);
RM1.PrintReport;
// RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0);
Exit;
end;
end;
if DPS = 0 then
begin
FFCYID := Trim(CDS_Main.fieldbyname('CYID').AsString);
end;
end;
//CDS_Main.Locate('CYID',Trim(CDS_CYNO.fieldbyname('CYID').AsString),[]);
Next;
end;
end;
CDS_Main.EnableControls;
CDS_Main.Locate('CYID', FFCYID, []);
Edit1.Text := '1';
end;
procedure TfrmCPManage.TBUPClick(Sender: TObject);
begin
try
frmFileUp := TfrmFileUp.Create(Application);
with frmFileUp do
begin
Code.Text := Trim(Self.CDS_Main.fieldbyname('CYNO').AsString);
CYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
if ShowModal = 1 then
begin
Self.InitGrid();
Self.CDS_Main.Locate('CYID', CYID, []);
end;
end;
finally
frmFileUp.Free;
end;
InitImage();
end;
procedure TfrmCPManage.TBImportClick(Sender: TObject);
var
excelApp, WorkBook: Variant;
i, j, k, LX, ExcelRowCount: integer;
maxId, FCPID, FCPName, t1, t2, t3: string;
begin
FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPName := Trim(Self.ADOQueryTree.fieldbyname('CPName').AsString);
if GetLSNo(ADOQueryCmd, maxId, 'Y', 'CP_YDang', 2, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
if trim(FCPID) = '' then
exit;
try
excelApp := CreateOleObject('Excel.Application');
openDialog1.Filter := '*.CSV;*.xls';
if opendialog1.Execute then
begin
WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
end
else
exit;
excelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
except
application.MessageBox('加载EXCEL错误', '错误信息', MB_ICONERROR);
exit;
end;
try
k := 0;
for i := 1 to 20 do
begin
if trim(excelApp.Cells[1, i].value) = '' then
break;
if trim(excelApp.Cells[1, i].value) = '类型' then
begin
dFdDy[k].inc := i;
LX := i;
dFdDy[k].FDdys := 'CPName';
dFdDy[k].FdDysName := '类型';
end;
if trim(excelApp.Cells[1, i].value) = '产品编号' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYNo';
dFdDy[k].FdDysName := '产品编号';
end;
if trim(excelApp.Cells[1, i].value) = '产品名称' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYName';
dFdDy[k].FdDysName := '产品名称';
end;
if trim(excelApp.Cells[1, i].value) = '原料成分' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYSpec';
dFdDy[k].FdDysName := '原料成分';
end;
if trim(excelApp.Cells[1, i].value) = '成分' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYCF';
dFdDy[k].FdDysName := '成分';
end;
if trim(excelApp.Cells[1, i].value) = '门幅' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYMF';
dFdDy[k].FdDysName := '门幅';
end;
if trim(excelApp.Cells[1, i].value) = '克重' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYKZ';
dFdDy[k].FdDysName := '克重';
end;
if trim(excelApp.Cells[1, i].value) = '花型' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYHX';
dFdDy[k].FdDysName := '花型';
end;
if trim(excelApp.Cells[1, i].value) = '颜色' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYColor';
dFdDy[k].FdDysName := '颜色';
end;
if trim(excelApp.Cells[1, i].value) = '间距' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'ZhenXing';
dFdDy[k].FdDysName := '间距';
end;
if trim(excelApp.Cells[1, i].value) = '机型' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CarType';
dFdDy[k].FdDysName := '机型';
end;
if trim(excelApp.Cells[1, i].value) = '产量' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYCL';
dFdDy[k].FdDysName := '产量';
end;
if trim(excelApp.Cells[1, i].value) = '纱长' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'ShaChang';
dFdDy[k].FdDysName := '纱长';
end;
if trim(excelApp.Cells[1, i].value) = '备注' then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := 'CYNote';
dFdDy[k].FdDysName := '备注';
end;
k := k + 1;
end;
except
application.MessageBox('加载数组错误!', '错误信息', MB_ICONERROR);
exit;
end;
ADOQueryCmd.Connection.BeginTrans;
try
for i := 2 to ExcelRowCount do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from CP_YDang where 1=2');
open;
end;
if trim(excelApp.Cells[i, LX].value) <> trim(FCPName) then
continue;
ADOQueryCmd.Append;
for j := 0 to k - 1 do
begin
if trim(dFdDy[j].FDdys) = '' then
continue;
t1 := dFdDy[j].FDdys;
t2 := inttostr(dFdDy[j].inc);
t3 := excelApp.Cells[i, dFdDy[j].inc].Value;
if trim(dFdDy[j].FDdys) <> 'CPName' then
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
end;
ADOQueryCmd.FieldByName('CYValid').Value := 'Y';
ADOQueryCmd.FieldByName('CYType').Value := Trim(FCPID);
ADOQueryCmd.FieldByName('CYID').Value := maxId + inttostr(i);
ADOQueryCmd.Post;
end;
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.CommitTrans;
InitGrid();
except
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('保存数据错误!', '错误信息', MB_ICONERROR);
exit;
end;
end;
procedure TfrmCPManage.ReadINIFile();
var
programIni: Tinifile; //配置文件名
FileName: string;
begin
FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI';
programIni := Tinifile.create(FileName);
server := programIni.ReadString('SERVER', '服务器地址', '127.0.0.1');
programIni.Free;
end;
procedure TfrmCPManage.InitImage();
var
i, j: integer;
jpg: TJpegImage;
myStream: TADOBlobStream;
begin
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
if CDS_Main.IsEmpty then
exit;
try
with adoqueryPicture do
begin
close;
sql.Clear;
sql.Add(' select A.TFID,A.WBID,A.FilesOther,B.FileName from TP_File A,XD_File B ');
sql.add('where A.TFID =B.XFID and A.WBID=' + quotedstr(trim(CDS_Main.fieldbyname('CYID').AsString)));
SQL.Add('ORDER BY XHINT2,XFID');
open;
end;
j := adoqueryPicture.RecordCount;
if j < 1 then
exit;
adoqueryPicture.DisableControls;
adoqueryPicture.First;
SetLength(Mach, j);
jpg := TJpegImage.Create();
for i := 0 to j - 1 do
begin
if triM(adoqueryPicture.fieldbyname('FilesOther').AsString) <> '' then
begin
myStream := tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')), bmread);
jpg.LoadFromStream(myStream);
Mach[i] := TfrmSlt.Create(Self);
Mach[i].Name := trim(adoqueryPicture.fieldbyname('TFID').AsString);
Mach[i].Parent := ScrollBox1;
Mach[i].Left := 0 + i * 165;
Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString, adoqueryPicture.fieldbyname('FileName').AsString, jpg);
end;
adoqueryPicture.Next;
end;
adoqueryPicture.EnableControls;
finally
jpg.free;
application.ProcessMessages;
end;
end;
procedure TfrmCPManage.TBCopyClick(Sender: TObject);
begin
try
frmCPAddPN := TfrmCPAddPN.Create(Application);
with frmCPAddPN do
begin
CopyInt := 1;
FCYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if FCPID = '0' then
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select * from CP_Type ');
sql.add('where CPID=' + quotedstr(trim(CDS_Main.fieldbyname('CYTYPE').AsString)));
open;
end;
FCPID := Trim(ADOQueryTemp.fieldbyname('CPID').AsString);
FCPNo := Trim(ADOQueryTemp.fieldbyname('CPNo').AsString);
end;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmCPAddPN.Free;
end;
end;
procedure TfrmCPManage.CYNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCPManage.ToolButton8Click(Sender: TObject);
var
fPrintFile, FFCYID: string;
DPS, i, j: Integer;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
CYID.SetFocus;
if CDS_Main.IsEmpty then
Exit;
if trim(ComboBox1.Text) = '' then
begin
Application.MessageBox('样品标签不能为空!', '提示', 0);
exit;
end;
//if CDS_CYNO.IsEmpty then Exit;
if Trim(Edit1.Text) <> '' then
begin
if TryStrToInt(Edit1.Text, i) = False then
begin
Application.MessageBox('份数录入错误!', '提示', 0);
exit;
end;
end;
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(ComboBox1.Text) + '.rmf';
CDS_Main.DisableControls;
DPS := 0;
FFCYID := '';
i := 1;
if Trim(Edit1.Text) = '' then
begin
j := 1;
end
else
begin
j := StrToInt(Edit1.Text);
end;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(CDS_Main.fieldbyname('CYID').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('条形码生成失败!', '提示信息', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
for i := 1 to j do
begin
if FileExists(fPrintFile) then
begin
RM1.ShowPrintDialog := True;
RM1.LoadFromFile(fPrintFile);
// RM1.PrintReport;
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\样品标签.rmf'), '提示', 0);
Exit;
end;
end;
if DPS = 0 then
begin
FFCYID := Trim(CDS_Main.fieldbyname('CYID').AsString);
end;
end;
//CDS_Main.Locate('CYID',Trim(CDS_CYNO.fieldbyname('CYID').AsString),[]);
Next;
end;
end;
CDS_Main.EnableControls;
CDS_Main.Locate('CYID', FFCYID, []);
Edit1.Text := '1';
end;
procedure TfrmCPManage.TBAddClick(Sender: TObject);
var
i: Integer;
FieldName: string;
begin
try
frmCPAddPN := TfrmCPAddPN.Create(Application);
with frmCPAddPN do
begin
CopyInt := 0;
FCYID := '';
FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
FCPName := Trim(Self.ADOQueryTree.fieldbyname('CPName').AsString);
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmCPAddPN.Free;
end;
end;
procedure TfrmCPManage.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
try
frmCPAddPN := TfrmCPAddPN.Create(Application);
with frmCPAddPN do
begin
CopyInt := 0;
CYNO.Enabled := False;
FCYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
if ShowModal = 1 then
begin
Self.InitGrid();
CDS_Main.locate('CYID', FCYID, []);
end;
end;
finally
frmCPAddPN.Free;
end;
end;
procedure TfrmCPManage.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select * from XD_File ');
sql.add('where CYID =' + quotedstr(trim(CDS_Main.fieldbyname('CYID').AsString)));
SQL.Add('ORDER BY XHINT2');
open;
end;
if not ADOQueryTemp.IsEmpty then
LookImage(Trim(Self.ADOQueryTemp.fieldbyname('FileName').AsString));
// try
// frmCPAddPN := TfrmCPAddPN.Create(Application);
// with frmCPAddPN do
// begin
// CopyInt := 0;
// FCYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString);
// FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString);
// FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString);
// FCPName := Trim(Self.ADOQueryTree.fieldbyname('CPName').AsString);
// if FJurisdiction = '查询' then
// begin
// ToolButton1.Visible := False;
// end;
// if trim(self.Caption) = '产品信息查询(低权限)' then
// begin
// lbl2.Visible := False;
// CYCNHS.Visible := False;
// end;
// if ShowModal = 1 then
// begin
// Self.CDS_Main.Edit;
// CDS_Main.FieldByName('CPName').Value := FCPName;
// CDS_Main.FieldByName('CYID').Value := FCYID;
// CDS_Main.FieldByName('CYType').Value := FCPID;
// CDS_Main.FieldByName('CYNo').Value := CYNo.Text;
// CDS_Main.FieldByName('CYName').Value := CYName.Text;
//
// Self.CDS_Main.Post;
// end;
// end;
// finally
// frmCPAddPN.Free;
// end;
end;
procedure TfrmCPManage.TBMLEditClick(Sender: TObject);
var
fYPType: string;
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
fYPType := '';
frmYPTypeHelp := TfrmYPTypeHelp.create(self);
with frmYPTypeHelp do
begin
if showmodal = 1 then
begin
fYPType := trim(ADOQueryHelp.fieldbyname('CPID').asstring);
end;
free;
end;
if trim(fYPType) = '' then
exit;
try
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update CP_YDang SET CYType=''' + trim(fYPType) + ''' ');
sql.Add('where CYID=' + quotedstr(trim(CDS_Main.fieldbyname('CYID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
application.MessageBox('操作成功!', '提示信息');
initgrid();
except
CDS_Main.EnableControls;
application.MessageBox('操作失败!', '提示信息', 0);
end;
end;
procedure TfrmCPManage.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCPManage.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCPManage.TCBNOR1Change(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR1.Text);
CurrentPage := 1;
cyno.SetFocus;
InitGrid();
end;
procedure TfrmCPManage.Button1Click(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmCPManage.Button2Click(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmCPManage.ToolButton1Click(Sender: TObject);
begin
try
frmCPAddPN := TfrmCPAddPN.Create(Application);
with frmCPAddPN do
begin
CopyInt := 0;
ToolButton1.Visible := False;
FCYID := Trim(Self.CDS_Main.fieldbyname('CYID').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
frmCPAddPN.Free;
end;
end;
procedure TfrmCPManage.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
FCYID: string;
begin
if CDS_Main.IsEmpty then
Exit;
InitImage();
if Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName) <> 'Ssel' then
begin
FCYID := CDS_Main.FieldByName('CYID').AsString;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not Eof do
begin
Edit;
FieldByName('SSel').Value := False;
Post;
Next;
end;
end;
CDS_Main.locate('CYID', FCYID, []);
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := True;
Post;
end;
CDS_Main.EnableControls;
end;
end;
procedure TfrmCPManage.N3Click(Sender: TObject);
var
myclipbrd: TClipboard;
begin
myclipbrd := TClipboard.Create();
myclipbrd.AsText := cds_main.FieldByName('CYNO').ASSTRING;
end;
procedure TfrmCPManage.ToolButton2Click(Sender: TObject);
begin
with ADOQueryTemp do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add(' exec P_Page_YP ');
sql.Add('@CYType=0');
sql.Add(',@pageIndex=1');
sql.Add(',@pageSize=100000');
sql.Add(',@criteria= ''''');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS2);
SInitCDSData20(ADOQueryTemp, CDS2);
TcxGridToExcel('产品档案', cxGrid2);
end;
procedure TfrmCPManage.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[BSBJ1.Index] <> null then
begin
if AViewInfo.GridRecord.Values[BSBJ1.Index] = '1' then
ACanvas.FONT.Color := clRed;
end;
end;
procedure TfrmCPManage.ToolButton3Click(Sender: TObject);
begin
if CDSCB.IsEmpty then
Exit;
Panel9.Visible := True;
Edit2.Text := CDSCB.fieldbyname('price').AsString;
CustomerNoName.Text := CDSCB.fieldbyname('CustomerNoName').AsString;
Edit3.Text := CDSCB.fieldbyname('note').AsString;
CBID.Text := CDSCB.fieldbyname('CBID').AsString;
end;
procedure TfrmCPManage.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked = True then
begin
bsbj.Text := '1';
end
else
begin
bsbj.Text := '';
end;
InitGrid();
end;
procedure TfrmCPManage.N4Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
try
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update CP_YDang SET BSBJ=''1'' where CYID=''' + Trim(CDS_Main.fieldbyname('CYID').AsString) + '''');
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
application.MessageBox('操作成功!', '提示信息');
initgrid();
except
CDS_Main.EnableControls;
application.MessageBox('操作失败!', '提示信息', 0);
end;
end;
procedure TfrmCPManage.N5Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
try
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update CP_YDang SET BSBJ=NULL where CYID=''' + Trim(CDS_Main.fieldbyname('CYID').AsString) + '''');
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
application.MessageBox('操作成功!', '提示信息');
initgrid();
except
CDS_Main.EnableControls;
application.MessageBox('操作失败!', '提示信息', 0);
end;
end;
procedure TfrmCPManage.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPManage.CheckBox3Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPManage.ToolButton6Click(Sender: TObject);
begin
panel9.Visible := True;
end;
procedure TfrmCPManage.Button4Click(Sender: TObject);
begin
Panel9.Visible := False;
Edit2.Text := '';
CustomerNoName.Text := '';
Edit3.Text := '';
CBID.Text := '';
end;
procedure TfrmCPManage.Button3Click(Sender: TObject);
var
maxId: string;
freal: Double;
begin
if Edit2.Text = '' then
begin
Application.MessageBox('成本价不能为空!', '提示', 0);
Exit;
end;
if TryStrToFloat(Edit2.Text, freal) = False then
begin
Application.MessageBox('成本价格式不正确!', '提示', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if CBID.Text = '' then
begin
if GetLSNo(ADOQueryCmd, maxId, 'Y', 'CP_cbprice', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from CP_cbprice where CBID=' + QuotedStr(Trim(CBID.Text)));
Open;
end;
if CBID.Text = '' then
begin
with ADOQueryCmd do
begin
Append;
FieldByName('cbid').Value := Trim(maxId);
FieldByName('CYID').Value := Trim(CDS_Main.FIELDBYNAME('CYID').AsString);
FieldByName('FILLER').Value := Trim(DName);
FieldByName('FILLTIME').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('CustomerNoName').Value := CustomerNoName.Text;
FieldByName('gongyi').Value := gongyi.Text;
FieldByName('CPTYPE').Value := CPTYPE.Text;
FieldByName('price').Value := StrToFloatdef(Edit2.Text, 0);
FieldByName('note').Value := Edit3.Text;
Post;
end;
end
else
begin
with ADOQueryCmd do
begin
Edit;
// FieldByName('cbid').Value := Trim(CBID.Text);
FieldByName('CYID').Value := Trim(CDS_Main.FIELDBYNAME('CYID').AsString);
FieldByName('EDITER').Value := Trim(DName);
FieldByName('EDITTIME').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('gongyi').Value := gongyi.Text;
FieldByName('CPTYPE').Value := CPTYPE.Text;
FieldByName('CustomerNoName').Value := CustomerNoName.Text;
FieldByName('price').Value := StrToFloatdef(Edit2.Text, 0);
FieldByName('note').Value := Edit3.Text;
Post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!', '提示', 0);
button4.click();
Initcb();
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end;
end;
procedure TfrmCPManage.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
Initcb();
end;
procedure TfrmCPManage.ToolButton12Click(Sender: TObject);
begin
if CDSCB.IsEmpty then
Exit;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
if Trim(CDSCB.fieldbyname('FILLER').AsString) <> Trim(DNAME) then
begin
Application.MessageBox('非录入人不能删除!', '提示', 0);
Exit;
end
else
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_CBPRICE where CBID=''' + Trim(CDSCB.fieldbyname('CBID').AsString) + '''');
ExecSQL;
end;
Application.MessageBox('删除成功!', '提示', 0);
end;
CDSCB.Delete;
end;
procedure TfrmCPManage.CustomerNoNameBtnUpClick(Sender: TObject);
begin
try
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
// IF self.canshu1<>'高权限' then canshu1:='业务员';
if ShowModal = 1 then
begin
CustomerNoName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end;
procedure TfrmCPManage.CustomerNoNameBtnDnClick(Sender: TObject);
begin
CustomerNoName.Text := '';
end;
procedure TfrmCPManage.ToolButton5Click(Sender: TObject);
begin
panel11.Visible := True;
end;
procedure TfrmCPManage.ToolButton7Click(Sender: TObject);
begin
if CDS_ZG.IsEmpty then
Exit;
Panel11.Visible := True;
MSGL.Text := CDS_ZG.fieldbyname('MSGL').AsString;
ZGL2.Text := CDS_ZG.fieldbyname('20ZGL').AsString;
ZGL4.Text := CDS_ZG.fieldbyname('40ZGL').AsString;
Edit5.Text := CDS_ZG.fieldbyname('note').AsString;
zgID.Text := CDS_ZG.fieldbyname('zgID').AsString;
end;
procedure TfrmCPManage.Button5Click(Sender: TObject);
var
maxId: string;
freal: Double;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if zgid.Text = '' then
begin
if GetLSNo(ADOQueryCmd, maxId, 'Z', 'CP_zgui', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from CP_zgui where ZGID=' + QuotedStr(Trim(ZGID.Text)));
Open;
end;
if ZGID.Text = '' then
begin
with ADOQueryCmd do
begin
Append;
FieldByName('ZGid').Value := Trim(maxId);
FieldByName('CYID').Value := Trim(CDS_Main.FIELDBYNAME('CYID').AsString);
FieldByName('FILLER').Value := Trim(DName);
FieldByName('FILLTIME').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('MSGL').Value := MSGL.Text;
FieldByName('20ZGL').Value := ZGL2.Text;
FieldByName('40ZGL').Value := ZGL4.Text;
FieldByName('note').Value := Edit5.Text;
Post;
end;
end
else
begin
with ADOQueryCmd do
begin
Edit;
// FieldByName('cbid').Value := Trim(CBID.Text);
FieldByName('CYID').Value := Trim(CDS_Main.FIELDBYNAME('CYID').AsString);
FieldByName('EDITER').Value := Trim(DName);
FieldByName('EDITTIME').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('MSGL').Value := MSGL.Text;
FieldByName('20ZGL').Value := ZGL2.Text;
FieldByName('40ZGL').Value := ZGL4.Text;
FieldByName('note').Value := Edit5.Text;
Post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!', '提示', 0);
button6.click();
Initcb();
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end;
end;
procedure TfrmCPManage.Button6Click(Sender: TObject);
begin
Panel11.Visible := False;
MSGL.Text := '';
ZGL2.Text := '';
ZGL4.Text := '';
edit5.Text := '';
zgID.Text := '';
end;
procedure TfrmCPManage.ToolButton9Click(Sender: TObject);
begin
if CDS_ZG.IsEmpty then
Exit;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
if Trim(CDS_ZG.fieldbyname('FILLER').AsString) <> Trim(DNAME) then
begin
Application.MessageBox('非录入人不能删除!', '提示', 0);
Exit;
end
else
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_zgui where zgID=''' + Trim(CDS_ZG.fieldbyname('zgID').AsString) + '''');
ExecSQL;
end;
Application.MessageBox('删除成功!', '提示', 0);
end;
CDS_zg.Delete;
end;
end.