D7myChuangpin/创品码单管理(FMMD.dll)/U_DJBCKKCList_PBSH.pas

272 lines
8.9 KiB
ObjectPascal
Raw Normal View History

2024-07-23 20:18:14 +08:00
unit U_DJBCKKCList_PBSH;
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, cxCheckBox, RM_Common,
RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus,
cxCalendar, cxButtonEdit, cxTextEdit;
type
TfrmDJBCKKCList_PBSH = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
v2MPRTCode: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
v1MPRTKZ: TcxGridDBColumn;
v1TPPS: TcxGridDBColumn;
v2TPQty: TcxGridDBColumn;
v1HCPS: TcxGridDBColumn;
v1HCQty: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
MPRTCodeName: TEdit;
MPRTCode: TEdit;
MPRTCF: TEdit;
OrderNo: TEdit;
v1PRTColorNo: TcxGridDBColumn;
v1PRTColor: TcxGridDBColumn;
v1PRTHX: TcxGridDBColumn;
Label9: TLabel;
ConNoHZ: TEdit;
Label10: TLabel;
PRTColor: TEdit;
Label11: TLabel;
StyleNo: TEdit;
Label13: TLabel;
PRTHX: TEdit;
ToolButton2: TToolButton;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
v1ConNoHZ: TcxGridDBColumn;
v1MPRTCodeName: TcxGridDBColumn;
v1PRTColorEng: TcxGridDBColumn;
v1PBSH: TcxGridDBColumn;
v1StyleNo: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure SXBatchNOChange(Sender: TObject);
procedure MPRTCodeChange(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
private
procedure InitGrid();
{ Private declarations }
public
canshu1:string;
{ Public declarations }
end;
var
frmDJBCKKCList_PBSH: TfrmDJBCKKCList_PBSH;
implementation
uses
U_DataLink,U_RTFun,U_SXCKInPut;
{$R *.dfm}
procedure TfrmDJBCKKCList_PBSH.FormDestroy(Sender: TObject);
begin
frmDJBCKKCList_PBSH:=nil;
end;
procedure TfrmDJBCKKCList_PBSH.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmDJBCKKCList_PBSH.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select AA.*,');
sql.add(' PBSH=(case when TPQty<>0 then (TPQty-HCQty)/TPQty*100 else 0 end) ');
sql.add(' from (select A.*,B.StyleNo,B.PRTColorNo,B.PRTHX,B.PRTColor,B.PRTColorEng,B.PRTOrderQty, ');
sql.add(' TPPS=(select Sum(C.PiQty) from CK_SXPB_CR C left join CK_SXPB_CR G on G.SPID=C.FZSPID where C.ORDSubIdCK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD><EFBFBD>'' and G.CRType<>''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>''),');
sql.add(' TPQty=(select Sum(C.Qty) from CK_SXPB_CR C left join CK_SXPB_CR G on G.SPID=C.FZSPID where C.ORDSubIdCK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD><EFBFBD>'' and G.CRType<>''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>''),');
sql.add(' HCPS=(select Sum(C.PiQty) from CK_SXPB_CR C where C.OrdSubIdRK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD>첼''),');
sql.add(' HCQty=(select Sum(C.Qty) from CK_SXPB_CR C where C.OrdSubIdRK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD>첼''),');
sql.add(' KHConNoHZ=[dbo].[F_Get_Order_SubStr](A.MainId,''KHConNoHZ''), ');
sql.add(' ConNoHZ=[dbo].[F_Get_Order_SubStr](A.MainId,''ConNoHZ'') ');
sql.Add(' from JYOrder_Main A ');
sql.add(' inner join JYOrder_Sub B on B.Mainid=A.Mainid ');
sql.add(' where A.OrdDate>='''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.Add(' and A.OrdDate<'''+trim(formatdatetime('yyyy-MM-dd',EndDate.DateTime+1))+''' ');
if trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
sql.add(' and (A.Filler='''+Trim(DName)+''' or A.LiDanPerson='''+Trim(DName)+''' or A.YWY='''+Trim(DName)+''') ');
sql.add(') AA');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDJBCKKCList_PBSH.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDJBCKKCList_PBSH.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
end;
end;
procedure TfrmDJBCKKCList_PBSH.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv1,'<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmDJBCKKCList_PBSH.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv1,'<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime-30;
canshu1:=trim(DParameters1);
InitGrid();
end;
procedure TfrmDJBCKKCList_PBSH.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 TfrmDJBCKKCList_PBSH.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKKCList_PBSH.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main,True);
end;
procedure TfrmDJBCKKCList_PBSH.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main,False);
end;
procedure TfrmDJBCKKCList_PBSH.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKKCList_PBSH.MPRTCodeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKKCList_PBSH.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult:=1;
end;
procedure TfrmDJBCKKCList_PBSH.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD>',cxGrid2);
end;
procedure TfrmDJBCKKCList_PBSH.OrderNoKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select AA.*,');
sql.add(' PBSH=(case when TPQty<>0 then (TPQty-HCQty)/TPQty*100 else 0 end) ');
sql.add(' from (select A.*,B.StyleNo,B.PRTColorNo,B.PRTHX,B.PRTColor,B.PRTColorEng,B.PRTOrderQty, ');
sql.add(' TPPS=(select Sum(C.PiQty) from CK_SXPB_CR C left join CK_SXPB_CR G on G.SPID=C.FZSPID where C.ORDSubIdCK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD><EFBFBD>'' and G.CRType<>''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>''),');
sql.add(' TPQty=(select Sum(C.Qty) from CK_SXPB_CR C left join CK_SXPB_CR G on G.SPID=C.FZSPID where C.ORDSubIdCK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD><EFBFBD>'' and G.CRType<>''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>''),');
sql.add(' HCPS=(select Sum(C.PiQty) from CK_SXPB_CR C where C.OrdSubIdRK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD>첼''),');
sql.add(' HCQty=(select Sum(C.Qty) from CK_SXPB_CR C where C.OrdSubIdRK=B.SubId and C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD>첼''),');
sql.add(' KHConNoHZ=[dbo].[F_Get_Order_SubStr](A.MainId,''KHConNoHZ''), ');
sql.add(' ConNoHZ=[dbo].[F_Get_Order_SubStr](A.MainId,''ConNoHZ'') ');
sql.Add(' from JYOrder_Main A ');
sql.add(' inner join JYOrder_Sub B on B.Mainid=A.Mainid ');
sql.add(' where A.OrderNo like '''+'%'+trim(OrderNo.Text)+'%'+''' ');
if trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
sql.add(' and (A.Filler='''+Trim(DName)+''' or A.LiDanPerson='''+Trim(DName)+''' or A.YWY='''+Trim(DName)+''') ');
sql.add(') AA');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
end.