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

📄 jm_yyypptp.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 3 页
字号:
        fieldbyname('czy').asstring := VG_UserID;
        fieldbyname('tcz').asstring := pygxm(combobox1.Items.Objects[combobox1.Items.IndexOf(combobox1.text)])^.ygdm;
        fieldbyname('trz').asstring := pygxm(combobox2.Items.Objects[combobox2.Items.IndexOf(combobox2.text)])^.ygdm;
        FieldByName('rq').AsDateTime := StrToDateTime(VarToStr(VG_year) + '-' + VarToStr(VG_month) + '-' + VarToStr(VG_day));
        post;
      end;

      with qry_tpdpp do
      begin
        datasource := nil;
        open;
        Qry_tpdpp0.First;
        while not Qry_tpdpp0.eof do
        begin
          append;
          if (not Qry_tpdpp0.FieldByname('SL').isNull) and (Qry_tpdpp0.FieldByname('SL').AsFloat > 0) then
          begin
            fieldbyname('dh').AsString := rkdh;
            fieldbyname('ppdm').AsString := Qry_tpdpp0.fieldbyname('ppdm').AsString;
            fieldbyname('sl').asinteger := Qry_tpdpp0.fieldbyname('sl').AsInteger;
            fieldbyname('lb').asstring := Qry_tpdpp0.fieldbyname('lb').AsString;
            FieldByName('dj').AsFloat := Qry_tpdpp0.fieldbyname('dj').AsFloat;
            Fieldbyname('Jj').AsFloat := Qry_tpdpp0.fieldbyName('Jj').AsFloat;
            post;
            flag := true;
          end
          else if (not Qry_tpdpp0.FieldByname('SL').isNull) then
          begin
            Flag := False;
            Break;
          end;
          Qry_tpdpp0.next;
        end;
      end;
      if not Flag then
      begin
        save1 := true;
        CHQMsgBox('数量不能为空且必须大于0!');
        qry_tpd.Close;
        Qry_tpdpp.Close;
        exit;
      end
      else
      begin
        SetState(dtBrowse);
      end;
      qry_tpd.Database.StartTransaction;
      try
        qry_tpd.ApplyUpdates;
        qry_tpdpp.ApplyUpdates;
        qry_tpd.Database.Commit;
        queding := false;
        qry_tpdpp.close;
        qry_tpdpp.open;
        queding := false;
        save1 := false;
      except
        if qry_tpd.Database.InTransaction then
        begin qry_tpd.Database.RollBack;
          queding := false;
          Saved := False;
        end;
        raise exception.Create('保存数据失败!');
      end;
    end;
  end
  else
  begin
    rkdh := qry_tpdpp0.FieldByName('dh').asstring;

    flag := false;
    Qry_tpdpp0.first;
    while not Qry_tpdpp0.eof do
    begin
      if (not Qry_tpdpp0.FieldByname('SL').isNull) and (Qry_tpdpp0.FieldByname('SL').AsFloat > 0) then
      begin
        with Qry_temp do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select * from tm_tpdpp where dh=''' + Qry_tpdpp0.fieldbyname('dh').AsString + ''' and ppdm=''' + Qry_tpdpp0.fieldbyname('ppdm').AsString + '''');
          Open;
          Edit;
          FieldByName('sl').AsFloat := Qry_tpdpp0.FieldByName('sl').AsFloat;
          post;
          ApplyUpdates;
        end;
        flag := true;
      end
      else
      begin
        Flag := False;
        Break;
      end;
      Qry_tpdpp0.next;
    end;
    if not Flag then
    begin
      CHQMsgBox('数量不能为空且必须大于0!');
      exit;
    end
    else
    begin
      SetState(dtBrowse);
    end;
    qry_tpd.Database.StartTransaction;
    try
      qry_tpd.ApplyUpdates;
      Qry_temp.ApplyUpdates;
      qry_tpd.Database.Commit;
    except
      if qry_tpd.Database.InTransaction then qry_tpd.Database.RollBack;
      Saved := False;
      raise exception.Create('保存数据失败!');
    end
  end;
end;

procedure Tfrm_YYYPPTP.ModiPanel1BtnClick(Index: TBtnVisible);
var
  i: integer;
  sqltext: string;
  Before_insert: TDataSetNotifyEvent;
