342 lines
9.1 KiB
ObjectPascal
342 lines
9.1 KiB
ObjectPascal
|
|
unit U_TradePlanColorResultInput;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
|||
|
|
cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
|
|||
|
|
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
|||
|
|
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
|
|||
|
|
cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, StdCtrls, ExtCtrls,
|
|||
|
|
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
|
|||
|
|
dxDateRanges, dxBarBuiltInMenu, U_BaseInput,
|
|||
|
|
System.ImageList, Vcl.ImgList, cxCheckBox, cxPC,
|
|||
|
|
dxScrollbarAnnotations,
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vcl.Menus;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrmTradePlanColorResultInput = class(TfrmBaseInput)
|
|||
|
|
ToolBar1: TToolBar;
|
|||
|
|
TBSave: TToolButton;
|
|||
|
|
TBClose: TToolButton;
|
|||
|
|
DS_1: TDataSource;
|
|||
|
|
CDS_Sub: TClientDataSet;
|
|||
|
|
ADOQueryCmd: TADOQuery;
|
|||
|
|
ADOQueryMain: TADOQuery;
|
|||
|
|
ADOQueryTemp: TADOQuery;
|
|||
|
|
GPM_1: TcxGridPopupMenu;
|
|||
|
|
ToolButton1: TToolButton;
|
|||
|
|
cxGrid1: TcxGrid;
|
|||
|
|
TV1: TcxGridDBTableView;
|
|||
|
|
cxGridDBColumn2: TcxGridDBColumn;
|
|||
|
|
cxGridDBColumn3: TcxGridDBColumn;
|
|||
|
|
cxGridDBColumn5: TcxGridDBColumn;
|
|||
|
|
cxGridDBColumn6: TcxGridDBColumn;
|
|||
|
|
cxGridDBColumn8: TcxGridDBColumn;
|
|||
|
|
TV2Column6: TcxGridDBColumn;
|
|||
|
|
TV1Column1: TcxGridDBColumn;
|
|||
|
|
TV1Column2: TcxGridDBColumn;
|
|||
|
|
TV1Column3: TcxGridDBColumn;
|
|||
|
|
TV1Column4: TcxGridDBColumn;
|
|||
|
|
cxGridLevel2: TcxGridLevel;
|
|||
|
|
TV1Column5: TcxGridDBColumn;
|
|||
|
|
TV1Column6: TcxGridDBColumn;
|
|||
|
|
TV1Column7: TcxGridDBColumn;
|
|||
|
|
TV1Column8: TcxGridDBColumn;
|
|||
|
|
TV1Column9: TcxGridDBColumn;
|
|||
|
|
TV1Column10: TcxGridDBColumn;
|
|||
|
|
TV1Column11: TcxGridDBColumn;
|
|||
|
|
TV1Column12: TcxGridDBColumn;
|
|||
|
|
TV1Column13: TcxGridDBColumn;
|
|||
|
|
TV1Column14: TcxGridDBColumn;
|
|||
|
|
TV1Column15: TcxGridDBColumn;
|
|||
|
|
TV1Column16: TcxGridDBColumn;
|
|||
|
|
TV1Column17: TcxGridDBColumn;
|
|||
|
|
TV1Column18: TcxGridDBColumn;
|
|||
|
|
TV1Column19: TcxGridDBColumn;
|
|||
|
|
TV1Column20: TcxGridDBColumn;
|
|||
|
|
TV1Column21: TcxGridDBColumn;
|
|||
|
|
TV1Column22: TcxGridDBColumn;
|
|||
|
|
TV1Column23: TcxGridDBColumn;
|
|||
|
|
TV1Column24: TcxGridDBColumn;
|
|||
|
|
PopupMenu1: TPopupMenu;
|
|||
|
|
N1: TMenuItem;
|
|||
|
|
ToolButton2: TToolButton;
|
|||
|
|
ToolButton3: TToolButton;
|
|||
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
|
procedure FormShow(Sender: TObject);
|
|||
|
|
procedure TBSaveClick(Sender: TObject);
|
|||
|
|
procedure ToolButton1Click(Sender: TObject);
|
|||
|
|
procedure ToolButton2Click(Sender: TObject);
|
|||
|
|
procedure ToolButton3Click(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
{ Private declarations }
|
|||
|
|
function SaveData(MSaveType: string): Boolean;
|
|||
|
|
function CheckData(): Boolean;
|
|||
|
|
public
|
|||
|
|
{ Public declarations }
|
|||
|
|
FSubId, FmainID: string;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frmTradePlanColorResultInput: TfrmTradePlanColorResultInput;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
U_DataLink, U_RTFun;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
function TfrmTradePlanColorResultInput.CheckData(): Boolean;
|
|||
|
|
var
|
|||
|
|
mvalue, FReal: double;
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
// if CDS_Sub.IsEmpty then
|
|||
|
|
// raise Exception.Create('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('IOTime', null, []) = True then
|
|||
|
|
// raise Exception.Create('<27><><EFBFBD><EFBFBD>ʱ<EFBFBD>䲻<EFBFBD><E4B2BB>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('IOType', null, []) = True then
|
|||
|
|
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('FromCoName', null, []) = True then
|
|||
|
|
// raise Exception.Create('<27><><EFBFBD>Ե<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('C_Name', null, []) = True then
|
|||
|
|
// raise Exception.Create('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('Piece', null, []) = True then
|
|||
|
|
// raise Exception.Create('ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('Qty', null, []) = True then
|
|||
|
|
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
//
|
|||
|
|
// if CDS_Sub.Locate('QtyUnit', null, []) = True then
|
|||
|
|
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
|
|||
|
|
Result := True;
|
|||
|
|
except
|
|||
|
|
Result := false;
|
|||
|
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
Action := caFree;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrmTradePlanColorResultInput.SaveData(MSaveType: string): Boolean;
|
|||
|
|
var
|
|||
|
|
Maxno, MBCIOID: string;
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
CDS_Sub.DisableControls;
|
|||
|
|
with CDS_Sub do
|
|||
|
|
begin
|
|||
|
|
First;
|
|||
|
|
while not eof do
|
|||
|
|
begin
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from Trade_Plan_Technical_Results where TPTRID=''' + Trim(CDS_Sub.fieldbyname('TPTRID').AsString) + '''');
|
|||
|
|
open;
|
|||
|
|
end;
|
|||
|
|
MBCIOID := Trim(ADOQueryTemp.fieldbyname('TPTRID').AsString);
|
|||
|
|
if Trim(MBCIOID) = '' then
|
|||
|
|
begin
|
|||
|
|
if not GetLSNo(ADOQueryCmd, Maxno, 'Y', 'Trade_Plan_Technical_Results', 4, 1) then
|
|||
|
|
raise Exception.Create('ȡȾɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
Maxno := Trim(MBCIOID);
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select * from Trade_Plan_Technical_Results where TPTRID=''' + Trim(Maxno) + '''');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
if Trim(MBCIOID) = '' then
|
|||
|
|
begin
|
|||
|
|
Append;
|
|||
|
|
FieldByName('Fillid').Value := Trim(Dcode);
|
|||
|
|
FieldByName('Filler').Value := Trim(DName);
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Editid').Value := Trim(Dcode);
|
|||
|
|
FieldByName('Editer').Value := Trim(DName);
|
|||
|
|
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
|
|||
|
|
end;
|
|||
|
|
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'Trade_Plan_Technical_Results', 2);
|
|||
|
|
FieldByName('SubId').Value := FSubId;
|
|||
|
|
FieldByName('TPTID').Value := Trim(CDS_Sub.fieldbyname('TPTID').AsString);
|
|||
|
|
FieldByName('TPTRID').Value := Trim(Maxno);
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('TPTRID').Value := Trim(Maxno);
|
|||
|
|
Post;
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
CDS_Sub.EnableControls;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
|
|||
|
|
Result := True;
|
|||
|
|
except
|
|||
|
|
Result := False;
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.TBCloseClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
Close;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.FormShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
ReadCxGrid(Self.Caption + 'Tv1', Tv1, 'ó<><EFBFBD><D7BB>ֿܲ<DCB2>');
|
|||
|
|
with ADOQueryTemp do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add(' select A.*,B.TPTRID ');
|
|||
|
|
sql.Add(' ,B.Result1,B.Result2,B.Result3,B.Result4,B.Result5,B.Result6,B.Result7,B.Result8,B.Result9,B.Result10,B.Result11,B.Result12 ');
|
|||
|
|
sql.Add(' ,B.Result13,B.Result14,B.Result15,B.Result16,B.Result17,B.Result18,B.Result19,B.Result20,B.Result21,B.Result22,B.Result23,B.Result24 ');
|
|||
|
|
sql.Add(' from Trade_Plan_Technical A left join Trade_Plan_Technical_Results B on A.TPTID=B.TPTID');
|
|||
|
|
sql.Add(' and B.Subid =' + quotedstr(Trim(FSubId)));
|
|||
|
|
sql.Add(' where A.mainID =' + quotedstr(Trim(FmainID)));
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS(ADOQueryTemp, CDS_Sub);
|
|||
|
|
SInitCDSData(ADOQueryTemp, CDS_Sub);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.TBSaveClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ToolBar1.SetFocus;
|
|||
|
|
if CheckData() = false then
|
|||
|
|
exit;
|
|||
|
|
|
|||
|
|
if SaveData('<27><><EFBFBD><EFBFBD>') then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
ModalResult := 1;
|
|||
|
|
// Exit;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.ToolButton1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
WriteCxGrid(Self.Caption + 'Tv1', Tv1, 'ó<><EFBFBD><D7BB>ֿܲ<DCB2>');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.ToolButton2Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue, FFieldName: string;
|
|||
|
|
MDqgs: integer;
|
|||
|
|
I, J: Integer;
|
|||
|
|
begin
|
|||
|
|
ToolBar1.SetFocus;
|
|||
|
|
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
|||
|
|
MDqgs := StrToIntdef(Copy(FFieldName, 7, 3), 0);
|
|||
|
|
|
|||
|
|
if MDqgs mod 4 = 0 then
|
|||
|
|
J := 4
|
|||
|
|
else
|
|||
|
|
J := MDqgs mod 4;
|
|||
|
|
|
|||
|
|
with CDS_Sub do
|
|||
|
|
begin
|
|||
|
|
DisableControls;
|
|||
|
|
First;
|
|||
|
|
while not EOF do
|
|||
|
|
begin
|
|||
|
|
mvalue := CDS_Sub.FieldByName(FFieldName).AsString;
|
|||
|
|
for I := 1 to 4 - MDqgs mod 4 do
|
|||
|
|
begin
|
|||
|
|
with CDS_Sub do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Result' + IntToStr(I + MDqgs)).Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
EnableControls;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTradePlanColorResultInput.ToolButton3Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
mvalue, FFieldName: string;
|
|||
|
|
MDqgs: integer;
|
|||
|
|
begin
|
|||
|
|
ToolBar1.SetFocus;
|
|||
|
|
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
|||
|
|
MDqgs := StrToIntdef(Copy(FFieldName, 7, 3), 0);
|
|||
|
|
|
|||
|
|
with CDS_Sub do
|
|||
|
|
begin
|
|||
|
|
DisableControls;
|
|||
|
|
First;
|
|||
|
|
while not EOF do
|
|||
|
|
begin
|
|||
|
|
mvalue := CDS_Sub.FieldByName(FFieldName).AsString;
|
|||
|
|
with CDS_Sub do
|
|||
|
|
begin
|
|||
|
|
Edit;
|
|||
|
|
FieldByName('Result' + IntToStr(1 + MDqgs)).Value := mvalue;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
EnableControls;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|
|||
|
|
|