972 lines
26 KiB
ObjectPascal
972 lines
26 KiB
ObjectPascal
unit U_KcRollCaiFen;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, strutils, SysUtils, Variants, Classes, Graphics, Controls,
|
||
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid, StdCtrls, cxContainer, cxTextEdit, cxCurrencyEdit, BtnEdit, ExtCtrls,
|
||
ComCtrls, ToolWin, DBClient, ADODB, MovePanel, RM_Dataset, RM_System,
|
||
RM_Common, RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters,
|
||
cxNavigator, RM_Preview;
|
||
|
||
type
|
||
TfrmKcRollCaiFen = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBSave: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Panel2: TPanel;
|
||
cxGrid2: TcxGrid;
|
||
TV2: TcxGridDBTableView;
|
||
cxGridDBColumn2: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
cxGridDBColumn4: TcxGridDBColumn;
|
||
cxGridDBColumn5: TcxGridDBColumn;
|
||
cxGridDBColumn6: TcxGridDBColumn;
|
||
cxGridDBColumn7: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
CDSOrder: TClientDataSet;
|
||
CDSMJID: TClientDataSet;
|
||
DataSource1: TDataSource;
|
||
DataSource2: TDataSource;
|
||
SmNO: TEdit;
|
||
ADOQueryTmp: TADOQuery;
|
||
V2Column1: TcxGridDBColumn;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
cxStyle2: TcxStyle;
|
||
cxStyle_gridRow: TcxStyle;
|
||
cxStyle_gridFoot: TcxStyle;
|
||
cxStyle_gridHead: TcxStyle;
|
||
cxStyle_gridGroupBox: TcxStyle;
|
||
cxStyle_yellow: TcxStyle;
|
||
cxStyle_Red: TcxStyle;
|
||
cxStyle_fontBlack: TcxStyle;
|
||
cxStyle_fontclFuchsia: TcxStyle;
|
||
cxStyle_fontclPurple: TcxStyle;
|
||
cxStyle_fontclGreen: TcxStyle;
|
||
cxStyle_fontclBlue: TcxStyle;
|
||
cxStyle_fontclTeal: TcxStyle;
|
||
cxStyle_fontclOlive: TcxStyle;
|
||
CheckBox3: TCheckBox;
|
||
Panel3: TPanel;
|
||
MJLen: TEdit;
|
||
Label5: TLabel;
|
||
Label9: TLabel;
|
||
Edit7: TEdit;
|
||
Label32: TLabel;
|
||
Label33: TLabel;
|
||
Edit8: TEdit;
|
||
Edit6: TEdit;
|
||
Label26: TLabel;
|
||
BTPrint: TButton;
|
||
Button5: TButton;
|
||
ADOQueryPrint: TADOQuery;
|
||
RM2: TRMGridReport;
|
||
RMDB_Main: TRMDBDataSet;
|
||
MJQty4: TEdit;
|
||
Label3: TLabel;
|
||
Label4: TLabel;
|
||
MJQty3: TEdit;
|
||
Label6: TLabel;
|
||
Label7: TLabel;
|
||
V2Column3: TcxGridDBColumn;
|
||
V2Column4: TcxGridDBColumn;
|
||
V2Column5: TcxGridDBColumn;
|
||
Label8: TLabel;
|
||
MKXS: TEdit;
|
||
Panel5: TPanel;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1MJID: TcxGridDBColumn;
|
||
v1P_Code: TcxGridDBColumn;
|
||
v1P_Color: TcxGridDBColumn;
|
||
v1RollNum: TcxGridDBColumn;
|
||
v1Qty: TcxGridDBColumn;
|
||
v1Column2: TcxGridDBColumn;
|
||
v1Column3: TcxGridDBColumn;
|
||
v1Column4: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
Button1: TButton;
|
||
Edit1: TEdit;
|
||
Label10: TLabel;
|
||
ComboBox1: TComboBox;
|
||
Label11: TLabel;
|
||
kuwei: TEdit;
|
||
ADOQuery1: TADOQuery;
|
||
MovePanel1: TMovePanel;
|
||
Label2: TLabel;
|
||
Edit2: TEdit;
|
||
Button4: TButton;
|
||
Label12: TLabel;
|
||
Label13: TLabel;
|
||
KJ: TEdit;
|
||
Label14: TLabel;
|
||
Edit3: TEdit;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure SmNOKeyPress(Sender: TObject; var Key: Char);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Button4Click(Sender: TObject);
|
||
procedure Edit7Click(Sender: TObject);
|
||
procedure Edit8Click(Sender: TObject);
|
||
procedure Edit6Click(Sender: TObject);
|
||
procedure BTPrintClick(Sender: TObject);
|
||
procedure Tv1DblClick(Sender: TObject);
|
||
procedure Button5Click(Sender: TObject);
|
||
procedure MJLenChange(Sender: TObject);
|
||
procedure MKXSExit(Sender: TObject);
|
||
procedure Button1Click(Sender: TObject);
|
||
procedure Label13Click(Sender: TObject);
|
||
private
|
||
procedure InitGrid();
|
||
procedure InitMJID();
|
||
function Savedata1(): boolean;
|
||
function Savedata2(): boolean;
|
||
procedure Printdata(FMJID: string);
|
||
procedure On1301(var Message: Tmessage); message 1301;
|
||
procedure CloseCom(DllName: string);
|
||
procedure OpenCom(DllName: string);
|
||
procedure QuantityConversion();
|
||
{ Private declarations }
|
||
public
|
||
iscom: boolean;
|
||
isCommopen: boolean;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmKcRollCaiFen: TfrmKcRollCaiFen;
|
||
newh, newh1: hwnd;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_iniParam, U_ZDYHelp, U_LabelList;
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmKcRollCaiFen.QuantityConversion();
|
||
var
|
||
MLen, MNWet, MGWet, MPWet, MCC, FYJZQty: Double;
|
||
begin
|
||
MLen := StrToFloatdef(trim(MJLen.Text), 0);
|
||
MNWet := StrToFloatdef(trim(MJQty4.Text), 0);
|
||
MPWet := StrToFloatdef(trim(MJQty3.Text), 0);
|
||
MCC := StrToFloatdef(trim(MKXS.Text), 0);
|
||
|
||
//<2F><><EFBFBD><EFBFBD> <20><> <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
|
||
if TV2.DataController.Summary.FooterSummaryValues[2] <> NULL then
|
||
begin
|
||
FYJZQty := StrToFloatdef(TV2.DataController.Summary.FooterSummaryValues[2], 0);
|
||
end
|
||
else
|
||
begin
|
||
FYJZQty := 0;
|
||
end;
|
||
|
||
if MCC > 0 then
|
||
begin
|
||
MGWet := StrToFloat(format('%.1f', [(MLen - FYJZQty) * MCC]));
|
||
MNWet := MGWet - MPWet;
|
||
MJQty4.Text := FloatToStr(MNWet);
|
||
end;
|
||
|
||
// MNWet := MGWet - MPWet;
|
||
MJQty4.Text := FloatToStr(MNWet);
|
||
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.CloseCom(DllName: string);
|
||
type
|
||
TMyFunc = function(sCommName: PAnsiChar): HWND; stdcall;
|
||
var
|
||
Tf1: TMyFunc;
|
||
Tp1: TFarProc;
|
||
Th1: Thandle;
|
||
begin
|
||
Th1 := LoadLibrary(Pchar(trim(DllName)));
|
||
if Th1 > 0 then
|
||
begin
|
||
try
|
||
Tp1 := GetProcAddress(Th1, 'CommClose');
|
||
if Tp1 <> nil then
|
||
begin
|
||
Tf1 := TMyFunc(Tp1);
|
||
newh1 := Tf1('Comm1');
|
||
end
|
||
else
|
||
begin
|
||
|
||
end;
|
||
finally
|
||
// FreeLibrary(Th1);
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.OpenCom(DllName: string);
|
||
type
|
||
TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: integer; IsMessage: integer): HWND; stdcall;
|
||
var
|
||
Tf: TMyFunc;
|
||
Tp: TFarProc;
|
||
Th: Thandle;
|
||
begin
|
||
// closeCom(FComFile);
|
||
Th := LoadLibrary(Pchar(trim(DllName)));
|
||
if Th > 0 then
|
||
begin
|
||
try
|
||
Tp := GetProcAddress(Th, 'CommOpen');
|
||
if Tp <> nil then
|
||
begin
|
||
Tf := TMyFunc(Tp);
|
||
newh := Tf(self.Handle, 'Comm1', 500, 1);
|
||
if newh < 1 then
|
||
begin
|
||
application.MessageBox(Pchar('<27><EFBFBD><F2BFAAB4><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>'), '<27><>ʾ');
|
||
end
|
||
else
|
||
IsCommOpen := true;
|
||
end
|
||
else
|
||
begin
|
||
IsCommOpen := false;
|
||
end;
|
||
finally
|
||
// FreeLibrary(Th);
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
IsCommOpen := false;
|
||
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.On1301(var Message: Tmessage);
|
||
var
|
||
i1, i2: integer;
|
||
unitname: string;
|
||
fdata: double;
|
||
begin
|
||
i1 := Message.WParam;
|
||
i2 := Message.LParam;
|
||
|
||
if not CheckBox3.Checked then
|
||
exit;
|
||
|
||
MJLen.Text := format('%.1f', [i1 / 100000]);
|
||
|
||
if i2 = 0 then
|
||
Label9.Caption := 'M'
|
||
else
|
||
Label9.Caption := 'Y';
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Printdata(FMJID: string);
|
||
var
|
||
fPrintFile: string;
|
||
Txt, fImagePath: string;
|
||
Moudle: THandle;
|
||
Makebar: TMakebar;
|
||
Mixtext: TMixtext;
|
||
begin
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('exec P_Print_JYLab ' + quotedstr(Trim(FMJID)));
|
||
Open;
|
||
end;
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt := Trim(ADOQueryPrint.fieldbyname('MJID').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;
|
||
|
||
if Edit1.Text <> '' then
|
||
begin
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(Edit1.Text) + '.rmf';
|
||
ExportFtErpFile(Trim(Edit1.Text) + '.rmf', ADOQueryTmp);
|
||
// ExportFtErpFile(trim(Edit1.Text) + '.rmf', ADOQueryTemp);
|
||
end
|
||
else
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨ<><CDA8>Ӣ<EFBFBD>ı<EFBFBD>ǩ.rmf';
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['QRBARCODE'] := fImagePath;
|
||
RM2.LoadFromFile(fPrintFile);
|
||
Rm2.DefaultCopies := StrToIntDef(ComboBox1.Text, 0);
|
||
RM2.ShowReport;
|
||
// RM2.PrintReport;
|
||
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\' + trim(Edit1.Text)), '<27><>ʾ', 0);
|
||
end;
|
||
|
||
end;
|
||
|
||
function TfrmKcRollCaiFen.Savedata2(): boolean;
|
||
var
|
||
i, FCRID: integer;
|
||
fconNo, FC_CodeName, FC_Color, fMJID: string;
|
||
fRollNum, FQty, fMJQty2, FMJQty3, fMJQty4, FMJQty5, fMJMaoZ: double;
|
||
begin
|
||
result := false;
|
||
if CDSOrder.RecordCount <= 1 then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڻ<EFBFBD><DABB>ߵ<EFBFBD><DFB5><EFBFBD>һƥ<D2BB><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>赽<EFBFBD><E8B5BD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
|
||
i := 0;
|
||
{with CDSOrder do
|
||
begin
|
||
DisableControls;
|
||
First;
|
||
while not eof do
|
||
begin
|
||
if i=0 then
|
||
begin
|
||
// fconNo:= trim(Fieldbyname('ConNo').AsString);
|
||
FC_CodeName:= trim(Fieldbyname('CodeName').AsString);
|
||
FC_Color:= trim(Fieldbyname('C_Color').AsString);
|
||
end
|
||
else
|
||
begin
|
||
{ if trim(fconNo)<>trim(Fieldbyname('ConNo').AsString) then
|
||
begin
|
||
EnableControls;
|
||
application.MessageBox('<27><><EFBFBD>Ų<F1B5A5BA>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ܺϲ<DCBA><CFB2><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
exit;
|
||
end;
|
||
if trim(FC_CodeName)<>trim(Fieldbyname('C_CodeName').AsString) then
|
||
begin
|
||
EnableControls;
|
||
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ʋ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ܺϲ<DCBA><CFB2><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
exit;
|
||
end;
|
||
if trim(FC_Color)<>trim(Fieldbyname('C_Color').AsString) then
|
||
begin
|
||
EnableControls;
|
||
application.MessageBox('<27><>ɫ<EFBFBD><C9AB>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ܺϲ<DCBA><CFB2><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
exit;
|
||
end;
|
||
end;
|
||
i:=i+1;
|
||
next;
|
||
end;
|
||
EnableControls;
|
||
First;
|
||
end;
|
||
|
||
if i<2 then exit; }
|
||
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
try
|
||
|
||
fRollNum := 0;
|
||
FQty := 0;
|
||
i := 0;
|
||
fMJQty2 := 0;
|
||
FMJQty3 := 0;
|
||
fMJQty4 := 0;
|
||
FMJQty5 := 0;
|
||
fMJMaoZ := 0;
|
||
with CDSOrder do
|
||
begin
|
||
DisableControls;
|
||
First;
|
||
while not eof do
|
||
begin
|
||
// if Fieldbyname('Ssel').AsBoolean then
|
||
// begin
|
||
if i = 0 then
|
||
begin
|
||
FCRID := Fieldbyname('CRID').AsInteger;
|
||
fMJID := Fieldbyname('MJID').asstring;
|
||
end;
|
||
|
||
fRollNum := 1;
|
||
FQty := strtofloatdef(trim(MJLen.Text), 0);
|
||
|
||
fMJQty2 := fMJQty2 + Fieldbyname('MJQty2').AsFloat;
|
||
FMJQty3 := strtofloatdef(trim(mjQty3.Text), 0);
|
||
fMJQty4 := strtofloatdef(trim(mjQty4.Text), 0);
|
||
FMJQty5 := FMJQty5 + Fieldbyname('MJQty5').AsFloat;
|
||
fMJMaoZ := FMJQty3 + fMJQty4;
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from CK_BanCP_KC ');
|
||
sql.Add('where CRID=' + quotedstr(trim(CDSOrder.Fieldbyname('CRID').AsString)));
|
||
open;
|
||
edit;
|
||
fieldbyname('ZDYstr1').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>';
|
||
fieldbyname('ZDYFlote1').Value := fieldbyname('kcQty').AsFloat;
|
||
// fieldbyname('KCROllNum').Value:=0;
|
||
fieldbyname('kcQty').Value := 0;
|
||
fieldbyname('kcKGQty').Value := 0;
|
||
post;
|
||
end;
|
||
i := i + 1;
|
||
//end;
|
||
next;
|
||
end;
|
||
EnableControls;
|
||
First;
|
||
end;
|
||
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from CK_BanCP_KC ');
|
||
sql.Add('where CRID=' + quotedstr(inttostr(FCRID)));
|
||
open;
|
||
edit;
|
||
// fieldbyname('KCROllNum').Value:=1;
|
||
fieldbyname('kcQty').Value := FQty;
|
||
fieldbyname('kckgQty').Value := fMJMaoZ;
|
||
post;
|
||
end;
|
||
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFB_MJJY ');
|
||
sql.Add('where MJID=' + quotedstr(trim(fMJID)));
|
||
open;
|
||
edit;
|
||
fieldbyname('MJLen').Value := FQty;
|
||
fieldbyname('MJQty2').Value := fMJQty2;
|
||
fieldbyname('MJQty3').Value := FMJQty3;
|
||
fieldbyname('MJQty4').Value := fMJQty4;
|
||
fieldbyname('MJQty5').Value := FMJQty5;
|
||
fieldbyname('MJMaoZ').Value := fMJMaoZ;
|
||
post;
|
||
end;
|
||
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
SQL.Add('select A.*,D.PRTCodeName,D.PrtColor,C.MJQty2,C.MJQty3,C.MJQty4,C.MJQty5,C.MJMaoZ from CK_BanCP_KC A');
|
||
sql.Add('inner join WFB_MJJY C on C.MJID=A.MJID ');
|
||
sql.Add('inner join JYOrder_sub D on D.MainID=C.MainID and D.subID=C.subID ');
|
||
sql.Add('where CRID=' + quotedstr(inttostr(FCRID)));
|
||
open;
|
||
SInitCDSData20(adoqueryCmd, CDSMJID);
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
CDSOrder.EmptyDataSet;
|
||
if Trim(Edit6.Text) = '<27><>' then
|
||
begin
|
||
printdata(fMJID);
|
||
end;
|
||
|
||
ModalResult := 1;
|
||
// application.MessageBox('<27><><EFBFBD>ݺϲ<DDBA><CFB2>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
// TBRafresh.Click;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
// application.MessageBox('<27><><EFBFBD>ݺϲ<DDBA>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
end;
|
||
|
||
end;
|
||
|
||
function TfrmKcRollCaiFen.Savedata1(): boolean;
|
||
var
|
||
fbcID, FCRID, fAPTM, FMJID, fNewMJID, fnewbcid: string;
|
||
CRID: integer;
|
||
i: integer;
|
||
fKGQty1, fKGQty2: double;
|
||
begin
|
||
result := false;
|
||
if CDSOrder.RecordCount > 1 then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>һƥ<D2BB><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>赽<EFBFBD><E8B5BD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
if (StrToFloatDef(MJLen.Text, 0) = 0) and (StrToFloatDef(MJQty4.Text, 0) = 0) then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>Ϊ0<CEAA><30>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
if CDSOrder.FieldByName('KCqty').AsFloat > 0 then
|
||
begin
|
||
if strtofloatdef(trim(mjlen.Text), 0) > CDSOrder.FieldByName('KCqty').AsFloat then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
end;
|
||
|
||
if GetLSNo(ADOQueryCmd, fAPTM, 'C', 'APTM', 4, 1) = False then
|
||
begin
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
|
||
fbcID := CDSOrder.fieldbyname('BCID').AsString;
|
||
FCRID := CDSOrder.fieldbyname('CRID').AsString;
|
||
FMJID := CDSOrder.fieldbyname('MJID').AsString;
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
try
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFB_MJJY A');
|
||
sql.Add('where MJID=' + quotedstr(trim(CDSOrder.fieldbyname('MJID').asstring)));
|
||
open;
|
||
end;
|
||
if GetLSNo(ADOQueryCmd, fNewMJID, 'C', 'WFB_MJJY', 4, 1) = False then
|
||
begin
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>쳣<EFBFBD><ECB3A3>', '<27><>ʾ', 0);
|
||
exit;
|
||
end;
|
||
with ADOQuery1 do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFB_MJJY ');
|
||
sql.Add('where MJID=' + quotedstr(trim(FMJID)));
|
||
open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFB_MJJY A');
|
||
sql.Add('where 1=2 ');
|
||
open;
|
||
end;
|
||
|
||
ADOQueryCmd.Append;
|
||
for i := 0 to ADOQueryCmd.FieldCount - 1 do
|
||
begin
|
||
ADOQueryCmd.fields[i].value := ADOQueryTmp.Fields[i].Value;
|
||
end;
|
||
ADOQueryCmd.FieldByName('MJID').Value := fNewMJID;
|
||
ADOQueryCmd.FieldByName('mjxh').Value := ADOQuery1.fieldbyname('mjxh').value;
|
||
ADOQueryCmd.FieldByName('MJQty2').Value := 0;
|
||
|
||
ADOQueryCmd.FieldByName('MJQty5').Value := 0;
|
||
|
||
ADOQueryCmd.FieldByName('MJStr2').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
// ADOQueryCmd.FieldByName('MJQty3').Value := strtofloatdef(MJQty3.Text, 0);
|
||
if CDSOrder.FieldByName('KCqty').AsFloat <= 0 then
|
||
begin
|
||
ADOQueryCmd.fieldbyname('MJLen').Value := 0;
|
||
end
|
||
else
|
||
begin
|
||
ADOQueryCmd.fieldbyname('MJLen').Value := ADOQuery1.fieldbyname('MJLen').AsFloat - strtofloatdef(MJLen.Text, 0);
|
||
end;
|
||
ADOQueryCmd.fieldbyname('MJQty4').Value := ADOQuery1.fieldbyname('MJQty4').AsFloat - strtofloatdef(MJQty4.Text, 0);
|
||
ADOQueryCmd.fieldbyname('MJMaoZ').Value := ADOQuery1.fieldbyname('MJMaoZ').AsFloat - strtofloatdef(MJQty4.Text, 0);
|
||
//- strtofloatdef(MJQty3.Text, 0);
|
||
//- strtofloatdef(MJQty3.Text, 0);
|
||
ADOQueryCmd.FieldByName('ZDMJID').Value := FMJID;
|
||
ADOQueryCmd.Post;
|
||
// with ADOQueryCmd do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('update WFB_MJJY SET MJXH=(SELECT ISNULL(MJXH,0)+1 FROM WFB_MJJY WHERE MJID=' + QuotedStr(Trim(FMJID)));
|
||
// SQL.Add(')');
|
||
// sql.Add('where MJID=''' + Trim(fNewMJID) + '''');
|
||
// execsql;
|
||
// end;
|
||
// with ADOQueryCmd do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('update WFB_MJJY SET mjxh=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X where X.subID=WFB_MJJY.subID and X.MJstr4=WFB_MJJY.Mjstr4 and X.MJID<>WFB_MJJY.MJID ),0)');
|
||
// sql.Add('where MJID=''' + Trim(fNewMJID) + '''');
|
||
// execsql;
|
||
// end;
|
||
//<2F><EFBFBD>ԭƥ<D4AD><C6A5><EFBFBD><EFBFBD>
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFB_MJJY ');
|
||
sql.Add('where MJID=' + quotedstr(trim(FMJID)));
|
||
open;
|
||
edit;
|
||
if Label13.Caption = 'M' then
|
||
begin
|
||
ADOQueryCmd.FieldByName('MJLen').Value := strtofloatdef(MJLen.Text, 0) + strtofloatdef(KJ.Text, 0);
|
||
end
|
||
else
|
||
begin
|
||
ADOQueryCmd.FieldByName('MJLen').Value := strtofloatdef(MJLen.Text, 0);
|
||
end;
|
||
if Label13.Caption = 'M' then
|
||
begin
|
||
ADOQueryCmd.FieldByName('MJQty4').Value := strtofloatdef(MJQty4.Text, 0);
|
||
ADOQueryCmd.FieldByName('MJmaoz').Value := strtofloatdef(MJQty4.Text, 0) + strtofloatdef(MJQty3.Text, 0);
|
||
end
|
||
else
|
||
begin
|
||
ADOQueryCmd.FieldByName('MJQty4').Value := strtofloatdef(MJQty4.Text, 0) + strtofloatdef(KJ.Text, 0);
|
||
ADOQueryCmd.FieldByName('MJmaoz').Value := strtofloatdef(MJQty4.Text, 0) + strtofloatdef(MJQty3.Text, 0) + strtofloatdef(KJ.Text, 0);
|
||
end;
|
||
ADOQueryCmd.FieldByName('kj').Value := strtofloatdef(KJ.Text, 0);
|
||
// ADOQueryCmd.FieldByName('mjstr4').Value := Trim(kuwei.Text);
|
||
ADOQueryCmd.FieldByName('MJXH').Value := StrToIntDef(Edit3.Text, 30);
|
||
// ADOQueryCmd.FieldByName('jbs').Value:= strtofloatdef(KJ.Text, 0)
|
||
// ADOQueryCmd.FieldByName('MJQty4').Value := strtofloatdef(MJQty4.Text, 0);
|
||
ADOQueryCmd.FieldByName('MJQty3').Value := strtofloatdef(MJQty3.Text, 0);
|
||
post;
|
||
end;
|
||
//<2F><><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Do_CFCRK @MJID=' + quotedstr(trim(fNewMJID)) + ',@OldMJID=' + quotedstr(trim(FMJID)));
|
||
// ShowMessage(SQL.Text);
|
||
execsql;
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('UPDATE CK_BanCP_CR SET RKPlaCE=' + QuotedStr(Trim(kuwei.Text)));
|
||
SQL.Add(',ganghao=' + QuotedStr(Trim(ADOQuery1.FieldByName('MJSTR4').AsString)));
|
||
sql.Add(' where MJID=' + QuotedStr(Trim(fNewMJID)));
|
||
SQL.Add('AND ISNowCycle=''1''');
|
||
|
||
SQL.Add('UPDATE WFB_MJJY SET MJSTR4=' + QuotedStr(Trim(ADOQuery1.FieldByName('MJSTR4').AsString)));
|
||
sql.Add(' where MJID=' + QuotedStr(Trim(fNewMJID)));
|
||
SQL.Add('UPDATE CK_BanCP_CR SET RKPlaCE=' + QuotedStr(Trim(kuwei.Text)));
|
||
sql.Add(' where MJID=' + QuotedStr(Trim(FMJID)));
|
||
SQL.Add('AND ISNowCycle=''1''');
|
||
|
||
SQL.Add('UPDATE CK_BanCP_kc SET C_KUWEI=' + QuotedStr(Trim(kuwei.Text)));
|
||
sql.Add(' where MJID in (' + quotedstr(trim(fNewMJID)) + ',' + quotedstr(trim(FMJID)) + ')');
|
||
|
||
SQL.Add('UPDATE FHSQ_SUB SET SFKP=''<27><>''');
|
||
SQL.Add('where MJID=' + QuotedStr(Trim(FMJID)));
|
||
execsql;
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
SQL.Add('select A.*,D.MPRTCodeName,E.PrtColor,C.MJQty2,C.MJQty3,C.MJQty4,C.MJQty5,C.MJMaoZ from CK_BanCP_KC A');
|
||
sql.Add('inner join WFB_MJJY C on C.MJID=A.MJID ');
|
||
sql.Add('LEFT join JYOrder_main D on D.MainID=C.MainID ');
|
||
sql.Add('LEFT join JYOrder_sub E on E.subID=C.subID ');
|
||
sql.Add('where C.MJID in (' + quotedstr(trim(fNewMJID)) + ',' + quotedstr(trim(FMJID)) + ')');
|
||
open;
|
||
SInitCDSData20(adoqueryCmd, CDSMJID);
|
||
end;
|
||
|
||
CDSOrder.EmptyDataSet;
|
||
|
||
if Trim(Edit6.Text) = '<27><>' then
|
||
begin
|
||
printdata(fNewMJID);
|
||
printdata(FMJID);
|
||
end;
|
||
ModalResult := 1;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.InitGrid();
|
||
begin
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select A.*,ISNULL(C_CODENAME,D.MPRTCodeName)MPRTCodeName,ISNULL(C_COLOR,E.PrtColor)PrtColor,C.MJQty2,C.MJQty3,C.MJQty4,C.MJQty5,C.MJMaoZ from CK_BanCP_KC A');
|
||
sql.Add('inner join WFB_MJJY C on C.MJID=A.MJID ');
|
||
sql.Add('inner join JYOrder_Main D on D.MainID=C.MainID ');
|
||
sql.Add('inner join JYOrder_sub E on E.subID=C.subID ');
|
||
SQL.Add('where 1=2 ');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, CDSOrder);
|
||
SInitCDSData20(ADOQueryMain, CDSOrder);
|
||
SCreateCDS20(ADOQueryMain, CDSMJID);
|
||
SInitCDSData20(ADOQueryMain, CDSMJID);
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.InitMJID();
|
||
var
|
||
fP_No: string;
|
||
begin
|
||
MovePanel1.Visible := false;
|
||
|
||
with ADOQueryTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select B.MJID from CK_BanCP_CR B where B.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
SQL.Add('and B.MJID=' + quotedstr(trim(SmNO.text)));
|
||
SQL.Add('AND ISNowCycle=''1''');
|
||
Open;
|
||
end;
|
||
if ADOQueryTmp.IsEmpty = false then
|
||
begin
|
||
MovePanel1.Visible := true;
|
||
Edit2.Text := SmNO.Text;
|
||
Label2.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><D1B3><EFBFBD>';
|
||
exit;
|
||
end;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select A.*,ISNULL(C_CODENAME,D.MPRTCodeName)MPRTCodeName,ISNULL(C_COLOR,E.PrtColor)PrtColor,C.MJQty2,C.MJQty3,C.MJQty4,C.MJQty5,C.MJMaoZ ');
|
||
SQL.Add(',RKPLACE=(SELECT TOP 1 C_KUWEI FROM CK_BanCP_KC B WHERE B.MJID=A.MJID AND B.KCVALID=''Y'' )');
|
||
sql.Add('from CK_BanCP_KC A inner join WFB_MJJY C on C.MJID=A.MJID ');
|
||
sql.Add('LEFT join JYOrder_main D on D.MainID=C.MainID ');
|
||
sql.Add('LEFT join JYOrder_sub E on E.SubId=C.SubId ');
|
||
// sql.add('left join CK_BanCP_CR B on B.BCID=A.BCID and B.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
|
||
|
||
SQL.Add('where A.MJID=' + quotedstr(trim(SmNO.text)));
|
||
SQL.Add(' and a.Cycle=(select max(e.Cycle) from CK_BanCP_CR e where e.mjid=a.mjid) ');
|
||
// sql.Add('and KCQty>0 ');
|
||
Open;
|
||
if not IsEmpty then
|
||
begin
|
||
if ((Fieldbyname('KCQty').AsFloat <= 0) and (Fieldbyname('KCKGQty').AsFloat <= 0)) then
|
||
begin
|
||
MovePanel1.Visible := true;
|
||
Edit2.Text := SmNO.Text;
|
||
Label2.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><D1B3><EFBFBD>';
|
||
end
|
||
else
|
||
begin
|
||
SInitCDSData20(ADOQueryMain, CDSOrder);
|
||
kuwei.Text := Fieldbyname('rkplace').AsString;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
MovePanel1.Visible := true;
|
||
Edit2.Text := SmNO.Text;
|
||
Label2.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD><EBB2BB><EFBFBD><EFBFBD>';
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.FormDestroy(Sender: TObject);
|
||
begin
|
||
wRITECxGrid(self.Caption + tV1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
wRITECxGrid(self.Caption + TV2.Name, Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
frmKcRollCaiFen := nil;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.TBCloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.FormCreate(Sender: TObject);
|
||
begin
|
||
Panel2.Align := alClient;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.SmNOKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
MovePanel1.Visible := false;
|
||
if not CDSOrder.Locate('MJID', trim(smNo.Text), []) then
|
||
initMjid();
|
||
smno.Text := '';
|
||
smno.SetFocus;
|
||
|
||
if trim(Edit8.Text) = '<27><>' then
|
||
begin
|
||
if not CDSOrder.IsEmpty then
|
||
MJLen.Text := floattostr(tv1.DataController.Summary.FooterSummaryValues[1]);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid(self.Caption + tV1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
ReadCxGrid(self.Caption + TV2.Name, Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
MovePanel1.Left := (Width - MovePanel1.Width) div 2;
|
||
MovePanel1.top := (Height - MovePanel1.Height - 200) div 2;
|
||
InitGrid();
|
||
|
||
SmNO.SetFocus;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Button4Click(Sender: TObject);
|
||
begin
|
||
MovePanel1.Visible := false;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Edit7Click(Sender: TObject);
|
||
begin
|
||
if Trim(Edit7.Text) = '' then
|
||
begin
|
||
Edit7.Text := '<27><>';
|
||
Edit8.Text := '';
|
||
// Edit9.Text:='';
|
||
end
|
||
else
|
||
begin
|
||
Edit7.Text := '';
|
||
Edit8.Text := '';
|
||
// Edit9.Text:='';
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Edit8Click(Sender: TObject);
|
||
begin
|
||
if Trim(Edit8.Text) = '' then
|
||
begin
|
||
Edit7.Text := '';
|
||
Edit8.Text := '<27><>';
|
||
// Edit9.Text:='';
|
||
end
|
||
else
|
||
begin
|
||
Edit7.Text := '';
|
||
Edit8.Text := '';
|
||
// Edit9.Text:='';
|
||
end;
|
||
if trim(Edit8.Text) = '<27><>' then
|
||
begin
|
||
// IF not CDSOrder.IsEmpty then
|
||
// MJLen.Text:=floattostr(tv1.DataController.Summary.FooterSummaryValues[1]);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Edit6Click(Sender: TObject);
|
||
begin
|
||
if Trim(Edit6.Text) = '' then
|
||
begin
|
||
Edit6.Text := '<27><>';
|
||
end
|
||
else
|
||
begin
|
||
Edit6.Text := '';
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.BTPrintClick(Sender: TObject);
|
||
begin
|
||
if Trim(Edit7.Text) = '<27><>' then
|
||
begin
|
||
savedata1();
|
||
end;
|
||
if Trim(Edit8.Text) = '<27><>' then
|
||
begin
|
||
savedata2();
|
||
end;
|
||
SmNO.SetFocus;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Tv1DblClick(Sender: TObject);
|
||
begin
|
||
if CDSOrder.IsEmpty then
|
||
exit;
|
||
CDSOrder.Delete;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Button5Click(Sender: TObject);
|
||
begin
|
||
if CDSMJID.IsEmpty then
|
||
exit;
|
||
printdata(CDSMJID.fieldbyname('MJID').AsString);
|
||
SmNO.SetFocus;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.MJLenChange(Sender: TObject);
|
||
begin
|
||
QuantityConversion();
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.MKXSExit(Sender: TObject);
|
||
begin
|
||
QuantityConversion();
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Button1Click(Sender: TObject);
|
||
begin
|
||
try
|
||
frmLabelList := TfrmLabelList.Create(Application);
|
||
with frmLabelList do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
Edit1.Text := Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelList.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmKcRollCaiFen.Label13Click(Sender: TObject);
|
||
begin
|
||
if Label13.Caption = 'M' then
|
||
begin
|
||
Label13.Caption := 'KG'
|
||
end
|
||
else
|
||
begin
|
||
Label13.Caption := 'M'
|
||
end;
|
||
|
||
end;
|
||
|
||
end.
|
||
|