946 lines
28 KiB
ObjectPascal
946 lines
28 KiB
ObjectPascal
unit U_CPCKMXLR;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls,
|
||
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, MMSystem,
|
||
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxButtonEdit, cxDropDownEdit,
|
||
DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, BtnEdit, cxContainer,
|
||
cxTextEdit, cxCurrencyEdit, cxCheckBox, Menus, RM_Common, RM_Class, RM_e_Xls,
|
||
RM_Dataset, RM_System, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters,
|
||
cxNavigator, cxMaskEdit;
|
||
|
||
type
|
||
TfrmCPCKMXLR = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBSave: TToolButton;
|
||
TBClose: TToolButton;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryTmp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
CDS_Main: TClientDataSet;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
Panel3: TPanel;
|
||
ADOQueryMain: TADOQuery;
|
||
PopupMenu1: TPopupMenu;
|
||
N1: TMenuItem;
|
||
N2: TMenuItem;
|
||
ADOQueryPrint: TADOQuery;
|
||
RM1: TRMGridReport;
|
||
RMDB_Main: TRMDBDataSet;
|
||
RMXLSExport1: TRMXLSExport;
|
||
ToolButton1: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
cxGrid2: TcxGrid;
|
||
TvMX: TcxGridDBTableView;
|
||
vMXColumn1: TcxGridDBColumn;
|
||
cxGridDBColumn8: TcxGridDBColumn;
|
||
cxGridLevel2: TcxGridLevel;
|
||
ToolButton3: TToolButton;
|
||
vMXColumn2: TcxGridDBColumn;
|
||
Panel1: TPanel;
|
||
ComboBox1: TComboBox;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
XS: TEdit;
|
||
vMXColumn3: TcxGridDBColumn;
|
||
vMXColumn4: TcxGridDBColumn;
|
||
Label3: TLabel;
|
||
Qty: TEdit;
|
||
Label4: TLabel;
|
||
ComboBox2: TComboBox;
|
||
Label5: TLabel;
|
||
gangno: TEdit;
|
||
vMXColumn5: TcxGridDBColumn;
|
||
Label6: TLabel;
|
||
KGQTY: TEdit;
|
||
Edit1: TEdit;
|
||
Edit2: TEdit;
|
||
Edit3: TEdit;
|
||
CheckBox1: TCheckBox;
|
||
MXNOTE: TEdit;
|
||
Label7: TLabel;
|
||
CheckBox2: TCheckBox;
|
||
ComboBox3: TComboBox;
|
||
ToolButton4: TToolButton;
|
||
TvMXColumn1: TcxGridDBColumn;
|
||
ToolButton5: TToolButton;
|
||
LABNAME: TcxButtonEdit;
|
||
Label8: TLabel;
|
||
Label9: TLabel;
|
||
Label10: TLabel;
|
||
TT: TEdit;
|
||
Label11: TLabel;
|
||
KH: TEdit;
|
||
Label12: TLabel;
|
||
KUANHAO: TEdit;
|
||
Label13: TLabel;
|
||
GUIGE: TEdit;
|
||
TvMXColumn2: TcxGridDBColumn;
|
||
TvMXColumn3: TcxGridDBColumn;
|
||
TvMXColumn4: TcxGridDBColumn;
|
||
TvMXColumn5: TcxGridDBColumn;
|
||
ADOQuery1: TADOQuery;
|
||
ADOQuery2: TADOQuery;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBSaveClick(Sender: TObject);
|
||
procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FHAddressBtnDnClick(Sender: TObject);
|
||
procedure N1Click(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure TvMXCustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject);
|
||
procedure TvMXKeyPress(Sender: TObject; var Key: Char);
|
||
procedure TvMXKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||
procedure QtyKeyPress(Sender: TObject; var Key: Char);
|
||
procedure KGQTYKeyPress(Sender: TObject; var Key: Char);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure ToolButton5Click(Sender: TObject);
|
||
procedure LABNAMEPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
private
|
||
procedure InitGrid();
|
||
procedure PrtData(FJYID: string);
|
||
function savedate(): Boolean;
|
||
{ Private declarations }
|
||
public
|
||
fkeyNO,fkeyNOS, fkeyID, FMXGangHao: string;
|
||
FType: integer;
|
||
fCKName: string;
|
||
FCRTYPE: string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmCPCKMXLR: TfrmCPCKMXLR;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun10, U_ZDYHelp, U_ZdyAttachment, U_FUN;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmCPCKMXLR.PrtData(FJYID: string);
|
||
var
|
||
fPrintFile: string;
|
||
Txt, fImagePath, Txt2, fImagePath2: string;
|
||
Moudle: THandle;
|
||
Makebar: TMakebar;
|
||
Mixtext: TMixtext;
|
||
begin
|
||
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' EXEC P_Print_JYLab ');
|
||
SQL.Add(' @mjID=''' + Trim(FJYID) + '''');
|
||
Open;
|
||
end;
|
||
if ADOQueryPrint.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
|
||
ExportFtErpFile('<27><>ƥ<EFBFBD><C6A5>ǩ.rmf', ADOQueryTmp);
|
||
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ƥ<EFBFBD><C6A5>ǩ.rmf';
|
||
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['MXMJXH'] := CDS_MAIN.FIELDBYNAME('MXMJXH').ASSTRING;
|
||
RMVariables['MXGangHao'] := CDS_MAIN.FIELDBYNAME('MXGangHao').ASSTRING;
|
||
RMVariables['MXQty'] := CDS_MAIN.FIELDBYNAME('MXQty').ASSTRING;
|
||
RMVariables['MXQTY2'] := CDS_MAIN.FIELDBYNAME('MXQTY2').ASSTRING;
|
||
RMVariables['MXUnit'] := CDS_MAIN.FIELDBYNAME('MXUnit').ASSTRING;
|
||
RMVariables['MXFM'] := CDS_MAIN.FIELDBYNAME('MXFM').ASSTRING;
|
||
|
||
RMVariables['mxtt'] := CDS_MAIN.FIELDBYNAME('mxtt').ASSTRING;
|
||
RMVariables['mxkh'] := CDS_MAIN.FIELDBYNAME('mxkh').ASSTRING;
|
||
RMVariables['mxkuanno'] := CDS_MAIN.FIELDBYNAME('mxkuanno').ASSTRING;
|
||
RMVariables['mxspec'] := CDS_MAIN.FIELDBYNAME('mxspec').ASSTRING;
|
||
|
||
RM1.LoadFromFile(fPrintFile);
|
||
|
||
RM1.DefaultCopies := strtointdef(trim(ComboBox3.Text), 1);
|
||
|
||
RM1.PrintReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
function TfrmCPCKMXLR.savedate(): Boolean;
|
||
var
|
||
MaxNo: string;
|
||
begin
|
||
result := false;
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
CDS_Main.DisableControls;
|
||
CDS_Main.First;
|
||
with CDS_Main do
|
||
begin
|
||
while not eof do
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * ');
|
||
sql.Add(',MaxRollNo=(select max(isnull(MXMJXH,0)) from CK_SXPB_CRMX X where X.CRNO=''' + trim(fkeyNo) + ''' )');
|
||
sql.Add(' from CK_SXPB_CRMX A');
|
||
sql.Add('where MXID=' + quotedstr(Trim(CDS_Main.FieldByName('MXID').AsString)));
|
||
// ShowMessage(sql.Text);
|
||
open;
|
||
end;
|
||
if ADOQueryCmd.IsEmpty then
|
||
begin
|
||
if GetLSNo(ADOQueryTmp, MaxNo, 'MCM', 'CK_SXPB_CRMX', 4, 1) = False then
|
||
begin
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
|
||
// with ADOQueryCmd do
|
||
// begin
|
||
// close;
|
||
// sql.Clear;
|
||
// sql.Add('select * ');
|
||
// sql.Add(',MaxRollNo=(select max(isnull(MXMJXH,0)) from CK_SXPB_CRMX X where X.CRNO=''' + trim(fkeyNo) + ''' )');
|
||
// sql.Add(' from CK_SXPB_CRMX A');
|
||
// sql.Add('where CRNO=' + quotedstr(Trim(fkeyNo)));
|
||
//// ShowMessage(sql.Text);
|
||
// open;
|
||
// end;
|
||
//
|
||
// with CDS_Main do
|
||
// begin
|
||
// Edit;
|
||
// if FieldByName('mxmjxh').AsString = '' then
|
||
// begin
|
||
// FieldByName('mxmjxh').Value := ADOQueryCmd.fieldbyname('MaxRollNo').AsInteger + 1;
|
||
// end;
|
||
//
|
||
// Post;
|
||
// end;
|
||
|
||
ADOQueryCmd.Append;
|
||
end
|
||
else
|
||
begin
|
||
MaxNo := Trim(CDS_Main.FieldByName('MXID').AsString);
|
||
ADOQueryCmd.Edit;
|
||
end;
|
||
|
||
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
|
||
RTSetSaveDataCDS(ADOQueryCmd, TvMX, CDS_Main, 'CK_SXPB_CRMX', 0);
|
||
ADOQueryCmd.fieldbyname('kcqty').Value := CDS_Main.fieldbyname('MXqty').AsString;
|
||
ADOQueryCmd.fieldbyname('kcqty2').Value := CDS_Main.fieldbyname('MXqty2').AsString;
|
||
|
||
ADOQueryCmd.FieldByName('CRZT').Value := trim(FCRTYPE);
|
||
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update CK_SXPB_CRMX Set CKNO=(select kuwei from BP_InOut A where A.crno=CK_SXPB_CRMX.CRNO and A.CRID=CK_SXPB_CRMX.CRID)');
|
||
sql.Add(' where CRNO=''' + Trim(fkeyNO) + '''');
|
||
sql.Add(' and crid=''' + Trim(fkeyID) + '''');
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
||
ADOQueryCmd.FieldByName('CRNO').Value := trim(fkeyNo);
|
||
ADOQueryCmd.FieldByName('CRNOS').Value := trim(fkeyNoS);
|
||
ADOQueryCmd.FieldByName('CRID').Value := trim(fkeyID);
|
||
|
||
ADOQueryCmd.FieldByName('MXNOTE').Value := trim(MXNOTE.Text);
|
||
|
||
ADOQueryCmd.FieldByName('MXID').Value := trim(MaxNo);
|
||
|
||
ADOQueryCmd.Post;
|
||
|
||
CDS_Main.Edit;
|
||
CDS_Main.FieldByName('MXID').Value := trim(MaxNo);
|
||
CDS_Main.post;
|
||
|
||
// <20><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>
|
||
if Trim(edit3.Text) = 'Kg' then
|
||
begin
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update BP_InOut Set Qty=(select sum(isnull(mxqty,0)) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
|
||
sql.Add('),RollNum=(select count(mxid) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
|
||
sql.Add(' ) where CRNO=''' + Trim(fkeyNO) + '''');
|
||
sql.Add(' and crid=''' + Trim(fkeyID) + '''');
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
|
||
// with ADOQueryCmd do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('Update BP_InOut Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
|
||
// sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
|
||
// sql.Add(' where SPID=''' + Trim(Edit2.Text) + '''');
|
||
// ExecSQL;
|
||
// end;
|
||
// with ADOQueryTmp do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Edit2.Text) + '''');
|
||
// Open;
|
||
// end;
|
||
// if ADOQueryTmp.FieldByName('MXKCQty').Value < 0 then
|
||
// begin
|
||
// CDS_Main.EnableControls;
|
||
// ADOQueryCmd.Connection.RollbackTrans;
|
||
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
|
||
// Exit;
|
||
// end;
|
||
|
||
end
|
||
else
|
||
begin
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update BP_InOut Set Qty=(select sum(isnull(mxqty2,0)) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
|
||
sql.Add('),RollNum=(select count(mxid) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
|
||
sql.Add(' ) where CRNO=''' + Trim(fkeyNO) + '''');
|
||
sql.Add(' and crid=''' + Trim(fkeyID) + '''');
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
|
||
// with ADOQueryCmd do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
|
||
// sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
|
||
// sql.Add(' where SPID=''' + Trim(Edit2.Text) + '''');
|
||
// ExecSQL;
|
||
// end;
|
||
// with ADOQueryTmp do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Edit2.Text) + '''');
|
||
// Open;
|
||
// end;
|
||
// if ADOQueryTmp.FieldByName('MXKCQty').Value < 0 then
|
||
// begin
|
||
// CDS_Main.EnableControls;
|
||
// ADOQueryCmd.Connection.RollbackTrans;
|
||
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
|
||
// Exit;
|
||
// end;
|
||
end;
|
||
|
||
with ADOQuery2 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('update CK_SXPB_CRMX set kcqty2=mxqty2-(select isnull(sum(mxqty2),0) from CK_SXPB_CRMX mx where mx.fzmxid=CK_SXPB_CRMX.mxid and crzt=''<27><><EFBFBD><EFBFBD>'' ) ');
|
||
SQL.Add(' where mxid=''' + Trim(MaxNo) + ''' ');
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
|
||
CDS_Main.next;
|
||
end;
|
||
end;
|
||
|
||
CDS_Main.EnableControls;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
result := true;
|
||
except
|
||
CDS_Main.EnableControls;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.InitGrid();
|
||
begin
|
||
try
|
||
with adoqueryMain do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from CK_SXPB_CRMX A where CRNO=' + quotedstr(trim(fkeyNO)));
|
||
sql.Add(' and CRID=' + quotedstr(trim(fkeyID)));
|
||
sql.Add(' and CRZT= ''<27><><EFBFBD><EFBFBD>''');
|
||
// SQL.Add('AND CRZT=' + QuotedStr(FCRTYPE));
|
||
// SQL.Add('AND NOT EXISTS(SELECT MXID FROM CK_SXPB_CRMX C WHERE C.FZMXID=A.MXID)');
|
||
sql.Add(' order by MXID');
|
||
// ShowMessage(SQL.Text);
|
||
open;
|
||
end;
|
||
SCreateCDS20(adoqueryMain, CDS_Main);
|
||
SInitCDSData20(adoqueryMain, CDS_Main);
|
||
MXNOTE.Text := adoqueryMain.FieldByName('MXNOTE').AsString;
|
||
finally
|
||
end;
|
||
// with ADOQueryTmp do
|
||
// begin
|
||
// close;
|
||
// sql.Clear;
|
||
// sql.Add('select * from JYOrder_Main A inner join JYOrder_sub b on a.mainid=b.mainid ');
|
||
// SQL.Add('where subid=(select ordsubidrk from CK_SXPB_CR c where c.spid= ' + QuotedStr(Trim(fkeyNO)));
|
||
// sql.Add(')');
|
||
//
|
||
//// ShowMessage(SQL.Text);
|
||
// open;
|
||
// end;
|
||
// if ADOQueryTmp.IsEmpty = false then
|
||
// begin
|
||
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('PRTKUANNO').AsString;
|
||
// KH.TEXT := ADOQueryTmp.FieldByName('BQKH').AsString;
|
||
// GUIGE.TEXT := ADOQueryTmp.FieldByName('MPRTCF').AsString;
|
||
// tt.TEXT := ADOQueryTmp.FieldByName('BJTT').AsString;
|
||
// xs.TEXT := ADOQueryTmp.FieldByName('prtbili').AsString;
|
||
// end;
|
||
// with ADOQueryTmp do
|
||
// begin
|
||
// close;
|
||
// sql.Clear;
|
||
// sql.Add('select * from CK_SXPB_CRMX A where CRNO=' + quotedstr(trim(fkeyNO)));
|
||
//
|
||
// sql.Add(' order by MXID');
|
||
//// ShowMessage(SQL.Text);
|
||
// open;
|
||
// end;
|
||
//
|
||
// if ADOQueryTmp.IsEmpty = false then
|
||
// begin
|
||
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('mxkuanno').AsString;
|
||
// KH.TEXT := ADOQueryTmp.FieldByName('mxkh').AsString;
|
||
// GUIGE.TEXT := ADOQueryTmp.FieldByName('mxspec').AsString;
|
||
// tt.TEXT := ADOQueryTmp.FieldByName('mxtt').AsString;
|
||
// end
|
||
// else
|
||
// begin
|
||
// with ADOQueryTmp do
|
||
// begin
|
||
// close;
|
||
// sql.Clear;
|
||
// SQL.Add('select top 1 a.* from CK_SXPB_CRMX a inner join CK_SXPB_CR b on a.crno=b.spid ');
|
||
// SQL.Add('where b.QCorderNo=(select QCorderNo from CK_SXPB_CR b where spid=' + QuotedStr(Trim(fkeyNO)));
|
||
// SQL.Add(')');
|
||
// sql.Add('order by mxid desc');
|
||
// Open;
|
||
// end;
|
||
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('mxkuanno').AsString;
|
||
// KH.TEXT := ADOQueryTmp.FieldByName('mxkh').AsString;
|
||
// GUIGE.TEXT := ADOQueryTmp.FieldByName('mxspec').AsString;
|
||
// tt.TEXT := ADOQueryTmp.FieldByName('mxtt').AsString;
|
||
// if ADOQueryTmp.IsEmpty = True then
|
||
// begin
|
||
// with ADOQueryTmp do
|
||
// begin
|
||
// close;
|
||
// sql.Clear;
|
||
// SQL.Add('SELECT * FROM JYORDER_MAIN A INNER JOIN JYORDER_SUB B ON A.MAINID=B.MAINID WHERE ');
|
||
// SQL.Add('B.MAINID=(SELECT ORDMAINIDRK FROM CK_SXPB_CR C WHERE C.SPID=' + QuotedStr(Trim(fkeyNO)));
|
||
// SQL.Add(')');
|
||
//// ShowMessage(sql.Text);
|
||
// Open;
|
||
// end;
|
||
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('prtkuanno').AsString;
|
||
// KH.TEXT := ADOQueryTmp.FieldByName('CustomerNoName').AsString;
|
||
// GUIGE.TEXT := ADOQueryTmp.FieldByName('MPRTSpec').AsString;
|
||
// end;
|
||
// end;
|
||
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmCPCKMXLR := nil;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := cahide;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.FormShow(Sender: TObject);
|
||
var
|
||
fbhType, fInoutNo: string;
|
||
begin
|
||
readCxGrid(self.Caption, TvMX, '<27><><EFBFBD>ϲֿ<CFB2>1');
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.TBSaveClick(Sender: TObject);
|
||
var
|
||
FQTY, FKGQTY, FPIQTY: Double;
|
||
FQTY1, FPIQTY1: Double;
|
||
begin
|
||
if cds_main.IsEmpty then
|
||
exit;
|
||
ToolBar1.SetFocus;
|
||
// FKGQTY := TvMX.DataController.Summary.FooterSummaryValues[1];
|
||
// FQTY := TvMX.DataController.Summary.FooterSummaryValues[3];
|
||
// FPIQTY := TvMX.DataController.Summary.FooterSummaryValues[2];
|
||
//
|
||
// FKGQTY1 := StrToFloatDef(Edit1.Text, 0);
|
||
// FQTY1 := StrToFloatDef(Edit3.Text, 0);
|
||
// FPIQTY1 := StrToFloatDef(Edit2.Text, 0);
|
||
//
|
||
// if (FKGQTY > FKGQTY1) or (FQTY > FQTY1) or (FPIQTY > FPIQTY1) then
|
||
// begin
|
||
// application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
// Exit;
|
||
// end;
|
||
if savedate() then
|
||
begin
|
||
|
||
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
ModalResult := 1;
|
||
Exit;
|
||
end
|
||
else
|
||
begin
|
||
// application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
try
|
||
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag := 'Cloth';
|
||
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
if ShowModal = 1 then
|
||
begin
|
||
Self.CDS_Main.Edit;
|
||
Self.CDS_Main.FieldByName('P_CodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
|
||
Self.CDS_Main.FieldByName('P_Code').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.TBCloseClick(Sender: TObject);
|
||
begin
|
||
writeCxGrid(self.Caption, TvMX, '<27><><EFBFBD>ϲֿ<CFB2>1');
|
||
// ModalResult := 1;
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.FHAddressBtnDnClick(Sender: TObject);
|
||
begin
|
||
TBtnEditC(Sender).Text := '';
|
||
TBtnEditC(Sender).TxtCode := '';
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_Main, True);
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_Main, False);
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.ToolButton1Click(Sender: TObject);
|
||
var
|
||
i: Integer;
|
||
begin
|
||
for i := 1 to 10 do
|
||
begin
|
||
with CDS_Main do
|
||
begin
|
||
Append;
|
||
FieldByName('MXGangHao').Value := FMXGangHao;
|
||
FieldByName('MXQty').Value := 0;
|
||
FieldByName('MXQty2').Value := 0;
|
||
Post;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if cds_main.IsEmpty then
|
||
exit;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('delete CK_SXPB_CRMX where MXID=' + quotedstr(Trim(CDS_Main.FieldByName('MXID').AsString)));
|
||
ExecSQL;
|
||
end;
|
||
CDS_Main.Delete;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.TvMXCustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
|
||
var
|
||
FValue: string;
|
||
FBounds: TRect;
|
||
begin
|
||
FBounds := AViewInfo.Bounds;
|
||
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
|
||
begin
|
||
ACanvas.FillRect(FBounds);
|
||
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
|
||
FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
|
||
InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux.
|
||
ACanvas.Font.Color := clBlack;
|
||
ACanvas.Brush.Style := bsClear;
|
||
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
|
||
ADone := True;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
OneKeyPost(TvMX, CDS_Main);
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, FFieldName: string;
|
||
FZL, FCD, FXS: DOUBLE;
|
||
begin
|
||
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
FFieldName := Trim(TvMX.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
with cds_main do
|
||
begin
|
||
Edit;
|
||
FieldByName(FFieldName).Value := (strtofloatdef(trim(mvalue), 0));
|
||
|
||
Post;
|
||
end;
|
||
with cds_main do
|
||
begin
|
||
Edit;
|
||
FZL := (strtofloatdef(trim(FieldByName('MXQTY').ASSTRING), 0)); //<2F><><EFBFBD><EFBFBD>
|
||
FCD := (strtofloatdef(trim(FieldByName('MXQTY2').ASSTRING), 0)); //<2F><><EFBFBD><EFBFBD>
|
||
|
||
FXS := (strtofloatdef(trim(xs.TEXT), 0)); //ϵ<><CFB5>
|
||
if FFieldName = 'mxqty' then
|
||
begin
|
||
FieldByName('mxqty2').Value := FZL * FXS;
|
||
end;
|
||
if FFieldName = 'mxqty2' then
|
||
begin
|
||
FieldByName('mxqty').Value := FCD * FXS;
|
||
end;
|
||
Post;
|
||
end;
|
||
|
||
TvMX.Controller.EditingController.ShowEdit();
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.TvMXKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
TvMX.OptionsData.Editing := False;
|
||
if Key = #13 then
|
||
Key := #40;
|
||
TvMX.OptionsData.Editing := True;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.TvMXKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||
begin
|
||
TvMX.OptionsData.Editing := False;
|
||
if Key = 13 then
|
||
Key := 40;
|
||
TvMX.OptionsData.Editing := True;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.QtyKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
CDS_Main.Last;
|
||
CopyAddRowCDS(CDS_Main);
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName('MXGangHao').Value := gangno.Text;
|
||
|
||
FieldByName('mxtt').Value := TT.Text;
|
||
FieldByName('mxkh').Value := KH.Text;
|
||
FieldByName('mxkuanno').Value := KUANHAO.Text;
|
||
FieldByName('mxspec').Value := guige.Text;
|
||
|
||
FieldByName('MXID').Value := '';
|
||
FieldByName('CRNO').Value := '';
|
||
// FieldByName('MXMJXH').Value := null;
|
||
FieldByName('MXMJXH').Value := StrToFloatDef(FieldByName('MXMJXH').asstring, 0) + 1;
|
||
if CDS_Main.FieldByName('MXUnit').AsString = '' then
|
||
FieldByName('MXUnit').Value := 'Y';
|
||
if XS.Text <> '' then
|
||
begin
|
||
if ComboBox2.Text = 'KG' then
|
||
begin
|
||
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
|
||
FieldByName('MXQty2').Value := Format('%.1f', [StrToFloatDef(KGQty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
|
||
end
|
||
else
|
||
begin
|
||
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
|
||
FieldByName('MXQty').Value := Format('%.1f', [StrToFloatDef(Qty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
|
||
// FieldByName('MXUnit').Value := combobox2.Text;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
|
||
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
|
||
|
||
end;
|
||
|
||
Post;
|
||
end;
|
||
if CheckBox2.Checked = True then
|
||
begin
|
||
PrtData(Edit2.Text);
|
||
end;
|
||
Qty.Text := '';
|
||
KGQTY.Text := '';
|
||
KGQty.SetFocus;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.KGQTYKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
|
||
if CheckBox1.Checked = True then
|
||
begin
|
||
CDS_Main.Last;
|
||
CopyAddRowCDS(CDS_Main);
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName('MXGangHao').Value := gangno.Text;
|
||
FieldByName('mxtt').Value := TT.Text;
|
||
FieldByName('mxkh').Value := KH.Text;
|
||
FieldByName('mxkuanno').Value := KUANHAO.Text;
|
||
FieldByName('mxspec').Value := guige.Text;
|
||
FieldByName('MXID').Value := '';
|
||
FieldByName('CRNO').Value := '';
|
||
// FieldByName('MXMJXH').Value := null;
|
||
FieldByName('MXMJXH').Value := StrToFloatDef(FieldByName('MXMJXH').asstring, 0) + 1;
|
||
if CDS_Main.FieldByName('MXUnit').AsString = '' then
|
||
FieldByName('MXUnit').Value := 'Y';
|
||
if XS.Text <> '' then
|
||
begin
|
||
if ComboBox2.Text = 'KG' then
|
||
begin
|
||
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
|
||
FieldByName('MXQty2').Value := Format('%.1f', [StrToFloatDef(KGQty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
|
||
end
|
||
else
|
||
begin
|
||
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
|
||
FieldByName('MXQty').Value := Format('%.1f', [StrToFloatDef(Qty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
|
||
// FieldByName('MXUnit').Value := combobox2.Text;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
|
||
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
|
||
|
||
end;
|
||
|
||
Post;
|
||
end;
|
||
if CheckBox2.Checked = True then
|
||
begin
|
||
PrtData(Edit2.Text);
|
||
end;
|
||
Qty.Text := '';
|
||
KGQTY.Text := '';
|
||
KGQty.SetFocus;
|
||
end
|
||
else
|
||
begin
|
||
QTY.SetFocus;
|
||
end;
|
||
|
||
end;
|
||
// if Key = #13 then
|
||
// begin
|
||
// CopyAddRowCDS(CDS_Main);
|
||
// with CDS_Main do
|
||
// begin
|
||
// Edit;
|
||
// FieldByName('MXGangHao').Value := gangno.Text;
|
||
// FieldByName('MXID').Value := '';
|
||
// FieldByName('CRNO').Value := '';
|
||
// FieldByName('MXMJXH').Value := null;
|
||
// if CDS_Main.FieldByName('MXUnit').AsString = '' then
|
||
// FieldByName('MXUnit').Value := 'M';
|
||
// if XS.Text <> '' then
|
||
// begin
|
||
// if ComboBox2.Text = 'KG' then
|
||
// begin
|
||
// FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
|
||
// FieldByName('MXQty2').Value := Format('%.1f', [StrToFloatDef(KGQty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
|
||
// end
|
||
// else
|
||
// begin
|
||
// FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
|
||
// FieldByName('MXQty').Value := Format('%.1f', [StrToFloatDef(Qty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
|
||
// FieldByName('MXUnit').Value := combobox2.Text;
|
||
// end;
|
||
// end
|
||
// else
|
||
// begin
|
||
// FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
|
||
// FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
|
||
// if combobox2.Text <> 'KG' then
|
||
// begin
|
||
// FieldByName('MXUnit').Value := combobox2.Text;
|
||
// end
|
||
// else
|
||
// begin
|
||
// FieldByName('MXUnit').Value := 'M';
|
||
// end;
|
||
//
|
||
// end;
|
||
//
|
||
// Post;
|
||
// end;
|
||
//
|
||
// Qty.Text := '';
|
||
// KGQTY.Text := '';
|
||
// Qty.SetFocus;
|
||
// end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.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;
|
||
CDS_Main.DisableControls;
|
||
with CDS_Main do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if CDS_Main.FieldByName('SSel').AsBoolean = True then
|
||
begin
|
||
PrtData(CDS_Main.fieldbyname('MXID').AsString);
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
CDS_Main.EnableControls;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.ToolButton5Click(Sender: TObject);
|
||
var
|
||
fPrintFile: string;
|
||
Txt, fImagePath, Txt2, fImagePath2: string;
|
||
Moudle: THandle;
|
||
Makebar: TMakebar;
|
||
Mixtext: TMixtext;
|
||
begin
|
||
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' EXEC P_Print_JYLab ');
|
||
SQL.Add(' @mjID=''' + Trim(CDS_Main.fieldbyname('MXID').AsString) + '''');
|
||
Open;
|
||
end;
|
||
if ADOQueryPrint.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
|
||
ExportFtErpFile('<27><>ƥ<EFBFBD><C6A5>ǩ.rmf', ADOQueryTmp);
|
||
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ƥ<EFBFBD><C6A5>ǩ.rmf';
|
||
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['MXMJXH'] := CDS_MAIN.FIELDBYNAME('MXMJXH').ASSTRING;
|
||
RMVariables['MXGangHao'] := CDS_MAIN.FIELDBYNAME('MXGangHao').ASSTRING;
|
||
RMVariables['MXQty'] := CDS_MAIN.FIELDBYNAME('MXQty').ASSTRING;
|
||
RMVariables['MXQTY2'] := CDS_MAIN.FIELDBYNAME('MXQTY2').ASSTRING;
|
||
RMVariables['MXUnit'] := CDS_MAIN.FIELDBYNAME('MXUnit').ASSTRING;
|
||
RMVariables['MXFM'] := CDS_MAIN.FIELDBYNAME('MXFM').ASSTRING;
|
||
RMVariables['mxtt'] := CDS_MAIN.FIELDBYNAME('mxtt').ASSTRING;
|
||
RMVariables['mxkh'] := CDS_MAIN.FIELDBYNAME('mxkh').ASSTRING;
|
||
RMVariables['mxkuanno'] := CDS_MAIN.FIELDBYNAME('mxkuanno').ASSTRING;
|
||
RMVariables['mxspec'] := CDS_MAIN.FIELDBYNAME('mxspec').ASSTRING;
|
||
RM1.LoadFromFile(fPrintFile);
|
||
|
||
RM1.DefaultCopies := strtointdef(trim(ComboBox3.Text), 1);
|
||
|
||
RM1.showReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCPCKMXLR.LABNAMEPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
// try
|
||
// frmZDYHelp := TfrmZDYHelp.Create(Application);
|
||
// with frmZDYHelp do
|
||
// begin
|
||
// flag := 'LABNAME';
|
||
// flagname := '<27><>ǩ<EFBFBD><C7A9>ʽ';
|
||
// if ShowModal = 1 then
|
||
// begin
|
||
// Self.LABNAME.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
|
||
// end;
|
||
// end;
|
||
// finally
|
||
// frmZDYHelp.Free;
|
||
// end;
|
||
end;
|
||
|
||
end.
|
||
|