?? sys_jypydlx.pas
字號:
i: integer;
begin
for i:= 0 to chkBox_tz.Items.Count - 1 do
chkBox_tz.Checked[i] := false;
Eit_dm.Text := Qry_ydlx.FieldByName('YDLXDM').AsString;
Eit_mc.Text := Qry_ydlx.FieldByName('YDLXMC').AsString;
with Qry_super do
begin
Close;
SQL.Clear;
case tabCtl_lx.TabIndex of
0:
SQL.Add('select JHH as TZ from TG_YZPPYDLXB where ND=''' +
SpinEdit1.Text + ''' and YDLXDM=''' +
Qry_ydlx.FieldByName('YDLXDM').AsString + ''' order by JHH');
1:
SQL.Add('select JYPLDM as TZ from TG_JYPYDLXB where ND=''' +
SpinEdit1.Text + ''' and YDLXDM=''' +
Qry_ydlx.FieldByName('YDLXDM').AsString + ''' order by JYPLDM');
end;
Open;
while not Eof do
begin
for i:= 0 to chkBox_tz.Items.Count-1 do
if (FieldByName('TZ').AsString = vlp_sl_tz[i]) then
begin
chkBox_tz.Checked[i] := true;
break;
end;
Next;
end;
end;
end;
procedure TFrm_jypydlx.Act_savExecute(Sender: TObject);
var
vl_s_tmp: string;
i: integer;
vl_s_ydlxdm: string;
begin
for i:= 0 to vlp_sl_tz.Count -1 do
if chkBox_tz.Checked[i] then
vl_s_tmp := vl_s_tmp + '''' + vlp_sl_tz[i] + ''',';
if Trim(vl_s_tmp) = '' then
begin
CHQMsgBox('請先確定票品!');
exit;
end;
vl_s_tmp := copy(vl_s_tmp, 0, length(vl_s_tmp) -1);
vl_s_ydlxdm := Trim(Eit_dm.Text);
if (FDataEditState = dsInsert) then
try
if (tabCtl_lx.TabIndex = 0) and
ExistRecord('TG_YZPPYDLXB', 'nd=''' + SpinEdit1.Text + ''' and YDLXDM=''' +
Trim(Eit_dm.Text) + ''' and JHH in(' + vl_s_tmp + ')') or
(tabCtl_lx.TabIndex = 1) and
ExistRecord('TG_JYPYDLXB', 'nd=''' + SpinEdit1.Text + ''' and YDLXDM=''' +
Trim(Eit_dm.Text) + ''' and JYPLDM in(' + vl_s_tmp + ')') then
begin
CHQMsgBox('該年度的該類票品發行量類型已經存在!');
exit;
end;
Qry_super.Close;
Qry_super.SQL.Clear;
case tabCtl_lx.TabIndex of
0:
Qry_super.SQL.Add('insert into TG_YZPPYDLXB(ND,YDLXDM,JHH,YDLXMC) select ''' +
SpinEdit1.Text + ''',''' + Trim(Eit_dm.Text) + ''',JHH,''' +
Trim(Eit_mc.Text) + ''' from TF_PFXJHTAO where JHH in(' + vl_s_tmp + ')' );
1:
Qry_super.SQL.Add('insert into TG_JYPYDLXB(ND,YDLXDM,JYPLDM,YDLXMC) select ''' +
SpinEdit1.Text + ''',''' + Trim(Eit_dm.Text) + ''',JYPLDM,''' +
Trim(Eit_mc.Text) + ''' from TG_JYPLDMB where JYPLDM in(' + vl_s_tmp + ')' );
end;
Qry_super.ExecSQL;
except
raise exception.Create('數據訪問錯誤!');
exit;
end;
if (FDataEditState = dsEdit) then
try
qry_ydlx.Database.starttransaction;
with Qry_super do
begin
Close;
SQL.Clear;
case tabCtl_lx.TabIndex of
0:
begin
SQL.Add('delete from TG_YZPPYDLXB where nd=''' + SpinEdit1.Text +
''' and YDLXDM=''' + Qry_ydlx.FieldByName('YDLXDM').AsString + '''');
ExecSQL;
Close;
SQL.Clear;
Qry_super.SQL.Add('insert into TG_YZPPYDLXB(ND,YDLXDM,JHH,YDLXMC) select ''' +
SpinEdit1.Text + ''',''' + Trim(Eit_dm.Text) + ''',JHH,''' +
Trim(Eit_mc.Text) + ''' from TF_PFXJHTAO where JHH in(' + vl_s_tmp + ')' );
end;
1:
begin
SQL.Add('delete from TG_JYPYDLXB where nd=''' + SpinEdit1.Text +
''' and YDLXDM=''' + Qry_ydlx.FieldByName('YDLXDM').AsString + '''');
ExecSQL;
Close;
SQL.Clear;
Qry_super.SQL.Add('insert into TG_JYPYDLXB(ND,YDLXDM,JYPLDM,YDLXMC) select ''' +
SpinEdit1.Text + ''',''' + Trim(Eit_dm.Text) + ''',JYPLDM,''' +
Trim(Eit_mc.Text) + ''' from TG_JYPLDMB where JYPLDM in(' + vl_s_tmp + ')' );
end;
end;
ExecSQL;
end;
qry_ydlx.Database.Commit;
except
qry_ydlx.Database.Rollback;
end;
Qry_ydlx.AfterScroll := nil;
Qry_ydlx.Close;
Qry_ydlx.Open;
Qry_ydlx.AfterScroll := Qry_ydlxAfterScroll;
Qry_ydlx.Locate('YDLXDM', vl_s_ydlxdm, []);
SetDataEdit(dsBrowse);
end;
procedure TFrm_jypydlx.Act_tzExitExecute(Sender: TObject);
begin
if not Assigned(vlp_sl_tz) then
exit;
end;
procedure TFrm_jypydlx.SpinEdit1Change(Sender: TObject);
begin
if not Assigned(vlp_sl_tz) then
exit;
Act_pagechangeExecute(nil);
end;
procedure TFrm_jypydlx.chkBox_tzClickCheck(Sender: TObject);
begin
if (FDataEditState = dsBrowse) then
begin
if chkbox_tz.checked[chkBox_tz.ItemIndex] then
chkbox_tz.checked[chkBox_tz.ItemIndex] := false
else
chkbox_tz.checked[chkBox_tz.ItemIndex] := true;
exit;
end;
if chkbox_tz.checked[chkBox_tz.ItemIndex] = false then
exit;
if (Trim(Eit_dm.Text) = '') then
begin
CHQMsgBox('請先確定發行量類型代碼!');
if chkbox_tz.checked[chkBox_tz.ItemIndex] then
chkbox_tz.checked[chkBox_tz.ItemIndex] := false
else
chkbox_tz.checked[chkBox_tz.ItemIndex] := true;
exit;
end;
if (FDataEditState = dsEdit) then
begin
if not vlp_ba_tz[chkBox_tz.ItemIndex] then
begin
if (tabCtl_lx.TabIndex = 0) and ExistRecord('TG_YZPPYDLXB', 'ND=''' + SpinEdit1.Text + ''' and JHH=''' + vlp_sl_tz[chkBox_tz.ItemIndex] + '''') or
(tabCtl_lx.TabIndex = 1) and ExistRecord('TG_JYPYDLXB', 'ND=''' + SpinEdit1.Text + ''' and JYPLDM=''' + vlp_sl_tz[chkBox_tz.ItemIndex] + '''') then
begin
if chkbox_tz.checked[chkBox_tz.ItemIndex] then
chkbox_tz.checked[chkBox_tz.ItemIndex] := false
else
chkbox_tz.checked[chkBox_tz.ItemIndex] := true;
end;
end
else
exit;
end else
begin
if (tabCtl_lx.TabIndex = 0) and ExistRecord('TG_YZPPYDLXB', 'ND=''' + SpinEdit1.Text + ''' and JHH=''' + vlp_sl_tz[chkBox_tz.ItemIndex] + '''') or
(tabCtl_lx.TabIndex = 1) and ExistRecord('TG_JYPYDLXB', 'ND=''' + SpinEdit1.Text + ''' and JYPLDM=''' + vlp_sl_tz[chkBox_tz.ItemIndex] + '''') then
begin
if chkbox_tz.checked[chkBox_tz.ItemIndex] then
chkbox_tz.checked[chkBox_tz.ItemIndex] := false
else
chkbox_tz.checked[chkBox_tz.ItemIndex] := true;
end;
end;
end;
procedure TFrm_jypydlx.Act_delExecute(Sender: TObject);
var
vl_s_dm: string;
begin
if Qry_ydlx.IsEmpty then
exit;
if CHQMsgBox('確定要刪除該發行量類型嗎?', 2) = IDNO then
exit;
Qry_ydlx.Next;
if (Qry_ydlx.Eof) then
begin
Qry_ydlx.Prior;
vl_s_dm := Qry_ydlx.fieldbyname('YDLXDM').AsString;
Qry_ydlx.Next;
end
else begin
vl_s_dm := Qry_ydlx.fieldbyname('YDLXDM').AsString;
Qry_ydlx.Prior;
end;
with Qry_super do
try
Close;
SQL.Clear;
case tabCtl_lx.TabIndex of
0:
SQL.Add('delete from TG_YZPPYDLXB where ND=''' + SpinEdit1.Text +
''' and YDLXDM=''' + Eit_dm.Text + '''');
1:
SQL.Add('delete from TG_JYPYDLXB where ND=''' + SpinEdit1.Text +
''' and YDLXDM=''' + Eit_dm.Text + '''');
end;
ExecSQL;
except
raise exception.Create('數據訪問錯誤!');
end;
Qry_ydlx.Close;
Qry_ydlx.Open;
Qry_ydlx.Locate('YDLXDM', vl_s_dm, []);
SpinEdit1Change(nil);
end;
procedure TFrm_jypydlx.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanCLose := CheckExit;
end;
procedure TFrm_jypydlx.Act_sendExecute(Sender: TObject);
const
ISQL = 'Insert into TG_YZPPYDLXB_caco(ND,YDLXDM,JHH,YDLXMC,COMM_DEPT) Select ND,YDLXDM,JHH,YDLXMC, ''%s'' From TG_YZPPYDLXB Where ND= ''%s''';
ISQLPN= 'insert into TG_JYPYDLXB_caco(ND,YDLXDM,JYPLDM,YDLXMC,COMM_DEPT) Select ND,YDLXDM,JYPLDM,YDLXMC, ''%s'' From TG_JYPYDLXB Where ND= ''%s''';
USQL = 'UPDATE TG_YZPPYDLXB SET SDATE = SYSDATE WHERE ND= ''%s''';
USQLPN = 'UPDATE TG_JYPYDLXB SET SDATE = SYSDATE WHERE ND= ''%s''';
var i: integer;
RUnits: TStringList;
begin
inherited;
if Qry_ydlx.IsEmpty then
exit;
if CHQMsgBox('確實要發送該年度的發行量類型嗎?', 2)=IDNo then
exit;
RUnits := TSTringList.Create;
data.dm.StartTransaction;
try
if (tabCtl_lx.TabIndex = 0) then
if (not ReceiveUnit(RUnits, 'sf_jypydlx')) and data.dm.InTransaction then
begin
data.dm.rollback;
exit;
end;
if (tabCtl_lx.TabIndex = 1) then
if (not ReceiveUnit(RUnits, 'sf_ypydlx')) and data.dm.InTransaction then
begin
data.dm.rollback;
exit;
end;
for i := 0 to Runits.Count -1 do
case tabCtl_lx.TabIndex of
0:
begin
SetData(Format(ISQL, [RUnits[i], SpinEdit1.Text]));
SetData(Format(USQL, [SpinEdit1.Text]));
end;
1:
begin
SetData(Format(ISQLPN, [RUnits[i], SpinEdit1.Text]));
SetData(Format(USQLPN, [SpinEdit1.Text]));
end;
end;
data.dm.Commit;
except
if data.dm.InTransaction then data.dm.rollback;
raise exception.Create('數據發送失敗!');
end;
RUnits.Free;
CHQMsgBox('數據發送成功!');
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -