📄 fcase.pas
字号:
Rate:=GetBrandList.FieldByName('高限比例').Value;
Limits:=GetBrandList.FieldByName('高速加数').Value;
end;
2: Begin
Rate:=GetBrandList.FieldByName('中限比例').Value;
Limits:=GetBrandList.FieldByName('中速加数').Value;
end;
3: Begin
Rate:=GetBrandList.FieldByName('低限比例').Value;
Limits:=GetBrandList.FieldByName('低速加数').Value;
end;
else
Begin
Rate:=0;
Limits:=0;
End
end;
LowAmount:=GetBrandList.FieldByName('起始金额').Value;
//应计报酬
Amount0:=(Amount-LowAmount)*Rate/100+Limits; //得到总的可分配金额
Amount1:=Amount0*Rate1/100;
Amount2:=Amount0*Rate2/100;
Amount3:=Amount0*Rate3/100;
//计税总额
AllAmount1:=Amount1+Amount3*TaxRate1/100;
AllAmount2:=Amount2+Amount3*TaxRate2/100;
AllAmount3:=Amount2+Amount3*TaxRate3/100;
//应缴税额
Tax1:=AllAmount1*0.0765*PayRate1/100 ;
Tax2:=AllAmount2*0.0765*PayRate1/100 ;
Tax3:=AllAmount3*0.0765*PayRate1/100 ;
Tax4:=(AllAmount1+AllAmount2+AllAmount3)*PayRate2*0.0765/100;
Tax11:= AllAmount1*PayRate2*0.0765/100;
Tax22:= AllAmount2*PayRate2*0.0765/100;
Tax33:= AllAmount3*PayRate2*0.0765/100;
//实际应得
ActAmount1:=AllAmount1*PayRate1/100-Tax1;
ActAmount2:=AllAmount2*PayRate1/100-Tax2;
ActAmount3:=AllAmount3*PayRate1/100-Tax3;
ActAmount4:=(AllAmount1+AllAmount2+AllAmount3)*PayRate2/100-Tax4;
ActAmount11:=AllAmount1*PayRate2/100-Tax11;
ActAmount22:=AllAmount2*PayRate2/100-Tax22;
ActAmount33:=AllAmount3*PayRate2/100-Tax33;
Try
LinkSQL.PubLink.BeginTrans;
Screen.Cursor := crHourGlass;
BillHead.Edit;
BillHead.FieldByName('首席仲裁员报酬').Value:=Amount1;
BillHead.FieldByName('仲裁员一报酬').Value:=Amount2;
BillHead.FieldByName('仲裁员二报酬').Value:=Amount2;
BillHead.FieldByName('秘书处报酬').Value:=Amount3;
BillHead.FieldByName('首席仲裁员计税总额').Value:=AllAmount1;
BillHead.FieldByName('仲裁员一计税总额').Value:=AllAmount2;
BillHead.FieldByName('仲裁员二计税总额').Value:=AllAmount3;
BillHead.FieldByName('首席仲裁员应缴税额').Value:=Tax1;
BillHead.FieldByName('仲裁员一应缴税额').Value:=Tax2;
BillHead.FieldByName('仲裁员二应缴税额').Value:=Tax3;
BillHead.FieldByName('秘书处应缴税额').Value:=Tax4;
BillHead.FieldByName('首席仲裁员代缴税额').Value:=Tax11;
BillHead.FieldByName('仲裁员一代缴税额').Value:=Tax22;
BillHead.FieldByName('仲裁员二代缴税额').Value:=Tax33;
BillHead.FieldByName('首席仲裁员税后提成').Value:=ActAmount1;
BillHead.FieldByName('仲裁员一税后提成').Value:=ActAmount2;
BillHead.FieldByName('仲裁员二税后提成').Value:=ActAmount3;
BillHead.FieldByName('秘书处税后提成').Value:=ActAmount4;
BillHead.FieldByName('首席仲裁员上缴').Value:=ActAmount11;
BillHead.FieldByName('仲裁员一上缴').Value:=ActAmount22;
BillHead.FieldByName('仲裁员二上缴').Value:=ActAmount33;
BillHead.UpdateBatch;
LinkSQL.PubLink.CommitTrans;
Screen.Cursor := crDefault;
Except On E:Exception DO
Begin
LinkSQL.PubLink.RollbackTrans;
Screen.Cursor := crDefault;
Application.MessageBox(PChar('有错误产生,操作已被取消,错误描述如下:'#13#10 + E.Message), '提示',MB_ICONSTOP);
StateLab.Caption:='错误:数据保存失败!';
End;
End
End;
GetBrandList.Next;
End;
Finally
GetBrandList.Close;
GetRate.Close;
GetTaxRate.Close;
GetPayRate.Close;
End;
End;
Function TCaseFrm.SaveBill:Boolean;
Begin
If (not BillHead.Active)then Exit;
If not CheckCurrentData then
begin
Application.MessageBox('项目登记数据不完整,请检查!','提示',MB_ICONInformation);
Exit;
end;
Try
BillHead.Edit;
LinkSQL.PubLink.BeginTrans;
Screen.Cursor := crHourGlass;
//If FInterID=0 then
//Begin
// FInterID:=LinkSQL.GetAutoID('ICProject');
// BillHead.FieldByName('FInterID').Value:=FInterID;
//End;
BillHead.UpdateBatch;
LinkSQL.PubLink.CommitTrans;
FInterID:= BillHead.FieldByName('FInterID').Value;
Screen.Cursor := crDefault;
StateLab.Caption:='已保存';
GetBill(FInterID);
Result:=true;
Except On E:Exception Do
Begin
LinkSQL.PubLink.RollbackTrans;
Screen.Cursor := crDefault;
StateLab.Caption:='数据保存不成功';
Application.MessageBox(PChar('数据保存不成功,提示:'+E.Message),'错误提示',MB_ICONINFORMATION);
End;
End;
End;
Procedure TCaseFrm.GetBill(FInterID:Integer);
Begin
//单据头设定
//Try
If FInterID=0 Then
BtnList.Visible:=False
Else
BtnList.Visible:=True;
BillHead.Connection:=LinkSQL.PubLink;
BillHead.Active:=False;
BillHead.Parameters.ParamByName('@FInterID').Value:=FInterID;
BillHead.Prepared;
BillHead.Active:=True;
//BillHead.Recordset.Properties['Update Criteria'].Value:=0;//adCriteriaKey;
BillHead.Edit;
If People.Active Then
People.Requery
Else
People.Active :=True;
If Judge.Active Then
Judge.Requery
Else
Judge.Active :=True;
If Status.Active Then
Status.Requery
Else
Status.Active :=True;
If FInterID=0 Then //新增状态
Begin
BillHead.FieldByName('是否已支付').Value:=False ;
BillHead.FieldByName('反请求标的').Value:=0 ;
BillHead.FieldByName('反请求受理费').Value:=0 ;
BillHead.FieldByName('计算类型').Value:='按高限计算' ;
ECaled.Checked:=False;
EBillDate.Value:=Date;
End;
End;
Constructor TCaseFrm.Create(AOwner:TComponent;BillID:Integer);
Begin
inherited Create(AOwner);
FInterID:=BillID;
End;
procedure TCaseFrm.BQuitExecute(Sender: TObject);
begin
Close
end;
procedure TCaseFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree
end;
procedure TCaseFrm.FormCreate(Sender: TObject);
begin
GetBill(FInterID);
end;
procedure TCaseFrm.BNewExecute(Sender: TObject);
begin
GetBill(0);
end;
procedure TCaseFrm.EJudgeAEnter(Sender: TObject);
begin
(Sender As TDBLookUpComboboxEh).EditButton.Visible:=True;
(Sender As TDBLookUpComboboxEh).ListField:='代码;姓名';
end;
procedure TCaseFrm.EJudgeAExit(Sender: TObject);
begin
(Sender As TDBLookUpComboboxEh).EditButton.Visible:=False;
(Sender As TDBLookUpComboboxEh).ListField:='姓名'
end;
procedure TCaseFrm.EBillDateExit(Sender: TObject);
begin
EBillDate.EditButton.Visible:=False
end;
procedure TCaseFrm.EStatusEnter(Sender: TObject);
begin
(Sender As TDBLookUpComboboxEh).EditButton.Visible:=True;
(Sender As TDBLookUpComboboxEh).ListField:='代码;结案形式';
end;
procedure TCaseFrm.EStatusExit(Sender: TObject);
begin
(Sender As TDBLookUpComboboxEh).EditButton.Visible:=False;
(Sender As TDBLookUpComboboxEh).ListField:='结案形式';
end;
procedure TCaseFrm.EBillDateEnter(Sender: TObject);
begin
EBillDate.EditButton.Visible:=True
end;
procedure TCaseFrm.BSaveExecute(Sender: TObject);
begin
StateLab.SetFocus ;
If SaveBill then BCal.Execute;
end;
procedure TCaseFrm.BJudgesExecute(Sender: TObject);
Var Frm:TJudgeFrm;
begin
Frm:=TJudgeFrm.Create(Application);
Frm.ShowModal;
Judge.Requery
end;
procedure TCaseFrm.BCalExecute(Sender: TObject);
begin
If (not BillHead.Active)then Exit;
If not CheckCurrentData then
begin
Application.MessageBox('项目登记数据不完整,请检查!','提示',MB_ICONInformation);
Exit;
end;
//SaveBill;
CalAmount
end;
procedure TCaseFrm.BSecrotoryExecute(Sender: TObject);
Var Frm:TEmpFrm;
begin
Frm:=TEmpFrm.Create(Application);
Frm.ShowModal;
People.Requery;
end;
procedure TCaseFrm.EAmountCChange(Sender: TObject);
begin
If Not (BillHead.State In [dsEdit,dsInsert]) Then Exit;
EJudgeAAmount.Value:=0;
EJudgeBAmount.Value:=0;
EJudgeCAmount.Value:=0;
StateLab.Caption:='请注意保存';
end;
procedure TCaseFrm.EBillNoKeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 Then
PostMessage(Handle, WM_KEYDOWN, VK_TAB, 0);
end;
procedure TCaseFrm.EPeopleAEnter(Sender: TObject);
begin
ToChinese(0,True)
end;
procedure TCaseFrm.EPeopleBEnter(Sender: TObject);
begin
ToChinese(0,True)
end;
procedure TCaseFrm.BNextExecute(Sender: TObject);
begin
CaseListFrm.Bills.Next;
FInterID:=CaseListFrm.Bills.FieldByName('FInterID').Value;
GetBill(FInterID)
end;
procedure TCaseFrm.BPreExecute(Sender: TObject);
begin
CaseListFrm.Bills.Prior;
FInterID:=CaseListFrm.Bills.FieldByName('FInterID').Value;
GetBill(FInterID)
end;
procedure TCaseFrm.BFirstExecute(Sender: TObject);
begin
CaseListFrm.Bills.First;
FInterID:=CaseListFrm.Bills.FieldByName('FInterID').Value;
GetBill(FInterID)
end;
procedure TCaseFrm.BLastExecute(Sender: TObject);
begin
CaseListFrm.Bills.Last;
FInterID:=CaseListFrm.Bills.FieldByName('FInterID').Value;
GetBill(FInterID)
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -