D7myYunxiang/云翔OA(WTOA.dll)/U_KDDeptList.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

420 lines
11 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_KDDeptList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter,
RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport,
cxTextEdit, cxPC, cxCheckBox, Menus;
type
TfrmKDDeptList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
ToolButton3: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ComboBox2: TComboBox;
Label3: TLabel;
Label1: TLabel;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
ADOQueryPrint: TADOQuery;
cxTabControl1: TcxTabControl;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column10: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
KDNO: TEdit;
Country: TEdit;
KHName: TEdit;
KDType: TEdit;
FKType: TEdit;
v1KHName: TcxGridDBColumn;
v1QSDate: TcxGridDBColumn;
Label10: TLabel;
JYPerson: TEdit;
Label2: TLabel;
KDComName: TEdit;
v1ConNo: TcxGridDBColumn;
Label4: TLabel;
ConNO: TEdit;
v1FKName: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure WorkerChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure edtKDNOKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
FInt,PFInt:Integer;
canshu1,canshu2:string;
FNowDate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
procedure InitGridWsql(fsj:string);
{ Private declarations }
public
{ Public declarations }
end;
var
frmKDDeptList: TfrmKDDeptList;
implementation
uses
U_DataLink,U_RTFun,U_KDInPut,U_ModuleNote, U_ZDYHelp;
{$R *.dfm}
procedure TfrmKDDeptList.FormDestroy(Sender: TObject);
begin
frmKDDeptList:=nil;
end;
procedure TfrmKDDeptList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmKDDeptList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Ų鿴',Tv1,'<27>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmKDDeptList.InitGrid();
var
fsj,fsjHZ:String;
begin
fsjHZ:='';
if cxTabControl1.TabIndex<>0 then
begin
fsj:=TA(ComboBox2.Items.Objects[ComboBox2.Items.IndexOf(Trim(ComboBox2.Text))]).S;
fsjHZ:=fsjHZ+' and A.'+Trim(fsj)+'>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''';
fsjHZ:=fsjHZ+' and A.'+Trim(fsj)+'<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''';
end;
if cxTabControl1.TabIndex=0 then
begin
fsjHZ:=fsjHZ+' and (isnull(A.Status,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' or isnull(A.Status,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') ';
end else
if cxTabControl1.TabIndex=1 then
begin
fsjHZ:=fsjHZ+' and isnull(A.Status,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ';
end else
if cxTabControl1.TabIndex=2 then
begin
fsjHZ:=fsjHZ+' and isnull(A.Status,'''')=''<27><><EFBFBD>˲<EFBFBD>ͨ<EFBFBD><CDA8>'' ';
end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' exec P_View_KDDeptView :canshu1,:WSql,:DCode ');
Parameters.ParamByName('canshu1').Value:='';
Parameters.ParamByName('WSql').Value:=fsjHZ;
Parameters.ParamByName('DCode').Value:=Trim(DCode);
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmKDDeptList.InitForm();
begin
FNowDate:=SGetServerDate(ADOQueryTemp);
EndDate.Date:=SGetServerDateMEnd(ADOQueryTemp);
BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp);
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Ų鿴',Tv1,'<27>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>');
//InitGrid();
end;
function TfrmKDDeptList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
while Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete KuaiDi_Money where KDId='''+Trim(Order_Main.fieldbyname('KDId').AsString)+'''');
ExecSQL;
end;
Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmKDDeptList.TBExportClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
TcxGridToExcel('<27>ļ<EFBFBD><C4BC><EFBFBD>Ϣ',cxGrid1);
end;
procedure TfrmKDDeptList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKDDeptList.FormShow(Sender: TObject);
var
i:Integer;
begin
InitForm();
SInitComBoxByTvColumns(ComboBox2,Tv1,999,True,True);
end;
procedure TfrmKDDeptList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKDDeptList.ToolButton3Click(Sender: TObject);
begin
try
frmModuleNote:=TfrmModuleNote.Create(Application);
with frmModuleNote do
begin
flag:='<27>ļ<EFBFBD><C4BC><EFBFBD>Ϣ<EFBFBD>Ǽ<EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmModuleNote.Free;
end;
end;
procedure TfrmKDDeptList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
end;
procedure TfrmKDDeptList.InitGridWsql(fsj:string);
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
SQL.Add(' from KuaiDi_Money A');
sql.Add(' where isnull(HZType,'''')='''' ');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add('and (Filler in(select UserName from SY_User where DPID in');
sql.Add(' (select DPID from SY_User where UserName='''+Trim(DName)+'''))');
SQL.Add(' )');
end;
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(A.Status,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(A.Status,'''')<>'''' and isnull(A.MoneyPerson,'''')='''' ');
end else
if cxTabControl1.TabIndex=2 then
begin
sql.Add(' and isnull(A.MoneyPerson,'''')<>'''' ');
end;
sql.Add(fsj);
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmKDDeptList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKDDeptList.WorkerChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmKDDeptList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmKDDeptList.ToolButton4Click(Sender: TObject);
var
fPrintFile:String;
begin
if Order_Main.IsEmpty then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf' ;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while not eof do
begin
if Order_Main.FieldByName('SSel').AsBoolean=True then
begin
{with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrder_Main_MD where MDID='''+Trim(Order_Main.fieldbyname('MDID').AsString)+'''');
Open;
end;
if ADOQueryTemp.FieldByName('NotPrint').AsBoolean=True then
begin
Order_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD>ܴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
if FileExists(fPrintFile) then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select B.OrderNo,B.MPRTCodeName,B.MPRTMF,B.MPRTKZ,C.PRTHX,C.PRTColorNo,C.PRTColor,GangNo=A.GangNo,A.PS,A.Qty,A.QtyUnit,A.MDID ');
SQL.Add(',B.MPRTCode,B.MPRTGY,C.PRTColorEng,A.SelfGangNo');
sql.Add('from JYOrder_Main_MD A');
sql.Add('inner join JYOrder_Main B on A.OrdMainid=B.Mainid');
sql.Add(' inner join JYOrder_Sub C on A.OrdSubid=C.SubId');
sql.Add(' where A.MDID='''+Trim(Order_Main.fieldbyname('MDID').AsString)+'''');
Open;
end;
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
end else
begin
Order_Main.DisableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf'),'<27><>ʾ',0);
Exit;
end;
end;
Next;
end;
end;
Order_Main.EnableControls;
end;
procedure TfrmKDDeptList.edtKDNOKeyPress(Sender: TObject; var Key: Char);
var
fsj:String;
begin
if Key<>#13 then Exit;
if Length(Trim(KDNo.Text))<3 then Exit;
fsj:=' and A.KDNo like '''+'%'+Trim(KDNo.Text)+'%'+'''';
InitGridWsql(fsj);
end;
procedure TfrmKDDeptList.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main,True);
end;
procedure TfrmKDDeptList.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main,False);
end;
end.