D7gmYongjin/成品仓库(FinishedClothWarehouse.dll)/U_CKDaBaoList.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

543 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_CKDaBaoList;
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, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System,
RM_GridReport, cxCheckBox, Menus, MovePanel, RM_E_llPDF, cxCalendar, Math,
Clipbrd, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu;
type
TfrmCKDaBaoList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
Label4: TLabel;
MPRTCodeName: TEdit;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
cxgrdMJGW: TcxGridDBColumn;
cxgrdMJLen: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
v1Column4: TcxGridDBColumn;
Label10: TLabel;
CKOrdNo: TEdit;
TBCKCX: TToolButton;
v1Column11: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
MovePanel2: TMovePanel;
DS_JuanPRT: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
cxgrdMJNW: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
conNo: TEdit;
Label15: TLabel;
begtime: TDateTimePicker;
endTime: TDateTimePicker;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
RM3: TRMGridReport;
RMDBPRT: TRMDBDataSet;
CDS_PRT: TClientDataSet;
PRTColor: TEdit;
ComboBox1: TComboBox;
ToolButton1: TToolButton;
VC_baono: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
Panel2: TPanel;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
cxTabControl1: TcxTabControl;
cxgrdPS: TcxGridDBColumn;
Label1: TLabel;
baoid: TEdit;
Label5: TLabel;
VC_BaoQty: TcxGridDBColumn;
Label6: TLabel;
SmNO: TEdit;
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 N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBCKCXClick(Sender: TObject);
procedure orderNoKeyPress(Sender: TObject; var Key: Char);
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 CPTypeChange(Sender: TObject);
procedure CRTypeChange(Sender: TObject);
procedure edtSMNOKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure SmNOKeyPress(Sender: TObject; var Key: Char);
private
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
//var
// frmCKProductBCPOutList: TfrmCKProductBCPOutList;
implementation
uses
U_DataLink, U_Fun, U_SysLogHelp,U_RTFun;
{$R *.dfm}
procedure TfrmCKDaBaoList.SetStatus();
var
i: Integer;
begin
case cxTabControl1.TabIndex of
0:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
IsVisibleTV(Panel1, TV1, '0', True);
VC_BaoQty.Visible := true;
end;
1:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
IsVisibleTV(Panel1, TV1, '0', True);
IsVisibleTV(Panel1, TV1, '1', True);
VC_baono.Visible := true;
end;
end;
cxgrdPS.Visible := true;
cxgrdMJGW.Visible := true;
cxgrdMJNW.Visible := true;
cxgrdMJLen.Visible := true;
end;
procedure TfrmCKDaBaoList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKDaBaoList.FormCreate(Sender: TObject);
begin
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
end;
procedure TfrmCKDaBaoList.InitGrid();
var
fwhere, Pwhere: string;
begin
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
MovePanel2.Visible := True;
MovePanel2.Refresh;
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
case cxTabControl1.TabIndex of
0: //////////////////////////<2F><><EFBFBD><EFBFBD>/////////////////////////////
begin
sql.Add(' select AAA.* from ( ');
sql.Add(' select AA.CKOrdNo,BB.conNo,BB.MPRTCodeName,CC.PRTColor,COUNT(BaoID) BaoQty,sum(PIQty) PIQty,sum(Qty) Qty, sum(NetKGQty) NetKGQty,sum(KGQty) KGQty from ( ');
sql.Add(' select CKOrdNo,MainID,SubID,BaoID,BaoNo,count(MJID) PIQty,sum(Qty) Qty, sum(NetKGQty) NetKGQty,sum(KGQty) KGQty ');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where isnull(A.BaoID,'''')<>'''' and A.CRFlag in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD>'') ');
sql.Add(' and exists(select FSId from FHSQ_Main_CP X where X.FSID=A.CKOrdNo ');
sql.Add(' and X.filltime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and X.filltime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
sql.Add(' ) ');
sql.Add('GROUP BY CKOrdNo,MainID,SubID,BaoID,BaoNo ');
sql.Add(') AA inner join JYOrder_Main BB on AA.MainID=BB.MainId inner join JYOrder_Sub CC on AA.SubID=CC.SubId ');
sql.Add('GROUP BY AA.CKOrdNo,BB.conNo,BB.MPRTCodeName,CC.PRTColor ');
sql.Add(' ) AAA ' + fwhere);
end;
1: /////////////////////////<2F><>//////////////////////////////
begin
sql.Add(' select AAA.* from ( ');
sql.Add(' select AA.CKOrdNo,BB.conNo,BB.MPRTCodeName,CC.PRTColor,AA.BaoID,AA.BaoNo,PIQty,Qty, NetKGQty,KGQty from ( ');
sql.Add(' select CKOrdNo,MainID,SubID,BaoID,BaoNo,count(MJID) PIQty,sum(Qty) Qty, sum(NetKGQty) NetKGQty,sum(KGQty) KGQty ');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where isnull(A.BaoID,'''')<>'''' and A.CRFlag in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD>'') ');
sql.Add(' and exists(select FSId from FHSQ_Main_CP X where X.FSID=A.CKOrdNo ');
sql.Add(' and X.filltime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and X.filltime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
sql.Add(' ) ');
sql.Add('GROUP BY CKOrdNo,MainID,SubID,BaoID,BaoNo ');
sql.Add(') AA inner join JYOrder_Main BB on AA.MainID=BB.MainId inner join JYOrder_Sub CC on AA.SubID=CC.SubId ');
sql.Add(' ) AAA ' + fwhere);
end;
end;
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmCKDaBaoList.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKDaBaoList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKDaBaoList.TBCloseClick(Sender: TObject);
begin
if Trim(DName)='ADMIN' then
begin
WriteCxGridAll(trim(self.Caption), Tv1,ADOQueryCmd,ADOQueryTemp);
end;
Close;
end;
procedure TfrmCKDaBaoList.FormShow(Sender: TObject);
begin
ReadCxGridAll(trim(self.Caption), Tv1);
CurrentPage := 1;
RecordsNumber := 500;
SetStatus();
end;
procedure TfrmCKDaBaoList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
SelExportData(Tv1, ADOQueryMain, '');
end;
procedure TfrmCKDaBaoList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKDaBaoList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKDaBaoList.TBCKCXClick(Sender: TObject);
var
FFMainId, FPrice, strsql: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
with CDS_Main do
begin
while CDS_Main.Locate('SSel', True, []) = True do
begin
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_BanCP_CR Set CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',CRType='''',CRTime=NULL,CRNote='''',CKOrdNo='''' ');
sql.Add(' where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + '''');
sql.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>''');
sql.Add(' UPdate CK_BanCP_KC Set KCValid=''Y'' ,CKDate=0 ');
SQL.Add(' where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + '''');
sql.Add(' Update WFB_MJJY Set MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + ''' ');
ExecSQL;
end;
strsql := '<27><>ID<49><44>' + trim(CDS_Main.FieldByName('MJID').AsString) + ' <20><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('CKOrdNo').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
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><E2B3B7>')));
sql.Add(',' + quotedstr(trim(strsql)));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
CDS_Main.Delete;
end;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
MovePanel2.Visible := False;
Exit;
except
MovePanel2.Visible := False;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmCKDaBaoList.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKDaBaoList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmCKDaBaoList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKDaBaoList.CPTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKDaBaoList.CRTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKDaBaoList.edtSMNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
end;
end;
procedure TfrmCKDaBaoList.ToolButton1Click(Sender: TObject);
var
fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo: string;
begin
if CDS_Main.IsEmpty then
Exit;
if trim(ComboBox1.Text) = '<27>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵥' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKBMD1 ');
sql.add('@CKOrdNo=' + quotedstr(Trim(Trim(CDS_Main.fieldbyname('CKOrdNo').AsString))));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
end;
if trim(ComboBox1.Text) = '<27><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>뵥' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKBMD2 ');
sql.add('@CKOrdNo=' + quotedstr(Trim(Trim(CDS_Main.fieldbyname('CKOrdNo').AsString))));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKBMD3 ');
sql.add('@CKOrdNo=' + quotedstr(Trim(Trim(CDS_Main.fieldbyname('CKOrdNo').AsString))));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_HZ);
SInitCDSData20(ADOQueryTemp, CDS_HZ);
end;
RMXLSExport1:= TRMXLSExport.Create(RMXLSExport1);
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.rmf';
if FileExists(fPrintFile) then
begin
RM3.LoadFromFile(fPrintFile);
RMVariables['ZDR'] := trim(DName);
RM3.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD>ҵ<EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCKDaBaoList.Tv1DblClick(Sender: TObject);
var
Tabint: integer;
begin
Tabint := cxTabControl1.TabIndex;
case Tabint of
0:
begin
AssignmentControls(Panel1, CDS_Main, '0');
cxTabControl1.TabIndex := 1;
end;
end;
end;
procedure TfrmCKDaBaoList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmCKDaBaoList.SmNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
case cxTabControl1.TabIndex of
0: //////////////////////////<2F><><EFBFBD><EFBFBD>/////////////////////////////
begin
sql.Add(' select AAA.* from ( ');
sql.Add(' select AA.CKOrdNo,BB.conNo,BB.MPRTCodeName,CC.PRTColor,COUNT(BaoID) BaoQty,sum(PIQty) PIQty,sum(Qty) Qty, sum(NetKGQty) NetKGQty,sum(KGQty) KGQty from ( ');
sql.Add(' select CKOrdNo,MainID,SubID,BaoID,BaoNo,count(MJID) PIQty,sum(Qty) Qty, sum(NetKGQty) NetKGQty,sum(KGQty) KGQty ');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where isnull(A.BaoID,'''')<>'''' and A.CRFlag in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD>'') ');
sql.Add(' and A.CKOrdNo = ' + quotedstr(Trim(SmNO.Text)));
sql.Add('GROUP BY CKOrdNo,MainID,SubID,BaoID,BaoNo ');
sql.Add(') AA inner join JYOrder_Main BB on AA.MainID=BB.MainId inner join JYOrder_Sub CC on AA.SubID=CC.SubId ');
sql.Add('GROUP BY AA.CKOrdNo,BB.conNo,BB.MPRTCodeName,CC.PRTColor ');
sql.Add(' ) AAA ');
end;
1: /////////////////////////<2F><>//////////////////////////////
begin
sql.Add(' select AAA.* from ( ');
sql.Add(' select AA.CKOrdNo,BB.conNo,BB.MPRTCodeName,CC.PRTColor,AA.BaoID,AA.BaoNo,PIQty,Qty, NetKGQty,KGQty from ( ');
sql.Add(' select CKOrdNo,MainID,SubID,BaoID,BaoNo,count(MJID) PIQty,sum(Qty) Qty, sum(NetKGQty) NetKGQty,sum(KGQty) KGQty ');
sql.Add(' from CK_BanCP_CR A ');
sql.Add(' where isnull(A.BaoID,'''')<>'''' and A.CRFlag in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD>'') ');
sql.Add(' and A.CKOrdNo = ' + quotedstr(Trim(SmNO.Text)));
sql.Add('GROUP BY CKOrdNo,MainID,SubID,BaoID,BaoNo ');
sql.Add(') AA inner join JYOrder_Main BB on AA.MainID=BB.MainId inner join JYOrder_Sub CC on AA.SubID=CC.SubId ');
sql.Add(' ) AAA ');
end;
end;
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
SmNO.Text := '';
SmNO.SetFocus;
end;
end;
end.