You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

863 lines
28 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

unit u_ch_delete_do;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, bsSkinTabs, DB, ADODB,Menus, StdCtrls, XPMenu, Grids, DBGridEh,
ExtCtrls;
type
Tfra_ch_delete_do = class(TFrame)
bsSkinPageControl1: TbsSkinPageControl;
bsSkinTabSheet1: TbsSkinTabSheet;
bsSkinTabSheet2: TbsSkinTabSheet;
bsSkinTabSheet3: TbsSkinTabSheet;
bsSkinTabSheet4: TbsSkinTabSheet;
v_fee_do_seae: TADOQuery;
v_fee_do_seae1: TDataSource;
do_ban1: TDataSource;
p_fee_do_delete_one: TADOStoredProc;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
bs_text: TEdit;
XPMenu1: TXPMenu;
v_fee_do_seai: TADOQuery;
v_fee_do_seai1: TDataSource;
v_fee_do_aire: TADOQuery;
v_fee_do_aire1: TDataSource;
v_fee_do_airi1: TDataSource;
v_fee_do_airi: TADOQuery;
v_fee_do_seae_sum: TADOQuery;
v_fee_do_seae_sum1: TDataSource;
v_fee_do_seai_sum: TADOQuery;
v_fee_do_seai_sum1: TDataSource;
v_fee_do_aire_sum: TADOQuery;
v_fee_do_aire_sum1: TDataSource;
v_fee_do_airi_sum: TADOQuery;
v_fee_do_airi_sum1: TDataSource;
DBGridSEAE: TDBGridEh;
DBGridseaisum: TDBGridEh;
DBGridseai: TDBGridEh;
DBGridairesum: TDBGridEh;
DBGridaire: TDBGridEh;
DBGridairisum: TDBGridEh;
DBGridairi: TDBGridEh;
v_fee_do_seaeDO_ID: TAutoIncField;
v_fee_do_seaeDSDesigner: TBCDField;
v_fee_do_seaeDSDesigner2: TBCDField;
v_fee_do_seaeDSDesigner3: TStringField;
v_fee_do_seaeDSDesigner4: TStringField;
v_fee_do_seaeDSDesigner5: TStringField;
v_fee_do_seaeDSDesigner6: TStringField;
v_fee_do_seaeDSDesigner7: TStringField;
v_fee_do_seaeDSDesigner8: TStringField;
v_fee_do_seaeDSDesigner9: TStringField;
v_fee_do_seaeDSDesigner10: TDateTimeField;
v_fee_do_seaeDSDesigner11: TStringField;
v_fee_do_seaeDSDesigner12: TStringField;
v_fee_do_seaeDSDesigner13: TStringField;
v_fee_do_seaeDSDesigner14: TStringField;
v_fee_do_seaeDSDesigner15: TStringField;
v_fee_do_seaeDSDesigner16: TStringField;
v_fee_do_seaeDSDesigner17: TStringField;
v_fee_do_seaeDSDesigner18: TStringField;
v_fee_do_seaeDSDesigner19: TStringField;
v_fee_do_seaeDSDesigner20: TDateTimeField;
v_fee_do_seaeDSDesigner21: TStringField;
v_fee_do_seaeDSDesigner22: TStringField;
v_fee_do_seaeDSDesigner23: TIntegerField;
v_fee_do_seaeDSDesigner24: TStringField;
v_fee_do_seaeDSDesigner25: TBCDField;
v_fee_do_seaeDSDesigner26: TBCDField;
v_fee_do_seaeDSDesigner27: TStringField;
v_fee_do_seaeDSDesigner28: TStringField;
v_fee_do_seaeDSDesigner29: TDateTimeField;
v_fee_do_seaeDSDesigner30: TStringField;
v_fee_do_seaeDSDesigner31: TStringField;
v_fee_do_seaeDSDesigner32: TStringField;
v_fee_do_seaeDSDesigner33: TStringField;
v_fee_do_seaeDSDesigner34: TStringField;
v_fee_do_seaeDSDesigner35: TStringField;
v_fee_do_seaeDSDesigner36: TStringField;
v_fee_do_seaeDSDesigner37: TStringField;
v_fee_do_seaeDSDesigner38: TStringField;
v_fee_do_seaeDSDesigner39: TStringField;
v_fee_do_seaeDSDesigner40: TBCDField;
v_fee_do_seaeDSDesigner41: TBCDField;
v_fee_do_seaeField: TFloatField;
v_fee_do_seaeCH_ID: TAutoIncField;
v_fee_do_seaeDSDesigner42: TStringField;
v_fee_do_seaeDSDesigner43: TDateTimeField;
Panel1: TPanel;
DBGridseasum: TDBGridEh;
v_fee_do_seae_sum_atd: TADOQuery;
v_fee_do_seae_sum_atd1: TDataSource;
DBGridEh1: TDBGridEh;
v_fee_do_seaeDSDesigner44: TStringField;
procedure N1Click(Sender: TObject);
procedure bs_textChange(Sender: TObject);
procedure dxDBGrid1DblClick(Sender: TObject);
procedure dxDBGrid2DblClick(Sender: TObject);
procedure dxDBGrid3DblClick(Sender: TObject);
procedure dxDBGrid4DblClick(Sender: TObject);
procedure bsSkinPageControl1Change(Sender: TObject);
procedure v_fee_do_seaeAfterOpen(DataSet: TDataSet);
procedure v_fee_do_seaeBeforeOpen(DataSet: TDataSet);
procedure DBGridSEAETitleBtnClick(Sender: TObject; ACol: Integer;
Column: TColumnEh);
procedure v_fee_do_seaeCalcFields(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses u_main, my_sys_function;
{$R *.dfm}
procedure Tfra_ch_delete_do.N1Click(Sender: TObject);
var
i:integer;
delete_num:real;
begin
frm_main.db.BeginTrans;
try
if bs_text.Text='3'then
if (v_fee_do_seae.DataSource.DataSet.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring='<27><><EFBFBD><EFBFBD>')then
begin
if (v_fee_do_seae.DataSource.DataSet.FieldByName('<27>ʵ<EFBFBD>״̬').asstring<>'ȷ<>Ϻ<EFBFBD><CFBA><EFBFBD>')then
begin
showmessage('<27><>ǰҵ<C7B0><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
exit;
end;
end;
// v_fee_do_seae.DataSource.DataSet.Edit;
if bsSkinPageControl1.ActivePage=bsSkinTabSheet1 then
begin
if v_fee_do_seae.IsEmpty then
exit;
if_ch_delete_do:=true;
delete_do_type_num:=1;
{
if DBGridEhItems.SelectedRows.Count>0 then begin
for I:=0 to DBGridEhItems.SelectedRows.Count-1 do begin
GotoBookmark(Pointer(DBGridEhItems.SelectedRows.Items[I]));
}
if DBGridSEAE.SelectedRows.Count>=1 then
begin
for i:=0 to DBGridSEAE.SelectedRows.Count-1 do
begin
v_fee_do_seae.GotoBookmark(Pointer(DBGridSEAE.SelectedRows.items[i]));
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_seae.fieldbyname('CH_ID').asinteger,v_fee_do_seae.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_seae.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
end
else
begin
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_seae.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_seae.fieldbyname('CH_ID').asinteger,v_fee_do_seae.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_seae.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
if (bs_text.Text='1')or(bs_text.Text='2') or(bs_text.Text='7')then
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']:=do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end
else
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end;
DBGridSEAE.SumList.Active:=false;
DBGridSEAE.SumList.Active:=true;
end;
if bsSkinPageControl1.ActivePage=bsSkinTabSheet2 then
begin
if v_fee_do_seai.IsEmpty then
exit;
if_ch_delete_do:=true;
delete_do_type_num:=2;
if DBGridseai.SelectedRows.Count>=1 then
begin
for i:=0 to DBGridseai.SelectedRows.Count-1 do
begin
v_fee_do_seai.GotoBookmark(pointer(DBGridseai.SelectedRows.items[i]));
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_seai.fieldbyname('CH_ID').asinteger,v_fee_do_seai.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_seai.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
end
else
begin
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_seai.fieldbyname('CH_ID').asinteger,v_fee_do_seai.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_seai.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
if (bs_text.Text='1')or(bs_text.Text='2') or(bs_text.Text='7')then
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']:=do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end
else
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end;
end;
if bsSkinPageControl1.ActivePage=bsSkinTabSheet3 then
begin
if v_fee_do_aire.IsEmpty then
exit;
if_ch_delete_do:=true;
delete_do_type_num:=3;
if DBGridaire.SelectedRows.Count>=1 then
begin
for i:=0 to DBGridaire.SelectedRows.Count-1 do
begin
v_fee_do_aire.GotoBookmark(pointer(DBGridaire.SelectedRows.items[i]));
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_seai.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_aire.fieldbyname('CH_ID').asinteger,v_fee_do_aire.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_aire.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
end
else
begin
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_aire.fieldbyname('CH_ID').asinteger,v_fee_do_aire.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_aire.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
if (bs_text.Text='1')or(bs_text.Text='2')then
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']:=do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end
else
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end;
end;
if bsSkinPageControl1.ActivePage=bsSkinTabSheet4 then
begin
if v_fee_do_airi.IsEmpty then
exit;
if_ch_delete_do:=true;
delete_do_type_num:=4;
if DBGridairi.SelectedRows.Count>=1 then
begin
for i:=0 to DBGridairi.SelectedRows.Count-1 do
begin
v_fee_do_airi.GotoBookmark(pointer(DBGridairi.SelectedRows.items[i]));
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_airi.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_airi.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_airi.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_airi.fieldbyname('CH_ID').asinteger,v_fee_do_airi.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_airi.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
end
else
begin
case strtoint(bs_text.Text) of
1,7:
begin
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
2:
begin
if v_fee_do_airi.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num-v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
3:
begin
if v_fee_do_airi.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
4:
begin
if v_fee_do_airi.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
6:
begin
if v_fee_do_aire.FieldByName('<27><><EFBFBD><EFBFBD>').asstring='<27><>' then
delete_num:=delete_num+v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat
else
delete_num:=delete_num-v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
end;
end;
case strtoint(bs_text.Text) of
3,4:
begin
Setfee(1,v_fee_do_airi.fieldbyname('CH_ID').asinteger,v_fee_do_airi.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').asfloat);
end;
end;
p_fee_do_delete_one.Parameters[1].value:=v_fee_do_airi.fieldbyname('DO_ID').asinteger;
p_fee_do_delete_one.ExecProc;
end;
if (bs_text.Text='1')or(bs_text.Text='2')then
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']:=do_ban1.DataSet['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end
else
begin
if delete_num<>0 then
begin
do_ban1.DataSet.edit;
do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=do_ban1.DataSet['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']-delete_num;
do_ban1.DataSet.post;
end;
end;
end;
frm_main.db.CommitTrans;
except
frm_main.db.RollbackTrans;
end;
end;
procedure Tfra_ch_delete_do.bs_textChange(Sender: TObject);
begin
case strtoint(bs_text.text) of
1,7:
begin
DBGridseasum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridSEAE.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridseaisum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridSEAi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridairesum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridaire.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridairisum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridairi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=false;
DBGridSEAE.FieldColumns['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridSEAi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridaire.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridairi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
2:
begin
DBGridseasum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridSEAE.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridseaisum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridSEAi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridairesum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridaire.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridairisum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridairi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridSEAE.FieldColumns['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridSEAi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridaire.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridairi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
3,4:
begin
DBGridseasum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridSEAE.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridseaisum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridSEAi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridairesum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridaire.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridairisum.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridairi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Visible:=true;
DBGridSEAE.FieldColumns['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridSEAi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridaire.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
DBGridairi.FieldColumns['<27><><EFBFBD><EFBFBD>'].Title.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
end;
procedure Tfra_ch_delete_do.dxDBGrid1DblClick(Sender: TObject);
begin
fee_view(v_fee_do_seae.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
procedure Tfra_ch_delete_do.dxDBGrid2DblClick(Sender: TObject);
begin
fee_view(v_fee_do_seai.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
procedure Tfra_ch_delete_do.dxDBGrid3DblClick(Sender: TObject);
begin
fee_view(v_fee_do_aire.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
procedure Tfra_ch_delete_do.dxDBGrid4DblClick(Sender: TObject);
begin
fee_view(v_fee_do_airi.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
procedure Tfra_ch_delete_do.bsSkinPageControl1Change(Sender: TObject);
begin
{
if bsSkinPageControl1.ActivePage=bsSkinTabSheet2 then begin
if not v_fee_do_seai.Active then v_fee_do_seai.open;
if not v_fee_do_seai_sum.Active then v_fee_do_seai_sum.open;
end else begin
v_fee_do_seai.close;
v_fee_do_seai_sum.close;
end;
if bsSkinPageControl1.ActivePage=bsSkinTabSheet3 then begin
if not v_fee_do_aire.Active then v_fee_do_aire.open;
if not v_fee_do_aire_sum.Active then v_fee_do_aire_sum.open;
end else begin
v_fee_do_aire.close;
v_fee_do_aire_sum.close;
end;
if bsSkinPageControl1.ActivePage=bsSkinTabSheet4 then begin
if not v_fee_do_airi.Active then v_fee_do_airi.open;
if not v_fee_do_airi_sum.Active then v_fee_do_airi_sum.open;
end else begin
v_fee_do_airi.close;
v_fee_do_airi_sum.close;
end;
}
end;
procedure Tfra_ch_delete_do.v_fee_do_seaeAfterOpen(DataSet: TDataSet);
begin
DBGridSEAE.SumList.Active:=true;
end;
procedure Tfra_ch_delete_do.v_fee_do_seaeBeforeOpen(DataSet: TDataSet);
begin
DBGridSEAE.SumList.Active:=false;
end;
procedure Tfra_ch_delete_do.DBGridSEAETitleBtnClick(Sender: TObject;
ACol: Integer; Column: TColumnEh);
var mSQL : String;
SortFieldNames : String;
InvaildFieldNames : String;
InvaildColumnCount, Col : Integer;
aColumns : TColumnsEhList;
aSortMarker : TSortMarkerEh;
function DeleteStr(Str, SubStr : String): String;
var I : Integer;
begin
Str:=UpperCase(Str);
SubStr:=UpperCase(SubStr);
I := Pos(Substr,Str);
if I<>0 then Delete(Str, I, Length(Str)-I+1);
Result := Trim(Str);
end;
begin
if column.Title.SortMarker = smUpEh then
begin
v_fee_do_seae.Sort := column.FieldName + ' DESC';
column.Title.SortMarker := smDownEh;
end
else
begin
v_fee_do_seae.Sort := column.FieldName +' ASC';
column.Title.SortMarker := smUpEh;
end;
// aColumns := TColumnsEhList.Create;
{
SortFieldNames:='';
try
aColumns.Assign(TDBGridEh(Sender).SortMarkedColumns);
if aColumns.IndexOf(Column)=-1 then aColumns.Add(Column);
for Col:=0 to aColumns.Count-1 do
with aColumns[Col] do begin
aSortMarker:=Title.SortMarker;
if aColumns[Col]=Column then
case aSortMarker of
smNoneEh : aSortMarker:=smDownEh;
smDownEh : aSortMarker:=smUpEh;
smUpEh : if aColumns.Count=1 then aSortMarker:=smDownEh else aSortMarker:=smNoneEh;
end;
if aSortMarker<>smNoneEh then begin
if SortFieldNames='' then
SortFieldNames:=aColumns[Col].FieldName
else SortFieldNames:=SortFieldNames+','+aColumns[Col].FieldName;
case aSortMarker of
smNoneEh, smDownEh : SortFieldNames:=SortFieldNames+' DESC';
smUpEh : ;
end;
end;
end;
finally
FreeAndNil(aColumns);
end;
if (SortFieldNames='') then exit;
with v_fee_do_seae, SQL do begin
mSQL:=SQL.Text;
mSQL:=DeleteStr(mSQL,'Order By');
mSQL:=Trim(mSQL)+#13#10+' Order By '+SortFieldNames;
try
v_fee_do_seae1.DataSet:=nil;
Close;
SQL.Text:=mSQL;
Open;
finally
v_fee_do_seae1.DataSet:=v_fee_do_seae;
end;
end;
}
end;
procedure Tfra_ch_delete_do.v_fee_do_seaeCalcFields(DataSet: TDataSet);
begin
case strtoint(bs_text.text) of
1,7:
begin
DataSet.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsFloat:=DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat;
end;
2,4:
begin
if DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').Asstring='<27><>' then
DataSet.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsFloat:=DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat
else
DataSet.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsFloat:=-DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat;
end;
3,6:
begin
if DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').Asstring='<27><>' then
DataSet.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsFloat:=DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat
else
DataSet.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsFloat:=-DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat;
end;
end;
end;
end.