348 lines
9.2 KiB
ObjectPascal
348 lines
9.2 KiB
ObjectPascal
![]() |
unit U_JGCEdit;
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
||
|
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
|
||
|
dxBarBuiltInMenu, Vcl.Menus, cxClasses, cxGridCustomPopupMenu, cxGridPopupMenu,
|
||
|
Data.DB, Datasnap.DBClient, cxGraphics, cxControls, cxLookAndFeels,
|
||
|
cxLookAndFeelPainters, cxStyles, dxSkinsCore, dxSkinsDefaultPainters,
|
||
|
cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator,
|
||
|
dxDateRanges, cxDBData, cxButtonEdit, cxGridLevel, cxGridCustomTableView,
|
||
|
cxGridTableView, cxGridDBTableView, cxGridCustomView, cxGrid, Vcl.ComCtrls,
|
||
|
Vcl.ToolWin, Data.Win.ADODB, cxCheckBox, cxTextEdit, Vcl.StdCtrls, BtnEdit,
|
||
|
Vcl.ExtCtrls;
|
||
|
|
||
|
type
|
||
|
TfrmJGCEdit = class(TForm)
|
||
|
CDS_Fact: TClientDataSet;
|
||
|
DSFact: TDataSource;
|
||
|
cxgrdpmn2: TcxGridPopupMenu;
|
||
|
PM_Fact: TPopupMenu;
|
||
|
N1: TMenuItem;
|
||
|
cxGrid2: TcxGrid;
|
||
|
TV2: TcxGridDBTableView;
|
||
|
V2Column2: TcxGridDBColumn;
|
||
|
TV2Column1: TcxGridDBColumn;
|
||
|
V2Column1: TcxGridDBColumn;
|
||
|
V2Column3: TcxGridDBColumn;
|
||
|
V2Column4: TcxGridDBColumn;
|
||
|
TV2Column3: TcxGridDBColumn;
|
||
|
TV2Column2: TcxGridDBColumn;
|
||
|
TV2Column4: TcxGridDBColumn;
|
||
|
cxGridLevel1: TcxGridLevel;
|
||
|
ToolBar1: TToolBar;
|
||
|
TBSave: TToolButton;
|
||
|
TBClose: TToolButton;
|
||
|
ADOCmd: TADOQuery;
|
||
|
ADOTemp: TADOQuery;
|
||
|
TV2Column5: TcxGridDBColumn;
|
||
|
TV2Column6: TcxGridDBColumn;
|
||
|
TV2Column7: TcxGridDBColumn;
|
||
|
TV2Column8: TcxGridDBColumn;
|
||
|
TV2Column9: TcxGridDBColumn;
|
||
|
TV2Column10: TcxGridDBColumn;
|
||
|
TV2Column11: TcxGridDBColumn;
|
||
|
TV2Column12: TcxGridDBColumn;
|
||
|
TV2Column13: TcxGridDBColumn;
|
||
|
TV2Column14: TcxGridDBColumn;
|
||
|
TV2Column15: TcxGridDBColumn;
|
||
|
pnlJGC: TPanel;
|
||
|
edtGY: TBtnEditC;
|
||
|
MPRTHJGBZNote: TMemo;
|
||
|
SJGDate: TDateTimePicker;
|
||
|
SJGPrice: TEdit;
|
||
|
Button1: TButton;
|
||
|
Button2: TButton;
|
||
|
chkGY: TCheckBox;
|
||
|
chkJQ: TCheckBox;
|
||
|
chkPrice: TCheckBox;
|
||
|
chkJGYQ: TCheckBox;
|
||
|
SJGDY: TBtnEditC;
|
||
|
chkJGC: TCheckBox;
|
||
|
edtJGC: TBtnEditC;
|
||
|
chkSJGDY: TCheckBox;
|
||
|
TV2Column16: TcxGridDBColumn;
|
||
|
procedure TextEdit(Sender: TObject);
|
||
|
procedure FormShow(Sender: TObject);
|
||
|
procedure TBCloseClick(Sender: TObject);
|
||
|
procedure Button1Click(Sender: TObject);
|
||
|
procedure Button2Click(Sender: TObject);
|
||
|
procedure TBSaveClick(Sender: TObject);
|
||
|
procedure edtGYBtnDnClick(Sender: TObject);
|
||
|
procedure edtJGCBtnUpClick(Sender: TObject);
|
||
|
procedure edtGYBtnUpClick(Sender: TObject);
|
||
|
procedure MPRTHJGBZNoteDblClick(Sender: TObject);
|
||
|
procedure SJGDYBtnUpClick(Sender: TObject);
|
||
|
private
|
||
|
MSJGFactory, MSJGFactoryCode, MSJGFactoryJC: string;
|
||
|
procedure InitGrid();
|
||
|
{ Private declarations }
|
||
|
public
|
||
|
FMainId: string;
|
||
|
{ Public declarations }
|
||
|
end;
|
||
|
|
||
|
var
|
||
|
frmJGCEdit: TfrmJGCEdit;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
uses
|
||
|
U_DataLink, U_RTFun, U_ZdyAttachGYS, U_ZDYHelpSel, U_ZDYHelp;
|
||
|
{$R *.dfm}
|
||
|
|
||
|
procedure TfrmJGCEdit.FormShow(Sender: TObject);
|
||
|
begin
|
||
|
InitGrid();
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.InitGrid();
|
||
|
begin
|
||
|
with ADOTemp do
|
||
|
begin
|
||
|
Close;
|
||
|
SQL.Clear;
|
||
|
sql.Add(' select * from JYOrder_Fact A ');
|
||
|
sql.Add(' inner join JYOrder_Sub B on A.SUBID=B.SUBID ');
|
||
|
sql.Add(' where A.MainId=''' + Trim(FMainId) + '''');
|
||
|
// ShowMessage(SQL.Text);
|
||
|
Open;
|
||
|
end;
|
||
|
SCreateCDS(ADOTemp, CDS_Fact);
|
||
|
SInitCDSData(ADOTemp, CDS_Fact);
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.MPRTHJGBZNoteDblClick(Sender: TObject);
|
||
|
var
|
||
|
fsj: string;
|
||
|
FWZ: Integer;
|
||
|
i: integer;
|
||
|
begin
|
||
|
fsj := Trim(TMemo(Sender).Hint);
|
||
|
FWZ := Pos('/', fsj);
|
||
|
i := 0;
|
||
|
try
|
||
|
frmZDYHelpSel := TfrmZDYHelpSel.Create(Application);
|
||
|
with frmZDYHelpSel do
|
||
|
begin
|
||
|
flag := Copy(fsj, 1, FWZ - 1);
|
||
|
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
|
||
|
if ShowModal = 1 then
|
||
|
begin
|
||
|
TMemo(Sender).Lines.Clear;
|
||
|
with ClientDataSet1 do
|
||
|
begin
|
||
|
First;
|
||
|
while not Eof do
|
||
|
begin
|
||
|
if FieldByName('SSel').AsBoolean = True then
|
||
|
begin
|
||
|
i := i + 1;
|
||
|
TMemo(Sender).Lines.Add(inttostr(i) + '.' + FieldByName('ZDYName').AsString)
|
||
|
end;
|
||
|
Next;
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
finally
|
||
|
frmZDYHelpSel.Free;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.Button1Click(Sender: TObject);
|
||
|
begin
|
||
|
if not CDS_Fact.Locate('SSel', True, []) then
|
||
|
Exit;
|
||
|
|
||
|
while CDS_Fact.Locate('SSel', True, []) do
|
||
|
begin
|
||
|
|
||
|
with CDS_Fact do
|
||
|
begin
|
||
|
Edit;
|
||
|
FieldByName('SSel').Value := False;
|
||
|
if chkJGC.Checked then
|
||
|
begin
|
||
|
FieldByName('SJGFactory').Value := MSJGFactory;
|
||
|
FieldByName('SJGFactoryCode').Value := MSJGFactoryCode;
|
||
|
FieldByName('SJGFactoryJC').Value := MSJGFactoryJC;
|
||
|
end;
|
||
|
if chkSJGDY.Checked then
|
||
|
FieldByName('SJGDY').Value := SJGDY.Text;
|
||
|
if chkGY.Checked then
|
||
|
FieldByName('SJGType').Value := edtGY.Text;
|
||
|
if chkJGYQ.Checked then
|
||
|
FieldByName('HJGBZNote').Value := MPRTHJGBZNote.Text;
|
||
|
if chkPrice.Checked then
|
||
|
FieldByName('SJGPrice').Value := SJGPrice.Text;
|
||
|
if chkJQ.Checked then
|
||
|
FieldByName('SJGDate').Value := Trim(FormatDateTime('yyyy-MM-dd', SJGDate.DateTime));
|
||
|
Post;
|
||
|
end;
|
||
|
|
||
|
with ADOCmd do
|
||
|
begin
|
||
|
Close;
|
||
|
SQL.Clear;
|
||
|
sql.Add('update JYOrder_Fact ');
|
||
|
if chkGY.Checked then
|
||
|
sql.Add(' set SJGType=' + QuotedStr(Trim(edtGY.Text)))
|
||
|
else
|
||
|
sql.Add(' set SJGType=SJGType');
|
||
|
if chkJGC.Checked then
|
||
|
begin
|
||
|
sql.Add(' ,SJGFactory=' + QuotedStr(Trim(MSJGFactory)));
|
||
|
sql.Add(' ,SJGFactoryCode=' + QuotedStr(Trim(MSJGFactoryCode)));
|
||
|
sql.Add(' ,SJGFactoryJC=' + QuotedStr(Trim(MSJGFactoryJC)));
|
||
|
end;
|
||
|
if chkJGYQ.Checked then
|
||
|
sql.Add(' ,HJGBZNote=' + QuotedStr(Trim(MPRTHJGBZNote.Text)));
|
||
|
if chkPrice.Checked then
|
||
|
sql.Add(' ,SJGPrice=' + QuotedStr(Trim(SJGPrice.Text)));
|
||
|
if chkJQ.Checked then
|
||
|
sql.Add(' ,SJGDate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', SJGDate.DateTime))));
|
||
|
sql.Add('where FactId=' + quotedstr(Trim(CDS_Fact.fieldbyname('FactId').AsString)));
|
||
|
ExecSQL;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
Tv2.Controller.EditingController.ShowEdit();
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.Button2Click(Sender: TObject);
|
||
|
begin
|
||
|
Close;
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.SJGDYBtnUpClick(Sender: TObject);
|
||
|
var
|
||
|
fsj: string;
|
||
|
FWZ: Integer;
|
||
|
begin
|
||
|
fsj := Trim(TEdit(Sender).Hint);
|
||
|
FWZ := Pos('/', fsj);
|
||
|
try
|
||
|
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
||
|
with frmZDYHelp do
|
||
|
begin
|
||
|
flag := Copy(fsj, 1, FWZ - 1);
|
||
|
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
|
||
|
if ShowModal = 1 then
|
||
|
begin
|
||
|
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
|
||
|
end;
|
||
|
end;
|
||
|
finally
|
||
|
frmZDYHelp.Free;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.edtGYBtnDnClick(Sender: TObject);
|
||
|
begin
|
||
|
TBtnEditC(Sender).Text := '';
|
||
|
TBtnEditC(Sender).TxtCode := '';
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.edtGYBtnUpClick(Sender: TObject);
|
||
|
var
|
||
|
fsj: string;
|
||
|
FWZ: Integer;
|
||
|
i: integer;
|
||
|
begin
|
||
|
fsj := Trim(TBtnEditC(Sender).Hint);
|
||
|
FWZ := Pos('/', fsj);
|
||
|
i := 0;
|
||
|
try
|
||
|
frmZDYHelpSel := TfrmZDYHelpSel.Create(Application);
|
||
|
with frmZDYHelpSel do
|
||
|
begin
|
||
|
flag := Copy(fsj, 1, FWZ - 1);
|
||
|
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
|
||
|
if ShowModal = 1 then
|
||
|
begin
|
||
|
TBtnEditC(Sender).text := '';
|
||
|
with ClientDataSet1 do
|
||
|
begin
|
||
|
First;
|
||
|
while not Eof do
|
||
|
begin
|
||
|
if FieldByName('SSel').AsBoolean = True then
|
||
|
begin
|
||
|
i := i + 1;
|
||
|
if TBtnEditC(Sender).text = '' then
|
||
|
TBtnEditC(Sender).text := FieldByName('ZDYName').AsString
|
||
|
else
|
||
|
TBtnEditC(Sender).text := TBtnEditC(Sender).text + ',' + FieldByName('ZDYName').AsString; //inttostr(i)+'.'+
|
||
|
end;
|
||
|
Next;
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
finally
|
||
|
frmZDYHelpSel.Free;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.edtJGCBtnUpClick(Sender: TObject);
|
||
|
begin
|
||
|
try
|
||
|
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
|
||
|
with frmZdyAttachGYS do
|
||
|
begin
|
||
|
if ShowModal = 1 then
|
||
|
begin
|
||
|
edtJGC.TEXT := Trim(CDS_HZ.fieldbyname('CoName').AsString);
|
||
|
edtJGC.TxtCode := Trim(CDS_HZ.fieldbyname('CoCode').AsString);
|
||
|
MSJGFactory := Trim(CDS_HZ.fieldbyname('CoName').AsString);
|
||
|
MSJGFactoryCode := Trim(CDS_HZ.fieldbyname('CoCode').AsString);
|
||
|
MSJGFactoryJC := Trim(CDS_HZ.fieldbyname('CoHRName').AsString);
|
||
|
end;
|
||
|
end;
|
||
|
finally
|
||
|
frmZdyAttachGYS.Free;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.TBCloseClick(Sender: TObject);
|
||
|
begin
|
||
|
Close;
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.TBSaveClick(Sender: TObject);
|
||
|
begin
|
||
|
InitGrid();
|
||
|
end;
|
||
|
|
||
|
procedure TfrmJGCEdit.TextEdit(Sender: TObject);
|
||
|
var
|
||
|
mvalue, FFieldName: string;
|
||
|
begin
|
||
|
|
||
|
mvalue := TcxTextEdit(Sender).EditingText;
|
||
|
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
||
|
with CDS_Fact do
|
||
|
begin
|
||
|
Edit;
|
||
|
FieldByName(FFieldName).Value := mvalue;
|
||
|
Post;
|
||
|
|
||
|
end;
|
||
|
|
||
|
with ADOCmd do
|
||
|
begin
|
||
|
Close;
|
||
|
SQL.Clear;
|
||
|
sql.Add('update JYOrder_Fact set ' + FFieldName + '=' + Trim(mvalue));
|
||
|
sql.Add('where FactId=' + quotedstr(Trim(CDS_Fact.fieldbyname('FactId').AsString)));
|
||
|
ExecSQL;
|
||
|
end;
|
||
|
Tv2.Controller.EditingController.ShowEdit();
|
||
|
end;
|
||
|
|
||
|
end.
|
||
|
|