D7DJrongchuang/打卷检验管理/U_CKProductDBHZList.pas
DESKTOP-E401PHE\Administrator 5476d983e5 ~
2025-07-22 10:50:10 +08:00

498 lines
16 KiB
ObjectPascal
Raw 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_CKProductDBHZList;
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,
RM_Dataset, cxCheckBox, RM_e_Xls, 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
TfrmCKProductDBHZList = 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;
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;
Tv1Column6: TcxGridDBColumn;
CheckBox2: TCheckBox;
ToolButton2: TToolButton;
CDS_HZ: TClientDataSet;
RMDBHZ: TRMDBDataSet;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Label16: TLabel;
Label17: TLabel;
Sorddefstr5: TEdit;
SOrddefstr1: TEdit;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
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 v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
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 CheckBox2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
FLeft, FTop: Integer;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCKProductDBHZList: TfrmCKProductDBHZList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_JYOrderCDOne;
{$R *.dfm}
procedure TfrmCKProductDBHZList.FormDestroy(Sender: TObject);
begin
frmCKProductDBHZList := nil;
end;
procedure TfrmCKProductDBHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductDBHZList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductDBHZList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
Filtered := False;
// SQL.Add('select * from (');
// sql.Add('select A.MJType as CPType,A.MainId,A.subid,A.MJTypeother as QtyUnit,C.OrderNo,C.ConNO,D.PRTCodeName,D.Sorddefstr5,D.PrtColor,D.PrtHX,D.SOrddefstr4,D.SOrddefstr1, ');
//// sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,'); convert(char(10),A.fillTime,120) as CRTime,
// sql.Add('JQty=(select count( distinct baoid) from WFB_MJJY X where X.SubId=A.SubId and X.baoid<>'''' ),');
// sql.Add('BDJS=(select count( *) from WFB_MJJY X where X.SubId=A.SubId and X.baoid<>'''' ),');
// sql.Add('Qty=(select SUM(MJLen) from WFB_MJJY X where X.SubId=A.SubId and X.baoid<>'''' ),');
// sql.Add('KGQty=(select SUM(MJMaoZ) from WFB_MJJY X where X.SubId=A.SubId and X.baoid<>'''' ),');
// sql.Add('MJQty4=(select SUM(MJQty4) from WFB_MJJY X where X.SubId=A.SubId and X.baoid<>'''' ),');
// sql.Add('SCKROLL=(select sum(mjlen) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' and X.baoid<>''''),');
// sql.Add('SkcROLL=(select sum(mjlen) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''δ<><CEB4><EFBFBD><EFBFBD>'' and X.baoid<>''''),');
// sql.Add('CKROLL=(select count(distinct baoid) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' and X.baoid<>''''),');
// sql.Add('KCROLL=(select count(distinct baoid) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''δ<><CEB4><EFBFBD><EFBFBD>'' and X.baoid<>'''')');
//// 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('group by D.PRTCodeName,[dbo].[Get_ShuZi](SOrddefstr1),A.SubId,A.MJType,A.MainId,A.MJTypeother,C.OrderNo,C.ConNO,D.Sorddefstr5,D.PrtColor,D.PrtHX,D.SOrddefstr4,SOrddefstr1)A');
// SQL.Add('where A.JQty>0 ');
SQL.Add(' select * from (select A.MainId,A.subid,D.xhno,A.MJType as CPType,MAX(D.PRTCodeName) as PRTCodeName,MAX(D.SOrddefstr1) as SOrddefstr1,''M'' as QtyUnit ');
SQL.Add(',MAX(C.OrderNo) as OrderNo,MAX(C.ConNO) as ConNO,MAX(D.Sorddefstr5) as Sorddefstr5,MAX(D.PrtColor) as PrtColor,MAX(D.PrtHX) as PrtHX,MAX(D.SOrddefstr4) as SOrddefstr4');
SQL.Add(',count(A.baoid) as JQty,SUM(A.ps) as BDJS,SUM(MJLen) as Qty,SUM(MJMaoZ) as KGQty,SUM(MJQty4) as MJQty4');
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(',SUM(CASE WHEN A.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' THEN 1 ELSE 0 END) as CKROLL');
SQL.Add(',SUM(CASE WHEN A.ckflag='<><CEB4><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) as KCROLL');
SQL.Add('from (SELECT MainId,subid,MJType,baoid,Max(ckflag) as ckflag,count(*) as ps,SUM(MJLen) as MJLen,SUM(MJMaoZ) as MJMaoZ,SUM(MJQty4) as MJQty4');
SQL.Add('FROM WFB_MJJY GROUP BY MainId,subid,MJType,baoid HAVING LEN(baoid) > 0) A ');
SQL.Add('left join JYOrder_Main C on C.MainId=A.MainId left join JYOrder_sub D on D.subID=A.subID GROUP BY A.MainId,A.subid,D.xhno,A.MJType) AA');
SQL.Add('WHERE 1=1 ');
if CheckBox2.Checked = True then
begin
sql.Add(' and AA.SkcROLL>0 ');
end;
sql.Add('order by dbo.GetSortKey(SOrddefstr1), SOrddefstr1');
// sql.Add('order by mainid,xhno');
// ShowMessage(SQL.Text);
// sql.add('exec P_View_HZ ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductDBHZList.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductDBHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductDBHZList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductDBHZList.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
if Trim(DParameters2) = '<27><><EFBFBD><EFBFBD>' then
begin
//v1Column5.Options.Focusing:=True;
end
else
begin
//v1Column5.Options.Focusing:=False;
end;
//InitGrid();
end;
procedure TfrmCKProductDBHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductDBHZList.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 TfrmCKProductDBHZList.PRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductDBHZList.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'SOrdDefStr10';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵص<C5B5>';
if ShowModal = 1 then
begin
with CDS_Main do
begin
Edit;
FieldByName('SOrdDefStr10').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrder_Sub Set SOrdDefStr10=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + '''');
sql.Add(' where SubId=''' + Trim(Self.CDS_Main.fieldbyname('SubId').AsString) + '''');
ExecSQL;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCKProductDBHZList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductDBHZList.Image2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmCKProductDBHZList.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 TfrmCKProductDBHZList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductDBHZList.TBPrintClick(Sender: TObject);
begin
// RMGridReport1.PreviewButtons := [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator];
end;
procedure TfrmCKProductDBHZList.ToolButton1Click(Sender: TObject);
begin
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
begin
// InitGrid();
end;
free;
end;
end;
procedure TfrmCKProductDBHZList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
// if CheckBox2.Checked = false then
// begin
// CheckBox2.Checked := True;
// end
// else
// begin
// CheckBox2.Checked := false;
// end;
end;
procedure TfrmCKProductDBHZList.ToolButton2Click(Sender: TObject);
var
fPrintFile, fPrintFile10, FMainID: string;
sqlStr: string;
begin
if CDS_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>.rmf';
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
// ExecSQL;
// end;
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('SELECT * FROM TBSubID where 1=2 ');
// open;
// end;
// sqlStr := '';
// FMainID := '';
// CDS_Main.DisableControls;
// try
// ADOQueryCmd.Connection.BeginTrans;
// with CDS_Main do
// begin
// First;
// while not Eof do
// begin
// if Fieldbyname('SSel').AsBoolean then
// begin
// if FMainID = '' then
// begin
// FMainID := Trim(CDS_Main.fieldbyname('subid').AsString);
// end
// else
// begin
// if Trim(CDS_Main.fieldbyname('subid').AsString) <> FMainID then
// begin
// end;
// end;
// sqlStr := sqlStr + 'insert into TBSubID(SubId,Dname) ';
// sqlStr := sqlStr + ' values( ';
// sqlStr := sqlStr + ' ''' + Trim(CDS_Main.fieldbyname('subid').AsString) + ''', ';
// sqlStr := sqlStr + ' ''' + Trim(DCode) + ''' ';
// sqlStr := sqlStr + ' ) ';
// end;
// Next;
// end;
// end;
// ADOQueryCmd.Connection.CommitTrans;
// except
// ADOQueryCmd.Connection.RollbackTrans;
// end;
//
// CDS_Main.EnableControls;
//
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add(sqlStr);
//// showmessage(sql.text);
// ExecSQL;
// end;
if CDS_Main.Fieldbyname('SSel').AsBoolean then
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('exec P_Do_PrintMd10_rk_copy1 ''' + CDS_Main.fieldbyname('PRTCodeName').AsString + ''' ,''' + CDS_Main.fieldbyname('Sorddefstr5').AsString + ''',''' + CDS_Main.fieldbyname('SOrddefstr1').AsString + ''' ');
// sql.Add(',''' + Cds_main.fieldbyname('DRCKNO').AsString + ''' ,''' + Cds_main.fieldbyname('DRCKName').AsString + '''');
// ShowMessage(SQL.text);
Open;
// Close;
// sql.Clear;
// sql.add('exec P_Do_PrintMd10_rk_copy1 ');
// sql.add('@mainID=' + quotedstr(Trim('')));
// sql.add(',@DName=' + quotedstr(Trim(DCode)));
// Open;
// ShowMessage(SQL.text);
end;
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Do_PrintMd_HZ ');
sql.add('@mainID=' + quotedstr(Trim('')));
sql.add(',@DName=' + quotedstr(Trim(DCode)));
sql.add(',@flag=''2'' ');
Open;
end;
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
end.