D7DJmingsheng/检验管理/U_CKProductJYHZList.pas

365 lines
13 KiB
ObjectPascal
Raw Permalink Normal View History

2025-04-30 20:03:01 +08:00
unit U_CKProductJYHZList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, MovePanel, cxButtonEdit, cxCalendar, RM_System, RM_Common,
RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxSkinsCore, 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, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, dxSkinscxPCPainter;
type
TfrmCKProductJYHZList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label3: TLabel;
PRTCodeName: TEdit;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
Label5: TLabel;
dingdanhao: TEdit;
Label6: TLabel;
PRTColor: TEdit;
v1Column7: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
Label8: TLabel;
MPRTKZ: TEdit;
Label9: TLabel;
MPRTMF: TEdit;
Label7: TLabel;
CPType: TComboBox;
MovePanel2: TMovePanel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
YWY: TEdit;
OrdPerson1: TEdit;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
MJstr4: TEdit;
Label4: TLabel;
Panel4: TPanel;
Label13: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
v1Column2: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
SOrddefstr1: TEdit;
Label14: TLabel;
v1Column13: TcxGridDBColumn;
RMGridReport1: TRMGridReport;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
PRTkuanNo: TEdit;
Label15: TLabel;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Label16: TLabel;
guige: TEdit;
Label17: TLabel;
CustomerNoName: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure PRTCodeNameChange(Sender: TObject);
procedure PRTColorChange(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure TBPrintClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure dingdanhaoKeyPress(Sender: TObject; var Key: Char);
procedure CustomerNoNameKeyPress(Sender: TObject; var Key: Char);
private
FLeft, FTop: Integer;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCKProductJYHZList: TfrmCKProductJYHZList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_JYOrderCDOne;
{$R *.dfm}
procedure TfrmCKProductJYHZList.FormDestroy(Sender: TObject);
begin
frmCKProductJYHZList := nil;
end;
procedure TfrmCKProductJYHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductJYHZList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductJYHZList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
Filtered := False;
sql.Add('select A.dingdanhao,A.CustomerNoName,A.guige,A.dj,money=(dj*SUM(A.MJLen))');
sql.Add(',convert(char(10),A.fillTime,120) as CRTime,A.MJType as CPType,A.MainId,A.MJTypeother as QtyUnit,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.PRTkuanNo,D.SOrddefstr1,D.Sorddefstr4,');
sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,');
sql.Add('khconNO=(select top 1 khconNo from JYOrderCon_Main X where X.conNO=C.conNO)');
sql.Add('from WFB_MJJY A ');
sql.Add('inner join JYOrder_Main C on C.MainId=A.MainId ');
sql.Add('inner join JYOrder_sub D on D.subID=A.subID ');
Sql.add('where A.fillTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
Sql.add('and A.fillTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
Sql.add('group by A.dingdanhao,convert(char(10),A.fillTime,120),A.MJType,A.MainId,A.MJTypeother,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.PRTkuanNo,D.SOrddefstr1,A.CustomerNoName,A.guige,A.dj,D.SOrddefstr4');
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductJYHZList.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductJYHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductJYHZList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductJYHZList.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmCKProductJYHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductJYHZList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmCKProductJYHZList.PRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductJYHZList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductJYHZList.Image2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmCKProductJYHZList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Panel4.Left := FLeft;
Panel4.Top := FTop + 110;
Panel4.Visible := True;
Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption);
RichEdit1.Text := CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString;
application.ProcessMessages;
end;
procedure TfrmCKProductJYHZList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductJYHZList.TBPrintClick(Sender: TObject);
begin
RMGridReport1.PreviewButtons := [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator];
end;
procedure TfrmCKProductJYHZList.ToolButton1Click(Sender: TObject);
begin
if cds_main.IsEmpty then
Exit;
frmJYOrderCDOne := TfrmJYOrderCDOne.Create(Application);
with frmJYOrderCDOne do
begin
dingdanhao.Text := trim(self.CDS_Main.fieldbyname('orderno').asstring);
MJstr4.Text := trim(self.CDS_Main.fieldbyname('MJStr4').asstring);
PRTColor.Text := trim(self.CDS_Main.fieldbyname('PRTColor').asstring);
if ShowModal = 1 then
begin
// InitGrid();
end;
free;
end;
end;
procedure TfrmCKProductJYHZList.dingdanhaoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Length(dingdanhao.Text) < 2 then
Exit;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add('select A.dingdanhao,A.CustomerNoName,A.guige,A.dj,money=(dj*SUM(A.MJLen))');
sql.Add(',convert(char(10),A.fillTime,120) as CRTime,A.MJType as CPType,A.MainId,A.MJTypeother as QtyUnit,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.PRTkuanNo,D.SOrddefstr1,D.Sorddefstr4,');
sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,');
sql.Add('khconNO=(select top 1 khconNo from JYOrderCon_Main X where X.conNO=C.conNO)');
sql.Add('from WFB_MJJY A ');
sql.Add('inner join JYOrder_Main C on C.MainId=A.MainId ');
sql.Add('inner join JYOrder_sub D on D.subID=A.subID ');
sql.Add('where A.dingdanhao=' + quotedstr(trim(dingdanhao.Text)));
Sql.add('group by A.dingdanhao,convert(char(10),A.fillTime,120),A.MJType,A.MainId,A.MJTypeother,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.PRTkuanNo,D.SOrddefstr1,A.CustomerNoName,A.guige,A.dj,D.SOrddefstr4');
// ShowMessage(SQL.text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
MovePanel2.Visible := False;
// JSbaoNum();
end;
end;
procedure TfrmCKProductJYHZList.CustomerNoNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Length(CustomerNoName.Text) < 2 then
Exit;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
sql.Clear;
sql.Add('select A.dingdanhao,A.CustomerNoName,A.guige,A.dj,money=(dj*SUM(A.MJLen))');
sql.Add(',convert(char(10),A.fillTime,120) as CRTime,A.MJType as CPType,A.MainId,A.MJTypeother as QtyUnit,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.PRTkuanNo,D.SOrddefstr1,D.Sorddefstr4,');
sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,');
sql.Add('khconNO=(select top 1 khconNo from JYOrderCon_Main X where X.conNO=C.conNO)');
sql.Add('from WFB_MJJY A ');
sql.Add('inner join JYOrder_Main C on C.MainId=A.MainId ');
sql.Add('inner join JYOrder_sub D on D.subID=A.subID ');
sql.Add('where A.CustomerNoName=' + quotedstr(trim(CustomerNoName.Text)));
Sql.add('group by A.dingdanhao,convert(char(10),A.fillTime,120),A.MJType,A.MainId,A.MJTypeother,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.PRTkuanNo,D.SOrddefstr1,A.CustomerNoName,A.guige,A.dj,D.SOrddefstr4');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
MovePanel2.Visible := False;
// JSbaoNum();
end;
end;
end.