D10xhGemei/T02贸易汇总仓库/U_TradeClothProcessNoteInput.pas
“ddf” 56b1ef408f 1
2024-12-14 17:23:12 +08:00

254 lines
6.5 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_TradeClothProcessNoteInput;
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, dxSkinsCore, dxSkinsDefaultPainters, cxImageList;
type
TfrmTradeClothProcessNoteInput = class(TfrmBaseInput)
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBDel: TToolButton;
TBSave: TToolButton;
TBClose: TToolButton;
DS_1: TDataSource;
CDS_1: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
GPM_1: TcxGridPopupMenu;
v1Column6: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
function SaveData(MSaveType: string): Boolean;
function CheckData(): Boolean;
public
{ Public declarations }
FMasterOrderNo: string;
end;
var
frmTradeClothProcessNoteInput: TfrmTradeClothProcessNoteInput;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
function TfrmTradeClothProcessNoteInput.CheckData(): Boolean;
var
mvalue, FReal: double;
begin
try
if CDS_1.IsEmpty then
raise Exception.Create('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if CDS_1.Locate('TPPNDate', null, []) = True then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B2BB>Ϊ<EFBFBD>գ<EFBFBD>');
Result := True;
except
Result := false;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmTradeClothProcessNoteInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradeClothProcessNoteInput.TBAddClick(Sender: TObject);
begin
with CDS_1 do
begin
Append;
FieldByName('TPPNDate').Value := Trim(FormatDateTime('yyyy-MM-dd', Now));
Post;
end;
end;
function TfrmTradeClothProcessNoteInput.SaveData(MSaveType: string): Boolean;
var
Maxno, MBCIOID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not eof do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Plan_Process_Note where TPPNId=''' + Trim(CDS_1.fieldbyname('TPPNId').AsString) + '''');
open;
end;
MBCIOID := Trim(ADOQueryTemp.fieldbyname('TPPNId').AsString);
if Trim(MBCIOID) = '' then
begin
if not GetLSNo(ADOQueryCmd, Maxno, 'MR', 'Trade_Plan_Process_Note', 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_Process_Note where TPPNId=''' + 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_1, 'Trade_Plan_Process_Note', 0);
FieldByName('TPPNId').Value := Trim(Maxno);
FieldByName('MasterOrderNo').Value := Trim(FMasterOrderNo);
Post;
end;
Edit;
FieldByName('TPPNId').Value := Trim(Maxno);
Post;
Next;
end;
end;
CDS_1.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 TfrmTradeClothProcessNoteInput.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeClothProcessNoteInput.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.caption + 'TV1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from Trade_Plan_Process_Note A');
sql.Add(' where MasterOrderNo=''' + Trim(FMasterOrderNo) + '''');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_1);
SInitCDSData(ADOQueryTemp, CDS_1);
end;
procedure TfrmTradeClothProcessNoteInput.TBDelClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if Trim(CDS_1.fieldbyname('TPPNId').AsString) <> '' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('delete Trade_Plan_Process_Note where TPPNId=' + quotedstr(Trim(CDS_1.fieldbyname('TPPNId').AsString)));
Open;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_1.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end
else
begin
CDS_1.Delete;
end;
end;
procedure TfrmTradeClothProcessNoteInput.TBSaveClick(Sender: TObject);
begin
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 TfrmTradeClothProcessNoteInput.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(self.caption + 'TV1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
end.