D7yrshuangjian/染整计划(DyeingFinishingPlan.dll)/U_frmProductOrderCarEdit.pas
DESKTOP-E401PHE\Administrator 28bc8fedc3 ~
2025-09-06 16:32:36 +08:00

846 lines
24 KiB
ObjectPascal
Raw Permalink 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_frmProductOrderCarEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, BtnEdit, ComCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ToolWin,
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient,
cxCalendar, cxContainer, cxTextEdit, cxCurrencyEdit, cxDropDownEdit,
cxCheckBox, Menus;
type
TfrmfrmProductOrderCarEdit = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
Label2: TLabel;
OrderNo: TBtnEditA;
Label3: TLabel;
customerNoName: TEdit;
Label4: TLabel;
MprtCodeName: TEdit;
Label5: TLabel;
prtColor: TEdit;
Panel2: TPanel;
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
CRTime: TDateTimePicker;
Label1: TLabel;
Label7: TLabel;
Button1: TButton;
Button2: TButton;
V1Column1: TcxGridDBColumn;
V1Column2: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
CDS_Glide: TClientDataSet;
DS_Glide: TDataSource;
CDS_Car: TClientDataSet;
DS_Car: TDataSource;
ADO_Car: TADOQuery;
ADO_Glide: TADOQuery;
ADO_Order: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
V1Column5: TcxGridDBColumn;
carnum: TcxCurrencyEdit;
Button3: TButton;
V1Column7: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N1: TMenuItem;
Label8: TLabel;
PRTPs: TEdit;
GroupBox2: TGroupBox;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton6: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
TV2Column1: TcxGridDBColumn;
TV2Column2: TcxGridDBColumn;
TV2Column3: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
GroupBox3: TGroupBox;
ToolBar2: TToolBar;
ToolButton7: TToolButton;
DS_PBKC: TDataSource;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
V3Column1: TcxGridDBColumn;
V3Column2: TcxGridDBColumn;
ADO_PBCK: TADOQuery;
ToolButton8: TToolButton;
CDS_PBCK: TClientDataSet;
V3Column3: TcxGridDBColumn;
V3Column4: TcxGridDBColumn;
V3Column5: TcxGridDBColumn;
Label9: TLabel;
orderType: TEdit;
Label10: TLabel;
MPRTMF: TEdit;
Label11: TLabel;
MPRTKZ: TEdit;
V1Column8: TcxGridDBColumn;
V1Column9: TcxGridDBColumn;
V1Column10: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure OrderNoBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TV1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
procedure ToolButton6Click(Sender: TObject);
procedure TV1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure V3Column4PropertiesEditValueChanged(Sender: TObject);
procedure TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
private
fOrderType: string;
procedure InitOrder();
procedure InitCar();
procedure InitGlide();
procedure InitPBCK();
{ Private declarations }
public
fsyrName, fMainID, fsubID, fcarNo: string;
{ Public declarations }
end;
var
frmfrmProductOrderCarEdit: TfrmfrmProductOrderCarEdit;
implementation
uses
U_DataLink, U_ZDYHelp, U_Fun, U_ProductOrderListSel, U_GXGL_List_DXCX,
U_PBKcList;
{$R *.dfm}
procedure TfrmfrmProductOrderCarEdit.InitPBCK();
begin
try
with ADO_PBCK do
begin
close;
sql.Clear;
sql.Add('select A.*');
sql.Add(',KCPS=(select X.KCPS from CK_PB_CR X where X.Valid=''Y'' and X.CRFlag=''<27><><EFBFBD><EFBFBD>'' and X.CRID=A.KCID)');
sql.Add('from JYOrder_PBKC A ');
sql.Add(' where A.MainID=' + QUOTEDSTR(Trim(FMainID)));
sql.Add(' AND A.SUBID=' + QUOTEDSTR(Trim(FSUBID)));
// ShowMessage(SQL.Text);
open;
end;
SCreateCDS20(ADO_PBCK, CDS_PBCK);
SInitCDSData20(ADO_PBCK, CDS_PBCK);
finally
end;
end;
procedure TfrmfrmProductOrderCarEdit.InitGlide();
begin
try
with Ado_Glide do
begin
close;
sql.Clear;
sql.Add('select A.*');
sql.Add('from JYOrder_Glide A ');
sql.Add('where A.carNo=''' + trim(cds_Car.fieldbyname('carNo').AsString) + ''' ');
open;
end;
SCreateCDS20(Ado_Glide, CDS_Glide);
SInitCDSData20(Ado_Glide, CDS_Glide);
finally
end;
end;
procedure TfrmfrmProductOrderCarEdit.InitCar();
begin
try
with Ado_car do
begin
close;
sql.Clear;
sql.Add('select A.*,oldRollNum=A.RollNum');
sql.Add('from JYOrder_car A ');
sql.Add('where A.MainID=''' + trim(fmainID) + ''' ');
sql.Add('and A.subID=''' + trim(fsubID) + ''' ');
open;
end;
SCreateCDS20(Ado_car, CDS_car);
SInitCDSData20(Ado_car, CDS_car);
finally
end;
end;
procedure TfrmfrmProductOrderCarEdit.InitOrder();
begin
try
with Ado_Order do
begin
close;
sql.Clear;
sql.Add('select A.*,B.*');
sql.Add('from JYOrder_sub A ');
sql.Add('inner join JYOrder_Main B on B.MainID=A.mainID ');
sql.Add('where A.MainID=''' + trim(fMainID) + ''' ');
sql.Add('and A.subID=''' + trim(fsubID) + ''' ');
open;
end;
if not Ado_Order.IsEmpty then
begin
SCSHDataNew(Ado_Order, Panel1, 2);
if trim(orderType.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
GroupBox3.Visible := False;
end
else
begin
GroupBox3.Visible := False;
end;
end;
finally
end;
end;
procedure TfrmfrmProductOrderCarEdit.FormDestroy(Sender: TObject);
begin
frmfrmProductOrderCarEdit := nil;
end;
procedure TfrmfrmProductOrderCarEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmfrmProductOrderCarEdit.FormCreate(Sender: TObject);
begin
GroupBox1.Align := AlClient;
CRTime.Date := DServerDate;
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton2Click(Sender: TObject);
begin
with CDS_Glide do
begin
if IsEmpty then
Exit;
if RecNo >= 1 then
begin
//Prior;
Edit;
fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value - 1;
Post;
Prior;
Edit;
fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value + 1;
Post;
end;
Prior;
end;
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton3Click(Sender: TObject);
begin
CDS_Glide.IndexFieldNames := 'GlideIdx';
with CDS_Glide do
begin
if IsEmpty then
Exit;
Next;
if not Eof then
Prior
else
begin
exit;
end;
if not Eof then
begin
Edit;
fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value + 1;
Post;
Prior;
Edit;
fieldByName('GlideIdx').Value := fieldByName('GlideIdx').Value - 1;
Post;
end;
Next;
end;
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton4Click(Sender: TObject);
var
k: integer;
begin
if cds_Glide.IsEmpty then
exit;
cds_Glide.Delete;
cds_Glide.IndexFieldNames := 'GlideIdx';
cds_Glide.DisableControls;
cds_Glide.First;
k := 1;
while not cds_Glide.Eof do
begin
cds_Glide.Edit;
cds_Glide.FieldByName('GlideIdx').Value := k;
cds_Glide.Post;
inc(k);
cds_Glide.Next;
end;
cds_Glide.First;
cds_Glide.EnableControls;
end;
procedure TfrmfrmProductOrderCarEdit.OrderNoBtnClick(Sender: TObject);
begin
frmProductOrderListSel := TfrmProductOrderListSel.create(self);
with frmProductOrderListSel do
begin
fsyrName := self.fsyrName;
if ShowModal = 1 then
begin
fmainID := Order_Main.fieldbyname('mainID').asstring;
fsubID := Order_Main.fieldbyname('subID').asstring;
InitOrder();
InitCar();
initGlide();
InitPBCK();
end;
free;
end;
end;
procedure TfrmfrmProductOrderCarEdit.FormShow(Sender: TObject);
begin
InitOrder();
InitCar();
initGlide();
InitPBCK();
end;
procedure TfrmfrmProductOrderCarEdit.Button1Click(Sender: TObject);
var
i, k, Fcarxh: integer;
maxId: string;
MRollNum: Double;
begin
if trim(OrderNo.Text) = '' then
begin
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if CDS_Car.IsEmpty then
Fcarxh := 0
else
Fcarxh := CDS_Car.RecordCount;
if strtointdef(trim(carNum.text), 0) <= 1 then
k := 1
else
k := strtointdef(trim(carNum.text), 0);
MRollNum := RoundFloat(strtointdef(trim(PRTPs.text), 0) / k, 0);
CDS_Car.Last;
for i := 1 to k do
begin
Fcarxh := Fcarxh + 1;
CopyAddRowCDS(CDS_Car);
if GetLSNo(ADOQueryCmd, maxId, 'CZ', 'JYOrder_Car', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Car.edit;
CDS_Car.FieldByName('carNo').Value := maxId;
CDS_Car.FieldByName('carxh').Value := Fcarxh;
CDS_Car.FieldByName('CRTime').Value := CRTime.date;
CDS_Car.FieldByName('Sflag').Value := '0';
CDS_Car.FieldByName('KKMF').Value := Trim(MPRTMF.Text);
CDS_Car.FieldByName('KKKZ').Value := Trim(MPRTKZ.Text);
CDS_Car.FieldByName('RollNum').Value := MRollNum;
CDS_Car.Post;
end;
end;
procedure TfrmfrmProductOrderCarEdit.Button2Click(Sender: TObject);
begin
if CDS_car.IsEmpty then
exit;
if CDS_car.Locate('RollNum', null, []) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>㣡', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if CDS_car.Locate('RollNum', 0, []) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>㣡', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
ADOQueryCmd.Connection.BeginTrans;
try
CDS_Car.DisableControls;
CDS_Car.First;
while not CDS_Car.Eof do
begin
if CDS_Car.FieldByName('GlideIDx').AsInteger = 0 then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from JYOrder_Car A');
sql.Add('where CarNO=''' + trim(CDS_Car.fieldbyname('CarNo').AsString) + '''');
open;
if IsEmpty then
begin
append;
fieldbyname('Filler').Value := trim(DName);
end
else
begin
edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp);
end;
FieldByName('carNo').Value := trim(CDS_Car.fieldbyname('carNo').AsString);
FieldByName('CrTime').Value := formatdateTime('yyyy-MM-dd', CDS_Car.fieldbyname('CrTime').AsDateTime);
FieldByName('MainID').Value := trim(fMainID);
FieldByName('subID').Value := trim(fsubID);
FieldByName('carxh').Value := CDS_Car.fieldbyname('carxh').AsInteger;
FieldByName('KKMF').Value := trim(CDS_Car.fieldbyname('KKMF').AsString);
FieldByName('KKKZ').Value := trim(CDS_Car.fieldbyname('KKKZ').AsString);
FieldByName('RollNum').Value := CDS_Car.fieldbyname('RollNum').AsInteger;
FieldByName('Qty').Value := CDS_Car.fieldbyname('Qty').AsFloat;
FieldByName('QtyUnit').Value := trim(CDS_Car.fieldbyname('QtyUnit').AsString);
FieldByName('Note').Value := trim(CDS_Car.fieldbyname('Note').AsString);
FieldByName('valid').Value := 'Y';
post;
end;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('exec P_Insert_Glide ' + quotedstr(OrderNo.Text) + ',' + quotedstr(Trim(trim(CDS_Car.fieldbyname('CarNo').AsString))));
ExecSQL;
end;
CDS_Car.Next;
end;
CDS_Car.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
ModalResult := 1;
except
CDS_Car.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmfrmProductOrderCarEdit.Button3Click(Sender: TObject);
begin
if CDS_car.IsEmpty then
exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_PB_CR where Valid=''Y'' and CRType=''<27>Զ<EFBFBD><D4B6><EFBFBD>ƥ''');
sql.Add('and CarNo=' + quotedstr(Trim(CDS_car.fieldbyname('carNO').AsString)));
Open;
end;
if ADOQueryTmp.IsEmpty = False then
begin
Application.MessageBox('<27>ѿ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete JYOrder_car where carNO=''' + Trim(CDS_car.fieldbyname('carNo').AsString) + '''');
sql.Add(' exec P_Do_PbOut_Del @carNO=''' + Trim(CDS_car.fieldbyname('carNo').AsString) + '''');
execsql;
end;
CDS_car.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton5Click(Sender: TObject);
var
maxID: string;
begin
if CDS_Glide.IsEmpty then
exit;
ADOQueryCmd.Connection.BeginTrans;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from JYOrder_Glide ');
sql.Add('where carNO=''' + trim(cds_car.fieldbyname('carNo').asstring) + '''');
execsql;
end;
CDS_Glide.DisableControls;
CDS_Glide.First;
while not CDS_Glide.Eof do
begin
if trim(CDS_Glide.FieldByName('GlideNo').asstring) = '' then
begin
if GetLSNo(ADOQueryCmd, maxID, 'CG', 'JYOrder_Glide', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Glide.Edit;
CDS_Glide.FieldByName('GlideNo').Value := trim(maxID);
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from JYOrder_Glide A');
sql.Add('where GlideNo=''' + trim(CDS_Glide.fieldbyname('GlideNo').AsString) + '''');
open;
if IsEmpty then
begin
append;
fieldbyname('Filler').Value := trim(DName);
end
else
begin
edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp);
end;
FieldByName('GlideNo').Value := trim(CDS_Glide.fieldbyname('GlideNo').AsString);
FieldByName('Glideidx').Value := CDS_Glide.fieldbyname('GlideIdx').AsInteger;
FieldByName('MainID').Value := trim(fMainID);
FieldByName('subID').Value := trim(fsubID);
FieldByName('carNo').Value := trim(CDS_car.fieldbyname('carNo').AsString);
FieldByName('GlideName').Value := trim(CDS_Glide.fieldbyname('GlideName').AsString);
FieldByName('RollNum').Value := CDS_Glide.fieldbyname('RollNum').AsInteger;
// FieldByName('Qty').Value:=CDS_Glide.fieldbyname('Qty').AsFloat;
// FieldByName('QtyUnit').Value:=trim(CDS_Glide.fieldbyname('QtyUnit').AsString);
FieldByName('Note').Value := trim(CDS_Glide.fieldbyname('Note').AsString);
post;
end;
CDS_Glide.Next;
end;
CDS_Glide.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
CDS_Glide.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton1Click(Sender: TObject);
var
maxId: string;
begin
if CDS_Car.IsEmpty then
exit;
if not CDS_Car.Locate('Ssel', true, []) then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
frmGXGL_List_DXCX := TfrmGXGL_List_DXCX.create(self);
with frmGXGL_List_DXCX do
begin
if showmodal = 1 then
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Car.DisableControls;
CDS_Car.First;
Order_FZ.DisableControls;
while not CDS_Car.Eof do
begin
if CDS_Car.fieldbyname('Ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from JYOrder_Glide ');
sql.Add('where carNo=''' + trim(CDS_Car.fieldbyname('carNo').AsString) + '''');
execsql;
end;
Order_FZ.First;
while not Order_FZ.eof do
begin
if GetLSNo(ADOQueryCmd, maxId, 'CG', 'JYOrder_Glide', 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 * from JYOrder_Glide where 1=2');
open;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('GlideNo').Value := maxId;
ADOQueryCmd.FieldByName('Glideidx').Value := Order_FZ.RecNo;
ADOQueryCmd.FieldByName('MainID').Value := trim(fMainID);
ADOQueryCmd.FieldByName('subID').Value := trim(fsubID);
ADOQueryCmd.FieldByName('carNo').Value := trim(CDS_Car.fieldbyname('carNo').AsString);
ADOQueryCmd.FieldByName('GlideName').Value := trim(Order_FZ.fieldbyname('PSName').AsString);
// ADOQueryCmd.FieldByName('RollNum').Value:=CDS_Car.fieldbyname('RollNum').AsInteger;
// ADOQueryCmd.FieldByName('Qty').Value:=CDS_Car.fieldbyname('Qty').AsFloat;
ADOQueryCmd.FieldByName('QtyUnit').Value := trim(CDS_Glide.fieldbyname('QtyUnit').AsString);
// ADOQueryCmd.FieldByName('Note').Value:=trim(Order_FZ.fieldbyname('Note').AsString);
ADOQueryCmd.Post;
end;
Order_FZ.Next;
end;
Order_FZ.Next;
end;
CDS_Car.Next;
end;
CDS_Car.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
initGlide();
except
CDS_Car.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
frmGXGL_List_DXCX.Free;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
free;
end;
end;
procedure TfrmfrmProductOrderCarEdit.TV1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
FValue: string;
FBounds: TRect;
begin
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
begin
FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
FBounds := AViewInfo.Bounds;
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
InflateRect(FBounds, -1, -1);
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton6Click(Sender: TObject);
begin
if CDS_Car.IsEmpty then
exit;
frmGXGL_List_DXCX := TfrmGXGL_List_DXCX.create(self);
with frmGXGL_List_DXCX do
begin
if showmodal = 1 then
begin
Order_FZ.First;
while not Order_FZ.eof do
begin
CDS_Glide.Append;
CDS_Glide.FieldByName('Glideidx').Value := CDS_Glide.RecordCount + 1;
CDS_Glide.FieldByName('GlideName').Value := Order_FZ.fieldbyname('PSName').AsString;
CDS_Glide.Post;
Order_FZ.next;
end;
end;
free;
end;
end;
procedure TfrmfrmProductOrderCarEdit.TV1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
InitGlide();
end;
procedure TfrmfrmProductOrderCarEdit.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Car, true);
end;
procedure TfrmfrmProductOrderCarEdit.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Car, true);
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton7Click(Sender: TObject);
var
maxno: string;
begin
frmPBKcList := TfrmPBKcList.create(self);
with frmPBKcList do
begin
fType := 10;
if showmodal = 1 then
begin
with CDS_Main do
begin
while CDS_Main.Locate('SSel', True, []) do
begin
with ADOQueryCmd do
begin
sql.Add('select * from JYOrder_PBKC');
sql.Add('where MainID=' + QuotedStr(trim(Self.fMainID)));
sql.Add('and subID=' + QuotedStr(trim(Self.fsubID)));
sql.Add('and KCID' + QuotedStr(Trim(CDS_Main.FieldByName('KCID').AsString)));
end;
if ADOQueryCmd.IsEmpty then
begin
if GetLSNo(ADOQueryCmd, maxno, 'YK', 'JYOrder_PBKC', 4, 1) = False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('insert into JYOrder_PBKC(PBKCID,MainID,subID,KCID,FPPS ) ');
sql.Add('values(' + QuotedStr(maxno));
sql.Add(',' + QuotedStr(trim(Self.fMainID)));
sql.Add(',' + QuotedStr(trim(Self.fsubID)));
sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCID').AsString)));
sql.Add(',' + QuotedStr(Trim(CDS_Main.FieldByName('KCPS').AsString)));
sql.Add(' )');
ExecSQL;
end;
end;
CDS_Main.Delete;
end;
end;
end;
free;
end;
InitPBCK();
end;
procedure TfrmfrmProductOrderCarEdit.ToolButton8Click(Sender: TObject);
begin
if CDS_PBCK.IsEmpty then
exit;
if CDS_PBCK.fieldbyname('YYPS').AsInteger > 0 then
exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete JYOrder_PBKC where PBKCID=''' + Trim(CDS_PBCK.fieldbyname('PBKCID').AsString) + '''');
sql.Add(' and YYPS=0');
execsql;
end;
CDS_PBCK.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmfrmProductOrderCarEdit.V3Column4PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_PBCK do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate JYOrder_PBKC ');
sql.Add(' Set FPPS=' + Trim(mvalue));
sql.Add(' where PBKCID=' + quotedstr(Trim(CDS_PBCK.FIELDBYNAME('PBKCID').AsString)));
ExecSQL;
end;
tv3.Controller.EditingController.ShowEdit();
end;
procedure TfrmfrmProductOrderCarEdit.TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
i: Integer;
begin
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_PB_CR where Valid=''Y'' and CRType=''<27>Զ<EFBFBD><D4B6><EFBFBD>ƥ''');
sql.Add('and CarNo=' + quotedstr(Trim(CDS_car.fieldbyname('carNO').AsString)));
Open;
end;
if ADOQueryTmp.IsEmpty = False then
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
if uppercase(tv1.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv1.Columns[i].Options.Editing := false;
end;
end;
end;
end.