D10xhGemei/T01贸易生产计划/U_TradePlanColorResultInput.pas
“ddf” 56b1ef408f 1
2024-12-14 17:23:12 +08:00

342 lines
9.1 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_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.