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

431 lines
14 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_CLManageJBC_GZMX;
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;
type
TfrmCLManageJBC_GZMX = 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;
TBChk: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
Label3: TLabel;
JSYName: TEdit;
Label1: TLabel;
TCXChk: TToolButton;
TDel: TToolButton;
Label5: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
TGY: TToolButton;
RadioGroup1: TRadioGroup;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1GZMonth: TcxGridDBColumn;
v1JSYName: TcxGridDBColumn;
v1CQDay: TcxGridDBColumn;
v1QJDay: TcxGridDBColumn;
v1GZMoney: TcxGridDBColumn;
v1KGMoney: TcxGridDBColumn;
v1AQMoney: TcxGridDBColumn;
v1JBMoney: TcxGridDBColumn;
v1CCQty: TcxGridDBColumn;
v1YunFMoney: TcxGridDBColumn;
v1FLQty: TcxGridDBColumn;
v1CFMoney: TcxGridDBColumn;
v1SPQty: TcxGridDBColumn;
v1SPMoney: TcxGridDBColumn;
v1YHMoney: TcxGridDBColumn;
v1JJMoney: TcxGridDBColumn;
v1BDBZMoney: TcxGridDBColumn;
v1NZJMoney: TcxGridDBColumn;
v1ZMoney: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
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 TBChkClick(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 CLXNoChange(Sender: TObject);
procedure TCXChkClick(Sender: TObject);
procedure TDelClick(Sender: TObject);
procedure TGYClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
canshu1,canshu2,canshu3:string;
procedure InitGrid();
procedure setstatus();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCLManageJBC_GZMX: TfrmCLManageJBC_GZMX;
implementation
uses
U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut,U_CLXX_Sub, U_CLJBC_Sub;
{$R *.dfm}
procedure TfrmCLManageJBC_GZMX.setstatus();
begin
end;
procedure TfrmCLManageJBC_GZMX.FormDestroy(Sender: TObject);
begin
frmCLManageJBC_GZMX:=nil;
end;
procedure TfrmCLManageJBC_GZMX.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCLManageJBC_GZMX.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
canshu3:=Trim(DParameters3);
end;
procedure TfrmCLManageJBC_GZMX.InitGrid();
begin
if RadioGroup1.ItemIndex=1 then
begin
v1GZMonth.Caption:='<27>·<EFBFBD>';
label5.Caption:='<27>·<EFBFBD>';
begdate.Format:='yyyy-MM';
enddate.Format:='yyyy-MM';
EndDate.Visible:=true;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CLJSY_Main A');
sql.Add(' where GZMonth>='''+trim(FormatDateTime('yyyy-MM',BegDate.Date))+'''');
sql.Add(' and GZMonth<='''+trim(FormatDateTime('yyyy-MM',endDate.Date))+'''');
SQL.Add(' order by A.DJDate desc');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally;
ADOQueryMain.EnableControls;
end;
end;
if RadioGroup1.ItemIndex=0 then
begin
v1GZMonth.Caption:='<27><><EFBFBD><EFBFBD>';
label5.Caption:='<27><><EFBFBD><EFBFBD>';
EndDate.Visible:=false;
begdate.Format:='yyyy';
enddate.Format:='yyyy';
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select substring(GZMonth,1,4) GZMonth,JSYName,Sum(GZMoney) GZMoney,Sum(KGMoney) KGMoney,Sum(AQMoney) AQMoney');
sql.Add(',Sum(WSMoney) WSMoney,Sum(TelMoney) TelMoney,Sum(QJKKMoney) QJKKMoney,Sum(JBMoney) JBMoney,Sum(CCQty) CCQty,Sum(YunFMoney) YunFMoney');
sql.add(',Sum(FLQty) FLQty,Sum(CFMoney) CFMoney,Sum(SPQty) SPQty,Sum(SPMoney) SPMoney,Sum(YHMoney) YHMoney,Sum(JJMoney) JJMoney');
sql.Add(',Sum(BDBZMoney) BDBZMoney,Sum(WWCKKMoney) WWCKKMoney,Sum(NZJMoney) NZJMoney,Sum(ZMoney) ZMoney');
sql.Add(' from CLJSY_Main A');
sql.Add(' where substring(GZMonth,1,4)>='''+trim(FormatDateTime('yyyy',BegDate.Date))+'''');
sql.Add(' and substring(GZMonth,1,4)<='''+trim(FormatDateTime('yyyy',endDate.Date))+'''');
SQL.Add(' group by substring(GZMonth,1,4),JSYName');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally;
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmCLManageJBC_GZMX.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmCLManageJBC_GZMX.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
end;
end;
procedure TfrmCLManageJBC_GZMX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>ʻԱ<CABB><D4B1><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>1',Tv1,'<27><>ʻ<EFBFBD><CABB><EFBFBD>˹<EFBFBD><CBB9><EFBFBD>');
Close;
end;
procedure TfrmCLManageJBC_GZMX.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>ʻԱ<CABB><D4B1><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>1',Tv1,'<27><>ʻ<EFBFBD><CABB><EFBFBD>˹<EFBFBD><CBB9><EFBFBD>');
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime;
//InitGrid();
end;
procedure TfrmCLManageJBC_GZMX.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then exit;
TcxGridToExcel('<27><>ʻԱ<CABB><D4B1><EFBFBD><EFBFBD>',cxGrid2);
end;
procedure TfrmCLManageJBC_GZMX.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 TfrmCLManageJBC_GZMX.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main,True);
end;
procedure TfrmCLManageJBC_GZMX.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main,False);
end;
procedure TfrmCLManageJBC_GZMX.TBChkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update CLXX_Main set CLStatus=''<27><><EFBFBD><EFBFBD>'' where CLID='''+Trim(CDS_Main.fieldbyname('CLID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>','<27><>ʾ');
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCLManageJBC_GZMX.TBAddClick(Sender: TObject);
begin
try
frmCLJBC_Sub:=TfrmCLJBC_Sub.Create(Application);
with frmCLJBC_Sub do
begin
FBCId:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmCLJBC_Sub.Free;
end;
end;
procedure TfrmCLManageJBC_GZMX.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
frmCLJBC_Sub:=TfrmCLJBC_Sub.Create(Application);
with frmCLJBC_Sub do
begin
FBCId:=Trim(CDS_Main.fieldbyname('JSMainid').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally;
frmCLJBC_Sub.Free;
end;
end;
procedure TfrmCLManageJBC_GZMX.FactoryNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
end;
end;
procedure TfrmCLManageJBC_GZMX.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCLManageJBC_GZMX.SPSpecChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCLManageJBC_GZMX.CLXNoChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCLManageJBC_GZMX.TCXChkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty 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='''' 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 TfrmCLManageJBC_GZMX.TDelClick(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 CLJSY_Main where JSYID='''+Trim(CDS_Main.fieldbyname('JSYID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCLManageJBC_GZMX.TGYClick(Sender: TObject);
var
fPrintFile:string;
Porderno,LBName:string;
i,j:Integer;
begin
if CDS_Main.IsEmpty then Exit;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><>ʻԱ<CABB><D4B1><EFBFBD>¹<EFBFBD><C2B9>ʻ<EFBFBD><CABB><EFBFBD>.rmf' ;
with ADOQueryTemp do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select AA.*,ZMoney=isnull(Month1,0)+isnull(Month2,0)+isnull(Month3,0)+isnull(Month4,0)+isnull(Month5,0)+isnull(Month6,0)+isnull(Month7,0)+isnull(Month8,0)+isnull(Month9,0)');
sql.Add('+isnull(Month10,0)+isnull(Month11,0)+isnull(Month12,0)');
sql.add(',GZPJMoney=(case when isnull(GQty,0)=0 then 0 else (isnull(Month1,0)+isnull(Month2,0)+isnull(Month3,0)+isnull(Month4,0)+isnull(Month5,0)+isnull(Month6,0)+isnull(Month7,0)+isnull(Month8,0)+isnull(Month9,0)');
sql.Add('+isnull(Month10,0)+isnull(Month11,0)+isnull(Month12,0))/GQty end)');
sql.Add(',PJYHMoney=(case when isnull(YHQty,0)=0 then 0 else YHMoney/YHQty end),PJCFMoney=(case when isnull(CFQty,0)=0 then 0 else CFMoney/CFQty end)');
sql.Add(' from (select substring(A.GZMonth,1,4) Date,A.JSYName,Sum(case when isnull(A.ZMoney,0)=0 then 0 else 1 end) GQty,Sum(case when isnull(A.YHMoney,0)=0 then 0 else 1 end) YHQty');
sql.Add(',Sum(case when isnull(A.CFMoney,0)=0 then 0 else 1 end) CFQty');
sql.Add(',Month1=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''01'')');
sql.Add(',Month2=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''02'')');
sql.Add(',Month3=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''03'')');
sql.Add(',Month4=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''04'')');
sql.Add(',Month5=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''05'')');
sql.Add(',Month6=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''06'')');
sql.Add(',Month7=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''07'')');
sql.Add(',Month8=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''08'')');
sql.Add(',Month9=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''09'')');
sql.Add(',Month10=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''10'')');
sql.Add(',Month11=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''11'')');
sql.Add(',Month12=(select Sum(B.ZMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName and substring(B.GZMonth,6,7)=''12'')');
sql.Add(',YHMoney=(select Sum(B.YHMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName)');
sql.Add(',CFMoney=(select Sum(B.CFMoney) from CLJSY_Main B where substring(B.GZMonth,1,4)=substring(A.GZMonth,1,4) and B.JSYName=A.JSYName)');
sql.Add(' from CLJSY_Main A ');
sql.Add('where substring(A.GZMonth,1,4)='''+trim(FormatDateTime('yyyy',begDate.Date))+'''');
sql.Add(' group by substring(A.GZMonth,1,4),A.JSYName) AA');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_PRT);
SInitCDSData20(ADOQueryTemp,CDS_PRT);
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><>ʻԱ<CABB><D4B1><EFBFBD>¹<EFBFBD><C2B9>ʻ<EFBFBD><CABB><EFBFBD>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmCLManageJBC_GZMX.RadioGroup1Click(Sender: TObject);
begin
TBRafresh.Click;
end;
end.