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

487 lines
14 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_YGYPZZChkList_CLSQSH;
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, ActnMan, ActnColorMaps;
type
TfrmYGYPZZChkList_CLSQSH = 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;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N1: TMenuItem;
TCXTJ: TToolButton;
BegDate: TDateTimePicker;
Label3: TLabel;
EndDate: TDateTimePicker;
DataSource2: TDataSource;
order_Sub: TClientDataSet;
Label2: TLabel;
TTiJiao: TToolButton;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
ADOQuery1: TADOQuery;
Label1: TLabel;
CLName: TEdit;
Label4: TLabel;
CLNO: TEdit;
cxTabControl1: TcxTabControl;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
V2Chker: TcxGridDBColumn;
V2Chktime: TcxGridDBColumn;
V2Chkstatus: TcxGridDBColumn;
V2chkNote: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label5: TLabel;
SQName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1SQDate: TcxGridDBColumn;
v1SQName: TcxGridDBColumn;
v1CLName: TcxGridDBColumn;
v1CLNO: TcxGridDBColumn;
v1CCMoney: TcxGridDBColumn;
v1FeeType: TcxGridDBColumn;
v1TOPlace: TcxGridDBColumn;
v1SQNote: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Ssel: 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 TCXTJClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TTiJiaoClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure CLNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
canshu1:string;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
procedure setstatus();
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmYGYPZZChkList_CLSQSH: TfrmYGYPZZChkList_CLSQSH;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,
U_ZDYHelpSel,U_YGYPInPut_CLSQDJ;
{$R *.dfm}
procedure TfrmYGYPZZChkList_CLSQSH.setstatus();
begin
TTiJiao.Visible:=False;
case cxTabControl1.TabIndex of
0:begin
TTiJiao.Visible:=True;
end;
1:begin
end;
2:begin
end;
end;
end;
procedure TfrmYGYPZZChkList_CLSQSH.FormDestroy(Sender: TObject);
begin
frmYGYPZZChkList_CLSQSH:=nil;
end;
procedure TfrmYGYPZZChkList_CLSQSH.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYGYPZZChkList_CLSQSH.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmYGYPZZChkList_CLSQSH.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
end;
procedure TfrmYGYPZZChkList_CLSQSH.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(' from OA_YG_CLGLSQ A ');
sql.add(' inner join OA_Chk B on B.Mainid=A.CLSQID ');
sql.Add(' where B.Chker='''+trim(DName)+''' ');
if cxTabControl1.tabindex<>0 then
begin
sql.add(' and A.SQDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and A.SQDate<='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(B.Chkstatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.add(' and isnull(B.Chkstatus,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>''');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
with ADOQueryCmd do
begin
close;
sql.clear;
sql.add('select A.* from OA_Chk A ');
sql.add('where A.Mainid='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+''' ');
sql.Add('and isnull(OAType,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYGYPZZChkList_CLSQSH.InitForm();
begin
EndDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
ReadCxGrid('<27><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQSH.TBFindClick(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
function TfrmYGYPZZChkList_CLSQSH.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 TfrmYGYPZZChkList_CLSQSH.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(<><D4B1><EFBFBD><EFBFBD>н<EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmYGYPZZChkList_CLSQSH.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQSH.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmYGYPZZChkList_CLSQSH.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQSH.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmYGYPZZChkList_CLSQSH.TBViewClick(Sender: TObject);
begin
if Order_Main.IsEmpty then exit;
frmYGYPInPut_CLSQDJ:=TfrmYGYPInPut_CLSQDJ.create(self);
with frmYGYPInPut_CLSQDJ do
begin
ToolBar1.Visible:=False;
FCLID:=trim(Order_Main.fieldbyname('CLSQID').AsString);
if showModal=1 then
begin
end;
free;
end;
end;
procedure TfrmYGYPZZChkList_CLSQSH.CustomerNoNameChange(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmYGYPZZChkList_CLSQSH.TCXTJClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
toolbar1.SetFocus;
{if Order_Main.FieldByName('SQStatus').AsString='<27>ѹ黹' then
begin
application.MessageBox('<27>ѹ黹<D1B9><E9BBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;}
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;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_CLGLSQ Set SQStatus=''<27><>ͨ<EFBFBD><CDA8>''');
sql.Add(' where CLSQID='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete from OA_Chk ');
sql.Add(' where Mainid='''+Order_Main.fieldbyname('CLSQID').AsString+'''');
sql.Add(' and isnull(OAType,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
ExecSQL;
end;
initGrid();
ADOQueryCmd.Connection.CommitTrans;
Exit;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmYGYPZZChkList_CLSQSH.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TBView.Click;
end;
procedure TfrmYGYPZZChkList_CLSQSH.TTiJiaoClick(Sender: TObject);
var maxno: string;
begin
if Order_Main.IsEmpty then exit;
toolbar1.SetFocus;
if order_Main.Locate('Ssel',true,[])=False then
begin
application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
try
with Order_Main do
begin
first;
while not eof do
begin
if fieldbyname('Ssel').AsBoolean=True then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('select * from OA_YG_CLGL ');
sql.Add(' where CLID='''+trim(Order_Main.fieldbyname('CLID').AsString)+'''');
open;
end;
if ADOQueryMain.FieldByName('CLStatus').AsString='<27><>ʹ<EFBFBD><CAB9>' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>,<2C><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>','<27><>ʾ');
exit;
end;
if trim(DParameters1)='<27><>Ȩ<EFBFBD><C8A8>' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_Chk Set ');
sql.Add('ChkTime=getdate(),Chkstatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add('where Mainid='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+''' ');
sql.add('and OAType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
ExecSQL;
end;
end
else
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_Chk Set ');
sql.Add(' ChkTime=getdate(),Chkstatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' where CKID='''+trim(Order_Main.fieldbyname('CKID').AsString)+''' ');
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
close;
sql.clear;
sql.add('select A.* from OA_Chk A ');
sql.add('where A.Mainid='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+''' ');
sql.add('and isnull(A.Chkstatus,'''')<>''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.add('and isnull(A.OAType,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
open;
end;
if ADOQueryCmd.IsEmpty then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update OA_YG_CLGLSQ set ');
sql.add('SQStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'',SQChkTime=getDate() ');
sql.Add(' where CLSQID='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+'''');
execsql;
end;
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update OA_YG_CLGL set ');
sql.add('CLStatus=''<27><>ʹ<EFBFBD><CAB9>'' ');
sql.Add(' where CLID='''+trim(Order_Main.fieldbyname('CLID').AsString)+'''');
execsql;
end;
end;
end;
next;
end;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>','<27><>ʾ');
initGrid();
except;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>','<27><>ʾ');
exit;
end;
end;
procedure TfrmYGYPZZChkList_CLSQSH.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main,True);
end;
procedure TfrmYGYPZZChkList_CLSQSH.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main,False);
end;
procedure TfrmYGYPZZChkList_CLSQSH.CLNameChange(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmYGYPZZChkList_CLSQSH.cxTabControl1Change(Sender: TObject);
begin
setstatus();
initGrid();
end;
procedure TfrmYGYPZZChkList_CLSQSH.Tv1CellClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
with ADOQueryCmd do
begin
close;
sql.clear;
sql.add('select A.* from OA_Chk A ');
sql.add('where A.Mainid='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+''' ');
sql.Add('and isnull(OAType,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
end;
end.