D7myYunxiang/云翔OA(WTOA.dll)/U_YGYPCSList.pas

504 lines
14 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_YGYPCSList;
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, cxCheckBox, cxCalendar, cxSplitter,
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls,
Menus, cxButtonEdit, cxDropDownEdit, cxPC;
type
TfrmYGYPCSList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
TBView: TToolButton;
Panel1: TPanel;
TBSChk: TToolButton;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N1: TMenuItem;
TBSCancel: TToolButton;
BegDate: TDateTimePicker;
Label3: TLabel;
EndDate: TDateTimePicker;
Label4: TLabel;
cxTabControl1: TcxTabControl;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column5: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column15: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column29: TcxGridDBColumn;
v1Column30: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column10: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure TBViewClick(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure TBSChkClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure TBSCancelClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton1Click(Sender: TObject);
private
canshu1:string;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmYGYPCSList: TfrmYGYPCSList;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut;
{$R *.dfm}
procedure TfrmYGYPCSList.FormDestroy(Sender: TObject);
begin
frmYGYPCSList:=nil;
end;
procedure TfrmYGYPCSList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYGYPCSList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
cxgrid1.Align:=alClient;
end;
procedure TfrmYGYPCSList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('ӦƸ<D3A6><C6B8>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
end;
procedure TfrmYGYPCSList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(' from OA_YG_DangAn A ');
sql.Add(' where QCType=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' and isnull(SChker,'''')<>'''' ');
if cxTabControl1.TabIndex<>0 then
begin
sql.Add(' and YPDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and YPDate<='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
if cxTabControl1.TabIndex<>10 then
begin
sql.Add(' and isnull(HZStatus,'''')='''+Trim(cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption)+'''');
end;
{if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(SChker,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(SChker,'''')<>'''' ');
sql.Add(' and isnull(ChuShiStatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=2 then
begin
sql.Add(' and isnull(ChuShiStatus,'''')=''<27><><EFBFBD>Բ<EFBFBD>ͨ<EFBFBD><CDA8>'' ');
end else
if cxTabControl1.TabIndex=3 then
begin
sql.Add(' and isnull(ChuShiStatus,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' and isnull(FuShiStatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=4 then
begin
sql.Add(' and isnull(FuShiStatus,'''')=''<27><><EFBFBD>Բ<EFBFBD>ͨ<EFBFBD><CDA8>'' ');
end else
if cxTabControl1.TabIndex=5 then
begin
sql.Add(' and isnull(FuShiStatus,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' and SYFlag=0 ');
end else
if cxTabControl1.TabIndex=6 then
begin
sql.Add(' and SYFlag=1 ');
sql.Add(' and isnull(ShiYongStatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=7 then
begin
sql.Add(' and isnull(ShiYongStatus,'''')=''<27><><EFBFBD>ò<EFBFBD>ͨ<EFBFBD><CDA8>'' ');
end else
if cxTabControl1.TabIndex=8 then
begin
sql.Add(' and isnull(ShiYongStatus,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' and ZhuanZhengFlag=0 ');
end else
if cxTabControl1.TabIndex=9 then
begin
sql.Add(' and ZhuanZhengFlag=1 ');
end; }
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYGYPCSList.InitForm();
begin
EndDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
ReadCxGrid('ӦƸ<D3A6><C6B8>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmYGYPCSList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
function TfrmYGYPCSList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete OA_YG_DangAn where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete OA_YG_DangAn_Other where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete TP_File where WBId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
sql.Add(' and TFType=''YG'' ');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmYGYPCSList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel('ӦƸ<D3A6><C6B8>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmYGYPCSList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPCSList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmYGYPCSList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPCSList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmYGYPCSList.TBViewClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmYGYPInPut:=TfrmYGYPInPut.Create(Application);
with frmYGYPInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('YGId').AsString);
TBSave.Visible:=False;
ToolButton1.Visible:=False;
ToolButton2.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmYGYPInPut.Free;
end;
end;
procedure TfrmYGYPCSList.CustomerNoNameChange(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 TfrmYGYPCSList.TBSChkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Order_Main.Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_DangAn Set ');
sql.Add(' ChuShiPerson='''+Trim(DName)+''',ChuShiDate=getdate(),ChuShiStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>''');
sql.Add(',ChuShiNote='''+Trim(Order_Main.fieldbyname('ChuShiNote').AsString)+'''');
Sql.Add(',HZStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'',HZStatusTime=getdate()');
sql.Add(' where YGID='''+Order_Main.fieldbyname('YGID').AsString+'''');
ExecSQL;
end;
Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Exit;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmYGYPCSList.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main,True);
end;
procedure TfrmYGYPCSList.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main,False);
end;
procedure TfrmYGYPCSList.TBSCancelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex=0 then Exit;
if cxTabControl1.TabIndex>2 then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
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 OA_YG_DangAn where YGID='''+Trim(Order_Main.fieldbyname('YGID').AsString)+'''');
sql.Add(' and isnull(FuShiPerson,'''')<>'''' ');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Order_Main.EnableControls;
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
Next;
end;
end;
Order_Main.EnableControls;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Order_Main.Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_DangAn Set ');
sql.Add(' ChuShiPerson=NUll,ChuShiDate=NUll,ChuShiStatus=NULL,ChuShiNote=NUll');
sql.Add(' ,HZStatus=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',HZStatusTime=SChkTime');
sql.Add(' where YGID='''+Order_Main.fieldbyname('YGID').AsString+'''');
ExecSQL;
end;
Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Exit;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmYGYPCSList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPCSList.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TBView.Click;
end;
procedure TfrmYGYPCSList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Order_Main.Locate('SSel;ChuShiNote',VarArrayOf([True,Null]),[loPartialKey])=True then
begin
Application.MessageBox('<27><><EFBFBD>Ա<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Order_Main.Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_DangAn Set ');
sql.Add(' ChuShiPerson='''+Trim(DName)+''',ChuShiDate=getdate(),ChuShiStatus=''<27><><EFBFBD>Բ<EFBFBD>ͨ<EFBFBD><CDA8>''');
sql.Add(',ChuShiNote='''+Trim(Order_Main.fieldbyname('ChuShiNote').AsString)+'''');
Sql.Add(',HZStatus=''<27><><EFBFBD>Բ<EFBFBD>ͨ<EFBFBD><CDA8>'',HZStatusTime=getdate()');
sql.Add(' where YGID='''+Order_Main.fieldbyname('YGID').AsString+'''');
ExecSQL;
end;
Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Exit;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
end.