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

493 lines
14 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_YGYPZZChkList_JiaXinSH;
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
TfrmYGYPZZChkList_JiaXinSH = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
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;
TNOTG: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1TBDate: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1GangWei: TcxGridDBColumn;
v1Dept: TcxGridDBColumn;
v1JXMoney: TcxGridDBColumn;
v1JHJXDate: TcxGridDBColumn;
v1SXJXdate: TcxGridDBColumn;
v1JXNote: TcxGridDBColumn;
v1JXStatus: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
TPrint: TToolButton;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
RMDBMain: TRMDBDataSet;
Order_Print: TClientDataSet;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(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);
procedure TPrintClick(Sender: TObject);
private
canshu1:string;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
procedure setstatus();
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmYGYPZZChkList_JiaXinSH: TfrmYGYPZZChkList_JiaXinSH;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,U_YGYPInPut_JiaXin;
{$R *.dfm}
procedure TfrmYGYPZZChkList_JiaXinSH.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_JiaXinSH.FormDestroy(Sender: TObject);
begin
frmYGYPZZChkList_JiaXinSH:=nil;
end;
procedure TfrmYGYPZZChkList_JiaXinSH.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYGYPZZChkList_JiaXinSH.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
end;
procedure TfrmYGYPZZChkList_JiaXinSH.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(<><D4B1><EFBFBD><EFBFBD>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
end;
procedure TfrmYGYPZZChkList_JiaXinSH.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_JX A ');
sql.add(' inner join OA_Chk B on B.Mainid=A.JXID and B.OAType=''<27><>н<EFBFBD><D0BD><EFBFBD><EFBFBD>'' ');
sql.add(' inner join OA_YG_DangAn C on C.YGID=A.YGID ');
if cxTabControl1.TabIndex<>0 then
begin
sql.Add(' where A.TBDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and A.TBDate<='''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' where isnull(B.Chkstatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(B.Chkstatus,'''')=''<27><>нͨ<D0BD><CDA8>'' ');
end;
sql.add(' and B.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('JXID').AsString)+''' ');
sql.Add('and isnull(OAType,'''')=''<27><>н<EFBFBD><D0BD><EFBFBD><EFBFBD>''');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYGYPZZChkList_JiaXinSH.InitForm();
begin
EndDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
ReadCxGrid(<><D4B1><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
setstatus();
InitGrid();
end;
procedure TfrmYGYPZZChkList_JiaXinSH.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;
procedure TfrmYGYPZZChkList_JiaXinSH.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYGYPZZChkList_JiaXinSH.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmYGYPZZChkList_JiaXinSH.TBViewClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
frmYGYPInPut_JiaXin:=TfrmYGYPInPut_JiaXin.create(self);
with frmYGYPInPut_JiaXin do
begin
TBSave.Visible:=False;
FJXID:=trim(Order_Main.fieldbyname('JXID').AsString);
if showModal=1 then
begin
end;
free;
end;
initGrid();
end;
procedure TfrmYGYPZZChkList_JiaXinSH.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_JiaXinSH.TCXTJClick(Sender: TObject);
var FNXMoney: double;
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;
if Order_Main.fieldbyname('JXStatus').AsString='<27>Ѽ<EFBFBD>н' then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select * from OA_YG_DangAn ');
sql.add('where YGID='''+trim(Order_Main.fieldbyname('YGID').AsString)+'''');
open;
end;
FNXMoney:=ADOQueryMain.fieldbyname('GRNXMoney').AsFloat;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update OA_YG_DangAn set GRNXMoney='''+floattostr(FNXMoney-Order_Main.fieldbyname('JXMoney').AsFloat)+''' ');
sql.add('where YGID='''+trim(Order_Main.fieldbyname('YGID').AsString)+'''');
execsql;
end;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_YG_DangAn_JX Set JXStatus=''<27><><EFBFBD>ύ'' ');
sql.Add(' where JXID='''+Order_Main.fieldbyname('JXID').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_JiaXinSH.cxTabControl1Change(Sender: TObject);
begin
setstatus();
InitGrid();
end;
procedure TfrmYGYPZZChkList_JiaXinSH.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TBView.Click;
end;
procedure TfrmYGYPZZChkList_JiaXinSH.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('JXID').AsString)+''' ');
sql.Add('and isnull(OAType,'''')=''<27><>н<EFBFBD><D0BD><EFBFBD><EFBFBD>''');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
end;
procedure TfrmYGYPZZChkList_JiaXinSH.TTiJiaoClick(Sender: TObject);
var FNXMoney: double;
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><>нͨ<D0BD><CDA8>'' ');
sql.Add('where Mainid='''+trim(Order_Main.fieldbyname('Mainid').AsString)+''' ');
sql.add('and OAType=''<27><>н<EFBFBD><D0BD><EFBFBD><EFBFBD>''');
ExecSQL;
end;
{with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('Update OA_Chk Set ');
sql.Add(' chkNote='''+trim(order_Sub.fieldbyname('chkNote').AsString)+''' ');
sql.Add(' where CKID='''+trim(Order_Main.fieldbyname('CKID').AsString)+''' ');
ExecSQL;
end; }
end
else
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update OA_Chk Set ');
sql.Add(' ChkTime=getdate(),Chkstatus=''<27><>нͨ<D0BD><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><>нͨ<D0BD><CDA8>'' ');
sql.add('and isnull(A.OAType,'''')=''<27><>н<EFBFBD><D0BD><EFBFBD><EFBFBD>''');
open;
end;
if ADOQueryCmd.IsEmpty then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update OA_YG_DangAn_JX set ');
sql.add('JXStatus=''<27><>нͨ<D0BD><CDA8>'' ');
sql.Add(' where JXID='''+trim(Order_Main.fieldbyname('JXID').AsString)+'''');
execsql;
end;
if SGetServerDate(ADOQueryTemp)>Order_Main.fieldbyname('SXJXdate').AsDateTime then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select * from OA_YG_DangAn ');
sql.add('where YGID='''+trim(Order_Main.fieldbyname('YGID').AsString)+'''');
open;
end;
FNXMoney:=ADOQueryMain.fieldbyname('GRNXMoney').AsFloat;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('update OA_YG_DangAn set GRNXMoney='''+floattostr(FNXMoney+Order_Main.fieldbyname('JXMoney').AsFloat)+''' ');
sql.add('where YGID='''+trim(Order_Main.fieldbyname('YGID').AsString)+'''');
execsql;
end;
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update OA_YG_DangAn_JX set ');
sql.add('JXStatus=''<27>Ѽ<EFBFBD>н'' ');
sql.Add(' where JXID='''+trim(Order_Main.fieldbyname('JXID').AsString)+'''');
execsql;
end;
end;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>','<27><>ʾ');
initGrid();
except;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>','<27><>ʾ');
exit;
end;
end;
procedure TfrmYGYPZZChkList_JiaXinSH.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_JX Set JXStatus=''<27><>ͨ<EFBFBD><CDA8>''');
sql.Add(' where JXID='''+Order_Main.fieldbyname('JXID').AsString+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete from OA_Chk ');
sql.Add(' where Mainid='''+Order_Main.fieldbyname('JXID').AsString+'''');
sql.Add(' and isnull(OAType,'''')=''<27><>н<EFBFBD><D0BD><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_JiaXinSH.TPrintClick(Sender: TObject);
var
fPrintFile:String;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><>н<EFBFBD><D0BD><EFBFBD>뵥.rmf' ;
with ADOQueryCmd do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(' from OA_YG_DangAn_JX A ');
sql.add(' inner join OA_YG_DangAn B on B.YGID=A.YGID ');
sql.Add(' where JXID='''+trim(Order_Main.fieldbyname('JXID').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryCmd,Order_Print);
SInitCDSData20(ADOQueryCmd,Order_Print);
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
//RM1.PrintReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><>н<EFBFBD><D0BD><EFBFBD>뵥.rmf'),'<27><>ʾ',0);
Exit;
end;
end;
end.