D7myYunxiang/云翔生产管理(MYSC.dll)/U_PBRKMX.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

302 lines
10 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_PBRKMX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit,
cxDropDownEdit, cxPC, Buttons, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator;
type
TfrmPBRKMX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
Panel1: TPanel;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport2: TRMXLSExport;
CDS_PRT: TClientDataSet;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
V2MYCode: TcxGridDBColumn;
cxGridPopupMenu2: TcxGridPopupMenu;
DataSource2: TDataSource;
PB_MX: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
Label6: TLabel;
OrderNoHZ: TEdit;
TV2Column2: TcxGridDBColumn;
TV2Column3: TcxGridDBColumn;
TV2Column6: TcxGridDBColumn;
Label1: TLabel;
ConBegDate: TDateTimePicker;
ConEndDate: TDateTimePicker;
Label2: TLabel;
TV2Column13: TcxGridDBColumn;
TV2Column1: TcxGridDBColumn;
TV2Column5: TcxGridDBColumn;
Label3: TLabel;
PBBatchNo: TEdit;
TV2Column11: TcxGridDBColumn;
TV2Column4: TcxGridDBColumn;
TV2Column7: TcxGridDBColumn;
TV2Column8: TcxGridDBColumn;
TV2Column9: TcxGridDBColumn;
Label4: TLabel;
Label5: TLabel;
NameHZ: TEdit;
CodeHZ: TEdit;
Label7: TLabel;
KHNameHZ: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ZJStatusChange(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure OrderNoHZChange(Sender: TObject);
private
canshu1: string;
DQdate: TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData(): Boolean;
{ Private declarations }
public
FFInt, FCloth: Integer;
{ Public declarations }
end;
var
frmPBRKMX: TfrmPBRKMX;
implementation
uses
U_DataLink, U_RTFun, U_QCRKInPut, U_ZDYHelp, U_LLRKInPut, U_GYSList,
U_RCCKInPut, U_LLRKInPutMH, U_LLRKInPutX, U_LLRKInPut_CG, U_LLRKInPutMH_CG,
U_LLRKInPutMH_PBCG, U_LLRKInPutMH_PBKCCG, U_BPZdy_LRPB, U_QCRKInPut_KC,
U_QCRKList_CX, U_ZDYCPName;
{$R *.dfm}
procedure TfrmPBRKMX.FormDestroy(Sender: TObject);
begin
frmPBRKMX := nil;
end;
procedure TfrmPBRKMX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmPBRKMX.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
end;
procedure TfrmPBRKMX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ3', Tv2, <><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmPBRKMX.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select DISTINCT A.PBBatchNo ');
sql.Add(' ,OrderNo=(select MLOrderNo from ML_OrderMainNew X where X.NewMLID=A.MainID ) ');
sql.Add(' ,KHName=(select KHName from ML_OrderMainNew X where X.NewMLID=A.MainID ) ');
sql.Add(' ,KHNo=(select KHNo from ML_OrderMainNew X where X.NewMLID=A.MainID ) ');
sql.Add(' INTO #tab1 from CK_MYSC_CR A ');
sql.Add(' where isnull(A.CRType,'''')=''<27>ӹ<EFBFBD><D3B9>뵥'' ');
sql.Add(' and CRTime>' + quotedstr(FormatDateTime('yyyy-MM-dd', ConBegDate.DateTime)));
sql.Add(' and CRTime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', Conenddate.DateTime + 1)));
sql.Add(' select DISTINCT PBBatchNo,YGSunHao =(select max(YGSunHao) from CK_MYSC_CR X where X.PBBatchNo=A.PBBatchNo) ');
sql.Add(' ,OrderNoHZ=cast((select DISTINCT OrderNo +'';'' from #tab1 X where X.PBBatchNo=A.PBBatchNo FOR XML PATH('''')) as VARCHAR(600)) ');
sql.Add(' ,KHNameHZ=cast((select DISTINCT KHName +'';'' from #tab1 X where X.PBBatchNo=A.PBBatchNo FOR XML PATH('''')) as VARCHAR(600)) ');
sql.Add(' ,KHNoHZ=cast((select DISTINCT KHNo +'';'' from #tab1 X where X.PBBatchNo=A.PBBatchNo FOR XML PATH('''')) as VARCHAR(600)) ');
sql.Add(' ,NameHZ=cast((select DISTINCT MYName +'' '' from CK_MYSC_CR Y where isnull(Y.MYType,'''')=''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and isnull(Y.CRType,'''') in(''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>'',''<27><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>'') ');
sql.Add(' and Y.PBBatchNo =A.PBBatchNo FOR XML PATH('''')) as VARCHAR(600)) ');
sql.Add(' ,CodeHZ=cast((select DISTINCT MYCode +'' '' from CK_MYSC_CR Y where isnull(Y.MYType,'''')=''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and isnull(Y.CRType,'''') in(''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>'',''<27><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>'') ');
sql.Add(' and Y.PBBatchNo =A.PBBatchNo FOR XML PATH('''')) as VARCHAR(600)) ');
sql.Add(' ,THKHHZ=cast((select DISTINCT KHName +'' '' from CK_MYSC_CR Y where isnull(Y.MYType,'''')=''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and isnull(Y.CRType,'''') in(''<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>'',''<27><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>'') ');
sql.Add(' and Y.PBBatchNo =A.PBBatchNo FOR XML PATH('''')) as VARCHAR(600)) ');
sql.Add(' ,RanQty=isnull((select sum(Qty) from CK_MYSC_CR X where A.PBBatchNo=X.PBBatchNo and isnull(X.CRType,'''')=''<27>ӹ<EFBFBD><D3B9>뵥'' ');
sql.Add(' and X.MYTypeFlag in (''Ⱦɫ'') ),0) ');
sql.Add(',PBQtyHZ=isnull((select sum(Y.Qty) from CK_MYSC_CR Y where isnull(Y.MYType,'''')=''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and isnull(Y.CRType,'''') in(''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'') ');
sql.Add('and Y.PBBatchNo =A.PBBatchNo),0) ');
sql.Add(',PBTHQtyHZ=isnull((select sum(Y.Qty) from CK_MYSC_CR Y where isnull(Y.MYType,'''')=''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and isnull(Y.CRType,'''') in(''<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>'',''<27><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>'') ');
sql.Add('and Y.PBBatchNo =A.PBBatchNo),0) ');
sql.Add(' into #tab2 from CK_MYSC_CR A ');
sql.Add(' where isnull(A.CRType,'''')=''<27>ӹ<EFBFBD><D3B9>뵥'' ');
sql.Add(' and CRTime>' + quotedstr(FormatDateTime('yyyy-MM-dd', ConBegDate.DateTime)));
sql.Add(' and CRTime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', Conenddate.DateTime + 1)));
sql.Add(' select *,CASE WHEN(isnull(RanQty,0)<>0 and isnull(PBQtyHZ,0)<>0 and ceiling((PBQtyHZ/RanQty-1)*100)>0 ) THEN (cast(ceiling((PBQtyHZ/RanQty-1)*100) AS varchar)+''%'') ELSE ''0%'' END AS RanSL from #tab2 ');
sql.Add(' where isnull(OrderNoHZ,'''') <> '''' and PBQtyHZ>0 ');
sql.Add(' Drop table #tab1 ');
sql.Add(' Drop table #tab2 ');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmPBRKMX.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ3', Tv2, <><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ConEndDate.DateTime := SGetServerDate10(ADOQueryTemp);
ConBegDate.DateTime := ConEndDate.DateTime - 15;
InitGrid();
end;
procedure TfrmPBRKMX.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
function TfrmPBRKMX.DelData(): Boolean;
begin
end;
procedure TfrmPBRKMX.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(Self.Caption, cxGrid2);
end;
procedure TfrmPBRKMX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPBRKMX.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmPBRKMX.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPBRKMX.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmPBRKMX.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmPBRKMX.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPBRKMX.ZJStatusChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBRKMX.ToolButton4Click(Sender: TObject);
var
fPrintFile: string;
begin
if Order_Main.IsEmpty then
Exit;
if Trim(Order_Main.fieldbyname('Chker').AsString) = '' then
exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><E2B1A8>.rmf';
RMXLSExport2 := TRMXLSExport.Create(RMXLSExport2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Test_Report where TRId=''' + Trim(Order_Main.fieldbyname('TRId').AsString) + '''');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
if FileExists(fPrintFile) then
begin
//RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><E2B1A8>.rmf'), '<27><>ʾ', 0);
end;
end;
procedure TfrmPBRKMX.OrderNoHZChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
end.