D7DJxiongshan/复合检验管理/U_CKProductJYMX.pas
DESKTOP-E401PHE\Administrator d4b722a4e7 ~
2025-04-30 23:58:17 +08:00

566 lines
17 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_CKProductJYMX;
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, RM_Dataset, dxBarBuiltInMenu, cxPC,
cxCheckBox;
type
TfrmCKProductJYMXt = 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;
PM: 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;
YS: 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;
v1Column8: TcxGridDBColumn;
MJstr4: TEdit;
Label4: TLabel;
Panel4: TPanel;
Label13: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
v1Column9: TcxGridDBColumn;
CKDH: TEdit;
Label14: TLabel;
KH: TEdit;
Label15: TLabel;
v1Column13: TcxGridDBColumn;
RMGridReport1: TRMGridReport;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
RM2: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
ComboBox1: TComboBox;
Tv1Column6: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
cxTabControl1: TcxTabControl;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
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 PMChange(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);
procedure cxTabControl1Click(Sender: TObject);
private
FLeft, FTop: Integer;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCKProductJYMXt: TfrmCKProductJYMXt;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_JYOrderCDOne;
{$R *.dfm}
procedure TfrmCKProductJYMXt.FormDestroy(Sender: TObject);
begin
frmCKProductJYMXt := nil;
end;
procedure TfrmCKProductJYMXt.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductJYMXt.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductJYMXt.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
Filtered := False;
sql.Add('select convert(char(10),A.CKtime,120) as CRTime,A.MJType as CPType,A.MainId,A.MJTypeother as QtyUnit,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4,A.CKDH,A.MJstr4, ');
sql.Add('dj,je=dj*(SUM(A.MJLen)), count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,');
sql.Add('SCKROLL=(select sum(mjlen) from WFB_MJJY X where X.CKDH=A.CKDH and X.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>''),');
sql.Add('SkcROLL=(select sum(mjlen) from WFB_MJJY X where X.CKDH=A.CKDH and X.ckflag='<><CEB4><EFBFBD><EFBFBD>''),');
sql.Add('CKROLL=(select count(*) from WFB_MJJY X where X.CKDH=A.CKDH and X.ckflag=''<27>ѳ<EFBFBD><D1B3><EFBFBD>''),');
sql.Add('KCROLL=(select count(*) from WFB_MJJY X where X.CKDH=A.CKDH and X.ckflag='<><CEB4><EFBFBD><EFBFBD>''),');
sql.Add('KH,YS,PM');
// sql.Add('KH=(select top 1 KH from WFB_MJJY X where X.CKDH=A.CKDH),');
// sql.Add('YS=(select top 1 YS from WFB_MJJY X where X.CKDH=A.CKDH),');
// sql.Add('PM=(select top 1 PM from WFB_MJJY X where X.CKDH=A.CKDH)');
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.CKtime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
// Sql.add('and A.CKtime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
if cxTabControl1.TabIndex = 0 then
begin
sql.add('where SHflag=''0'' ');
end;
if cxTabControl1.TabIndex = 1 then
begin
sql.add('where SHflag=''1'' ');
end;
Sql.add('group by convert(char(10),A.CKtime,120),A.SubId,A.CKDH,A.MJType,A.MainId,A.MJTypeother,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4,A.MJstr4,dj,KH,YS,PM');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
tbfind.Click;
end;
procedure TfrmCKProductJYMXt.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductJYMXt.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductJYMXt.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductJYMXt.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 TfrmCKProductJYMXt.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductJYMXt.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 TfrmCKProductJYMXt.PMChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductJYMXt.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 TfrmCKProductJYMXt.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductJYMXt.Image2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmCKProductJYMXt.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 TfrmCKProductJYMXt.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductJYMXt.TBPrintClick(Sender: TObject);
var
fPrintFile, fPrintFile10, FMainID: string;
sqlStr: string;
begin
if CDS_Main.IsEmpty then
Exit;
if trim(ComboBox1.Text) = '' then
exit;
// if Order_Main.Locate('SSel', True, []) = False then
// begin
// Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
// Exit;
// end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(ComboBox1.Text) + '.rmf';
ExportFtErpFile(Trim(ComboBox1.Text) + '.rmf', ADOQueryCmd);
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('CKFlag').AsString);
// end
// else
// begin
// if Trim(Order_Main.fieldbyname('CKFlag').AsString) <> FMainID then
// begin
// application.MessageBox('<27>ѳ<EFBFBD><D1B3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><E2B2BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>ӡ', '<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('MJID').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;
if (trim(ComboBox1.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥') then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMDYDL_HZ29 ');
sql.add('@DName=' + quotedstr(Trim(CDS_Main.fieldbyname('CKDH').AsString)));
Open;
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=''29'' ');
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;
procedure TfrmCKProductJYMXt.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 TfrmCKProductJYMXt.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
CDS_Main.DisableControls;
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update WFB_MJJY SET SHflag=''1'' ');
sql.Add('where CKDH=' + quotedstr(trim(CDS_Main.fieldbyname('CKDH').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><E2B6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('CKDH').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmCKProductJYMXt.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
CDS_Main.DisableControls;
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update WFB_MJJY SET SHflag=''0'' ');
sql.Add('where CKDH=' + quotedstr(trim(CDS_Main.fieldbyname('CKDH').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><E2B6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('CKDH').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmCKProductJYMXt.cxTabControl1Click(Sender: TObject);
begin
InitGrid();
end;
end.