D10gmBitao/进度统计查询(Statistics.dll)/U_JYOrderCDList.pas

435 lines
12 KiB
ObjectPascal
Raw Permalink Normal View History

2025-04-11 10:54:54 +08:00
unit U_JYOrderCDList;
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, MovePanel, cxTextEdit,
cxContainer, cxCurrencyEdit, BtnEdit, RM_e_main, RM_e_htm, RM_e_Graphic,
RM_e_Jpeg, RM_e_txt, RM_e_csv, Math, Clipbrd, cxPC, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, U_BaseHelp, dxDateTimeWheelPicker,
U_BaseList, System.ImageList, Vcl.ImgList;
type
TfrmJYOrderCDList = class(TfrmBaseHelp)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
GPM_1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDB_1: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
MovePanel2: TMovePanel;
RMXLSExport1: TRMXLSExport;
cxPageControl1: TcxPageControl;
CDS_2: TClientDataSet;
DS_2: TDataSource;
GPM_2: TcxGridPopupMenu;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column22: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column32: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column42: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column41: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1MKXS: TcxGridDBColumn;
v1Column33: TcxGridDBColumn;
v1Column34: TcxGridDBColumn;
v1Column36: TcxGridDBColumn;
v1Column39: TcxGridDBColumn;
v1Column30: TcxGridDBColumn;
v1Column40: TcxGridDBColumn;
v1Column44: TcxGridDBColumn;
v1Column46: TcxGridDBColumn;
v1Column45: TcxGridDBColumn;
v1Column47: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
procedure v1Column15PropertiesEditValueChanged(Sender: TObject);
procedure JYIDKeyPress(Sender: TObject; var Key: Char);
procedure BTLPClick(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure conNOKeyPress(Sender: TObject; var Key: Char);
procedure JYCRTypeChange(Sender: TObject);
procedure MJTypeChange(Sender: TObject);
procedure KHConNOKeyPress(Sender: TObject; var Key: Char);
procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
procedure cxPageControl1Change(Sender: TObject);
procedure TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure chkZFClick(Sender: TObject);
private
DQdate: TDateTime;
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure InitForm();
function Savedata(): Boolean;
procedure SetStatus();
procedure PrintCKMDG(MRKOrdID: string);
{ Private declarations }
public
FFInt: Integer;
canshu1: string;
Color, GangID: string;
{ Public declarations }
end;
var
frmJYOrderCDList: TfrmJYOrderCDList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmJYOrderCDList.SetStatus();
begin
//
end;
procedure TfrmJYOrderCDList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmJYOrderCDList.FormCreate(Sender: TObject);
begin
inherited;
cxgrid1.Align := alClient;
DQdate := SGetServerDate(ADOQueryTemp);
end;
procedure TfrmJYOrderCDList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmJYOrderCDList.PrintCKMDG(MRKOrdID: string);
begin
end;
procedure TfrmJYOrderCDList.InitGrid();
var
WSql: string;
begin
// WSql:='and P_Color like ''Color'' ';
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('exec P_JY_Get_Info ');
sql.Add('@pageIndex=' + inttostr(1));
sql.Add(',@pageSize=' + inttostr(10000));
sql.Add(',@criteria= ' + quotedstr('and APID like ' + quotedstr(GangID)));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryMain, Order_Main);
SInitCDSData(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmJYOrderCDList.InitForm();
var
fsj: string;
begin
ReadCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
fsj := 'select distinct(Filler) name from JY_Cloth ';
InitGrid();
end;
procedure TfrmJYOrderCDList.TBFindClick(Sender: TObject);
var
fsj, fwhere: string;
begin
end;
procedure TfrmJYOrderCDList.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmJYOrderCDList.FormShow(Sender: TObject);
begin
inherited;
CurrentPage := 1;
RecordsNumber := 500;
InitForm();
SetStatus();
InitGrid();
end;
procedure TfrmJYOrderCDList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmJYOrderCDList.TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// AssignmentControls(Panel1, CDS_2, '0');
cxPageControl1.ActivePageIndex := 1;
end;
function TfrmJYOrderCDList.Savedata(): Boolean;
var
maxno, LLID: string;
HXPS: Integer;
HXQty, HXMQty: Double;
begin
HXPS := 0;
HXQty := 0;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select Top 1 * from Contract_Cloth_LL where OrdSubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
sql.Add(' and FirstName=''' + Trim(Order_Main.fieldbyname('AOrddefstr4').AsString) + '''');
Open;
end;
LLID := Trim(ADOQueryTemp.fieldbyname('LLID').AsString);
if Trim(LLID) = '' then
begin
Result := False;
Application.MessageBox(<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ļӹ<C4BC><D3B9><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryCmd, maxno, 'HX', 'Contract_Cloth_BefChkHX', 2, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with Order_Main do
begin
First;
while not Eof do
begin
if Order_Main.FieldByName('SSel').AsBoolean = True then
begin
HXPS := HXPS + 1;
HXQty := HXQty + Order_Main.FieldByName('MJLen').Value;
end;
Next;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('');
Open;
end;
except
end;
end;
procedure TfrmJYOrderCDList.OrderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmJYOrderCDList.v1Column15PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with Order_Main do
begin
Edit;
FieldByName('PanDing').Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate JY_Cloth Set PanDing=''' + Trim(mvalue) + '''');
SQL.Add(' where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmJYOrderCDList.JYIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmJYOrderCDList.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmJYOrderCDList.BTNPClick(Sender: TObject);
begin
if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmJYOrderCDList.TCBNORChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmJYOrderCDList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmJYOrderCDList.chkZFClick(Sender: TObject);
begin
inherited;
CurrentPage := 1;
SetStatus();
InitGrid();
end;
procedure TfrmJYOrderCDList.conNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmJYOrderCDList.cxPageControl1Change(Sender: TObject);
begin
CurrentPage := 1;
SetStatus();
InitGrid();
end;
procedure TfrmJYOrderCDList.JYCRTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmJYOrderCDList.MJTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmJYOrderCDList.KHConNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmJYOrderCDList.RKOrdIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmJYOrderCDList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
FValue: string;
FBounds: TRect;
begin
FBounds := AViewInfo.Bounds;
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
begin
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds, clBlack, clBlack, [bBottom, bLeft, bRight], 1);
FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
InflateRect(FBounds, -3, -2); //Platform specific. May not work on Linux.
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
end.