⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sys_jypydlx.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -