D7snShanfengT/山峰贸易管理/U_CLManage.pas
DESKTOP-E401PHE\Administrator c363cb75a7 调整之后的山凤水泥厂
2026-02-26 09:41:35 +08:00

377 lines
9.2 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_CLManage;
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, cxCheckBox, RM_Common,
RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus,
cxCalendar, cxButtonEdit, cxTextEdit, cxPC, BtnEdit;
type
TfrmCLManage = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
Label4: TLabel;
Label5: TLabel;
CLName: TEdit;
FactoryName: TEdit;
Label6: TLabel;
CLXNo: TEdit;
Label3: TLabel;
CheHao: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1DJDate: TcxGridDBColumn;
v1CRType: TcxGridDBColumn;
v1FactoryName: TcxGridDBColumn;
v1CLName: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
v1CLXNo: TcxGridDBColumn;
v1JPSpec: TcxGridDBColumn;
Label1: TLabel;
Label2: TLabel;
JPSpec: TEdit;
Label7: TLabel;
CRType: TEdit;
v1CheHao: TcxGridDBColumn;
v1CLNote: TcxGridDBColumn;
ToolButton1: TToolButton;
TSsel: TToolButton;
cxTabControl1: TcxTabControl;
TCK: TToolButton;
v1CKType: TcxGridDBColumn;
Panel2: TPanel;
Label8: TLabel;
CKType: TBtnEditA;
v1CPNo: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
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 TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure FactoryNameKeyPress(Sender: TObject; var Key: Char);
procedure FactoryNameChange(Sender: TObject);
procedure SPSpecChange(Sender: TObject);
procedure CLNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TSselClick(Sender: TObject);
procedure TCKClick(Sender: TObject);
procedure CKTypeBtnClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
private
canshu1,canshu2,canshu3:string;
procedure InitGrid();
procedure setstatus();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCLManage: TfrmCLManage;
implementation
uses
U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut,U_CLXX_Sub, U_ZDYHelp;
{$R *.dfm}
procedure TfrmCLManage.setstatus();
begin
end;
procedure TfrmCLManage.FormDestroy(Sender: TObject);
begin
frmCLManage:=nil;
end;
procedure TfrmCLManage.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCLManage.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
canshu3:=Trim(DParameters3);
end;
procedure TfrmCLManage.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(',MJLCQty=LCQty+isnull((select Sum(GLQty*CLQty) from CK_CP_CR B where B.CPNo=A.CPNo),0)');
sql.Add(' from CLXX_Main A');
if cxTabControl1.TabIndex=0 then
sql.Add(' where isnull(CLStatus,'''')=''''');
if cxTabControl1.TabIndex=1 then
sql.Add(' where isnull(CLStatus,'''')=''1''');
SQL.Add(' order by A.DJDate desc');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCLManage.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmCLManage.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
end;
end;
procedure TfrmCLManage.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>FM2',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCLManage.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>FM2',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
//InitGrid();
end;
procedure TfrmCLManage.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmCLManage.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmCLManage.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main,True);
end;
procedure TfrmCLManage.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main,False);
end;
procedure TfrmCLManage.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete from CLXX_Main where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCLManage.TBAddClick(Sender: TObject);
begin
try
frmCLXX_Sub:=TfrmCLXX_Sub.Create(Application);
with frmCLXX_Sub do
begin
FBCId:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmCLXX_Sub.Free;
end;
end;
procedure TfrmCLManage.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
frmCLXX_Sub:=TfrmCLXX_Sub.Create(Application);
with frmCLXX_Sub do
begin
FBCId:=Trim(CDS_Main.fieldbyname('CLID').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmCLXX_Sub.Free;
end;
end;
procedure TfrmCLManage.FactoryNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
end;
end;
procedure TfrmCLManage.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCLManage.SPSpecChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCLManage.CLNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCLManage.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>1 then exit;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update CLXX_Main set CLStatus='''',CKType='''',CLDate=NULL where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCLManage.TSselClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then exit;
Modalresult:=1;
end;
procedure TfrmCLManage.TCKClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then exit;
if CKType.Text='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update CLXX_Main set CLStatus=''1'',CKType='''+trim(CKType.Text)+''',CLDate=getdate() where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCLManage.CKTypeBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='CKType';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
CKType.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCLManage.cxTabControl1Change(Sender: TObject);
begin
setstatus();
InitGrid();
end;
end.