316 lines
8.4 KiB
ObjectPascal
316 lines
8.4 KiB
ObjectPascal
unit U_CKPDlist;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
|
||
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
|
||
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
|
||
cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu,
|
||
cxGridPopupMenu, RM_Common, RM_Class, RM_e_Xls, RM_GridReport, RM_System,
|
||
RM_Dataset, cxPC, MovePanel;
|
||
|
||
type
|
||
TfrmCKPDlist = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBFind: TToolButton;
|
||
TBExport: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1P_CodeName: TcxGridDBColumn;
|
||
v1RollNum: TcxGridDBColumn;
|
||
v1Qty: TcxGridDBColumn;
|
||
v1QtyUnit: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
v1CRTime: TcxGridDBColumn;
|
||
v1Filler: TcxGridDBColumn;
|
||
Label3: TLabel;
|
||
Label4: TLabel;
|
||
C_CodeName: TEdit;
|
||
P_Code: TEdit;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryTmp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
CDS_Main: TClientDataSet;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
v1CPTYPE: TcxGridDBColumn;
|
||
ckName: TComboBox;
|
||
Label6: TLabel;
|
||
v1P_Color: TcxGridDBColumn;
|
||
ADOPrint: TADOQuery;
|
||
RMDB_MD: TRMDBDataSet;
|
||
RMGridReport1: TRMGridReport;
|
||
RMXLSExport1: TRMXLSExport;
|
||
v1inoutNO: TcxGridDBColumn;
|
||
kuwei: TEdit;
|
||
Label8: TLabel;
|
||
cxTabControl1: TcxTabControl;
|
||
C_Color: TEdit;
|
||
Label9: TLabel;
|
||
custName: TEdit;
|
||
Label2: TLabel;
|
||
Tchk: TToolButton;
|
||
Tnochk: TToolButton;
|
||
Label5: TLabel;
|
||
v1Column1: TcxGridDBColumn;
|
||
v1Column2: TcxGridDBColumn;
|
||
v1Column3: TcxGridDBColumn;
|
||
TBPD: TToolButton;
|
||
MovePanel2: TMovePanel;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure C_CodeNameChange(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
procedure TchkClick(Sender: TObject);
|
||
procedure TnochkClick(Sender: TObject);
|
||
procedure TBPDClick(Sender: TObject);
|
||
private
|
||
procedure InitGrid();
|
||
procedure SetStatus();
|
||
{ Private declarations }
|
||
public
|
||
fCKName:string;
|
||
canshu1:string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmCKPDlist: TfrmCKPDlist;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_Fun10,U_ZDYHelp,U_PDSMEdit;
|
||
{$R *.dfm}
|
||
procedure TfrmCKPDlist.SetStatus();
|
||
begin
|
||
|
||
Tchk.Visible:=false;
|
||
Tnochk.Visible:=false;
|
||
case cxTabControl1.TabIndex of
|
||
0:begin
|
||
Tchk.Visible:=true;
|
||
Tnochk.Visible:=true;
|
||
end;
|
||
1:begin
|
||
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.InitGrid();
|
||
begin
|
||
try
|
||
with adoqueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select A.* ');
|
||
sql.Add('from CK_BanCP_PD A');
|
||
sql.Add('where begTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''' ');
|
||
sql.Add('and begTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' ');
|
||
if trim(FckName)<>'' then
|
||
sql.Add('and ckName='+quotedstr(trim(FckName)) );
|
||
if cxTabControl1.TabIndex<2 then
|
||
sql.Add('and A.status='''+inttostr(cxTabControl1.TabIndex)+''' ');
|
||
open;
|
||
end;
|
||
SCreateCDS20(adoqueryTmp,CDS_Main);
|
||
SInitCDSData20(adoqueryTmp,CDS_Main);
|
||
finally
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
writeCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
Action:=cafree;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmCKPDlist:=nil;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.C_CodeNameChange(Sender: TObject);
|
||
begin
|
||
if ADOQueryTmp.Active=False then Exit;
|
||
SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2));
|
||
SCreateCDS20(ADOQueryTmp,CDS_Main);
|
||
SInitCDSData20(ADOQueryTmp,CDS_Main);
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.FormShow(Sender: TObject);
|
||
begin
|
||
readCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
||
SetStatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.FormCreate(Sender: TObject);
|
||
begin
|
||
BegDate.Date:=date()-7;
|
||
EndDate.Date:=date();
|
||
cxGrid1.Align:=alclient;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.TBCloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
initGrid();
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.TBExportClick(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then Exit;
|
||
TcxGridToExcel(self.Caption,cxgrid1);
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
SetStatus();
|
||
initGrid();
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.TchkClick(Sender: TObject);
|
||
var
|
||
fPDId:string;
|
||
begin
|
||
with adoqueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select A.* ');
|
||
sql.Add('from CK_BanCP_PD A');
|
||
sql.ADD('where A.status=0 ');
|
||
if trim(FckName)<>'' then
|
||
sql.Add('and ckName='+quotedstr(trim(FckName)) );
|
||
// sql.Add('and A.status=0 ');
|
||
open;
|
||
end;
|
||
IF not adoqueryTmp.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
|
||
with adoqueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select A.C_CodeName,A.C_Color,A.KCQtyUnit,COUNT(A.MJID) as RollNum,SUM(KCQty) as Qty ');
|
||
sql.Add('from CK_BanCP_KC A ');
|
||
sql.Add('where A.KCQty>0 ');
|
||
if trim(FckName)<>'' then
|
||
sql.Add('and A.ckName='+quotedstr(trim(FckName)) );
|
||
sql.Add('group by A.C_CodeName,A.C_Color,A.KCQtyUnit ');
|
||
sql.Add('order by A.C_CodeName,A.C_Color,A.KCQtyUnit ');
|
||
open;
|
||
end;
|
||
|
||
if GetLSNo(ADOQueryCmd,fpdid,'PD','CK_BanCP_PD',3,1)=False then
|
||
begin
|
||
Application.MessageBox('ȡӦ<C8A1><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
MovePanel2.Left:=(self.Width - MovePanel2 .Width ) div 2;
|
||
MovePanel2.Visible:=True;
|
||
MovePanel2.Refresh;
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from CK_BanCP_PD where 1=2');
|
||
open;
|
||
end;
|
||
|
||
while not adoqueryTmp.Eof do
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
append;
|
||
fieldbyName('PDID').Value:=fpdid;
|
||
fieldbyName('PDNO').Value:=adoqueryTmp.recNo;
|
||
fieldbyName('CKName').Value:=FckName;
|
||
fieldbyName('C_CodeName').Value:=trim(adoqueryTmp.fieldbyName('C_CodeName').AsString);
|
||
fieldbyName('C_Color').Value:=trim(adoqueryTmp.fieldbyName('C_Color').AsString);
|
||
fieldbyName('RollNum').Value:=adoqueryTmp.fieldbyName('RollNum').AsInteger;
|
||
fieldbyName('Qty').Value:=adoqueryTmp.fieldbyName('Qty').AsFloat;
|
||
fieldbyName('QtyUnit').Value:=trim(adoqueryTmp.fieldbyName('KCQtyUnit').AsString);
|
||
fieldbyName('Filler').Value:=trim(DName);
|
||
post;
|
||
end;
|
||
adoqueryTmp.Next;
|
||
end;
|
||
|
||
//˵<><CBB5>: CK_BanCP_KC PDFlag: 0:<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>״̬<D7B4><CCAC>-1<><31><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>棬1<E6A3AC><31><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>2:<3A>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('update CK_BanCP_KC SET PDFlag=-1 where KCQty<=0 ');
|
||
sql.Add('update CK_BanCP_KC SET PDFlag=1 where KCQty>0 ');
|
||
execsql;
|
||
end;
|
||
MovePanel2.Visible:=false;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
TBRafresh.Click;
|
||
except
|
||
MovePanel2.Visible:=false;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
|
||
end;
|
||
|
||
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.TnochkClick(Sender: TObject);
|
||
begin
|
||
IF CDS_Main.IsEmpty then exit;
|
||
|
||
if Application.MessageBox('ȷ<><C8B7><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('update CK_BanCP_KC SET PDFlag=0 where PDFlag<>0 ');
|
||
sql.Add('update CK_BanCP_PD SET status=1 where pdid='''+trim(CDS_Main.fieldbyName('pdid').AsString)+''' ');
|
||
execsql;
|
||
end;
|
||
TBRafresh.Click;
|
||
except
|
||
Application.MessageBox('<27>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCKPDlist.TBPDClick(Sender: TObject);
|
||
begin
|
||
frmPDSMEdit:=TfrmPDSMEdit.Create(self);
|
||
with frmPDSMEdit do
|
||
begin
|
||
show;
|
||
end;
|
||
end;
|
||
|
||
end.
|