D7myzhenyong/寄样管理(SendSample.dll)/U_BpDYlist.pas

412 lines
10 KiB
ObjectPascal
Raw Normal View History

2025-08-26 15:25:51 +08:00
unit U_BpDYlist;
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;
type
TfrmBpDYlist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1P_MF: TcxGridDBColumn;
v1P_KZ: TcxGridDBColumn;
v1RollNum: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
Label3: TLabel;
Label4: TLabel;
P_CodeName: TEdit;
P_Code: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
v1CPTYPE: TcxGridDBColumn;
v1P_Color: TcxGridDBColumn;
ADOPrint: TADOQuery;
RMDB_MD: TRMDBDataSet;
RMGridReport1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
v1P_Code: TcxGridDBColumn;
v1inoutNO: TcxGridDBColumn;
ywy: TEdit;
Label7: TLabel;
v1custName: TcxGridDBColumn;
TbPrint1: TToolButton;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
P_Color: TEdit;
Label9: TLabel;
custName: TEdit;
Label2: TLabel;
Tchk: TToolButton;
Tnochk: TToolButton;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
ADOQuery1: TADOQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TbPrint1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
fCKName: string;
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_BpDY;
{$R *.dfm}
procedure TfrmBpDYlist.SetStatus();
begin
TBAdd.Visible := false;
TBedit.Visible := false;
Tbdel.Visible := false;
Tchk.Visible := false;
Tnochk.Visible := false;
if trim(canshu1) = <><C2BC>' then
begin
TBAdd.Visible := true;
case cxTabControl1.TabIndex of
0:
begin
TBedit.Visible := true;
Tbdel.Visible := true;
end;
1:
begin
// tbcdel.Visible:=true;
end;
end;
end
else if trim(canshu1) = '<27><><EFBFBD><EFBFBD>' then
begin
TBAdd.Visible := true;
case cxTabControl1.TabIndex of
0:
begin
TBedit.Visible := true;
Tbdel.Visible := true;
Tchk.Visible := true;
end;
1:
begin
Tnochk.Visible := true;
end;
end;
end;
end;
procedure TfrmBpDYlist.InitGrid();
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.*from YP_InOut A');
sql.Add('where CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
sql.Add('and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add('and valid=''Y'' ');
SQL.Add('and crtype=''<27><><EFBFBD><EFBFBD>'' ');
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 TfrmBpDYlist.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Action := cafree;
end;
procedure TfrmBpDYlist.TBAddClick(Sender: TObject);
begin
frmbpDY := TfrmbpDY.create(self);
with frmbpDY do
begin
fkeyNo := '';
fType := 0;
fckName := self.fckName;
canshu1 := self.canshu1;
if trim(self.canshu1) = <><C2BC>' then
begin
ywy.text := trim(Dname);
ywy.Enabled := false;
end;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmBpDYlist.P_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 TfrmBpDYlist.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
SetStatus();
InitGrid();
end;
procedure TfrmBpDYlist.FormCreate(Sender: TObject);
begin
EndDate.Date := SGetServerDate(ADOQueryTmp);
BegDate.Date := EndDate.Date - 7;
end;
procedure TfrmBpDYlist.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBpDYlist.TBEditClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add(' select 1 from YF_Money_CR ');
// SQL.Add(' where status=''1'' and CRTime=''' + CDS_Main.FieldByName('CRTime').AsString + ''' ');
// SQL.Add(' and MainId=''' + Trim(CDS_Main.FieldByName('CRNO').AsString) + ''' ');
// SQL.Add(' and SubId=''' + Trim(CDS_Main.FieldByName('CRID').AsString) + ''' ');
// Open;
// end;
// if not ADOQueryCmd.IsEmpty then
// begin
// Application.MessageBox('Ӧ<>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8>', '<27><>ʾ', 0);
// Exit;
// end;
frmbpdy := Tfrmbpdy.create(self);
with frmbpdy do
begin
fkeyNo := self.cds_main.fieldbyname('CRNO').AsString;
fType := 1;
fckName := self.fckName;
canshu1 := self.canshu1;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmBpDYlist.TBDelClick(Sender: TObject);
var
YFID, CRID: string;
begin
if CDS_Main.IsEmpty then
Exit;
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add(' select 1 from YF_Money_CR ');
// SQL.Add(' where status=''1'' and CRTime=''' + CDS_Main.FieldByName('CRTime').AsString + ''' ');
// SQL.Add(' and MainId=''' + Trim(CDS_Main.FieldByName('CRNO').AsString) + ''' ');
// SQL.Add(' and SubId=''' + Trim(CDS_Main.FieldByName('CRID').AsString) + ''' ');
// Open;
// end;
// if not ADOQueryCmd.IsEmpty then
// begin
// Application.MessageBox('Ӧ<>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
// Exit;
// end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><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 YP_InOut SET valid=''N'' ');
sql.Add(',editer=' + quotedstr(trim(DName)));
sql.Add(',edittime=getdate()');
SQL.Add('where CRNO=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
sql.Add('delete from YF_money_CR ');
SQL.Add('where mainID=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
SQL.Add('and subID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' ');
execsql;
end;
TBRafresh.Click;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmBpDYlist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmBpDYlist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmBpDYlist.TbPrint1Click(Sender: TObject);
var
filepath: string;
begin
if CDS_Main.IsEmpty then
exit;
with AdoPrint do
begin
close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from YP_INout A ');
sql.Add(' where A.inoutNo=' + quotedstr(trim(CDS_Main.fieldbyname('inoutNO').AsString)));
open;
end;
try
filepath := ExtractFilePath(Application.ExeName) + 'report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>[' + filepath + ']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'), '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_IConError);
exit;
end;
RMVariables['dtxz'] := FormatDateTime('yyyy-mm-dd', date());
RMVariables['zdr'] := trim(DName);
RMGridReport1.LoadFromFile(filepath);
RMGridReport1.ShowReport;
finally
end;
end;
procedure TfrmBpDYlist.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initGrid();
end;
procedure TfrmBpDYlist.TchkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YP_InOut SET status=''1'' ');
sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmBpDYlist.TnochkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YP_InOut SET status=''0'' ');
sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
end.