begin
  inherited;
  case index of
    bnAdd:
      begin //SetState(dtInsert);
        queding := false;
        if (Combobox1.Text = '') or (Combobox2.Text = '') then
        begin
          CHQMsgBox('请选择票品调出者和调入者!');
          Exit;
        end;
        if combobox1.text = combobox2.text then
        begin
          CHQMsgBox('调出者与调入者不可相同!');
          Exit;
        end;
        ComBoBox1.Enabled := False;
        ComBoBox2.Enabled := False;
        ExeSY_SCGRP;
        if queding then
        begin
          Before_Insert := Qry_tpdpp0.BeforeInsert;
          Qry_tpdpp0.BeforeInsert := nil;
          if recordcount = 0 then
          begin
            setState(dtBrowse);
            Rgp_ppfl.Enabled := True;
            Qry_tpdpp0.BeforeInsert := Before_Insert;
            exit;
          end;
          sqltext := 'SELECT dh,a.ppdm,a.sl,a.lb,a.dj,a.jj,b.zh,b.ppmc FROM tm_tpdpp a,tm_yyykc b where a.ppdm=b.ppdm and a.lb=b.lb and a.jj=b.jj and dh=''0''';
          open_sql(Qry_tpdpp0, sqltext);
          insertmode := true;
          for i := 0 to recordcount - 1 do
          begin
            with Qry_lykc do
            begin
              Close;
              Parambyname('ygdm').AsString := pygxm(combobox1.Items.Objects[combobox1.Items.IndexOf(combobox1.text)])^.ygdm;
              Parambyname('lb').AsString := lb_type;
              Open;
            end;
            Qry_tpdpp0.Append;
            Qry_tpdpp0.FieldByName('zh').asstring := zh[i];
            Qry_tpdpp0.FieldByName('ppmc').asstring := mc[i];
            Qry_tpdpp0.FieldByName('ppdm').asstring := tdm[i];
            Qry_tpdpp0.FieldByName('lb').asstring := lb[i];
            Qry_tpdpp0.FieldByName('dj').AsString := dj[i];
            Qry_tpdpp0.FieldByName('jj').AsString := jj[i];
            Qry_tpdpp0.post;
          end;
          insertmode := false;
          Qry_tpdpp0.BeforeInsert := Before_Insert;
          SetState(dtEdit);
          Rgp_ppfl.Enabled := False;
        end
        else
        begin
          SetState(dtBrowse);
          Rgp_ppfl.Enabled := True;
        end;
      end;
    bnDelete:
      begin
        if DBGrid2.DataSource.DataSet.IsEmpty then exit;
        if CHQMsgBox('删除此记录, 确定吗?', 2) = IDYES then
        begin
          Str_Locate_tpdh := '';
          sqltext := 'Select tcfh,trfh from tm_tpdb where dh=''' + Qry_tpd.fieldbyname('dh').asstring + '''';
          open_sql(query1, sqltext);
          if (query1.FieldByName('tcfh').asstring = '') and (query1.FieldByName('trfh').asstring = '') then
          begin
            Str_Locate_tpdh := Qry_tpd.fieldbyname('dh').asstring;
            sqltext := 'Delete from tm_tpdpp where DH =''' + Qry_tpd.fieldbyname('dh').asstring + '''';
            exec_sql(query1, sqltext);
            sqltext := 'Delete from  tm_tpdb where DH =''' + Qry_tpd.fieldbyname('dh').asstring + '''';
            exec_sql(query1, sqltext);
            Qry_tpd.close;
            Qry_tpd.Open;
            Qry_tpdpp0.Close;
            Qry_tpdpp0.Open;
          end
          else
            CHQMsgBox('此调配单已经复核,不能删除!');
        end;
      end;
    bnEdit:
      begin
        Str_Locate_tpdh := '';
        if DBGrid2.DataSource.DataSet.IsEmpty then exit;
        sqltext := 'select * from tm_tpdb where dh=''' + Qry_tpd.fieldbyname('dh').asstring + '''';
        open_sql(query1, sqltext);
        if (query1.FieldByName('tcfh').asstring = '') and (query1.FieldByName('trfh').asstring = '') then
        begin
          SetState(dtEdit);
          Rgp_ppfl.Enabled := False;
          Str_Locate_tpdh := DBGrid2.DataSource.DataSet.FieldByName('dh').AsString;
        end
        else
        begin
          CHQMsgBox('此调配单已经复核,不能修改!');
          SetState(dtBrowse);
        end;
      end;
    bnSave:
      begin
        Qry_tpdpp0.First;
        with Qry_tpdpp0 do
        begin
          while not eof do
          begin
            if FieldByName('sl').AsInteger <= 0 then
            begin
              if MessageBox(application.handle, '此票品分配的数量为‘0’,删除该票品吗?', '提示', MB_YESNO + MB_ICONQUESTION) <> idyes then
              begin
                DBGrid3.SelectedIndex := 4;
                DBGrid3.SetFocus;
                Exit;
              end;
              Delete;
            end;
            Next;
          end;
        end;
        Qry_tpdpp0.First;
        with Qry_tpdpp0 do
        begin
          while not eof do
          begin
            if FieldByName('sl').AsInteger <= 0 then
            begin
              if MessageBox(application.handle, '此票品分配的数量为‘0’,删除该票品吗?', '提示', MB_YESNO + MB_ICONQUESTION) <> idyes then
                Exit;
              Delete;
            end;
            Next;
          end;
        end;
        if Qry_tpdpp0.IsEmpty then
        begin
          SetState(dtBrowse);
          Exit;
        end;
        if CheckKC = 1 then exit;
        Save; {保存数据}
        if Saved then
        begin
          if Trim(Str_Locate_tpdh) <> '' then
            Qry_tpd.Locate('dh', Str_Locate_tpdh, []);
          Rgp_ppfl.Enabled := true;
        end;
      end;
    bnCancel:
      if CHQMsgBox('取消编辑, 确定吗?', 2) = IDYES then
      begin
        qry_tpd.CancelUpdates;
        Qry_tpdpp0.CancelUpdates;
        SetState(dtBrowse);
        Rgp_ppfl.Enabled := true;
      end;
    bnPrint:
      begin
        if Qry_tpd.IsEmpty then exit;
        Frm_rpttpfh := TFrm_rpttpfh.Create(Application);
        with frm_rpttpfh do
        try
          begin
            qry_ryb.close;
            qry_ryb.Open;
            with qry_tpd0 do
            begin
              Close;
              SQL.Clear;
              SQL.Add('select DH, TCZ, TRZ, CZY, to_char(RQ,''YYYY-MM-DD'') RQ, TCFH, TRFH from tm_tpdb where dh= ''' + Qry_tpd.FieldByName('dh').AsString + '''');
              Open;
            end;
            Prepare;
            qrl_page.Caption := '共 ' + IntToStr(QRPrinter.PageCount) + ' 页 ';
            line_count := 0;
            qry_tpdpp.First;
            if MessageBox(self.Handle, '是否采用套打?', '询问', MB_YESNO + MB_ICONQUESTION) = IDYES then
              taoda_flag := True
            else
              taoda_flag := False;
            Preview;
          end;
        finally
          Free;
        end;
{        if Qry_tpd.IsEmpty then exit;
        Frm_rpttpfh := TFrm_rpttpfh.Create(Application);
        with frm_rpttpfh do
        try
          begin
            Query3.close;
            Query3.Open;
            Query1.Close;
            Query1.SQL.Clear;
            Query1.SQL.Add('select DH, TCZ, TRZ, CZY, to_char(RQ,''YYYY-MM-DD'') RQ, TCFH, TRFH from tm_tpdb where dh= ''' + Qry_tpd.FieldByName('dh').AsString + '''');
            Query1.Open;
            Preview;
          end;
        finally
          Free;
        end;}
      end;
    bnClose: Close;
  end;
end;

procedure Tfrm_YYYPPTP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  if (FDtstate in [dtInsert, dtEdit]) then
    case CHQMsgBox('数据已经编辑,需要保存吗?', 3) of
      IDYES:
        if not Saved then Action := caNone;
      IDCANCEL: Action := caNone;
    end;
end;

procedure Tfrm_YYYPPTP.InitData;
begin
  if Fckjhh <> '' then
  begin
    if not qry_tpd.Active then
    begin
      qry_tpd.Open;
      qry_tpdpp.Open;
    end;
  end;
end;

procedure Tfrm_YYYPPTP.qryRKDRKAfterScroll(DataSet: TDataSet);
var
  sqltext: string;
begin

end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0AfterInsert(DataSet: TDataSet);
begin
  Abort;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -