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

606 lines
16 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_YGYPZZChkList_CLSQ;
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_CLSQDJ = 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;
TBADD: TToolButton;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N1: TMenuItem;
TCXTJ: TToolButton;
BegDate: TDateTimePicker;
Label3: TLabel;
EndDate: TDateTimePicker;
DataSource2: TDataSource;
order_Sub: TClientDataSet;
Label2: TLabel;
TTiJiao: TToolButton;
TUpdate: TToolButton;
TDel: 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;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1SQDate: TcxGridDBColumn;
v1SQName: TcxGridDBColumn;
v1CLName: TcxGridDBColumn;
v1CLNO: TcxGridDBColumn;
v1CCMoney: TcxGridDBColumn;
v1FeeType: TcxGridDBColumn;
v1TOPlace: TcxGridDBColumn;
v1SQNote: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxStyle2: TcxStyle;
TGHCL: TToolButton;
Panel4: TPanel;
Label6: TLabel;
Panel5: TPanel;
Image1: TImage;
TSure: TButton;
ETaiTou: TEdit;
Label7: TLabel;
CCMoney: TEdit;
v1SQStatus: TcxGridDBColumn;
Label8: TLabel;
GHDate: TDateTimePicker;
ADOQuery2: TADOQuery;
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 TBADDClick(Sender: TObject);
procedure TCXTJClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TUpdateClick(Sender: TObject);
procedure TTiJiaoClick(Sender: TObject);
procedure TDelClick(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);
procedure TGHCLClick(Sender: TObject);
procedure TSureClick(Sender: TObject);
procedure Image1Click(Sender: TObject);
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_CLSQDJ: TfrmYGYPZZChkList_CLSQDJ;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,
U_ZDYHelpSel,U_YGYPInPut_CLSQDJ;
{$R *.dfm}
procedure TfrmYGYPZZChkList_CLSQDJ.setstatus();
begin
TBAdd.Visible:=False;
TUpdate.Visible:=False;
TTiJiao.Visible:=False;
TCXTJ.Visible:=False;
Tdel.Visible:=False;
TGHCL.Visible:=False;
if trim(CanShu1)='' then
begin
cxTabControl1.Visible:=true;
TBAdd.Visible:=true;
case cxTabControl1.TabIndex of
0:begin
TUpdate.Visible:=True;
TTiJiao.Visible:=True;
Tdel.Visible:=true;
end;
1:begin
TCXTJ.Visible:=true;
//TGHCL.Visible:=true;
end;
2:begin
end;
3:begin
end;
end;
end
else
begin
cxTabControl1.Visible:=False;
end;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.FormDestroy(Sender: TObject);
begin
frmYGYPZZChkList_CLSQDJ:=nil;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>1',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
end;
procedure TfrmYGYPZZChkList_CLSQDJ.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select * ');
sql.Add(' from OA_YG_CLGLSQ ');
sql.Add(' where 1=1');
if trim(canshu1)='<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.add(' and isnull(SQStatus,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' or isnull(SQStatus,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>''');
end
else
begin
if cxTabConTrol1.TabIndex<>0 then
begin
sql.add(' and SQDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and SQDate<='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and (SQStatus='<>ύ'' or SQStatus=''<27><>ͨ<EFBFBD><CDA8>'') ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.add(' and (isnull(SQStatus,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' or isnull(SQStatus,'''')=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'')');
end;
sql.Add(' and SQName='''+trim(DName)+''' ');
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_CLSQDJ.InitForm();
begin
EndDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
ReadCxGrid('<27><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>1',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
setstatus();
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TBFindClick(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
function TfrmYGYPZZChkList_CLSQDJ.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_CLSQDJ.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(<><D4B1><EFBFBD><EFBFBD>н<EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.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_CLSQDJ.CustomerNoNameChange(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TBADDClick(Sender: TObject);
begin
frmYGYPInPut_CLSQDJ:=TfrmYGYPInPut_CLSQDJ.create(self);
with frmYGYPInPut_CLSQDJ do
begin
FCLID:='';
if showModal=1 then
begin
end;
free;
end;
initGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TCXTJClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
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;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_CLGLSQ Set SQStatus='<>ύ'' ');
sql.Add(' where CLSQID='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+'''');
ExecSQL;
end;
initGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TBView.Click;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TUpdateClick(Sender: TObject);
begin
if Order_Main.IsEmpty then exit;
if trim(Order_Main.fieldbyname('SQName').AsString)<>trim(DName) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
frmYGYPInPut_CLSQDJ:=TfrmYGYPInPut_CLSQDJ.create(self);
with frmYGYPInPut_CLSQDJ do
begin
FCLID:=trim(Order_Main.fieldbyname('CLSQID').AsString);
if showModal=1 then
begin
end;
free;
end;
initGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TTiJiaoClick(Sender: TObject);
var maxno: string;
begin
if Order_Main.IsEmpty then exit;
frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application);
with frmZDYHelpSel do
begin
flag:='SPR';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
MainType:=Trim(DName);
if ShowModal=1 then
begin
with ClientDataSet1 do
begin
first;
while not Eof do
begin
if fieldbyname('Ssel').AsBoolean=True then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_User where UserName='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from OA_Chk where MainId='''+Trim(Order_Main.fieldbyname('CLSQID').AsString)+'''');
sql.Add(' and isnull(OAType,'''')=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(' and isnull(Chker,'''')='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
if GetLSNo(ADOQueryCmd,maxno,'CL','OA_Chk',4,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from OA_Chk where 1=2 ');
Open;
append;
FieldByName('CKID').Value:=Trim(maxno);
FieldByName('Mainid').Value:=Trim(Order_Main.fieldbyname('CLSQID').AsString);
FieldByName('OAType').value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('Chker').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
Post;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update OA_YG_CLGLSQ set SQStatus=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add('where CLSQID='''+trim(Order_Main.fieldbyname('CLSQID').asstring)+''' ');
ExecSQL;
end;
end;
Next;
end;
end;
end;
Free;
end;
application.MessageBox('<27><EFBFBD>ɹ<EFBFBD>','<27><>ʾ');
InitGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then exit;
if trim(Order_Main.fieldbyname('SQName').AsString)<>trim(DName) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('delete from OA_YG_CLGLSQ where CLSQID='''+trim(Order_Main.fieldbyname('CLSQID').AsString)+'''');
execsql;
end;
with ADOQuery2 do
begin
close;
sql.Clear;
sql.add('update OA_YG_CLGL set ');
sql.add('CLStatus='ʹ<CEB4><CAB9>'' ');
sql.Add(' where CLID='''+trim(Order_Main.fieldbyname('CLID').AsString)+'''');
execsql;
end;
initGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main,True);
end;
procedure TfrmYGYPZZChkList_CLSQDJ.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main,False);
end;
procedure TfrmYGYPZZChkList_CLSQDJ.CLNameChange(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmYGYPZZChkList_CLSQDJ.cxTabControl1Change(Sender: TObject);
begin
setstatus();
initGrid();
end;
procedure TfrmYGYPZZChkList_CLSQDJ.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;
procedure TfrmYGYPZZChkList_CLSQDJ.TGHCLClick(Sender: TObject);
begin
if Order_Main.IsEmpty then exit;
if order_Main.FieldByName('SQStatus').AsString<>'<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>δͨ<CEB4><CDA8><EFBFBD><EFBFBD><EFBFBD>ܵǼ<DCB5>','<27><>ʾ');
exit;
end;
CCMoney.Text:=Order_Main.fieldbyname('CCMoney').AsString;
GHDate.DateTime:=now;
Panel4.Visible:=true;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.TSureClick(Sender: TObject);
begin
if trim(CCMoney.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2BB>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if application.MessageBox(<><C8B7>ִ<EFBFBD>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update OA_YG_CLGLSQ set CCMoney='''+trim(CCMoney.Text)+'''');
sql.add(',GHDate='''+trim(datetimetostr(GHDate.DateTime))+''' ');
sql.Add('where CLSQID='''+trim(Order_Main.fieldbyname('CLSQID').asstring)+''' ');
ExecSQL;
end;
initGrid();
Panel4.Visible:=False;
end;
procedure TfrmYGYPZZChkList_CLSQDJ.Image1Click(Sender: TObject);
begin
Panel4.Visible:=False;
end;
end.