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

667 lines
16 KiB
ObjectPascal
Raw Permalink 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_WorkerDeptFeeInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer,
cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB,
ExtCtrls, BtnEdit, cxDropDownEdit, cxCalendar, cxGridCustomPopupMenu,
cxGridPopupMenu;
type
TfrmWorkerDeptFeeInPut = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
ADOQuery1: TADOQuery;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1MSMoney: TcxGridDBColumn;
cxGridPopupMenu1: TcxGridPopupMenu;
v1Column5: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label9: TLabel;
Label4: TLabel;
WFDate: TDateTimePicker;
Note: TEdit;
Dept: TBtnEditA;
Worker: TEdit;
Label6: TLabel;
FSDate: TDateTimePicker;
WFType: TComboBox;
Label7: TLabel;
WFNO: TEdit;
Label8: TLabel;
Person1: TBtnEditA;
Label10: TLabel;
Person3: TBtnEditA;
Label11: TLabel;
Person2: TBtnEditA;
Label12: TLabel;
Person4: TComboBox;
Label13: TLabel;
Person5: TEdit;
v1priceUnit: TcxGridDBColumn;
v1ZhaiYao: TcxGridDBColumn;
Label14: TLabel;
BZDate: TDateTimePicker;
ItemName: TBtnEditA;
v1IFFP: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure WorkerBtnClick(Sender: TObject);
procedure v1Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column3PropertiesEditValueChanged(Sender: TObject);
procedure v1Column9PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Person1BtnClick(Sender: TObject);
procedure Person2BtnClick(Sender: TObject);
procedure Person3BtnClick(Sender: TObject);
procedure WFTypeChange(Sender: TObject);
procedure v1priceUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure DeptBtnClick(Sender: TObject);
procedure v1ZhaiYaoPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ItemNameBtnClick(Sender: TObject);
private
FXS:Integer;
procedure InitData();
procedure ZDYHelp(FButn:TcxButtonEdit;LType:string);
function SaveData():Boolean;
procedure GetMaxConNO();
{ Private declarations }
public
PState,PCopyInt:Integer;
FMainId,FConNo,FConType:String;
{ Public declarations }
end;
var
frmWorkerDeptFeeInPut: TfrmWorkerDeptFeeInPut;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_GYSList,U_ZDYHelpSel,U_YGCXList,
U_SYDeptUserView, U_SYDeptView;
{$R *.dfm}
procedure TfrmWorkerDeptFeeInPut.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>¼<EFBFBD><C2BC>1',Tv1,'<27><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>');
end;
procedure TfrmWorkerDeptFeeInPut.InitData();
var FDEPT:string;
Fint:integer;
begin
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.add('from OA_YG_DangAn A ');
sql.Add('inner join SY_Dept B on A.DPID=B.DPID');
SQL.Add('where isnull(A.YGEName,YGName)='''+trim(DName)+'''');
Open;
end;
FDEPT:=Trim(ADOQuery1.fieldbyname('DPParent').AsString);
for Fint:=2 to ADOQuery1.fieldbyname('DPlevel').AsInteger-1 do
begin
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('select * from SY_Dept where DPID='''+trim(FDEPT)+'''');
open;
end;
FDEPT:=Trim(ADOCmd.fieldbyname('DPParent').AsString);
end;
if ADOCmd.IsEmpty=False then
Dept.Text:=trim(ADOCmd.fieldbyname('DPName').asstring);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select A.*,B.* from Worker_Fee_Main A left join Worker_Fee_Sub B on A.WFID=B.WFID');
sql.Add(' where A.WFID='''+Trim(FMainId)+'''');
Open;
end;
SCSHDataNew(ADOQuery1,Panel1,0);
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add('select * from Worker_Fee_Sub ');
sql.Add(' where WFID='''+Trim(FMainId)+'''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
if PState=0 then
begin
WFDate.DateTime:=SGetServerDate(ADOTemp);
WFDate.Checked:=False;
FSDate.DateTime:=SGetServerDate(ADOTemp);
FSDate.Checked:=False;
BZDate.DateTime:=SGetServerDate(ADOTemp);
BZDate.Checked:=False;
Worker.Text:=Trim(DName);
end;
end;
procedure TfrmWorkerDeptFeeInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string);
begin
end;
procedure TfrmWorkerDeptFeeInPut.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>¼<EFBFBD><C2BC>1',Tv1,'<27><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>');
InitData();
end;
procedure TfrmWorkerDeptFeeInPut.GetMaxConNO();
begin
end;
function TfrmWorkerDeptFeeInPut.SaveData():Boolean;
var
maxno,maxSubNo:String;
begin
try
Result:=False;
ADOCmd.Connection.BeginTrans;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(FMainId)='' then
begin
if GetLSNo(ADOCmd,maxno,'WF','Worker_Fee_Main',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(FMainId);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Worker_Fee_Main where WFId='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('WFId').Value:=Trim(maxno);
RTSetsavedata(ADOCmd,'Worker_Fee_Main',Panel1,0);
FieldByName('HZStatus').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if Trim(FMainId)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillCode').Value:=Trim(DCode);
FieldByName('FillerCode').Value:=Trim(DCode);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditerCode').Value:=Trim(DCode);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
end;
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(ADOCmd,maxSubNo,'WS','Worker_Fee_Sub',4,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
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 ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Worker_Fee_Sub where ');
sql.Add(' WSId='''+Trim(maxSubNo)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('WSId').AsString)='' then
Append
else
Edit;
FieldByName('WFID').Value:=Trim(maxno);
FieldByName('WSId').Value:=Trim(maxSubNo);
RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'Worker_Fee_Sub',0);
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('WSId').Value:=Trim(maxSubNo);
Next;
end;
end;
with ADOCmd 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;
ADOCmd.Connection.CommitTrans;
FMainId:=Trim(maxno);
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmWorkerDeptFeeInPut.TBSaveClick(Sender: TObject);
var
FReal:Double;
FPPrice,PRTPrice,BCMoney,FPQty,ChaMoney,FFK:string;
begin
ToolBar1.SetFocus;
if Trim(Worker.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(WFType.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(Dept.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if WFDate.Checked=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ѡ<EFBFBD><D1A1>!','<27><>ʾ',0);
Exit;
end;
if FSDate.Checked=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ѡ<EFBFBD><D1A1>!','<27><>ʾ',0);
Exit;
end;
if Order_Sub.IsEmpty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
exit;
end;
if Order_Sub.Locate('Money',Null,[])=True then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EEB2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Order_Sub.Locate('FPStatus',Null,[])=True then
begin
Application.MessageBox('<27><><EFBFBD>޷<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
with Order_Sub do
begin
first;
while not eof do
begin
if FFK='' then
FFK:=fieldbyname('ZhaiYao').AsString
else
if FFK<>fieldbyname('ZhaiYao').AsString then
begin
application.MessageBox('<27><><EFBFBD>λ<EEB5A5><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ','<27><>ʾ');
exit;
end;
next;
end;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
ModalResult:=1;
end;
end;
procedure TfrmWorkerDeptFeeInPut.ToolButton1Click(Sender: TObject);
var FFKDW: string;
begin
If Order_Sub.IsEmpty then
begin
with Order_Sub do
begin
Append;
Post;
end;
end
else
begin
FFKDW:=order_Sub.fieldbyname('ZhaiYao').AsString;
with Order_Sub do
begin
Append;
fieldbyname('ZhaiYao').AsString:=trim(FFKDW);
Post;
end;
//v1ZhaiYao.Options.Editing:=False;
end;
end;
procedure TfrmWorkerDeptFeeInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
if Trim(Order_Sub.fieldbyname('WSId').AsString)<>'' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('delete Worker_Fee_Sub where WFId='''+Trim(Order_Sub.fieldbyname('WFId').AsString)+'''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmWorkerDeptFeeInPut.WorkerBtnClick(Sender: TObject);
begin
frmYGCXList:=TfrmYGCXList.Create(self);
with frmYGCXList do
begin
FFInt:=100;
TSel.Visible:=True;
if showModal=1 then
begin
Dept.Text:=trim(CDS_Tree.fieldbyname('DPName').AsString);
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.v1Column3PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='KeMu';
flagname:='<27><>Ŀ';
if ShowModal=1 then
begin
with Self.Order_Sub do
begin
Edit;
FieldByName('KeMu').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
// Post;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.v1Column3PropertiesEditValueChanged(
Sender: TObject);
var
FName,FQty,FPrice,mvalue:string;
begin
FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
mvalue:=TcxTextEdit(Sender).EditingText;
with Order_Sub do
begin
Edit;
if Trim(mvalue)='' then
FieldByName(FName).Value:=null
else
FieldByName(FName).Value:=mvalue;
Post;
end;
FQty:=Trim(Order_Sub.fieldbyname('YCLQty').AsString);
FPrice:=Trim(Order_Sub.fieldbyname('YCLPrice').AsString);
if Trim(FQty)='' then FQty:='0';
if Trim(FPrice)='' then FPrice:='0';
with Order_Sub do
begin
Edit;
FieldByName('Money').Value:=StrToFloat(FQty)*StrToFloat(FPrice);
Post;
end;
end;
procedure TfrmWorkerDeptFeeInPut.v1Column9PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='YCLUnit';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ';
if showModal=1 then
begin
with Order_Sub do
begin
edit;
fieldbyname('YCLUnit').asstring:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.v1Column1PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='ZhaiYao';
flagname:='<27><><EFBFBD>λ';
if showModal=1 then
begin
with Order_Sub do
begin
edit;
fieldbyname('ZhaiYao').asstring:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.Person1BtnClick(Sender: TObject);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='Person1';
flagname:='<27>տλ';
if showModal=1 then
begin
Person1.Text:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.Person2BtnClick(Sender: TObject);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='Person2';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>';
if showModal=1 then
begin
Person2.Text:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.Person3BtnClick(Sender: TObject);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='Person3';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if showModal=1 then
begin
Person3.Text:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.WFTypeChange(Sender: TObject);
begin
if WFType.Text='<27><>˽ҵ<CBBD><D2B5>' then
begin
Person4.Text:='<27>ֽ<EFBFBD>';
Person4.Enabled:=False;
end
else
begin
Person4.Text:='';
Person4.Enabled:=True;
end;
end;
procedure TfrmWorkerDeptFeeInPut.v1priceUnitPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='priceUnit';
flagname:='<27><><EFBFBD><EFBFBD>';
if showModal=1 then
begin
with Order_Sub do
begin
edit;
fieldbyname('priceUnit').asstring:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.DeptBtnClick(Sender: TObject);
begin
try
frmSYDeptView:=TfrmSYDeptView.Create(Application);
with frmSYDeptView do
begin
if ShowModal=1 then
begin
Self.Dept.Text:=Trim(frmSYDeptView.CDS_Tree.fieldbyname('DPName').AsString);
end;
end;
finally
frmSYDeptView.Free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.v1ZhaiYaoPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='ZhaiYao';
flagname:='<27><><EFBFBD>λ';
if showModal=1 then
begin
Order_Sub.Edit;
Order_Sub.FieldByName('ZhaiYao').AsString:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
free;
end;
end;
procedure TfrmWorkerDeptFeeInPut.ItemNameBtnClick(Sender: TObject);
begin
if WFType.Text='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
TBADD.Visible:=False;
TBDel.Visible:=False;
TBEdit.Visible:=False;
if WFType.Text='<27><>˽ҵ<CBBD><D2B5>' then
flag:='ItemNameDS1'
else
flag:='ItemNameDG1';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if showModal=1 then
begin
ItemName.Text:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
free;
end;
end;
end.