D7DJbulaikeyi/打卷检验管理/U_CKProductJYHZList.pas

333 lines
11 KiB
ObjectPascal
Raw Normal View History

2025-04-30 23:55:56 +08:00
unit U_CKProductJYHZList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
2025-10-25 17:25:56 +08:00
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;
2025-04-30 23:55:56 +08:00
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;
orderNo: 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;
v1Column10: TcxGridDBColumn;
conNo: TEdit;
Label14: TLabel;
KHCONNO: TEdit;
Label15: TLabel;
v1Column13: TcxGridDBColumn;
RMGridReport1: TRMGridReport;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Label16: TLabel;
CustomerNoName: TEdit;
Tv1Column6: TcxGridDBColumn;
Label17: TLabel;
PIH: 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);
2025-10-25 17:25:56 +08:00
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
2025-04-30 23:55:56 +08:00
procedure PRTColorChange(Sender: TObject);
procedure Image2Click(Sender: TObject);
2025-10-25 17:25:56 +08:00
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 23:55:56 +08:00
procedure TBPrintClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
2025-10-25 17:25:56 +08:00
FLeft, FTop: Integer;
2025-04-30 23:55:56 +08:00
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCKProductJYHZList: TfrmCKProductJYHZList;
implementation
2025-10-25 17:25:56 +08:00
2025-04-30 23:55:56 +08:00
uses
2025-10-25 17:25:56 +08:00
U_DataLink, U_Fun, U_ZDYHelp, U_JYOrderCDOne;
2025-04-30 23:55:56 +08:00
{$R *.dfm}
procedure TfrmCKProductJYHZList.FormDestroy(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
frmCKProductJYHZList := nil;
2025-04-30 23:55:56 +08:00
end;
2025-10-25 17:25:56 +08:00
procedure TfrmCKProductJYHZList.FormClose(Sender: TObject; var Action: TCloseAction);
2025-04-30 23:55:56 +08:00
begin
2025-10-25 17:25:56 +08:00
Action := caFree;
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
2025-10-25 17:25:56 +08:00
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.InitGrid();
begin
try
2025-10-25 17:25:56 +08:00
ADOQueryMain.DisableControls;
2025-04-30 23:55:56 +08:00
with ADOQueryMain do
begin
2025-10-25 17:25:56 +08:00
Close;
sql.Clear;
Filtered := False;
2025-04-30 23:55:56 +08:00
sql.Add('select convert(char(10),A.fillTime,120) as CRTime,A.MJType as CPType,A.MainId,A.MJTypeother as QtyUnit,A.Mjstr4,C.OrderNo,C.CustomerNoName,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4,D.PIH, ');
sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,');
2025-10-25 17:25:56 +08:00
// sql.Add('JQty=(select count(*) from WFB_MJJY X where X.SubId=A.SubId),');
sql.Add('SUM(CASE WHEN A.ckflag = ''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' THEN A.mjlen ELSE 0 END) AS SCKROLL,');
sql.Add('SUM(CASE WHEN A.ckflag = '<><CEB4><EFBFBD><EFBFBD>'' THEN A.mjlen ELSE 0 END) AS SkcROLL,');
sql.Add(' COUNT(CASE WHEN A.ckflag = ''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' THEN 1 END) AS CKROLL,');
sql.Add(' COUNT(CASE WHEN A.ckflag = '<><CEB4><EFBFBD><EFBFBD>'' THEN 1 END) AS KCROLL,');
2025-04-30 23:55:56 +08:00
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 ');
2025-10-25 17:25:56 +08:00
Sql.add('where A.fillTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
Sql.add('and A.fillTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
2025-04-30 23:55:56 +08:00
Sql.add('group by convert(char(10),A.fillTime,120),A.SubId,A.MJType,A.MainId,A.MJTypeother,A.Mjstr4,C.OrderNo,C.CustomerNoName,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4,D.PIH');
Open;
2025-10-25 17:25:56 +08:00
// ShowMessage(SQL.Text);
2025-04-30 23:55:56 +08:00
end;
2025-10-25 17:25:56 +08:00
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 23:55:56 +08:00
finally
ADOQueryMain.EnableControls;
end;
2025-10-25 17:25:56 +08:00
tbfind.Click;
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
2025-10-25 17:25:56 +08:00
MovePanel2.Visible := True;
2025-04-30 23:55:56 +08:00
MovePanel2.Refresh;
InitGrid();
2025-10-25 17:25:56 +08:00
MovePanel2.Visible := False;
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-10-25 17:25:56 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
2025-04-30 23:55:56 +08:00
end;
end;
procedure TfrmCKProductJYHZList.TBCloseClick(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
2025-04-30 23:55:56 +08:00
Close;
end;
procedure TfrmCKProductJYHZList.FormShow(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
ReadCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
if Trim(DParameters2) = '<27><><EFBFBD><EFBFBD>' then
2025-04-30 23:55:56 +08:00
begin
//v1Column5.Options.Focusing:=True;
2025-10-25 17:25:56 +08:00
end
else
2025-04-30 23:55:56 +08:00
begin
//v1Column5.Options.Focusing:=False;
end;
//InitGrid();
end;
procedure TfrmCKProductJYHZList.TBExportClick(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-10-25 17:25:56 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 23:55:56 +08:00
end;
end;
procedure TfrmCKProductJYHZList.PRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
2025-10-25 17:25:56 +08:00
procedure TfrmCKProductJYHZList.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
2025-04-30 23:55:56 +08:00
begin
try
2025-10-25 17:25:56 +08:00
frmZDYHelp := TfrmZDYHelp.Create(Application);
2025-04-30 23:55:56 +08:00
with frmZDYHelp do
begin
2025-10-25 17:25:56 +08:00
flag := 'SOrdDefStr10';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵص<C5B5>';
if ShowModal = 1 then
2025-04-30 23:55:56 +08:00
begin
with CDS_Main do
begin
Edit;
2025-10-25 17:25:56 +08:00
FieldByName('SOrdDefStr10').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
2025-04-30 23:55:56 +08:00
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2025-10-25 17:25:56 +08:00
sql.Add('Update JYOrder_Sub Set SOrdDefStr10=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + '''');
sql.Add(' where SubId=''' + Trim(Self.CDS_Main.fieldbyname('SubId').AsString) + '''');
2025-04-30 23:55:56 +08:00
ExecSQL;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCKProductJYHZList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductJYHZList.Image2Click(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
Panel4.Visible := False;
2025-04-30 23:55:56 +08:00
end;
2025-10-25 17:25:56 +08:00
procedure TfrmCKProductJYHZList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 23:55:56 +08:00
begin
2025-10-25 17:25:56 +08:00
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;
2025-04-30 23:55:56 +08:00
application.ProcessMessages;
end;
2025-10-25 17:25:56 +08:00
procedure TfrmCKProductJYHZList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 23:55:56 +08:00
begin
2025-10-25 17:25:56 +08:00
FLeft := X;
FTop := Y;
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.TBPrintClick(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
RMGridReport1.PreviewButtons := [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator];
2025-04-30 23:55:56 +08:00
end;
procedure TfrmCKProductJYHZList.ToolButton1Click(Sender: TObject);
begin
2025-10-25 17:25:56 +08:00
if cds_main.IsEmpty then
Exit;
frmJYOrderCDOne := TfrmJYOrderCDOne.Create(Application);
with frmJYOrderCDOne do
begin
orderno.Text := trim(self.CDS_Main.fieldbyname('orderno').asstring);
gangno.Text := trim(self.CDS_Main.fieldbyname('MJStr4').asstring);
PRTColor.Text := trim(self.CDS_Main.fieldbyname('PRTColor').asstring);
if ShowModal = 1 then
2025-04-30 23:55:56 +08:00
begin
// InitGrid();
end;
2025-10-25 17:25:56 +08:00
free;
end;
2025-04-30 23:55:56 +08:00
end;
end.
2025-10-25 17:25:56 +08:00