D7wmbeiqi/贝其贸易管理/U_FrmCgBJList.pas
DESKTOP-E401PHE\Administrator 0843d5fa7d ~
2025-04-30 16:20:38 +08:00

502 lines
13 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_FrmCgBJList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, cxPC, ExtCtrls, StdCtrls, DBClient, cxCalendar,
RM_Dataset, RM_Common, RM_Class, RM_e_Xls, RM_System, RM_GridReport,
cxDropDownEdit, cxSplitter, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu;
type
TFrmCgBJList = class(TForm)
ToolBar1: TToolBar;
Tadd: TToolButton;
Tupdate: TToolButton;
Tdel: TToolButton;
TClose: TToolButton;
TSel: TToolButton;
TINIT: TToolButton;
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
TVSQNo: TcxGridDBColumn;
TVSQName: TcxGridDBColumn;
TVNote: TcxGridDBColumn;
TVC_CodeName: TcxGridDBColumn;
TVC_Spec: TcxGridDBColumn;
TVMFQty: TcxGridDBColumn;
TVKZQty: TcxGridDBColumn;
cxGridPopupMenu1: TcxGridPopupMenu;
DataSource1: TDataSource;
ADOQueryTmp: TADOQuery;
ADOQueryDel: TADOQuery;
Panel1: TPanel;
cxTabControl1: TcxTabControl;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Tchk: TToolButton;
TNochk: TToolButton;
cds_Main: TClientDataSet;
Label2: TLabel;
PONo: TEdit;
Label3: TLabel;
ConNo: TEdit;
Label4: TLabel;
P_CodeName: TEdit;
Label5: TLabel;
P_Spec: TEdit;
Label6: TLabel;
Label7: TLabel;
Tglv: TToolButton;
TVchktime: TcxGridDBColumn;
TVchker: TcxGridDBColumn;
P_MF: TEdit;
P_KZ: TEdit;
V1ConNo: TcxGridDBColumn;
V1PONo: TcxGridDBColumn;
V1Column1: TcxGridDBColumn;
TPrint: TToolButton;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
RMDBMain: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
RMDBsub: TRMDBDataSet;
V1Column2: TcxGridDBColumn;
V1Column4: TcxGridDBColumn;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
V1Column6: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
TVC_Note: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
DataSource2: TDataSource;
ADOQuerySub: TADOQuery;
cxSplitter1: TcxSplitter;
TBCopy: TToolButton;
DateTimePicker1: TDateTimePicker;
TV1Column1: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
ADOQueryMain: TADOQuery;
TV1Column6: TcxGridDBColumn;
TV1Column7: TcxGridDBColumn;
RMDB_HZ: TRMDBDataSet;
ADOQuery1: TADOQuery;
TV1Column8: TcxGridDBColumn;
Label8: TLabel;
orderno: TEdit;
procedure FormCreate(Sender: TObject);
procedure TCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TaddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TSelClick(Sender: TObject);
procedure TupdateClick(Sender: TObject);
procedure TINITClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure TdelClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TNochkClick(Sender: TObject);
procedure PONoChange(Sender: TObject);
procedure TglvClick(Sender: TObject);
procedure TPrintClick(Sender: TObject);
procedure TV1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TBCopyClick(Sender: TObject);
procedure ordernoChange(Sender: TObject);
private
procedure initData();
procedure setStatus();
procedure InitSub();
{ Private declarations }
public
Ftype: string;
{ Public declarations }
end;
var
FrmCgBJList: TFrmCgBJList;
implementation
uses U_DataLink,U_Fun,U_frmCgBjPut;
{$R *.dfm}
procedure TFrmCgBJList.InitSub();
begin
ADOQuerySub.Close;
IF cds_Main.IsEmpty then exit;
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from Contract_Sub_Sh ');
sql.Add('where mainID ='+quotedstr((cds_Main.fieldbyname('mainID').AsString)));
open;
end;
end;
procedure TFrmCgBJList.setStatus();
begin
Tupdate.Enabled:=true;
Tdel.Enabled:=true;
Tnochk.Visible:=False;
Tchk.Visible:=False;
if trim(Ftype)='<27><>Ȩ<EFBFBD><C8A8>' then
begin
if cxTabControl1.TabIndex=0 then
begin
Tupdate.Enabled:=true;
Tdel.Enabled:=true;
Tchk.Visible:=true;
end;
if cxTabControl1.TabIndex=1 then
begin
Tnochk.Visible:=true;
end;
end
else
begin
if cxTabControl1.TabIndex=0 then
begin
Tupdate.Enabled:=true;
Tdel.Enabled:=true;
end;
end;
end;
procedure TFrmCgBJList.initData();
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select A.* ');
sql.add('from CGBJ_Main A ');
// sql.Add('inner join CGBJ_zb D on D.mainid=A.mainid ');
sql.Add('where A.SQDate>='''+formatdatetime('yyyy-MM-dd',begdate.datetime)+''' ' );
sql.Add('and A.SQDate<'''+formatdatetime('yyyy-MM-dd',Enddate.datetime+1)+''' ' );
// if cxtabControl1.TabIndex=0 then
// sql.Add('and A.ChkStatus=''0'' ');
// if CxtabControl1.TabIndex=1 then
// sql.Add('and A.ChkStatus=''1'' ');
if trim(Ftype)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and A.SQName='''+trim(DName)+'''');
end;
// ShowMessage(SQL.Text);
open;
end;
SCreateCDS20(ADOQueryMain,cds_Main);
SInitCDSData20(ADOQueryMain,cds_Main);
end;
procedure TFrmCgBJList.FormCreate(Sender: TObject);
begin
cxGrid1.Align:=alclient;
end;
procedure TFrmCgBJList.TCloseClick(Sender: TObject);
begin
Close;
end;
procedure TFrmCgBJList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// writeCxGrid(self.Caption+tv1.Name,Tv1);
action:=cafree;
end;
procedure TFrmCgBJList.TaddClick(Sender: TObject);
begin
try
frmCgBjPut:=TfrmCgBjPut.create(self);
with frmCgBjPut do
begin
PState:=0;
FMainId:='';
if showmodal=1 then
begin
initData();
end;
end;
finally
frmCgBjPut.free;
end;
end;
procedure TFrmCgBJList.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption+tv1.Name,Tv1);
begdate.datetime:=SGetServerDateTime(ADOQueryTmp)-7;
enddate.datetime:=SGetServerDateTime(ADOQueryTmp);
setStatus();
initdata();
end;
procedure TFrmCgBJList.TSelClick(Sender: TObject);
begin
// if cds_Main.IsEmpty then exit;
// frmFabSQ:=TfrmFabSQ.create(self);
// with frmFabSQ do
// begin
// formid:=2;
// FMainId:=trim(FrmCgBJList.cds_Main.fieldbyname('Mainid').AsString);
// showmodal;
// free;
// end;
end;
procedure TFrmCgBJList.TupdateClick(Sender: TObject);
begin
// if cds_Main.IsEmpty then exit;
// try
// frmFabSQ:=TfrmFabSQ.create(self);
// with frmFabSQ do
// begin
// formid:=1;
// FMainId:=trim(FrmCgBJList.cds_Main.fieldbyname('Mainid').AsString);
// if showmodal=1 then
// begin
// initData();
// end;
// end;
// finally
// frmFabSQ.free;
// end;
try
frmCgBjPut:=TfrmCgBjPut.create(self);
with frmCgBjPut do
begin
PState:=1;
FMainId:=Trim(Self.cds_Main.fieldbyname('MainId').AsString);;
if showmodal=1 then
begin
initData();
end;
end;
finally
frmCgBjPut.free;
end;
end;
procedure TFrmCgBJList.TINITClick(Sender: TObject);
begin
initData();
end;
procedure TFrmCgBJList.TV1DblClick(Sender: TObject);
begin
Tsel.Click;
end;
procedure TFrmCgBJList.TdelClick(Sender: TObject);
begin
if cds_Main.IsEmpty then exit;
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
try
with ADOQueryDel do
begin
close;
sql.Clear;
sql.Add('delete from CGBJ_Main ');
sql.Add('where mainid='''+trim(cds_Main.fieldbyname('Mainid').AsString)+'''');
sql.Add('delete from CGBJ_Sub ');
sql.Add('where mainid='''+trim(cds_Main.fieldbyname('Mainid').AsString)+'''');
sql.Add('delete from CGBJ_ZB ');
sql.Add('where mainid='''+trim(cds_Main.fieldbyname('Mainid').AsString)+'''');
execsql;
end;
except
application.messagebox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD><CAA7>','<27><>ʾ',0);
end;
initdata();
end;
procedure TFrmCgBJList.FormDestroy(Sender: TObject);
begin
FrmCgBJList:=nil;
end;
procedure TFrmCgBJList.cxTabControl1Change(Sender: TObject);
begin
setStatus();
initData();
end;
procedure TFrmCgBJList.TchkClick(Sender: TObject);
begin
if cds_Main.IsEmpty then exit;
try
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('update contract_Main_Sh set chkstatus=''1'',chktime=getdate(),chker='+quotedstr(trim(Dname)));
sql.Add(' where Mainid='''+trim(cds_Main.fieldbyname('Mainid').asstring)+'''');
execsql;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>','<27><>ʾ');
initdata();
except
application.messagebox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>','<27><>ʾ');
end;
end;
procedure TFrmCgBJList.TNochkClick(Sender: TObject);
begin
if cds_Main.IsEmpty then exit;
try
{ with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from Contract_Main ');
sql.add('where SQNo='''+trim(cds_Main.fieldbyname('SQNo').asstring)+'''');
open;
if not isempty then
begin
application.MessageBox('<27>Ѳɹ<D1B2><C9B9><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>','<27><>ʾ');
exit;
end;
end; }
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('update contract_Main_Sh set chkstatus=''0'',chktime=null,chker=null');
sql.add(' where Mainid='''+trim(cds_Main.fieldbyname('Mainid').asstring)+'''');
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>','<27><>ʾ');
initdata();
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>','<27><>ʾ');
end;
end;
procedure TFrmCgBJList.PONoChange(Sender: TObject);
begin
SDofilter(AdoQueryTmp,SGetFilters(Panel1,1,0));
SCreateCDS20(AdoQueryTmp,cds_Main);
SInitCDSData20(AdoQueryTmp,cds_Main);
end;
procedure TFrmCgBJList.TglvClick(Sender: TObject);
begin
SDofilter(AdoQueryTmp,SGetFilters(Panel1,1,0));
SCreateCDS20(AdoQueryTmp,cds_Main);
SInitCDSData20(AdoQueryTmp,cds_Main);
end;
procedure TFrmCgBJList.TPrintClick(Sender: TObject);
var
fPrintFile:string;
begin
if cds_Main.IsEmpty then exit;
with ADOQueryPrint do
begin
close;
sql.clear;
sql.Add('select a.*,B.* ');
sql.add('from CGBJ_Main A ');
sql.Add('inner join CGBJ_Sub B on B.Mainid=A.Mainid ');
// sql.Add(' left join CGBJ_ZB D on D.mainID=A.Mainid ');
// sql.Add('inner join CGBJ_ZB D on D.Mainid=A.Mainid ');
// sql.Add('left join JYOrderFy_Other C on C.OrderNo=A.FYNO ');
sql.Add('where A.Mainid='''+trim(cds_Main.fieldbyname('Mainid').asstring)+''' ');
// ShowMessage(SQL.Text);
open;
end;
with ADOQuery1 do
begin
close;
sql.clear;
sql.Add(' select * from CGBJ_ZB where MainId='''+trim(cds_Main.fieldbyname('Mainid').asstring)+'''');
open;
end;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>۱<EFBFBD>.rmf' ;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
end;
end;
procedure TFrmCgBJList.TV1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
initsub();
end;
procedure TFrmCgBJList.TBCopyClick(Sender: TObject);
begin
// if cds_Main.IsEmpty then exit;
// begin
// formid:=3;
// FMainId:=trim(FrmCgBJList.cds_Main.fieldbyname('Mainid').AsString);
// showmodal;
// free;
// end;
frmCgBjPut:=TfrmCgBjPut.create(self);
with frmCgBjPut do
begin
PState := 1;
CopyInt := 99;
FMainId := Trim(Self.cds_Main.fieldbyname('MainId').AsString);
if showmodal=1 then
begin
initData();
end;
end;
end;
procedure TFrmCgBJList.ordernoChange(Sender: TObject);
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select A.* ');
sql.add('from CGBJ_Main A ');
sql.Add('where A.SQDate>='''+formatdatetime('yyyy-MM-dd',begdate.datetime)+''' ' );
sql.Add('and A.SQDate<'''+formatdatetime('yyyy-MM-dd',Enddate.datetime+1)+''' ' );
sql.Add('and A.orderno like '''+'%'+Trim(OrderNo.Text)+'%'+''' ');
if trim(Ftype)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and A.SQName='''+trim(DName)+'''');
end;
open;
end;
SCreateCDS20(ADOQueryMain,cds_Main);
SInitCDSData20(ADOQueryMain,cds_Main);
end;
end.