D7fhtxzhuoyuan/染整计划(DyeingFinishingPlan.dll)/U_CarEdit.pas
DESKTOP-E401PHE\Administrator de7ab88622 0
2025-09-30 15:01:08 +08:00

1083 lines
30 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_CarEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport,
RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu,
ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox,
MovePanel, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter, cxNavigator, cxContainer, Menus, cxButtons;
{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer):integer;stdcall;external 'JCYData.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';
function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer;IsMessage:integer):integer;stdcall;external 'JCYData.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';
function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer;IsMessage:integer):integer;stdcall;external 'JZCRS323C.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JZCRS323C.DLL';
function GetCommData(fhandle:hwnd;var defnum1,defnum2:double;var fisjz:integer):integer;stdcall;external 'JZCRS323C.DLL';
function CommOpen1301(fhandle:hwnd;sCommName:PAnsiChar;
IntTime:integer;IsMessage:integer):integer;stdcall;external 'JZCRS323C.DLL';
function CommClose1301(sCommName:PAnsiChar):integer;stdcall;external 'JZCRS323C.DLL';
function GetCommData1301(fhandle:hwnd;var defnum1,defnum2:double;var fisjz:integer):integer;stdcall;external 'JZCRS323C.DLL'; }
type
Tfrmcaredit = class(TForm)
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxGridPopupMenu1: TcxGridPopupMenu;
DataSource1: TDataSource;
Order_MJ: TClientDataSet;
ADOQueryMain: TADOQuery;
ADOCmd: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM2: TRMGridReport;
DataSource2: TDataSource;
CDS_MJCD: TClientDataSet;
DataSource3: TDataSource;
CDS_MJID: TClientDataSet;
Timer1: TTimer;
ADOQueryPrint: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
ADOQueryMainDSC: TADOQuery;
RM3: TRMGridReport;
ADOTmp: TADOQuery;
Panel2: TPanel;
Panel1: TPanel;
Label1: TLabel;
edit_smNo: TcxTextEdit;
cxButton1: TcxButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label12: TLabel;
Label14: TLabel;
Label15: TLabel;
Label17: TLabel;
carNo: TcxTextEdit;
customerNoName: TcxTextEdit;
MprtCodeName: TcxTextEdit;
ywy: TcxTextEdit;
MPRTSPEC: TcxTextEdit;
PRTColor: TcxTextEdit;
Qty: TcxTextEdit;
RollNum: TcxTextEdit;
machIneNo: TcxTextEdit;
chehao: TcxTextEdit;
GLIDENAME: TComboBox;
BZNAME: TComboBox;
Panel_JP: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton49: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
ADO_Tmp: TADOQuery;
ADO_Car: TADOQuery;
ADO_Cmd: TADOQuery;
Label16: TLabel;
YGNO: TcxTextEdit;
YGName: TComboBox;
ADOQuery2: TADOQuery;
Label10: TLabel;
GlideRate: TcxTextEdit;
Label11: TLabel;
N_GlideRate: TcxTextEdit;
Label25: TLabel;
Edit10: TEdit;
Panel3: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
tv2CDType: TcxGridDBColumn;
tv2CDWZ: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
Tv2CDQty: TcxGridDBColumn;
Tv2CDReason: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Tv2Column1: TcxGridDBColumn;
Label13: TLabel;
KKPS: TcxTextEdit;
Label18: TLabel;
kkqty: TcxTextEdit;
Label19: TLabel;
Edit1: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton49Click(Sender: TObject);
procedure GlideRateClick(Sender: TObject);
procedure edit_smNoKeyPress(Sender: TObject; var Key: Char);
procedure cxButton1Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure Sel1Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure YGNOPropertiesEditValueChanged(Sender: TObject);
procedure BZNAMEChange(Sender: TObject);
procedure edit_smNoClick(Sender: TObject);
procedure On1301(var Message: Tmessage); message 1301;
procedure OpenCom(DllName: string);
procedure CloseCom(DllName: string);
procedure clearCom(DllName: string);
procedure Edit10Click(Sender: TObject);
procedure GLIDENAMEChange(Sender: TObject);
procedure Edit1Click(Sender: TObject);
private
fGlideName, fSCunit, fJPUnit: string;
isCommopen, IsJsMessage: boolean;
procedure InitCar(fCarNo: string);
procedure InitYG(fYGNo: string);
procedure INITGX();
procedure INITCL();
function SaveData(): boolean;
{ Private declarations }
public
fflag: Integer;
fKeyNo: string;
{ Public declarations }
end;
var
frmCarEdit: TfrmCarEdit;
newh, newh1, newh2: hwnd;
implementation
uses
U_DataLink, U_RTFun, U_iniParam;
{$R *.dfm}
procedure TfrmCarEdit.clearCom(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, 'CommClear');
if Tp1 <> nil then
begin
Tf1 := TMyFunc(Tp1);
newh2 := 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 TfrmCarEdit.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 TfrmCarEdit.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 TfrmCarEdit.On1301(var Message: Tmessage);
var
i1, i2: integer;
unitname: string;
fdata: double;
begin
i1 := Message.WParam;
i2 := Message.LParam;
if IsJsMessage then
begin
if (trim(Edit10.Text) = '<27><>') then
begin
qty.Text := format('%.1f', [i1 / 100000]);
// if i2 = 0 then
// Label9.Caption := 'M'
// else
// Label9.Caption := 'Y';
// edit1.Text := format('%.' + fcdws + 'f', [i1 / 100000]);
end;
end;
end;
procedure TfrmCarEdit.INITGX();
var
FSJ, fsj2: string;
begin
// sql.Add('select top 1 A.GlideIdx,A.GlideName AS name from JYOrder_Glide A ');
// sql.Add('where CarNo =' + quotedstr(carNo.Text));
FSJ := 'select A.GlideName AS name from JYOrder_Glide A where CarNo = ' + quotedstr(Edit_smNo.Text);
//FSJ := FSJ + 'and NOT EXISTS(select X.GLIDEIDX from CL_Group X where X.GLIDEIDX=A.GLIDEIDX AND A.CarNo=X.CARNO) ';
FSJ := FSJ + 'AND (select RollNum from JYOrder_Car E WHERE E.CARNO=A.CARNO) > ISNULL((SELECT SUM( RollNum) FROM CL_Group X WHERE X.GLIDEIDX = A.GLIDEIDX AND X.CARNO = A.CarNo) ,0) ORDER BY GlideIdx';
SInitComBoxBySql(ADO_Tmp, GLIDENAME, False, FSJ);
end;
procedure TfrmCarEdit.INITCL();
begin
with ADOTmp do
begin
Close;
sql.Clear;
Filtered := False;
sql.Add('select AA.* from ( '); //,car_idx=dbo.F_Get_Car_idx(AA.carNo)
sql.Add('select A.* ');
sql.Add(',B.PRTHX,C.OrderNo,C.customerNOName,C.ywy,C.MPRTCodeName,C.MPRTSpec,mxgangno=(select BatchNO from CK_PB_CR h WHERE H.CRID=(SELECT KCID FROM JYOrder_PBKC J WHERE J.PBKCID=d.CARNO))');
SQL.Add(',jyxh=(select top 1 jyxh from WFB_MJJY F WHERE F.APID=D.CARNO),jycolor=(select top 1 jycolor from WFB_MJJY F WHERE F.APID=D.CARNO)');
sql.Add(',PRTColor ,MPRTMF,MPRTKZ from CL_staff A ');
sql.Add('inner join JYorder_Car D on D.CarNo=A.CarNo ');
sql.Add('inner join JYorder_sub B on B.subiD=A.subID ');
sql.Add('inner join JYOrder_Main C on C.mainID=A.mainID ');
sql.add('where CONVERT(VARCHAR(10),GETDATE(),120)=CONVERT(VARCHAR(10),A.FILLTIME,120) ');
SQL.ADD('AND A.FILLER=' + QUOTEDSTR(TRIM(DNAME)));
sql.Add(')AA ORDER BY FILLTIME DESC ');
// showmessage(sql.Text);
Open;
end;
SCreateCDS20(ADOTmp, CDS_MJID);
SInitCDSData20(ADOTmp, CDS_MJID);
end;
procedure TfrmCarEdit.BZNAMEChange(Sender: TObject);
var
fbzname: string;
begin
with ADO_Tmp do
begin
close;
sql.Clear;
sql.Add(' select A.GlideName AS name from JYOrder_Glide A where CarNo =' + quotedstr(trim(carno.Text)));
sql.Add(' and NOT EXISTS(select X.GLIDEIDX from CL_Group X where X.GLIDEIDX=A.GLIDEIDX AND A.CarNo=X.CARNO)');
sql.Add('and GlideName in (select rtvalue from [dbo].[F_Tool_SplitString]((select gxname from OA_YG_BZ b where b.bzname=' + QuotedStr(Trim(bzname.text)));
sql.Add(' ),''/'') )');
sql.Add(' ORDER BY GlideIdx');
// sql.Add('select * from OA_YG_BZ where BZName=' + QuotedStr(Trim(BZNAME.Text)));
// ShowMessage(SQL.Text);
open;
end;
if ADO_Tmp.IsEmpty = false then
begin
GLIDENAME.Items.Clear;
while not ADO_Tmp.eof do
begin
GLIDENAME.Items.Add(ADO_Tmp.fieldbyname('name').AsString);
ADO_Tmp.next;
end;
GlideName.ItemIndex := 0;
end
else
begin
// GlideName.ItemIndex := GlideName.Items.IndexOf(trim(ADO_Tmp.fieldbyname('name').AsString));
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><E9B8BA><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
end;
procedure SOutData(mParent: TWinControl; FTag: Integer);
var
i, idx: integer;
begin
with mParent do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TLabel then
continue;
if Controls[i].Tag <> FTag then
continue;
if Controls[i] is TEdit then
begin
TEdit(Controls[i]).Text := '';
end
else if Controls[i] is TcxTextEdit then
begin
TcxTextEdit(Controls[i]).Text := '';
end;
end;
end;
end;
procedure SInData(ADOQueryTmp: TADOQuery; mParent: TWinControl; FTag: Integer);
var
i, idx: integer;
mfield, mfieldCode: string;
begin
with ADOQueryTmp do
begin
if isEmpty then
exit;
with mParent do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TLabel then
continue;
if Controls[i].Tag <> FTag then
continue;
mfield := Controls[i].Name;
if Controls[i] is TEdit then
begin
if Trim(fieldByName(mfield).AsString) <> '' then
TEdit(Controls[i]).Text := trim(fieldByName(mfield).AsString)
else
TEdit(Controls[i]).Text := '';
end
else if Controls[i] is TcxTextEdit then
begin
if Trim(fieldByName(mfield).AsString) <> '' then
TcxTextEdit(Controls[i]).Text := trim(fieldByName(mfield).AsString)
else
TcxTextEdit(Controls[i]).Text := '';
end;
end; // end for
end; // end with
end; //end for with
end;
procedure TfrmCarEdit.InitCar(fCarNo: string);
begin
try
with ADO_Car do
begin
close;
sql.Clear;
sql.Add(' exec P_Qry_Car_GlideName ');
sql.Add(' @CarNo=' + quotedstr(trim(fCarNo)));
// showmessage(sql.Text);
open;
end;
if trim(ADO_Car.fieldbyname('ShowMsg').AsString) <> '' then
begin
edit_smNo.text := '';
Application.MessageBox(pchar(trim(ADO_Car.fieldbyname('ShowMsg').AsString)), '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
ADO_Car.Close;
exit;
end
else
SInData(ADO_Car, Panel2, 2);
Qty.Enabled := false;
RollNum.Enabled := false;
{ IF ADO_Car.fieldbyName('Glideidx').AsInteger=0 then
begin
Qty.Enabled:=true;
RollNum.Enabled:=True;
end; }
Qty.Enabled := true;
RollNum.Enabled := True;
MPRTSPEC.Text := ADO_Car.FIELDBYNAME('mxgangno').ASSTRING;
PRTColor.Text := ADO_Car.FIELDBYNAME('mxcolor').ASSTRING;
edit_smNo.text := '';
edit_smNo.OnClick(edit_smNo);
except
edit_smNo.text := '';
edit_smNo.OnClick(edit_smNo);
end;
end;
procedure TfrmCarEdit.InitYG(fYGNo: string);
var
fstr1: string;
begin
// try
// with ADO_YG do
// begin
// close;
// sql.Clear;
// sql.Add(' exec P_Qry_Car_YG ');
// sql.Add(' @YGNo=' + quotedstr(trim(fYGNo)));
// open;
// end;
// if trim(ADO_YG.fieldbyname('ShowMsg').AsString) <> '' then
// begin
// edit_smNo.text := '';
// edit_smNo.SetFocus;
// Application.MessageBox(pchar(trim(ADO_YG.fieldbyname('ShowMsg').AsString)), '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
// exit;
// end
// else
// begin
// YGNO.Text := ADO_YG.fieldbyName('YGNO').AsString;
// YGName.Text := ADO_YG.fieldbyName('YGName').AsString;
// InitYGGlide(carNo.Text, YGNO.Text);
// edit_smNo.text := '';
// edit_smNo.SetFocus;
// { fstr1:='<<3C><><EFBFBD><EFBFBD>:'+trim(ADO_YG.fieldbyname('BZName').AsString)+' Ա<><D4B1>:'+trim(ADO_YG.fieldbyname('YGName').AsString)+'> <20>Ƿ<EFBFBD>Ҫ<EFBFBD><EFBFBD><E1BDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
// if Application.MessageBox(Pchar(fstr1),'<27><>ʾ<EFBFBD><CABE>Ϣ',32+4)<>IDYES then Exit;
// SaveData();
// edit_smNo.Text:='';
// edit_smNo.SetFocus; }
// end;
// except
// end;
end;
function TfrmCarEdit.SaveData(): boolean;
var
i: integer;
begin
result := false;
if fflag = 0 then
begin
if GetLSNo(ADO_Tmp, fkeyNo, 'CL', 'CL_Group', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
end;
try
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add(' exec P_Do_Sc_CL_Group ');
sql.Add(' @Flag=' + quotedstr(inttostr(fflag)));
sql.Add(',@CLID=' + quotedstr(trim(fkeyNo)));
sql.Add(',@CarNo=' + quotedstr(trim(carNo.text)));
sql.Add(',@GlideNo=' + quotedstr(trim('''')));
sql.Add(',@GlideName=' + quotedstr(trim(GlideName.text)));
sql.Add(',@YGNo=' + quotedstr(trim(YGNo.text)));
sql.Add(',@YGName=' + quotedstr(trim(YGName.text)));
sql.Add(',@RollNum=' + quotedstr(trim(RollNum.text)));
sql.Add(',@Qty=' + quotedstr(trim(Qty.Text)));
sql.Add(',@SCUnit=' + quotedstr(trim(fscUnit)));
sql.Add(',@JPUnit=' + quotedstr(trim(fJPUnit)));
sql.Add(',@GlideRate=' + quotedstr(trim('100')));
sql.Add(',@machIneNo=' + quotedstr(trim(machIneNo.Text)));
sql.Add(',@chehao=' + quotedstr(trim(chehao.Text)));
sql.Add(',@Filler=' + quotedstr(trim(DName)));
sql.Add(',@bzname=' + quotedstr(trim(bzname.Text)));
// showmessage(sql.text);
open;
end;
if ADO_Cmd.fieldbyname('intReturn').AsInteger <> 0 then
begin
end
else
result := true;
if ((GLIDENAME.text = <><D1B9>') or (GLIDENAME.text = <><CBA2>')) and (edit1.text <> '') then
begin
with ADO_Cmd do
begin
close;
sql.Clear;
sql.add('exec P_Do_YHJY @clid=' + quotedstr(trim(fkeyNo)));
sql.Add('exec P_Do_JYCRK @MJID=''' + trim(fkeyNo) + '''');
execsql;
end;
end;
except
result := false;
end;
end;
procedure TfrmCarEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if isCommopen then
begin
closeCom(DllName);
closeCom(JCYDLL);
end;
Action := cafree;
end;
procedure TfrmCarEdit.FormDestroy(Sender: TObject);
begin
frmCarEdit := nil;
end;
procedure TfrmCarEdit.FormCreate(Sender: TObject);
begin
inherited;
Panel2.Align := alclient;
SOutData(Panel2, 2);
SOutData(Panel2, 0);
end;
procedure TfrmCarEdit.SpeedButton1Click(Sender: TObject);
var
fsj: string;
begin
fsj := Trim(TSpeedButton(Sender).Hint);
if Trim(fsj) = '' then
Exit;
fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := fsj + Trim(TSpeedButton(Sender).Caption);
TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelStart := length(TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
// TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
// TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelLength:=length(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text)
end;
procedure TfrmCarEdit.SpeedButton12Click(Sender: TObject);
var
fsj: string;
begin
fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
if Trim(fsj) = '' then
Exit;
TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := Copy(fsj, 1, Length(fsj) - 1);
TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelStart := length(TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
// TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmCarEdit.SpeedButton49Click(Sender: TObject);
begin
Panel_JP.Visible := false;
end;
procedure TfrmCarEdit.YGNOPropertiesEditValueChanged(Sender: TObject);
var
fsj: string;
str: string;
begin
with ADO_Tmp do
begin
close;
sql.Clear;
sql.Add('select * from OA_YG_DangAn ');
sql.Add('where YGCarNo =' + quotedstr(YGNO.Text));
open;
end;
YGName.Text := trim(ADO_Tmp.fieldbyname('YGName').AsString);
// str := trim(ADO_Tmp.fieldbyname('GlideName').AsString);
// fsj := 'SELECT distinct(ResultsTable) name FROM [dbo].[F_SplitStringType](' + quotedstr(str) + ','','')';
//
// if Pos(',', str) = 0 then
// begin
// GlideName.Clear;
// GlideName.Text := str;
// end
// else
// begin
// SInitComBoxBySql(ADO_Cmd, GlideName, False, fsj);
// end;
end;
procedure TfrmCarEdit.GlideRateClick(Sender: TObject);
var
i: Integer;
begin
Panel_JP.Visible := True;
with Panel_JP do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TSpeedButton then
begin
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
end;
end;
end;
with ADO_Tmp do
begin
close;
sql.Clear;
SQL.Add('select tt=dbo.fn_setColon(' + QuotedStr(Trim(chehao.text)));
sql.Add(')');
open;
end;
chehao.Text := ADO_Tmp.FieldByName('tt').AsString;
end;
procedure TfrmCarEdit.edit_smNoKeyPress(Sender: TObject; var Key: Char);
var
fsj: string;
str: string;
begin
if trim(edit_smNo.Text) = '' then
exit;
if Key = #13 then
begin
INITGX();
with ADO_Tmp do
begin
close;
sql.Clear;
SQL.Add('SELECT MAX=MAX(GlideIdx+1) FROM CL_Group ');
sql.Add('where CarNo =' + quotedstr(Edit_smNo.Text));
open;
end;
if StrToIntDef(ADO_Tmp.FieldByName('MAX').AsString, 0) = 0 then
begin
GLIDENAME.ItemIndex := 0;
end
else
begin
with ADOQuery2 do
begin
close;
sql.Clear;
SQL.Add('SELECT * FROM JYOrder_Glide ');
sql.Add('where CarNo =' + quotedstr(Edit_smNo.Text));
SQL.Add('AND GlideIdx=' + ADO_Tmp.FieldByName('MAX').AsSTRING);
// ShowMessage(SQL.Text);
open;
end;
if ADOQuery2.IsEmpty = FALSE then
begin
GlideName.ItemIndex := GlideName.Items.IndexOf(trim(ADOQuery2.fieldbyname('GlideName').AsString));
end;
end;
with ADO_Tmp do
begin
Close;
sql.Clear;
SQL.Add('select * from SY_User where username=' + QuotedStr(Trim(dname)));
Open;
end;
if ADO_Tmp.fieldbyname('UDEPT').asstring <> '' then
begin
GlideName.ItemIndex := GlideName.Items.IndexOf(trim(ADO_Tmp.fieldbyname('UDEPT').asstring));
end;
// with ADO_Tmp do
// begin
// Close;
// sql.Clear;
// SQL.Add('select * from SY_User where username=' + QuotedStr(Trim(dname)));
// Open;
// end;
// bzname.ItemIndex := bzname.Items.IndexOf(trim(DName));
// with ADO_Tmp do
// begin
// close;
// sql.Clear;
//
// sql.Add(' select A.GlideName AS name from JYOrder_Glide A where CarNo =' + quotedstr(trim(Edit_smNo.Text)));
// sql.Add(' and NOT EXISTS(select X.GLIDEIDX from CL_Group X where X.GLIDEIDX=A.GLIDEIDX AND A.CarNo=X.CARNO ');
// SQL.Add(' and (SELECT SUM(ROLLNUM) FROM CL_Staff E WHERE E.CARNO=A.CarNo )>=(select RollNum from JYOrder_Car F where F.carno=A.CARNO ) )');
//
// sql.Add('and GlideName in (select rtvalue from [dbo].[F_Tool_SplitString]((select gxname from OA_YG_BZ b where b.bzname=' + QuotedStr(Trim(bzname.text)));
// sql.Add(' ),''/'') )');
// sql.Add(' ORDER BY GlideIdx');
//// sql.Add('select * from OA_YG_BZ where BZName=' + QuotedStr(Trim(BZNAME.Text)));
//// ShowMessage(SQL.Text);
// open;
// end;
//
// if ADO_Tmp.IsEmpty = false then
// begin
// GLIDENAME.Items.Clear;
// while not ADO_Tmp.eof do
// begin
// GLIDENAME.Items.Add(ADO_Tmp.fieldbyname('name').AsString);
// ADO_Tmp.next;
// end;
// GlideName.ItemIndex := 0;
// end
// else
// begin
//// GlideName.ItemIndex := GlideName.Items.IndexOf(trim(ADO_Tmp.fieldbyname('name').AsString));
//
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><E9B8BA><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// edit_smNo.Text := '';
// exit;
// end;
InitCar(Edit_smNo.Text);
INITCL();
// with ADOQuery2 do
// begin
// close;
// sql.Clear;
// SQL.Add('SELECT TOP 1 BZNAME FROM OA_YG_SB WHERE SBSTATUS=''<27><><EFBFBD>ϰ<EFBFBD>'' ');
//
// open;
// end;
// BZNAME.ItemIndex := BZNAME.Items.IndexOf(trim(ADOQuery2.fieldbyname('BZNAME').AsString));
// GlideName.Text := trim(ADO_Tmp.fieldbyname('name').AsString);
// GlideName.ItemIndex:=CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('ckname').AsString));
// fsj := 'select A.YGName AS name,A.BZName,B.GXName from OA_YG_DangAn A INNER JOIN OA_YG_BZ B ON A.BZID=B.BZID where A.LiZhiFlag=0 and B.GXName =' + quotedstr(GlideName.Text) + ' ';
// SInitComBoxBySql(ADO_Cmd, YGName, False, fsj);
// YGName.ItemIndex := 0;
end;
end;
procedure TfrmCarEdit.cxButton1Click(Sender: TObject);
begin
if trim(carNo.Text) = '' then
begin
edit_smNo.text := '';
Application.MessageBox(<><C3BB>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
edit_smNo.SetFocus;
exit;
end;
InitYG(trim(edit_smNo.Text));
end;
procedure TfrmCarEdit.SpeedButton13Click(Sender: TObject);
begin
cxButton1.Click;
end;
procedure TfrmCarEdit.Sel1Click(Sender: TObject);
begin
if trim(TcxTextEdit(Sender).Text) = '<27><>' then
begin
TcxTextEdit(Sender).Text := '';
end
else
begin
TcxTextEdit(Sender).Text := '<27><>';
end;
end;
procedure TfrmCarEdit.SpeedButton14Click(Sender: TObject);
var
i, j, f1, f2: integer;
begin
// if strtofloatdef(trim(Qty.Text), 0) = 0 then
// begin
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>㣡', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// Exit;
// end;
if carno.Text = '' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
if strtofloatdef(trim(RollNum.Text), 0) = 0 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>㣡', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
if strtofloatdef(trim(GlideRate.Text), 0) = 0 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EAB9A4><EFBFBD><EFBFBD>Ϊ<EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>㣡', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
if strtofloatdef(trim(GlideRate.Text), 0) > 100 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EAB9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>100<30><30>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
if strtofloatdef(trim(N_GlideRate.Text), 0) > 0 then
begin
if strtofloatdef(trim(GlideRate.Text), 0) > strtofloatdef(trim(N_GlideRate.Text), 0) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EAB9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
end;
with ADO_Tmp do
begin
close;
sql.Clear;
sql.Add('select f1=isnull(sum(rollnum),0)');
sql.Add(' from CL_Staff b where carno=' + QuotedStr(trim(carno.text)));
sql.Add('and b.glidename=' + QuotedStr(Trim(glidename.Text)));
// sql.Add('group by carno');
// ShowMessage(sql.Text);
open;
end;
f1 := StrTointdef(ADO_Tmp.FieldByName('f1').AsString, 0);
with ADO_Tmp do
begin
close;
sql.Clear;
sql.Add(' select f2=rollnum from JYOrder_Car g where g.carno=' + QuotedStr(trim(carno.text)));
// ShowMessage(sql.Text);
open;
end;
f2 := StrTointdef(ADO_Tmp.FieldByName('f2').AsString, 0);
// if f2 - f1 - strTointdef(RollNum.Text, 0) < 0 then
// begin
// Application.MessageBox('ˢ<><CBA2>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>ƥ<EFBFBD><C6A5>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// Exit;
// end;
// if BZNAME.Text = '' then
// begin
// Application.MessageBox('<27><><EFBFBD><EFBFBD><E9B2BB>Ϊ<EFBFBD><CEAA>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// Exit;
// end;
// j := 0;
// with Panel_G do
// begin
// for i := 0 to ControlCount - 1 do
// begin
// if Controls[i] is TEdit then
// begin
// if TEdit(Controls[i]).Text = '<27><>' then
// begin
// j := 1;
// end;
// end;
// end;
// end;
// if j = 0 then
// begin
// Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// Exit;
// end;
// ADO_Cmd.Connection.BeginTrans;
// try
// for i := 1 to 6 do
// begin
// fGlideName := '';
// fScUnit := '';
// fJPunit := '';
// if (TEdit(FindComponent('Sel' + inttostr(i))).Visible) and (TEdit(FindComponent('Sel' + inttostr(i))).Text = '<27><>') then
// begin
// fGlideName := trim(Tlabel(FindComponent('G' + inttostr(i))).Caption);
// fScUnit := trim(Tlabel(FindComponent('G' + inttostr(i))).Hint);
// fJPunit := '';
// if savedata() = false then
// begin
// ADO_Cmd.Connection.RollbackTrans;
// Application.MessageBox('ˢ<><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// exit;
// end;
// end;
// end;
// ADO_Cmd.Connection.CommitTrans;
// SOutData(Panel2, 2);
// SOutData(Panel2, 0);
// ClearGlide();
if savedata() = false then
begin
ADO_Cmd.Connection.RollbackTrans;
Application.MessageBox(<><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
INITCL();
edit_smNo.SetFocus;
Application.MessageBox(<><CBA2><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
if (glidename.text = <><D1B9>') or (glidename.text = <><CBA2>') then
begin
end
else
begin
carno.Text := '';
end;
// except
// ADO_Cmd.Connection.RollbackTrans;
// end;
end;
procedure TfrmCarEdit.FormShow(Sender: TObject);
var
fsj2: string;
begin
inherited;
edit_smNo.OnClick(edit_smNo);
fsj2 := 'select DISTINCT NAME=BZNAME from OA_YG_BZ ORDER BY NAME ';
SInitComBoxBySql(ADO_Tmp, BZNAME, False, fsj2);
bzname.ItemIndex := bzname.Items.IndexOf(trim(DName));
if trim(Edit10.Text) = '<27><>' then
IsJsMessage := true;
if trim(DllName) <> '' then
OpenCom(DllName);
if trim(JCYDLL) <> '' then
OpenCom(JCYDLL);
end;
procedure Tfrmcaredit.edit_smNoClick(Sender: TObject);
var
i: Integer;
begin
Panel_JP.Visible := True;
with Panel_JP do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TSpeedButton then
begin
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
end;
end;
end;
end;
procedure Tfrmcaredit.Edit10Click(Sender: TObject);
begin
if Trim(Edit10.Text) = '' then
begin
Edit10.Text := '<27><>';
end
else
begin
Edit10.Text := '';
end;
end;
procedure Tfrmcaredit.GLIDENAMEChange(Sender: TObject);
begin
if (glidename.text = <><D1B9>') or (glidename.text = <><CBA2>') then
begin
rollnum.text := '1';
qty.Text := floattostr(strtofloatdef(kkqty.Text, 0) / strtofloatdef(kkps.Text, 0));
end
else
begin
rollnum.text := kkps.text;
qty.text := kkqty.text;
end;
end;
procedure Tfrmcaredit.Edit1Click(Sender: TObject);
begin
if Trim(Edit1.Text) = '' then
begin
Edit1.Text := '<27><>';
end
else
begin
Edit1.Text := '';
end;
end;
end.