D7wmbeiqi/贝其贸易管理/U_FrmCgBJList.pas

520 lines
14 KiB
ObjectPascal
Raw Normal View History

2025-04-30 16:20:38 +08:00
unit U_FrmCgBJList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
2025-08-23 10:12:41 +08:00
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, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter;
2025-04-30 16:20:38 +08:00
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);
2025-08-23 10:12:41 +08:00
procedure TV1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:20:38 +08:00
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
2025-08-23 10:12:41 +08:00
uses
U_DataLink, U_Fun, U_frmCgBjPut;
2025-04-30 16:20:38 +08:00
{$R *.dfm}
procedure TFrmCgBJList.InitSub();
begin
ADOQuerySub.Close;
2025-08-23 10:12:41 +08:00
if cds_Main.IsEmpty then
exit;
2025-04-30 16:20:38 +08:00
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from Contract_Sub_Sh ');
2025-08-23 10:12:41 +08:00
sql.Add('where mainID =' + quotedstr((cds_Main.fieldbyname('mainID').AsString)));
2025-04-30 16:20:38 +08:00
open;
end;
end;
procedure TFrmCgBJList.setStatus();
begin
2025-08-23 10:12:41 +08:00
Tupdate.Enabled := true;
Tdel.Enabled := true;
Tnochk.Visible := False;
Tchk.Visible := False;
if trim(Ftype) = '<27><>Ȩ<EFBFBD><C8A8>' then
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
if cxTabControl1.TabIndex = 0 then
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
Tupdate.Enabled := true;
Tdel.Enabled := true;
Tchk.Visible := true;
2025-04-30 16:20:38 +08:00
end;
2025-08-23 10:12:41 +08:00
if cxTabControl1.TabIndex = 1 then
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
Tnochk.Visible := true;
2025-04-30 16:20:38 +08:00
end;
end
else
begin
2025-08-23 10:12:41 +08:00
if cxTabControl1.TabIndex = 0 then
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
Tupdate.Enabled := true;
Tdel.Enabled := true;
2025-04-30 16:20:38 +08:00
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 ');
2025-08-23 10:12:41 +08:00
sql.Add('where A.SQDate>=''' + formatdatetime('yyyy-MM-dd', begdate.datetime) + ''' ');
sql.Add('and A.SQDate<''' + formatdatetime('yyyy-MM-dd', Enddate.datetime + 1) + ''' ');
2025-04-30 16:20:38 +08:00
// if cxtabControl1.TabIndex=0 then
// sql.Add('and A.ChkStatus=''0'' ');
// if CxtabControl1.TabIndex=1 then
// sql.Add('and A.ChkStatus=''1'' ');
2025-08-23 10:12:41 +08:00
if trim(Ftype) <> '<27><>Ȩ<EFBFBD><C8A8>' then
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
sql.Add('and A.SQName=''' + trim(DName) + '''');
2025-04-30 16:20:38 +08:00
end;
// ShowMessage(SQL.Text);
open;
end;
2025-08-23 10:12:41 +08:00
SCreateCDS20(ADOQueryMain, cds_Main);
SInitCDSData20(ADOQueryMain, cds_Main);
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.FormCreate(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
cxGrid1.Align := alclient;
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.TCloseClick(Sender: TObject);
begin
Close;
end;
procedure TFrmCgBJList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// writeCxGrid(self.Caption+tv1.Name,Tv1);
2025-08-23 10:12:41 +08:00
Action := cafree;
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.TaddClick(Sender: TObject);
begin
try
2025-08-23 10:12:41 +08:00
frmCgBjPut := TfrmCgBjPut.create(self);
2025-04-30 16:20:38 +08:00
with frmCgBjPut do
begin
2025-08-23 10:12:41 +08:00
PState := 0;
FMainId := '';
if showmodal = 1 then
2025-04-30 16:20:38 +08:00
begin
initData();
end;
end;
finally
frmCgBjPut.free;
end;
end;
procedure TFrmCgBJList.FormShow(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
ReadCxGrid(self.Caption + tv1.Name, Tv1);
begdate.datetime := SGetServerDateTime(ADOQueryTmp) - 7;
enddate.datetime := SGetServerDateTime(ADOQueryTmp);
2025-04-30 16:20:38 +08:00
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
2025-08-23 10:12:41 +08:00
frmCgBjPut := TfrmCgBjPut.create(self);
2025-04-30 16:20:38 +08:00
with frmCgBjPut do
begin
2025-08-23 10:12:41 +08:00
PState := 1;
FMainId := Trim(Self.cds_Main.fieldbyname('MainId').AsString);
;
if showmodal = 1 then
2025-04-30 16:20:38 +08:00
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
2025-08-23 10:12:41 +08:00
if cds_Main.IsEmpty then
exit;
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
exit;
2025-04-30 16:20:38 +08:00
try
with ADOQueryDel do
begin
close;
sql.Clear;
sql.Add('delete from CGBJ_Main ');
2025-08-23 10:12:41 +08:00
sql.Add('where mainid=''' + trim(cds_Main.fieldbyname('Mainid').AsString) + '''');
2025-04-30 16:20:38 +08:00
sql.Add('delete from CGBJ_Sub ');
2025-08-23 10:12:41 +08:00
sql.Add('where mainid=''' + trim(cds_Main.fieldbyname('Mainid').AsString) + '''');
2025-04-30 16:20:38 +08:00
sql.Add('delete from CGBJ_ZB ');
2025-08-23 10:12:41 +08:00
sql.Add('where mainid=''' + trim(cds_Main.fieldbyname('Mainid').AsString) + '''');
2025-04-30 16:20:38 +08:00
execsql;
end;
except
2025-08-23 10:12:41 +08:00
application.messagebox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD><CAA7>', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
end;
initdata();
end;
procedure TFrmCgBJList.FormDestroy(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
FrmCgBJList := nil;
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.cxTabControl1Change(Sender: TObject);
begin
setStatus();
initData();
end;
procedure TFrmCgBJList.TchkClick(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
if cds_Main.IsEmpty then
exit;
2025-04-30 16:20:38 +08:00
try
with ADOQueryTmp do
begin
close;
sql.Clear;
2025-08-23 10:12:41 +08:00
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) + '''');
2025-04-30 16:20:38 +08:00
execsql;
end;
2025-08-23 10:12:41 +08:00
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
2025-04-30 16:20:38 +08:00
initdata();
except
2025-08-23 10:12:41 +08:00
application.messagebox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>', '<27><>ʾ');
2025-04-30 16:20:38 +08:00
end;
end;
procedure TFrmCgBJList.TNochkClick(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
if cds_Main.IsEmpty then
exit;
2025-04-30 16:20:38 +08:00
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');
2025-08-23 10:12:41 +08:00
sql.add(' where Mainid=''' + trim(cds_Main.fieldbyname('Mainid').asstring) + '''');
2025-04-30 16:20:38 +08:00
execsql;
end;
2025-08-23 10:12:41 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
2025-04-30 16:20:38 +08:00
initdata();
except
2025-08-23 10:12:41 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>', '<27><>ʾ');
2025-04-30 16:20:38 +08:00
end;
end;
procedure TFrmCgBJList.PONoChange(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
SDofilter(AdoQueryTmp, SGetFilters(Panel1, 1, 0));
SCreateCDS20(AdoQueryTmp, cds_Main);
SInitCDSData20(AdoQueryTmp, cds_Main);
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.TglvClick(Sender: TObject);
begin
2025-08-23 10:12:41 +08:00
SDofilter(AdoQueryTmp, SGetFilters(Panel1, 1, 0));
SCreateCDS20(AdoQueryTmp, cds_Main);
SInitCDSData20(AdoQueryTmp, cds_Main);
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.TPrintClick(Sender: TObject);
var
2025-08-23 10:12:41 +08:00
fPrintFile: string;
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
if cds_Main.IsEmpty then
exit;
2025-04-30 16:20:38 +08:00
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 ');
2025-08-23 10:12:41 +08:00
sql.Add('where A.Mainid=''' + trim(cds_Main.fieldbyname('Mainid').asstring) + ''' ');
2025-04-30 16:20:38 +08:00
// ShowMessage(SQL.Text);
open;
end;
with ADOQuery1 do
begin
close;
sql.clear;
2025-08-23 10:12:41 +08:00
sql.Add(' select * from CGBJ_ZB where MainId=''' + trim(cds_Main.fieldbyname('Mainid').asstring) + '''');
2025-04-30 16:20:38 +08:00
open;
end;
2025-08-23 10:12:41 +08:00
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>۱<EFBFBD>.rmf';
2025-04-30 16:20:38 +08:00
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
2025-08-23 10:12:41 +08:00
end
else
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + trim(fPrintFile)), '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
end;
end;
2025-08-23 10:12:41 +08:00
procedure TFrmCgBJList.TV1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:20:38 +08:00
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;
2025-08-23 10:12:41 +08:00
frmCgBjPut := TfrmCgBjPut.create(self);
with frmCgBjPut do
begin
PState := 1;
CopyInt := 99;
FMainId := Trim(Self.cds_Main.fieldbyname('MainId').AsString);
if showmodal = 1 then
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
initData();
2025-04-30 16:20:38 +08:00
end;
2025-08-23 10:12:41 +08:00
end;
2025-04-30 16:20:38 +08:00
end;
procedure TFrmCgBJList.ordernoChange(Sender: TObject);
begin
with ADOQueryMain do
begin
2025-08-23 10:12:41 +08:00
close;
2025-04-30 16:20:38 +08:00
sql.Clear;
sql.Add('select A.* ');
sql.add('from CGBJ_Main A ');
2025-08-23 10:12:41 +08:00
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
2025-04-30 16:20:38 +08:00
begin
2025-08-23 10:12:41 +08:00
sql.Add('and A.SQName=''' + trim(DName) + '''');
2025-04-30 16:20:38 +08:00
end;
open;
end;
2025-08-23 10:12:41 +08:00
SCreateCDS20(ADOQueryMain, cds_Main);
SInitCDSData20(ADOQueryMain, cds_Main);
2025-04-30 16:20:38 +08:00
end;
end.
2025-08-23 10:12:41 +08:00