D10myYicheng/染整计划(DyeingFinishingPlan.dll)/U_JGCEdit.pas
2025-05-27 14:08:09 +08:00

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.