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

973 lines
28 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_WorkDeptFeeChkList_CX;
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, cxCalendar, cxButtonEdit, cxSplitter,
RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport,
cxTextEdit, cxPC, cxCheckBox, Menus, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdFTP,jpeg;
type
TfrmWorkDeptFeeChkList_CX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
Order_Sub: TClientDataSet;
ToolButton3: TToolButton;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column5: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
v1Column7: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
Worker: TEdit;
Label6: TLabel;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
Label3: TLabel;
Dept: TEdit;
ToolButton2: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TFKCX: TToolButton;
v1Column10: TcxGridDBColumn;
CDS_Chker: TClientDataSet;
Label9: TLabel;
ItemName: TEdit;
v1WFType: TcxGridDBColumn;
v1ItemName: TcxGridDBColumn;
v1Person4: TcxGridDBColumn;
v1ZhaiYao: TcxGridDBColumn;
v1Person1: TcxGridDBColumn;
v1YuJieMoney: TcxGridDBColumn;
DataSource2: TDataSource;
TFK: TToolButton;
cxTabControl1: TcxTabControl;
v1ChkNote: TcxGridDBColumn;
cxSplitter1: TcxSplitter;
TDSFK: TToolButton;
v1SumFKMoney: TcxGridDBColumn;
TSel: TToolButton;
TPrint: TToolButton;
CDS_PRT: TClientDataSet;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
V2SumBXHZMoney: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
v1CWChktime: TcxGridDBColumn;
V2SDefNote: TcxGridDBColumn;
Label4: TLabel;
Person4: TEdit;
Label5: TLabel;
Label7: TLabel;
ADOQueryHZ: TADOQuery;
IdFTP1: TIdFTP;
ODPat: TOpenDialog;
SaveDialog1: TSaveDialog;
Panel3: TPanel;
Image1: TImage;
TFKNO: TToolButton;
v1Huilv: TcxGridDBColumn;
v1HZBBMoney: TcxGridDBColumn;
v1BZUnit: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure WorkerChange(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TFKCXClick(Sender: TObject);
procedure TFKClick(Sender: TObject);
procedure v1Column8PropertiesEditValueChanged(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TSelClick(Sender: TObject);
procedure TDSFKClick(Sender: TObject);
procedure v1SselPropertiesEditValueChanged(Sender: TObject);
procedure TPrintClick(Sender: TObject);
procedure v1ChkNotePropertiesEditValueChanged(Sender: TObject);
procedure TFKNOClick(Sender: TObject);
procedure v1HuilvPropertiesEditValueChanged(Sender: TObject);
private
FInt,PFInt:Integer;
canshu1,canshu2:string;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
procedure InitGridWsql(fsj:string);
function SaveData():Boolean;
procedure InitImage();
procedure FYBXMoney();
{ Private declarations }
public
{ Public declarations }
end;
var
frmWorkDeptFeeChkList_CX: TfrmWorkDeptFeeChkList_CX;
implementation
uses
U_DataLink,U_RTFun,U_ModuleNote,U_WorkerDeptFeeInPut, U_ZDYHelpSel;
{$R *.dfm}
procedure TfrmWorkDeptFeeChkList_CX.FYBXMoney();
var maxno,maxSubNo:string;
begin
if trim(order_Main.FieldByName('ItemName').AsString)='<27>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>뵥' then
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('select * from Worker_Fee_Main A ');
sql.add('inner join Worker_Fee_Sub B on B.WFID=A.WFID ');
sql.add('where A.WFID='''+Order_Main.fieldbyname('WFID').AsString+''' ');
sql.add('and A.ItemName=''<27>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>뵥'' ');
open;
end;
if GetLSNo(ADOQueryMain,maxno,'WF','Worker_Fee_Main',3,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select * from Worker_Fee_Main where WFId='''+Trim(maxno)+'''');
Open;
end;
with ADOQueryMain do
begin
Append;
FieldByName('WFId').Value:=Trim(maxno);
RTSetsavedata(ADOQueryMain,'Worker_Fee_Main',Panel1,0);
FieldByName('HZStatus').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillCode').Value:=Trim(DCode);
FieldByName('FillerCode').Value:=Trim(DCode);
Post;
end;
///<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('WSId').AsString)='' then
begin
if GetLSNo(ADOQueryMain,maxSubNo,'WS','Worker_Fee_Sub',4,1)=False then
begin
Application.MessageBox('<27><><EFBFBD>ɷ<EFBFBD><C9B7>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
exit;
end;
end else
begin
maxSubNo:=Trim(Order_Sub.fieldbyname('WSId').AsString);
end;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add('select * from Worker_Fee_Sub where ');
sql.Add(' WSId='''+Trim(maxSubNo)+'''');
Open;
end;
with ADOQueryMain do
begin
if Trim(Order_Sub.fieldbyname('WSId').AsString)='' then
Append
else
Edit;
FieldByName('WFID').Value:=Trim(maxno);
FieldByName('WSId').Value:=Trim(maxSubNo);
RTSetSaveDataCDS(ADOQueryMain,Tv1,Order_Sub,'Worker_Fee_Sub',0);
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('WSId').Value:=Trim(maxSubNo);
Next;
end;
end;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('Update Worker_Fee_Main Set HZMoney=');
sql.Add(' (select isnull(Sum(isnull(Money,0)),0) from Worker_Fee_Sub A where A.WFID=Worker_Fee_Main.WFID)');
sql.Add(' where WFID='''+Trim(maxno)+'''');
ExecSQL;
end;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.InitImage();
var
jpg:TJpegImage;
myStream:TADOBlobStream;
begin
if Order_Main.IsEmpty then Exit;
if Trim(Order_Main.fieldbyname('WFID').AsString)='' then Exit;
//if cxPageControl1.ActivePageIndex=6 then
begin
Image1.Picture.Assign(nil);
try
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select * from TP_File A where A.WBID='''+Trim(Order_Main.fieldbyname('WFID').AsString)+'''');
sql.Add(' and TFType=''ƾ֤'' ');
open;
if RecordCount>0 then
begin
if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString)<>'' then
begin
myStream:=tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')),bmread);
if myStream=nil then exit;
jpg:=TJPEGImage.Create;
jpg.LoadFromStream(myStream);
Image1.Picture.Assign(jpg);
end;
end;
end;
finally
jpg.Free;
myStream.Free;
end;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.FormDestroy(Sender: TObject);
begin
frmWorkDeptFeeChkList_CX:=nil;
end;
procedure TfrmWorkDeptFeeChkList_CX.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmWorkDeptFeeChkList_CX.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ѯ',Tv1,'<27><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>');
end;
procedure TfrmWorkDeptFeeChkList_CX.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select isnull(A.Huilv,1) HuiLV,A.*,');
sql.add(' HZBBMoney=(A.HZMoney*isnull(A.Huilv,1)),');
sql.Add(' BZUnit=(select Top 1 B.PriceUnit from Worker_Fee_Sub B where B.WFID=A.WFID), ');
sql.add(' SumFKMoney=(select isnull(Sum(B.FKMoney),0) from Worker_Fee_FK B where B.BXID=A.WFID)');
SQL.Add(' from Worker_Fee_Main A ');
sql.Add(' where A.HZStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>''');
if cxTabControl1.TabIndex<>0 then
begin
sql.Add(' and A.WFDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and A.WFDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
end;
if trim(DParameters1)<>'' then
begin
sql.add('and A.WFType='''+trim(DParameters1)+''' ');
end;
{if trim(DParameters1)='<27><>˽ҵ<CBBD><D2B5>' then
begin
sql.add('and A.ItemName=''<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>''');
end;}
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(A.CWChkStatus,'''')='''' ');
end else
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(A.CWChkStatus,'''')=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>'' ');
end;
if cxTabControl1.TabIndex=2 then
begin
sql.Add(' and isnull(A.CWChkStatus,'''')=''<27><><EFBFBD><EFBFBD>'' ');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
if trim(DParameters1)='<27><>˽ҵ<CBBD><D2B5>' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select AA.*,SDefFloat=cast(0 as decimal(18,2)),SumBXHZMoney=isnull(AA.SumYUJieMoney,0)-isnull(AA.SumFKMoney,0) from ');
sql.add('(select A.ItemName,A.Worker,A.WFType,A.Dept,Sum(A.YUJieMoney) SumYUJieMoney,');
{sql.add(' SumYUJieMoney=(select Sum(C.YuJieMoney) from Worker_Fee_Main C where C.Worker=A.Worker and C.ItemName=A.ItemName ');
sql.add(' and C.ItemName<>''<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>'' ),');}
sql.add(' SumFKMoney=(select Sum(B.FKMoney) from Worker_Fee_FK B where B.FKName=A.Worker and B.LJID=A.ItemName)');
SQL.Add(' from Worker_Fee_Main A ');
SQL.Add(' where A.ItemName<>''<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.add(' and A.WFType=''<27><>˽ҵ<CBBD><D2B5>''');
sql.Add(' and A.Worker='''+trim(Order_Main.fieldbyname('Worker').AsString)+'''');
sql.add(' and A.CWChkStatus=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>''');
sql.add(' group by A.ItemName,A.Worker,A.WFType,A.Dept) AA');
Open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
with ADOQueryHZ do
begin
close;
sql.Clear;
sql.Add('select SumJYMoney=isnull(AA.XJMoney,0)-isnull(AA.SumFKMoney,0) From (');
sql.add('select XJMoney=(select sum(A.LYMoney) from Worker_Fee_LK A Where A.ChkStatus=''1''),');
sql.add('SumFKMoney=Sum(B.YuJieMoney) from Worker_Fee_Main B ');
sql.add('where B.CWChkStatus=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>'' and B.WFType=''<27><>˽ҵ<CBBD><D2B5>'' and isnull(B.ZuoFeiFlag,'''')='''') AA');
open;
end;
label7.Caption:=ADOQueryHZ.fieldbyname('SumJYMoney').AsString;
end;
finally;
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.InitForm();
begin
endDate.Date:=SGetServerDate(ADOQueryTemp);
BegDate.Date:=EndDate.Date-7;
cxTabControl1.TabIndex:=0;
if trim(DParameters1)='' then
begin
TFK.Visible:=False;
TFKCX.Visible:=False;
TDSFK.Visible:=False;
cxGrid2.Visible:=False;
TFKNo.Visible:=False;
end
else
begin
if trim(DParameters1)='<27><>˽ҵ<CBBD><D2B5>' then
begin
cxSplitter1.Visible:=True;
cxGrid2.Visible:=True;
TDSFK.Visible:=True;
Tfk.Visible:=False;
v1SumFKMoney.Visible:=True;
cxGrid1.Align:=alTop;
Label5.Visible:=True;
label7.Visible:=True;
end
else
begin
cxSplitter1.Visible:=False;
cxGrid2.Visible:=False;
TDSFK.Visible:=False;
Tfk.Visible:=True;
v1SumFKMoney.Visible:=False;
Label5.Visible:=False;
label7.Visible:=False;
end;
TFKCX.Visible:=True;
end;
InitGrid();
end;
function TfrmWorkDeptFeeChkList_CX.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Worker_Fee_FenTan where WFId='''+Trim(Order_Main.fieldbyname('WFId').AsString)+'''');
sql.Add('delete Worker_Fee_Main where WFId='''+Trim(Order_Main.fieldbyname('WFId').AsString)+'''');
sql.Add('delete Worker_Fee_Sub where WFId='''+Trim(Order_Main.fieldbyname('WFId').AsString)+'''');
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 TfrmWorkDeptFeeChkList_CX.TBExportClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
TcxGridToExcel('<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>',cxGrid1);
end;
procedure TfrmWorkDeptFeeChkList_CX.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmWorkDeptFeeChkList_CX.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ѯ',Tv1,'<27><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>');
InitForm();
end;
procedure TfrmWorkDeptFeeChkList_CX.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWorkDeptFeeChkList_CX.ToolButton3Click(Sender: TObject);
begin
try
frmModuleNote:=TfrmModuleNote.Create(Application);
with frmModuleNote do
begin
flag:='<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmModuleNote.Free;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
end;
procedure TfrmWorkDeptFeeChkList_CX.InitGridWsql(fsj:string);
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,FS.*,HJMoney=FS.YunFee+FS.MaTouFee+FS.YangBanFee+FS.OtherFee ');
SQL.Add(' from JYOrderKP_Fee A inner join JYOrderKP_Fee_Sub FS on A.FMID=FS.FMID');
sql.Add(' where 1=1');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and A.Filler='''+Trim(DName)+'''');
end;
sql.Add(fsj);
sql.Add(' order by A.FPNo');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
function TfrmWorkDeptFeeChkList_CX.SaveData():Boolean;
var
maxno,maxSubNo:String;
begin
try
Result:=False;
ADOQueryCmd.Connection.BeginTrans;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(Order_Main.fieldbyname('MRID').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'MR','Module_Prompt_Result',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_Main.fieldbyname('MRID').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Module_Prompt_Result where MRId='''+Trim(Order_Main.fieldbyname('MRID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(Order_Main.fieldbyname('MRID').AsString)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('MPId').Value:=Trim(Order_Main.fieldbyname('MPId').AsString);
FieldByName('MRId').Value:=Trim(maxno);
FieldByName('MRStatus').Value:='<27>Ѵ<EFBFBD><D1B4><EFBFBD>';
FieldByName('MRDate').Value:=SGetServerDateTime(ADOQueryTemp);
if Trim(Order_Main.fieldbyname('MRId').AsString)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.cxTabControl1Change(Sender: TObject);
begin
if cxTabControl1.TabIndex<>0 then
begin
v1YuJieMoney.Options.Editing:=False;
v1ChkNote.Options.Editing:=False;
V2SDefNote.options.Editing:=False;
end
else
begin
v1YuJieMoney.Options.Editing:=True;
v1ChkNote.Options.Editing:=True;
V2SDefNote.options.Editing:=True;
end;
InitGrid();
end;
procedure TfrmWorkDeptFeeChkList_CX.WorkerChange(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 TfrmWorkDeptFeeChkList_CX.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
if trim(DParameters1)='<27><>˽ҵ<CBBD><D2B5>' then
begin
SDofilter(ADOQueryCmd,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.TFKCXClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if (cxTabControl1.TabIndex<>1) and (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;}
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update Worker_Fee_Main set CWChkStatus='''',CWChker='''',CWChktime=NULL ');
sql.add(',YuJieMoney=Null,ChkNote='''' ');
sql.add('where WFID='''+Order_Main.fieldbyname('WFID').AsString+'''');
execsql;
end;
if trim(DParameters1)='<27><>˽ҵ<CBBD><D2B5>' then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('delete from Worker_Fee_FK ');
sql.add('where BXID='''+Order_Main.fieldbyname('WFID').AsString+'''');
execsql;
end;
end;
initGrid();
end;
procedure TfrmWorkDeptFeeChkList_CX.TFKClick(Sender: TObject);
begin
ToolBar1.SetFocus;
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with Order_Main do
begin
{if fieldbyname('YuJieMoney').AsFloat<>fieldbyname('HZMoney').AsFloat then
begin
if Order_Main.fieldbyname('ChkNote').AsString='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2BB>ͬʱ,<2C><><EFBFBD>ע<EEB1B8><D7A2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
end;}
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update Worker_Fee_Main set CWChkStatus=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>'',CWChker='''+trim(DName)+''',CWChktime=getDate() ');
if trim(Order_Main.fieldbyname('YujieMoney').AsString)='' then
sql.add(',YuJieMoney='''+trim(Order_Main.fieldbyname('HZMoney').asstring)+'''')
else
sql.add(',YuJieMoney='''+trim(Order_Main.fieldbyname('YuJieMoney').AsString)+'''');
sql.add(',ChkNote='''+trim(Order_Main.fieldbyname('ChkNote').AsString)+''' ');
sql.add('where WFID='''+Order_Main.fieldbyname('WFID').AsString+'''');
execsql;
end;
end;
TBRafresh.Click;
end;
procedure TfrmWorkDeptFeeChkList_CX.v1Column8PropertiesEditValueChanged(
Sender: TObject);
var FMoney,FWFID: string;
begin
FMoney:='0';
FWFID:=Trim(Order_Main.fieldbyname('WFID').AsString);
with Order_Main do
begin
first;
DisableControls;
while not eof do
begin
if FieldByName('Ssel').AsBoolean=True then
begin
FMoney:=floattoStr(strtofloat(FMoney)+FieldByName('HZMoney').AsFloat);
end;
next;
end;
EnableControls;
end;
order_main.Locate('WFID',FWFID,[]);
label2.Caption:=FMoney;
end;
procedure TfrmWorkDeptFeeChkList_CX.Tv1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if trim(DParameters1)='<27><>˽ҵ<CBBD><D2B5>' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select AA.*,SumBXHZMoney=isnull(AA.SumYUJieMoney,0)-isnull(AA.SumFKMoney,0) from ');
sql.add('(select A.ItemName,A.Worker,A.WFType,A.Dept,Sum(A.YUJieMoney) SumYUJieMoney,');
sql.add(' SumFKMoney=(select Sum(B.FKMoney) from Worker_Fee_FK B where B.FKName=A.Worker and B.LJID=A.ItemName)');
SQL.Add(' from Worker_Fee_Main A ');
SQL.Add(' where A.ItemName<>''<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.add(' and A.WFType=''<27><>˽ҵ<CBBD><D2B5>''');
sql.Add(' and A.Worker='''+trim(Order_Main.fieldbyname('Worker').AsString)+'''');
sql.add(' and A.CWChkStatus=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>''');
sql.add(' group by A.ItemName,A.Worker,A.WFType,A.Dept) AA');
Open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
end;
InitImage();
{try
frmWorkerDeptFeeInPut:=TfrmWorkerDeptFeeInPut.Create(Application);
with frmWorkerDeptFeeInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('WFID').AsString);
TBSave.Visible:=False;
ToolBar2.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmWorkerDeptFeeInPut.Free;
end; }
end;
procedure TfrmWorkDeptFeeChkList_CX.TSelClick(Sender: TObject);
begin
try
frmWorkerDeptFeeInPut:=TfrmWorkerDeptFeeInPut.Create(Application);
with frmWorkerDeptFeeInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('WFID').AsString);
TBSave.Visible:=False;
ToolBar2.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmWorkerDeptFeeInPut.Free;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.TDSFKClick(Sender: TObject);
var maxno: string;
begin
ToolBar1.SetFocus;
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with Order_Sub do
begin
first;
while not eof do
begin
if fieldbyname('SDefNote').Asstring<>'' then
begin
if fieldbyname('SDefNote').Asfloat>fieldbyname('SumBXHZMoney').AsFloat then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select * from Worker_Fee_FK where BXID='''+trim(Order_Main.fieldbyname('WFId').AsString)+'''');
open;
end;
if ADOQueryMain.fieldbyname('BXID').Asstring='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'HX','Worker_Fee_FK',4,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end;
if ADOQueryMain.IsEmpty then
begin
ADOQueryMain.append;
ADOQueryMain.fieldbyname('FKID').asstring:=trim(Maxno);
ADOQueryMain.fieldbyname('BXID').asstring:=trim(Order_Main.fieldbyname('WFId').AsString);
ADOQueryMain.fieldbyname('FKName').asstring:=trim(Order_Main.fieldbyname('Worker').AsString);
ADOQueryMain.fieldbyname('FKDate').value:=SGetServerDate(ADOQueryCmd);
ADOQueryMain.fieldbyname('FKMoney').Value:=Order_Sub.fieldbyname('SDefNote').AsFloat;
ADOQueryMain.fieldbyname('LJID').Value:=Order_Sub.fieldbyname('ItemName').AsString;
ADOQueryMain.post;
end;
end;
next;
end;
end;
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update Worker_Fee_Main set CWChkStatus=''<27>Ѹ<EFBFBD><D1B8><EFBFBD>'',CWChker='''+trim(DName)+''',CWChktime=getDate() ');
if Order_Main.FieldByName('YuJieMoney').AsString<>'' then
begin
sql.add(',YuJieMoney='''+trim(Order_Main.fieldbyname('YuJieMoney').AsString)+'''');
end
else
begin
sql.add(',YuJieMoney=''0''');
end;
sql.add(',ChkNote='''+trim(Order_Main.fieldbyname('ChkNote').AsString)+''' ');
sql.add('where WFID='''+Order_Main.fieldbyname('WFID').AsString+'''');
execsql;
end;
//FYBXMoney();
TBRafresh.Click;
end;
procedure TfrmWorkDeptFeeChkList_CX.v1SselPropertiesEditValueChanged(
Sender: TObject);
var FMoney,FWFID: string;
begin
FMoney:='0';
FWFID:=Trim(Order_Main.fieldbyname('WFID').AsString);
with Order_Main do
begin
first;
DisableControls;
while not eof do
begin
if FieldByName('Ssel').AsBoolean=True then
begin
FMoney:=floattoStr(strtofloat(FMoney)+FieldByName('HZMoney').AsFloat);
end;
next;
end;
EnableControls;
end;
order_main.Locate('WFID',FWFID,[]);
//label5.Caption:=FMoney;
end;
procedure TfrmWorkDeptFeeChkList_CX.TPrintClick(Sender: TObject);
var FPrintFile,FYCLName,FpriceUnit,FZhaiYao: string;
begin
if Order_Main.IsEmpty then exit;
FYCLName:='';
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' select A.* ');
SQL.Add(' from Worker_Fee_Main A ');
sql.add(' where WFID='''+trim(Order_Main.fieldbyname('WFID').asstring)+''' ');
open;
end;
SCreateCDS20(ADOQueryCmd,CDS_PRT);
SInitCDSData20(ADOQueryCmd,CDS_PRT);
With ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select A.* ');
SQL.Add(' from Worker_Fee_Sub A ');
sql.add(' where WFID='''+trim(Order_Main.fieldbyname('WFID').asstring)+''' ');
open;
end;
with ADOQueryTemp do
begin
first;
while not eof do
begin
if trim(FYCLName)='' then
FYCLName:=trim(fieldbyname('YCLName').AsString)
else
FYCLName:=FYCLName+','+trim(fieldbyname('YCLName').AsString);
next;
end;
FpriceUnit:=trim(fieldbyname('priceUnit').AsString);
FZhaiYao:=trim(fieldbyname('ZhaiYao').AsString);
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['YCLName']:=trim(FYCLName);
RMVariables['priceUnit']:=trim(FpriceUnit);
RMVariables['ZhaiYao']:=trim(FZhaiYao);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(<><C3BB><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',0);
exit;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.v1ChkNotePropertiesEditValueChanged(
Sender: TObject);
var mvalue: string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with ADOQueryMain do
begin
close;
sql.Clear;
sql.add('update Worker_Fee_Main set ');
sql.add('ChkNote='''+trim(Mvalue)+''' ');
sql.add('where WFID='''+Order_Main.fieldbyname('WFID').AsString+'''');
execsql;
end;
end;
procedure TfrmWorkDeptFeeChkList_CX.TFKNOClick(Sender: TObject);
begin
if cxTabControl1.TabIndex<>0 then exit;
if application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',1)=2 then exit;
if Order_Main.IsEmpty then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update Worker_Fee_Main Set ');
sql.Add(' CWChkStatus=''<27><><EFBFBD><EFBFBD>'',ZuoFeiFlag=''1''');
sql.Add(' where WFID='''+Order_Main.fieldbyname('WFID').AsString+'''');
ExecSQL;
end;
initgrid();
end;
procedure TfrmWorkDeptFeeChkList_CX.v1HuilvPropertiesEditValueChanged(
Sender: TObject);
var mvalue: string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
if mvalue='' then
mvalue:='0';
with Order_Main do
begin
edit;
fieldbyname('Huilv').Value:=trim(mvalue);
fieldbyname('HZBBMoney').Value:=strtofloat(mvalue)*fieldbyname('HZMoney').AsFloat;
end;
with ADOQueryHZ do
begin
close;
sql.Clear;
sql.Add('update Worker_Fee_Main set Huilv='''+trim(order_Main.fieldbyname('Huilv').AsString)+''' ');
sql.add('where WFID='''+trim(order_Main.fieldbyname('WFID').AsString)+'''');
execsql;
end;
end;
end.