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

463 lines
13 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_YGYPZZChkList_YiJiaoSH;
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, cxTextEdit;
type
TfrmYGYPZZChkList_YiJiaoSH = 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;
cxTabControl1: TcxTabControl;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
V2Chker: TcxGridDBColumn;
V2Chktime: TcxGridDBColumn;
V2Chkstatus: TcxGridDBColumn;
V2chkNote: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
DataSource2: TDataSource;
order_Sub: TClientDataSet;
Label2: TLabel;
TTiJiao: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1YJName: TcxGridDBColumn;
v1YJQty: TcxGridDBColumn;
v1YJUnit: TcxGridDBColumn;
v1JieShouRen: TcxGridDBColumn;
v1JianJiaoRen: TcxGridDBColumn;
v1YJNote: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
v1YGName: TcxGridDBColumn;
v1GangWei: TcxGridDBColumn;
v1Dept: TcxGridDBColumn;
TNOTG: TToolButton;
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 cxTabControl1Change(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TTiJiaoClick(Sender: TObject);
procedure TNOTGClick(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_YiJiaoSH: TfrmYGYPZZChkList_YiJiaoSH;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,U_YGYPInPut_YiJiao,
U_ZDYHelpSel;
{$R *.dfm}
procedure TfrmYGYPZZChkList_YiJiaoSH.setstatus();
begin
TTiJiao.Visible:=False;
TCXTJ.Visible:=False;
TNOTG.Visible:=False;
case cxTabControl1.TabIndex of
0:begin
TTiJiao.Visible:=True;
TNOTG.Visible:=true;
end;
1:begin
//TCXTJ.Visible:=true;
end;
2:begin
end;
end;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.FormDestroy(Sender: TObject);
begin
frmYGYPZZChkList_YiJiaoSH:=nil;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(<><D4B1><EFBFBD>ƽ<EFBFBD><C6BD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,B.*,C.* ');
sql.Add(' from OA_YG_DangAn A ');
sql.add(' inner join OA_YG_LZYJQD B on B.YGID=A.YGID ');
sql.add(' inner join OA_Chk C on C.Mainid=B.YGID and isnull(C.OAType,'''')=''<27>ƽ<EFBFBD><C6BD>嵥''');
if cxTabControl1.tabIndex<>0 then
begin
sql.Add(' where A.YIJiaoDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and A.YIJiaoDate<='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' where isnull(C.Chkstatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.add(' and isnull(C.Chkstatus,'''')<>''''');
end;
sql.add(' and isnull(C.Chker,'''')='''+trim(DName)+''' ');
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('YGID').AsString)+''' ');
sql.Add('and isnull(A.OAType,'''')=''<27>ƽ<EFBFBD><C6BD>嵥''');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.InitForm();
begin
EndDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
ReadCxGrid(<><D4B1><EFBFBD>ƽ<EFBFBD><C6BD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
setstatus();
InitGrid();
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.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 TfrmYGYPZZChkList_YiJiaoSH.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_YiJiaoSH.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(<><D4B1><EFBFBD>ƽ<EFBFBD><C6BD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.TBViewClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmYGYPInPut_YiJiao:=TfrmYGYPInPut_YiJiao.create(self);
with frmYGYPInPut_YiJiao do
begin
Panel3.Enabled:=False;
ToolBar1.Enabled:=False;
FDName:=Order_Main.fieldbyname('YGName').asstring;
if showModal=1 then
begin
end;
free;
end;
finally
frmYGYPInPut_YiJiao.Free;
end;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.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 TfrmYGYPZZChkList_YiJiaoSH.TCXTJClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>1 then Exit;
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_DangAn Set YijiaoStatus=''<27><><EFBFBD>ύ'' ');
sql.Add(' where YGID='''+Order_Main.fieldbyname('YGID').AsString+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_Chk Set Chkstatus=''''');
sql.Add(' where CKID='''+Order_Main.fieldbyname('CKID').AsString+'''');
ExecSQL;
end;
initGrid();
ADOQueryCmd.Connection.CommitTrans;
Exit;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.cxTabControl1Change(Sender: TObject);
begin
setstatus();
InitGrid();
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TBView.Click;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.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('YGID').AsString)+''' ');
sql.Add(' and isnull(OAType,'''')=''<27>ƽ<EFBFBD><C6BD>嵥'' ');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.TTiJiaoClick(Sender: TObject);
var maxno: string;
begin
if Order_Main.IsEmpty then exit;
try
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><CDA8>'' ');
sql.Add(' where Mainid='''+trim(Order_Main.fieldbyname('Mainid').AsString)+''' ');
sql.add('and OAType=''<27>ƽ<EFBFBD><C6BD>嵥''');
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><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('Mainid').AsString)+''' ');
sql.add('and isnull(A.Chkstatus,'''')<>''<27>ƽ<EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.add('and isnull(A.OAType,'''')=''<27>ƽ<EFBFBD><C6BD>嵥''');
open;
end;
if ADOQueryCmd.IsEmpty then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update OA_YG_DangAn set ');
sql.add('YiJiaoStatus=''<27>ƽ<EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' where YGID='''+trim(Order_Main.fieldbyname('YGID').AsString)+'''');
execsql;
end;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>','<27><>ʾ');
initGrid();
except;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>','<27><>ʾ');
exit;
end;
end;
procedure TfrmYGYPZZChkList_YiJiaoSH.TNOTGClick(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;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_DangAn Set yijiaoStatus=''<27><>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' where YGID='''+Order_Main.fieldbyname('YGID').AsString+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete from OA_Chk ');
sql.Add(' where Mainid='''+Order_Main.fieldbyname('YGID').AsString+'''');
sql.Add(' and isnull(OAType,'''')=''<27>ƽ<EFBFBD><C6BD>嵥'' ');
ExecSQL;
end;
initGrid();
ADOQueryCmd.Connection.CommitTrans;
Exit;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
end.