RTFormwork/项目代码/RTBasicsV1/D03针织坯布仓库/U_KnitDRQuickSel.pas
“ddf” b5fbedfd26 1
2024-08-08 16:35:41 +08:00

349 lines
9.8 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_KnitDRQuickSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit,
cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseHelp,
dxDateRanges, U_BaseList, System.ImageList, Vcl.ImgList, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue,
dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010,
dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations,
cxContainer, FrameDateSel;
type
TfrmKnitDRQuickSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
v1OrdDate: TcxGridDBColumn;
Order_Main: TClientDataSet;
Panel1: TPanel;
Label4: TLabel;
Label8: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ToCoName: TcxTextEdit;
MPRTCodeName: TcxTextEdit;
MPRTKZ: TcxTextEdit;
MPRTMF: TcxTextEdit;
cxTabControl1: TcxTabControl;
v1Column8: TcxGridDBColumn;
Label2: TLabel;
v1Column1: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
CheckBox1: TCheckBox;
ToolButton6: TToolButton;
Label1: TLabel;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Tv1Column1: TcxGridDBColumn;
frmFrameDateSel: TfrmFrameDateSel;
//RMllPDFExport1: TRMllPDFExport;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToCoNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure v1Column7PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
FFInt: Integer;
canshu1, canshu2: string;
{ Public declarations }
end;
var
frmKnitDRQuickSel: TfrmKnitDRQuickSel;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_KnitDRQuickInPut;
{$R *.dfm}
procedure TfrmKnitDRQuickSel.FormDestroy(Sender: TObject);
begin
inherited;
//frmFHSQList:=nil;
end;
procedure TfrmKnitDRQuickSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmKnitDRQuickSel.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmKnitDRQuickSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add(' select A.* ');
sql.Add(' from Knit_Cloth_DR_Main A where 1=1');
if CheckBox1.Checked then
begin
sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', frmFrameDateSel.begdate.Date) + ''' ');
sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', frmFrameDateSel.Enddate.Date + 1) + ''' ');
end;
case cxTabControl1.TabIndex of
0:
begin
SQL.Add(' and isnull(A.status,''0'')=''0'' ');
end;
1:
begin
SQL.Add(' and isnull(A.status,''0'')=''9'' ');
end;
2:
begin
SQL.Add(' and isnull(A.status,''0'')=''10'' ');
end;
end;
sql.Add(' order by Filltime desc ');
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
TV1.DataController.Filter.Clear;
end;
end;
procedure TfrmKnitDRQuickSel.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
end;
procedure TfrmKnitDRQuickSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKnitDRQuickSel.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
frmFrameDateSel.EndDate.Date := SGetServerDate(ADOQueryTemp);
frmFrameDateSel.BegDate.Date := frmFrameDateSel.EndDate.Date - 3;
InitGrid();
end;
procedure TfrmKnitDRQuickSel.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKnitDRQuickSel.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmKnitDRQuickSel.ToCoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
end;
procedure TfrmKnitDRQuickSel.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKnitDRQuickSel.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmKnitDRQuickSel.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Fin_Flow_Judge ');
Sql.Add(' @FFIDS=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
frmKnitDRQuickInPut := TfrmKnitDRQuickInPut.Create(Application);
with frmKnitDRQuickInPut do
begin
PState := 1;
FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString);
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmKnitDRQuickInPut.Free;
end;
end;
procedure TfrmKnitDRQuickSel.ToolButton6Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmKnitDRQuickSel.Tv1Column9PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
if mvalue = '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Knit_Cloth_DR_Main set ' + FFieldName + '=' + 'NULL');
sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
ExecSQL;
end;
end
else
begin
with Order_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Knit_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
ExecSQL;
end;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmKnitDRQuickSel.Tv1DblClick(Sender: TObject);
begin
ToolButton1.Click;
end;
procedure TfrmKnitDRQuickSel.v1Column7PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with Order_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Knit_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
end.