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

533 lines
16 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_CKProductCKHZList;
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, 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
TfrmCKProductCKHZList = 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;
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;
CKno: TEdit;
Label4: TLabel;
Panel4: TPanel;
Label13: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
v1Column10: TcxGridDBColumn;
SOrddefstr1: TEdit;
Label14: TLabel;
KHCONNO: TEdit;
Label15: TLabel;
RMGridReport1: TRMGridReport;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
RM2: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
ToolButton2: TToolButton;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
ToolButton3: TToolButton;
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 ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
FLeft, FTop: Integer;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCKProductCKHZList: TfrmCKProductCKHZList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_JYOrderCDOne;
{$R *.dfm}
procedure TfrmCKProductCKHZList.FormDestroy(Sender: TObject);
begin
frmCKProductCKHZList := nil;
end;
procedure TfrmCKProductCKHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductCKHZList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductCKHZList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
Filtered := False; //D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4,D.SOrddefstr1,
sql.Add('select CKNO,A.MainId,A.MJTypeother as QtyUnit,C.OrderNo,C.ConNO,D.Sorddefstr5,count(distinct baoid) as RKbao, ');
sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as CKJZ,round(SUM(cast(A.MJFK as float)*cast(A.MJSJKZ as float)*MJLEN/1000),1) as JSJZ');
SQL.Add(',round(SUM(CASE WHEN A.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' THEN (cast(A.MJFK as float)*cast(A.MJSJKZ as float)*A.MJLen/1000) ELSE 0 END),1) as CKSL');
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(',CKZbao=(select count(distinct baoid) from WFB_MJJY X where X.CKNO=A.CKNO and X.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>''),');
sql.Add('CKbao=(select count(distinct baoid) from WFB_MJJY X where X.CKNO=A.CKNO and X.mainid=A.mainid and X.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'')');
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.ckno<>'''' ');
// Sql.add(' A.fillTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+'''and A.fillTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' ');
Sql.add('group by CKNO,A.MainId,A.MJTypeother,C.OrderNo,C.ConNO,D.Sorddefstr5');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductCKHZList.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductCKHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductCKHZList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductCKHZList.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 TfrmCKProductCKHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductCKHZList.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 TfrmCKProductCKHZList.PRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductCKHZList.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 TfrmCKProductCKHZList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductCKHZList.Image2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmCKProductCKHZList.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 TfrmCKProductCKHZList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductCKHZList.TBPrintClick(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>뵥.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 := '';
// Order_Main.DisableControls;
// try
// ADOQueryCmd.Connection.BeginTrans;
// with Order_Main do
// begin
// First;
// while not Eof do
// begin
// if Fieldbyname('Ssel').AsBoolean then
// begin
// if FMainID = '' then
// begin
// FMainID := Trim(Order_Main.fieldbyname('CKNO').AsString);
// end
// else
// begin
// if Trim(Order_Main.fieldbyname('CKNO').AsString) <> FMainID then
// begin
// application.MessageBox('ѡ<><D1A1><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// ADOQueryCmd.Connection.RollbackTrans;
// EnableControls;
// exit;
// end;
// end;
// sqlStr := sqlStr + 'insert into TBSubID(SubId,Dname) ';
// sqlStr := sqlStr + ' values( ';
// sqlStr := sqlStr + ' ''' + Trim(Order_Main.fieldbyname('CKNO').AsString) + ''', ';
// sqlStr := sqlStr + ' ''' + Trim(DCode) + ''' ';
// sqlStr := sqlStr + ' ) ';
// end;
// Next;
// end;
// end;
// ADOQueryCmd.Connection.CommitTrans;
// except
// ADOQueryCmd.Connection.RollbackTrans;
// end;
// Order_Main.EnableControls;
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add(sqlStr);
//// showmessage(sql.text);
// ExecSQL;
// end;
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_PrintMd10 ''' + CDS_Main.fieldbyname('CKNO').AsString + ''' ');
// sql.add('exec P_Do_PrintMd10 ');
// 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
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductCKHZList.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 TfrmCKProductCKHZList.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><D3A2>Ʒ<EFBFBD><C6B7><EFBFBD>뵥.rmf';
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_PrintMd10_PMYW '); //''' + CDS_Main.fieldbyname('CKNO').AsString + '''
sql.add('@mainID=''' + CDS_Main.fieldbyname('CKNO').AsString + '''');
sql.add(',@orderNo=''' + CDS_Main.fieldbyname('mainid').AsString + '''');
sql.add(',@Sorddefstr5=''' + CDS_Main.fieldbyname('Sorddefstr5').AsString + '''');
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
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductCKHZList.ToolButton3Click(Sender: TObject);
var
fPrintFile, fPrintFile10, FMainID: string;
sqlStr: string;
begin
if CDS_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ɫ<EFBFBD>뵥.rmf';
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_PrintMd10_HS '); //''' + CDS_Main.fieldbyname('CKNO').AsString + '''
sql.add('@CKNO=''' + CDS_Main.fieldbyname('CKNO').AsString + '''');
sql.add(',@mainID=''' + CDS_Main.fieldbyname('mainid').AsString + '''');
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
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
end.