D7gmYushang/样品仓库(SampleWarehouse.dll)/U_PieceSampleRklist.pas

961 lines
25 KiB
ObjectPascal
Raw Permalink Normal View History

2025-09-24 13:13:14 +08:00
unit U_PieceSampleRklist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxContainer,
cxTextEdit, cxCurrencyEdit, cxCheckBox, RM_System, RM_Dataset, RM_Common,
RM_Class, RM_GridReport, cxPC, Menus, U_SLT, jpeg, ComObj, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, BtnEdit;
type
FdDy = record
inc: integer; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>־<EFBFBD><D6BE><EFBFBD>
FDdys: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
FdDysName: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
end;
TfrmPieceSampleRklist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
Label2: TLabel;
Label3: TLabel;
P_CodeName: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
ckName: TComboBox;
Label6: TLabel;
v1P_Code: TcxGridDBColumn;
v1INoutNo: TcxGridDBColumn;
Label7: TLabel;
inoutNo: TEdit;
v1Price: TcxGridDBColumn;
v1money: TcxGridDBColumn;
kuwei: TEdit;
Label9: TLabel;
gangNo: TEdit;
Label10: TLabel;
v1Column3: TcxGridDBColumn;
RMDB_Main: TRMDBDataSet;
v1Column4: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
OrderNo: TEdit;
Label14: TLabel;
P_Code: TEdit;
Label15: TLabel;
v1Column10: TcxGridDBColumn;
Label17: TLabel;
P_Color: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
ToolButton1: TToolButton;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
adoqueryPicture: TADOQuery;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
ToolButton2: TToolButton;
OpenDialog1: TOpenDialog;
Label8: TLabel;
Label11: TLabel;
P_KZ: TEdit;
P_MF: TEdit;
Label4: TLabel;
Label12: TLabel;
P_SPEC: TEdit;
P_CF: TEdit;
ToolButton3: TToolButton;
lbl1: TLabel;
yptype: TEdit;
cv1Column11: TcxGridDBColumn;
cv1Column12: TcxGridDBColumn;
Edit1: TEdit;
cxstylrpstry1: TcxStyleRepository;
dazi1: TcxStyle;
btn1: TToolButton;
pnl1: TPanel;
lbl2: TLabel;
CY1: TEdit;
btn2: TButton;
v1Column11: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
Panel2: TPanel;
Label13: TLabel;
Label16: TLabel;
Button1: TButton;
edtKuWei: TBtnEditA;
Edit2: TEdit;
Button2: TButton;
CheckBox1: TCheckBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure edtKuWeiBtnClick(Sender: TObject);
procedure inoutNoKeyPress(Sender: TObject; var Key: Char);
procedure CRTypeChange(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
procedure InitImage();
{ Private declarations }
public
dFdDy: array[0..30] of FdDy; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
fCKName, canshu1: string;
fCRType: string;
{ Public declarations }
end;
//var
// frmPieceSampleRklist: TfrmPieceSampleRklist;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_Fun10, U_Fun, U_ZDYHelp, U_FileUp, U_PieceSampleRk;
{$R *.dfm}
procedure TfrmPieceSampleRklist.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 where A.TFID =B.XFID ');
if CDS_Main.IsEmpty = False then
begin
sql.Add('and A.WBID=' + quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString)));
end
else
begin
sql.add(' and 1=2');
end;
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 TfrmPieceSampleRklist.SetStatus();
begin
TBEdit.Visible := False;
TBDel.Visible := False;
ToolButton4.Visible := False;
ToolButton5.Visible := False;
if trim(canshu1) = '<27>ֿ<EFBFBD>' then
begin
TBadd.Visible := true;
TBDel.Visible := False;
ToolButton1.Visible := False;
ToolButton2.Visible := False;
TBEdit.Visible := true;
TBDel.Visible := true;
btn1.Visible := True;
end;
if Trim(canshu1) = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
TBEdit.Visible := true;
TBDel.Visible := true;
end
else
begin
end;
if cxTabControl1.TabIndex = 0 then
begin
ToolButton4.Visible := True;
end
else if cxTabControl1.TabIndex = 1 then
begin
ToolButton5.Visible := True;
end;
end;
procedure TfrmPieceSampleRklist.InitGrid();
var
Pwhere: string;
begin
if SGetFilters(Panel1, 1, 2) <> '' then
Pwhere := ' and ' + SGetFilters(Panel1, 1, 2);
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.*,fromFactoryName2=(case when CRType=''<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>'' then '''' else fromFactoryName end) from CK_Sample_CR A ');
sql.Add('where 1=1 ');
if CheckBox1.Checked = true then
begin
sql.Add(' and A.CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add(' and A.CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
end;
sql.Add(' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and isnull(VisType,'''')<>''<27><><EFBFBD><EFBFBD>'' and A.Valid=''Y'' and CKName=' + quotedstr(trim(fCKName)));
if cxTabControl1.TabIndex = 0 then
begin
sql.Add(' and ISNULL(Chkstatus,0)= ''0''');
end
else
begin
sql.Add(' and Chkstatus= ''1''');
end;
SQL.Add(Pwhere);
// ShowMessage(SQL.Text);
open;
end;
SCreateCDS20(adoqueryTmp, CDS_Main);
SInitCDSData20(adoqueryTmp, CDS_Main);
finally
end;
end;
procedure TfrmPieceSampleRklist.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cafree;
end;
procedure TfrmPieceSampleRklist.FormDestroy(Sender: TObject);
begin
// frmPieceSampleRklist:=nil;
end;
procedure TfrmPieceSampleRklist.TBAddClick(Sender: TObject);
begin
frmPieceSampleRk := TfrmPieceSampleRk.create(self);
with frmPieceSampleRk do
begin
fkeyNo := '';
fType := 0;
fCKName := trim(self.fCKName);
canshu1 := self.canshu1;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmPieceSampleRklist.P_CodeNameChange(Sender: TObject);
begin
if ADOQueryTmp.Active = False then
Exit;
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_Main);
SInitCDSData20(ADOQueryTmp, CDS_Main);
end;
procedure TfrmPieceSampleRklist.FormShow(Sender: TObject);
begin
readCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
SetStatus();
// InitGrid();
end;
procedure TfrmPieceSampleRklist.FormCreate(Sender: TObject);
begin
EndDate.Date := SGetServerDate10(ADOQueryTmp);
BegDate.Date := EndDate.Date - 7;
end;
procedure TfrmPieceSampleRklist.TBCloseClick(Sender: TObject);
begin
writeCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
close;
end;
procedure TfrmPieceSampleRklist.TBEditClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select A.* from CK_Sample_CR A');
SQL.Add('where A.MJID=''' + trim(cds_main.fieldbyname('MJID').AsString) + ''' ');
SQL.Add('and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.valid=''Y'' ');
Open;
end;
if not ADOQueryCmd.IsEmpty then
begin
Application.MessageBox('<27>˵<EFBFBD><CBB5>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8>', '<27><>ʾ', 0);
Exit;
end;
frmPieceSampleRk := TfrmPieceSampleRk.create(self);
with frmPieceSampleRk do
begin
fkeyNo := self.cds_main.fieldbyname('CRNO').AsString;
fType := 1;
fCKName := trim(self.fCKName);
canshu1 := Self.canshu1;
if Self.cds_main.fieldbyname('CRTYPE').AsString = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
// frmPieceSampleRk.crtype.Items.Clear;
frmPieceSampleRk.crtype.Items.Add('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmPieceSampleRklist.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.IsEmpty then
Exit;
if Trim(CDS_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
if Trim(CDS_Main.FieldByName('CRNO').AsString) <> '' then
begin
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_Sample_CR set Valid=''N'' where CRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString)));
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Up_SampleKc ' + quotedstr(Trim(CDS_Main.FieldByName('MJID').AsString)));
Open;
end;
if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
end;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmPieceSampleRklist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmPieceSampleRklist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmPieceSampleRklist.TBFindClick(Sender: TObject);
begin
if ADOQueryTmp.Active = False then
Exit;
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_Main);
SInitCDSData20(ADOQueryTmp, CDS_Main);
end;
procedure TfrmPieceSampleRklist.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmPieceSampleRklist.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmPieceSampleRklist.ToolButton1Click(Sender: TObject);
begin
try
frmFileUp := TfrmFileUp.Create(Application);
with frmFileUp do
begin
Code.Text := Trim(Self.CDS_Main.fieldbyname('MJID').AsString);
CYID := Trim(Self.CDS_Main.fieldbyname('MJID').AsString);
if ShowModal = 1 then
begin
//Self.InitGrid();
//Self.CDS_Main.Locate('SPID',CYID,[]);
end;
end;
finally
frmFileUp.Free;
end;
end;
procedure TfrmPieceSampleRklist.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// InitImage();
end;
procedure TfrmPieceSampleRklist.ToolButton2Click(Sender: TObject);
var
excelApp, WorkBook: Variant;
i, j, k, ExcelRowCount: integer;
maxId: string;
begin
if GetLSNo(ADOQueryCmd, maxId, 'SP', 'CK_Sample_CR', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
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('<27><><EFBFBD><EFBFBD>EXCEL<45><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
exit;
end;
try
k := 0;
for i := 1 to 30 do
begin
if trim(excelApp.Cells[1, i].value) = '' then
break;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󶨽<EFBFBD><F3B6A8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ֶκ<D6B6><CEBA><EFBFBD><EFBFBD><EFBFBD>
for j := 0 to Tv1.ColumnCount - 1 do
begin
if trim(excelApp.Cells[1, i].value) = trim(Tv1.Columns[j].Caption) then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := trim(Tv1.Columns[j].DataBinding.FieldName);
dFdDy[k].FdDysName := trim(Tv1.Columns[j].Caption);
end;
end;
k := k + 1;
end;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', 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 CK_Sample_CR where 1=2');
open;
end;
ADOQueryCmd.Append;
//<2F><><EFBFBD>ӵ<EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for j := 1 to k - 1 do
begin
if trim(dFdDy[j].FDdys) <> '' then
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
end;
ADOQueryCmd.FieldByName('Filler').Value := Trim(DName);
ADOQueryCmd.FieldByName('CRNO').Value := Trim(maxId) + inttostr(i);
ADOQueryCmd.FieldByName('INoutNo').Value := Trim(maxId) + inttostr(i);
ADOQueryCmd.FieldByName('MJID').Value := Trim(maxId) + inttostr(i);
ADOQueryCmd.FieldByName('CKName').Value := trim(fCKName);
ADOQueryCmd.FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', now);
ADOQueryCmd.FieldByName('CRType').Value := '<27>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('CRQtyFlag').Value := 1;
ADOQueryCmd.Post;
end;
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.CommitTrans;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('exec P_Up_SampleKcAll');
execsql;
end;
InitGrid();
except
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
exit;
end;
end;
procedure TfrmPieceSampleRklist.ToolButton3Click(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_Main.IsEmpty then
Exit;
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ.rmf', ADOQueryTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ.rmf';
while CDS_Main.Locate('SSel', True, []) do
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
// sql.Add('select * from CP_YDang A inner join CK_Sample_CR B on A.CYNo=B.P_Code and A.CYColor=B.P_COLOR ');
sql.Add('select * from CK_Sample_CR A ');
sql.Add('where CRNO=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + '''');
// showmessage(sql.Text);
Open;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('crno').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;
RMVariables['QRBARCODE'] := fImagePath;
if FileExists(fPrintFile) then
begin
RM1.ShowPrintDialog := False;
Rm1.DefaultCopies := strtointdef(trim(Edit1.Text), 1);
RM1.LoadFromFile(fPrintFile);
// RM1.DefaultCopies := 1;
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
Exit;
end;
CDS_Main.edit;
CDS_Main.FieldByName('ssel').Value := False;
end;
end;
procedure TfrmPieceSampleRklist.btn2Click(Sender: TObject);
var
maxno, maxno2: string;
F1: string;
ZS: double;
begin
if trim(cy1.Text) = '' then
exit;
try
ADOQueryCmd.Connection.BeginTrans;
F1 := CDS_Main.FieldByName('CRNO').AsString;
while CDS_Main.Locate('SSel', true, []) do
begin
if not TryStrToFloat(Trim(CY1.Text), ZS) then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>д<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>֣<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if F1 <> trim(CDS_Main.FieldByName('CRNO').AsString) then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棡', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('UPDATE CK_Sample_CR SET QTY=' + quotedstr(Trim(CY1.Text)));
SQL.Add(' where crno= ' + quotedstr(trim(CDS_Main.FieldByName('CRNO').AsString)));
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Up_SampleKc ' + quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString)));
Open;
end;
if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>' then
begin
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := false;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27>޸ijɹ<C4B3>!', '<27><>ʾ', 0);
pnl1.Visible := False;
except
ADOQueryCmd.Connection.RollbackTrans;
end
end;
procedure TfrmPieceSampleRklist.btn1Click(Sender: TObject);
begin
if cds_main.IsEmpty then
begin
exit;
end;
if cds_main.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if pnl1.Visible = False then
begin
pnl1.Visible := True;
end
else
pnl1.Visible := False;
end;
procedure TfrmPieceSampleRklist.ToolButton4Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
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 CK_Sample_CR SET Chkstatus=''1'' ');
sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox(<>ϳɹ<CFB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(<><C8B7>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmPieceSampleRklist.ToolButton5Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
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 CK_Sample_CR SET Chkstatus=''0'' ');
sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox(<><C8A1>ȷ<EFBFBD>ϳɹ<CFB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(<><C8A1>ȷ<EFBFBD><C8B7>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmPieceSampleRklist.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmPieceSampleRklist.ToolButton6Click(Sender: TObject);
begin
if Panel2.Visible = False then
begin
Panel2.Visible := True;
Edit1.Visible := False;
btn2.Visible := False;
lbl2.Visible := False;
Button1.Visible := True;
end
else
Panel2.Visible := False;
end;
procedure TfrmPieceSampleRklist.Button1Click(Sender: TObject);
begin
if trim(edtKuWei.Text) = '' then
exit;
if CDS_Main.Locate('ssel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
while CDS_Main.Locate('SSel', true, []) do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update CK_Sample_CR set kuwei=' + quotedstr(trim(edtKuWei.Text)));
sql.Add(' where CRNO=' + quotedstr(trim(CDS_Main.FieldByName('CRNO').AsString)));
execsql;
end;
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := false;
FieldByName('KuWei').Value := trim(edtKuWei.Text);
end;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27>޸ijɹ<C4B3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
ADOQueryCmd.Connection.RollbackTrans;
end
end;
procedure TfrmPieceSampleRklist.edtKuWeiBtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'mykuwei';
flagname := '<27><>λ';
if ShowModal = 1 then
begin
edtKuWei.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmPieceSampleRklist.inoutNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmPieceSampleRklist.CRTypeChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPieceSampleRklist.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
end.