D7gmYushang/样品仓库(SampleWarehouse.dll)/U_PieceSampleKcList.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

920 lines
26 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_PieceSampleKcList;
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, cxCheckBox,
RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus,
BtnEdit, U_SLT, jpeg, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
cxCalendar, RM_e_Xls, cxTextEdit;
type
TfrmPieceSampleKcList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
Label3: TLabel;
P_CodeName: TEdit;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
TOk: TToolButton;
v1Ssel: TcxGridDBColumn;
Label7: TLabel;
P_Color: TEdit;
Label8: TLabel;
Label9: TLabel;
kuwei: TEdit;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM1: TRMGridReport;
v1Column8: TcxGridDBColumn;
ADOQueryMain: TADOQuery;
Label13: TLabel;
v1Column9: TcxGridDBColumn;
P_Code: TEdit;
Label18: TLabel;
v1Column16: TcxGridDBColumn;
Label31: TLabel;
FactoryName: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
ToolButton2: TToolButton;
v1Column2: TcxGridDBColumn;
Panel2: TPanel;
Label1: TLabel;
Button1: TButton;
edtKuWei: TBtnEditA;
ToolButton1: TToolButton;
v1Column1: TcxGridDBColumn;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
v1Column7: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
adoqueryPicture: TADOQuery;
ToolButton3: TToolButton;
v1Column11: TcxGridDBColumn;
cv1Column12: TcxGridDBColumn;
lbl1: TLabel;
yptype: TEdit;
cv1Column13: TcxGridDBColumn;
btn1: TToolButton;
Edit1: TEdit;
lbl2: TLabel;
btn2: TButton;
v1Column12: TcxGridDBColumn;
ToolButton4: TToolButton;
RMXLSExport1: TRMXLSExport;
ADOPrint: TADOQuery;
ToolButton5: TToolButton;
Panel5: TPanel;
Label2: TLabel;
Button5: TButton;
Button6: TButton;
Edit2: TEdit;
ToolButton6: TToolButton;
CheckBox1: TCheckBox;
Tv1Column1: TcxGridDBColumn;
ToolButton7: TToolButton;
Label6: TLabel;
Note: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TOkClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure edtKuWeiBtnClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure v1NotePropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column1PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
procedure InitImage();
{ Private declarations }
public
fType: integer;
fCKName: string;
canshu1: string;
{ Public declarations }
end;
var
frmPieceSampleKcList: TfrmPieceSampleKcList;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_Fun, U_SysLogHelp;
{$R *.dfm}
procedure TfrmPieceSampleKcList.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 TfrmPieceSampleKcList.SetStatus();
begin
ToolButton1.Visible := true;
ToolButton5.Visible := true;
btn1.Visible := true;
ToolButton6.Visible := true;
if fType = 10 then
begin
TOk.Visible := true;
v1Ssel.Visible := true;
ToolButton1.Visible := True;
end;
if canshu1 = '<27><>ѯ' then
begin
ToolButton1.Visible := False;
ToolButton5.Visible := False;
btn1.Visible := False;
ToolButton6.Visible := False;
end;
end;
procedure TfrmPieceSampleKcList.InitGrid();
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' select A.*,nkuwei=REPLACE(kuwei,CHAR(10), '''') ');
SQL.Add(' from CK_Sample_CR A ');
sql.Add(' where CKName=' + quotedstr(trim(fCKName)));
if CheckBox1.Checked = True then
begin
sql.Add('and A.kcQty=0 ');
end
else
begin
sql.Add('and A.kcQty<>0 ');
end;
SQL.Add('AND Chkstatus=''1''');
sql.ADD(' and A.Valid=''Y'' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
if Trim(P_Code.Text) <> '' then
begin
SQL.Add('AND P_CODE LIKE ' + quotedstr('%' + trim(P_Code.Text) + '%'));
end;
if Trim(P_Color.Text) <> '' then
begin
SQL.Add('AND P_Color LIKE ' + quotedstr('%' + trim(P_Color.Text) + '%'));
end;
sql.Add(' order by A.CRTime desc,A.CRNO desc');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
finally
end;
end;
procedure TfrmPieceSampleKcList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmPieceSampleKcList.FormDestroy(Sender: TObject);
begin
frmPieceSampleKcList := nil;
end;
procedure TfrmPieceSampleKcList.P_CodeNameChange(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmPieceSampleKcList.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
SetStatus();
// InitGrid();
end;
procedure TfrmPieceSampleKcList.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmPieceSampleKcList.TBRafreshClick(Sender: TObject);
begin
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' select A.*,nkuwei=REPLACE(kuwei,CHAR(10), '''') ');
SQL.Add(' from CK_Sample_CR A ');
sql.Add(' where CKName=' + quotedstr(trim(fCKName)));
if CheckBox1.Checked = True then
begin
sql.Add('and A.kcQty=0 ');
end
else
begin
sql.Add('and A.kcQty<>0 ');
end;
SQL.Add('AND Chkstatus=''1''');
sql.ADD(' and A.Valid=''Y'' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
if Trim(P_Code.Text) <> '' then
begin
SQL.Add('AND P_CODE LIKE ' + quotedstr('%' + trim(P_Code.Text) + '%'));
end;
if Trim(P_Color.Text) <> '' then
begin
SQL.Add('AND P_Color LIKE ' + quotedstr('%' + trim(P_Color.Text) + '%'));
end;
sql.Add(' order by A.CRTime desc,A.CRNO desc');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmPieceSampleKcList.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmPieceSampleKcList.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmPieceSampleKcList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, true);
end;
procedure TfrmPieceSampleKcList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, false);
end;
procedure TfrmPieceSampleKcList.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 TfrmPieceSampleKcList.ToolButton2Click(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmPieceSampleKcList.ToolButton1Click(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 TfrmPieceSampleKcList.Button1Click(Sender: TObject);
begin
if trim(edtKuWei.Text) = '' then
exit;
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);
FieldByName('nkuwei').Value := trim(edtKuWei.Text);
post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
end
end;
procedure TfrmPieceSampleKcList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
InitImage();
end;
procedure TfrmPieceSampleKcList.ToolButton3Click(Sender: TObject);
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('exec P_Up_SampleKcAll');
execsql;
end;
end;
procedure TfrmPieceSampleKcList.btn2Click(Sender: TObject);
var
maxno, maxno2: string;
F1: string;
begin
if trim(Edit1.Text) = '' then
exit;
if trim(edtKuWei.Text) = '' then
exit;
try
ADOQueryCmd.Connection.BeginTrans;
F1 := CDS_Main.FieldByName('CRNO').AsString;
while CDS_Main.Locate('SSel', true, []) do
begin
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('select * from CK_Sample_CR where crno= ' + quotedstr(trim(CDS_Main.FieldByName('CRNO').AsString)));
Open;
end;
if (StrToFloat(Edit1.Text) < (ADOQueryCmd.FieldByName('kcqty').AsFloat)) then
begin
if GetLSNo(ADOQueryTmp, maxno, 'SPR', 'CK_Sample_CR', 3, 1) = False then //ADOQueryTmp yaoduiyingma
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
if GetLSNo(ADOQueryTmp, maxno2, 'SPC', 'CK_Sample_CR', 3, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('exec P_Up_BPCP @rkID=' + quotedstr(trim(CDS_Main.fieldbyname('crno').AsString)));
sql.Add(',@maxno=' + quotedstr(trim(maxno)));
SQL.Add(',@fqty=' + quotedstr(trim(Edit1.Text)));
SQL.Add(',@kuwei=' + quotedstr(Trim(edtkuwei.text)));
sql.Add(',@maxno2=' + quotedstr(trim(maxno2)));
sql.Add(',@filler=' + quotedstr(trim(DName)));
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;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><>ƥ<EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
except
ADOQueryCmd.Connection.RollbackTrans;
end
end;
procedure TfrmPieceSampleKcList.btn1Click(Sender: TObject);
begin
if Panel2.Visible = False then
begin
Panel2.Visible := True;
lbl2.Visible := True;
Edit1.Visible := True;
btn2.visible := True;
Button1.Visible := False;
end
else
Panel2.Visible := False;
end;
procedure TfrmPieceSampleKcList.ToolButton4Click(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 ADOPrint 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(ADOPrint.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 TfrmPieceSampleKcList.ToolButton5Click(Sender: TObject);
begin
Panel5.Visible := True;
Edit2.Text := Trim(CDS_Main.fieldbyname('kcqty').AsString);
end;
procedure TfrmPieceSampleKcList.Button5Click(Sender: TObject);
var
MAXNO: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryTmp, MAXNO, 'SPC', 'CK_Sample_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
ADOQueryCmd.Connection.RollbackTrans;
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from CK_Sample_CR');
sql.Add('where 1<>1');
open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('Filler').Value := trim(DName);
FieldByName('FillTime').Value := SGetServerDate(ADOQueryTmp);
FieldByName('crTime').Value := SGetServerDate(ADOQueryTmp);
FieldByName('CKName').Value := trim(fCKName);
FieldByName('CRNO').Value := trim(MAXNO);
FieldByName('inoutno').Value := Trim(MAXNO);
FieldByName('CRQtyFlag').Value := -1;
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRTYPE').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('kuwei').Value := trim(CDS_Main.fieldbyname('kuwei').AsString);
FieldByName('factoryName').Value := trim(CDS_Main.fieldbyname('factoryName').AsString);
FieldByName('P_Code').Value := trim(CDS_Main.fieldbyname('P_Code').AsString);
// FieldByName('YWY').Value := trim(CDS_Main.fieldbyname('YWY').AsString);
FieldByName('P_CodeName').Value := trim(CDS_Main.fieldbyname('P_CodeName').AsString);
FieldByName('P_Color').Value := trim(CDS_Main.fieldbyname('P_Color').AsString);
FieldByName('QtyUnit').Value := trim(CDS_Main.fieldbyname('QtyUnit').AsString);
FieldByName('yptype').Value := trim(CDS_Main.fieldbyname('yptype').AsString);
FieldByName('p_cf').Value := trim(CDS_Main.fieldbyname('p_cf').AsString);
FieldByName('p_hx').Value := trim(CDS_Main.fieldbyname('p_hx').AsString);
FieldByName('p_SPEC').Value := trim(CDS_Main.fieldbyname('p_SPEC').AsString);
FieldByName('P_MF').Value := trim(CDS_Main.fieldbyname('P_MF').AsString);
FieldByName('p_KZ').Value := trim(CDS_Main.fieldbyname('p_KZ').AsString);
FieldByName('QTY').Value := CDS_Main.fieldbyname('kcQty').AsFloat - STRTOFLOATDEF(Edit2.Text, 0);
FieldByName('Orderno').Value := trim(CDS_Main.fieldbyname('Orderno').AsString);
FieldByName('mainID').Value := trim(CDS_Main.fieldbyname('mainID').AsString);
FieldByName('subID').Value := trim(CDS_Main.fieldbyname('subID').AsString);
FieldByName('MJID').Value := trim(CDS_Main.fieldbyname('MJID').AsString);
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Up_SampleKc ' + quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString)));
// ShowMessage(SQL.Text);
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 ADOQueryTmp do
begin
Close;
SQL.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim(<><D4AD><EFBFBD><EFBFBD>:' + Trim(CDS_Main.fieldbyname('kcqty').AsString) + ';<3B>ֿ<EFBFBD><D6BF><EFBFBD>:' + Trim(edit2.Text))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
with CDS_Main do
begin
Edit;
CDS_Main.fieldbyname('kcqty').AsString := edit2.text;
Post;
end;
CDS_Main.EnableControls;
Panel5.Visible := False;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
// InitGrid();
except
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmPieceSampleKcList.Button6Click(Sender: TObject);
begin
panel5.Visible := False;
end;
procedure TfrmPieceSampleKcList.ToolButton6Click(Sender: TObject);
begin
frmSysLogHelp := TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
// fModel := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
facction := '<27>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
showmodal;
free;
end;
end;
procedure TfrmPieceSampleKcList.CheckBox1Click(Sender: TObject);
begin
TBRafresh.Click();
end;
procedure TfrmPieceSampleKcList.v1NotePropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('select * from sy_user where username=' + QuotedStr(Trim(DName)));
// ShowMessage(SQL.text);
open;
end;
if (trim(DName) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (Trim(ADOQueryTmp.fieldbyname('UDEPT').AsString) = '<27>ܾ<EFBFBD><DCBE><EFBFBD>') then
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_Sample_CR ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
SQL.Add('WHERE CRNO=' + QuotedStr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
// ShowMessage(SQL.text);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv1.Controller.EditingController.ShowEdit();
except
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
end
end;
end;
procedure TfrmPieceSampleKcList.Tv1Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_Sample_CR ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
SQL.Add('WHERE CRNO=' + QuotedStr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
// ShowMessage(SQL.text);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv1.Controller.EditingController.ShowEdit();
except
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
end
end;
procedure TfrmPieceSampleKcList.ToolButton7Click(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 ADOPrint 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(ADOPrint.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;
end.