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

📄 sj_jypfhdck.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        SetState(dtBrowse);
      end;
    bnPrint: {print}
      begin
        if qryFHD.IsEmpty then
          exit;
        if pos('W', UpperCase(DBEdit6.Text)) = 2 then
        begin
          FrmK_JYFHDDY0 := TFrmK_JYFHDDY0.Create(Application);
          with FrmK_JYFHDDY0 do
          try
            QRLabel25.Caption := qryFHD.FieldByName('DWMC').AsString;
            QRLabel25.Left := round((ColumnHeaderBand1.Width - QRLabel25.Width) / 2);
            jycx := 'select a.zh,a.tmc,''套''as dw,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,b.zk,b.SL*(b.xj*nvl(b.zk/100, 0)+nvl(b.jsj,0))/100 jsje,a.fxrq,b.fhdh from tb_yzpptxxb a ,tks_jyckpp b where a.tdm(+)=b.ppdm and b.fhdh=''' + DBEdit6.Text + '''';

            Qry_ckdayin.close;
            Qry_ckdayin.sql.clear;
            Qry_ckdayin.sql.add(jycx);
            Qry_ckdayin.open;
            sumzj := 0;
            sumjsj := 0;
            FrmK_JYFHDDY0.nHeight := FrmK_JYFHDDY0.GetTextHeight('宋体', 10) + 3;
            QRLabel8.Caption := Qry_ckdayin.fieldbyname('fhdh').asstring;
            QRLabel11.Caption := dbedit2.Text;
            QRLabel2.Caption := dbedit4.text;
            preview;
          finally
            Destroy;
          end;
        end;
        if Pos('N', UpperCase(DBEdit6.Text)) = 2 then
        begin
          FrmK_YPFHDDY := TFrmK_YPFHDDY.Create(Application);
          with FrmK_YPFHDDY do
          try
            QRLabel4.Left := round((DetailBand1.Width - QRLabel4.Width) / 2);
            if ShowDIYReport(DBGrid2, Qry_ckdayin, IO_JYP, QRLabel4) then
              preview;
          finally
            Destroy;
          end;
        end;
      end;
    bnClose:
      Close;
  end;
end;

procedure Tfrm_JYPFHDCK.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  if (FDtstate in [dtInsert, dtEdit]) then
    case CHQMsgBox(MSG_EXITSAVE, 3) of
      IDYES:
        if not Save then Action := caNone;
      IDCANCEL: Action := caNone;
    end;
end;

procedure Tfrm_JYPFHDCK.FormCreate(Sender: TObject);
const
  CKJHH_SQL = 'Select YJDH From TKS_JYFHD WHERE CKXZ <> ''11'' Group by yjdh';
begin
  inherited;
  DWMC.Caption := '使用单位:' + VG_UNITNAME;
  InitData;
  SetState(dtBrowse);
end;

procedure Tfrm_JYPFHDCK.InitData;
begin
  qryFHD.AfterScroll := nil;
  qryFHD.Close;
  qryFHD.MacroByName('CON').AsString := 'HDR is null';
  qryFHD.MacroByName('YGDM').AsString := '''' + VG_USERID + '''';
  qryFHD.Open;
  qryFHD.AfterScroll := qryFHDAfterScroll;
  qryFHDAfterScroll(nil);
end;

procedure Tfrm_JYPFHDCK.BitBtn1Click(Sender: TObject);
begin
  inherited;
  if qryFHDPP.IsEmpty then
    exit;

  Qry_ban1.Close;
  Qry_ban1.Params[0].AsString := qryFHDPP.FieldByName('PPDM').AsString;
  Qry_ban1.Open;
  SetBHBHCtls(Panel5, dtEdit);
end;

procedure Tfrm_JYPFHDCK.BitBtn2Click(Sender: TObject);
begin
  inherited;
  if qryBHBH.IsEmpty then
    exit;
  qryBHBH.Delete;
end;

procedure Tfrm_JYPFHDCK.BitBtn4Click(Sender: TObject);
begin
  inherited;
  qryBD.Delete;
end;

procedure Tfrm_JYPFHDCK.qryBDAfterInsert(DataSet: TDataSet);
begin
  inherited;
  qryBD.Edit;
  qryBD.FieldByName('FHDH').Asstring := qryFHD.FieldByName('FHDH').Asstring;
end;

procedure Tfrm_JYPFHDCK.qryBHBHAfterInsert(DataSet: TDataSet);
begin
  inherited;
  with qryBHBH do
  begin
    Edit;
    FieldByName('FHDH').Asstring := qryFHD.FieldByName('FHDH').Asstring;
    FieldByName('PPDM').Asstring := qryFHDPP.FieldByName('PPDM').Asstring;
    FieldByName('ZH').Asstring := qryFHDPP.FieldByName('ZH').Asstring;
    FieldByName('TJC').Asstring := qryFHDPP.FieldByName('TJC').Asstring;
    FieldByName('BLSH').Value := DBLB_ban.KeyValue;
    FieldByName('QSBH').AsString := Edt_qsban.Text;
    FieldByName('ZZBH').AsString := Edt_zzban.Text;
  end;
end;

{
1 集邮票总帐表
2 *集邮票总分户帐表
3/*集邮票明细分类帐*/
4/*集邮票进发存明细帐表*/
5/*集邮票明细分类帐(库管员)*/
}
procedure Tfrm_JYPFHDCK.BitBtn5Click(Sender: TObject);
var
  v_s_yjr: string;
begin
  if qryFHD.IsEmpty then
    exit;
  if qryFHD.FieldByName('CKRQ').AsDateTime = 0 then
  begin
    CHQMsgBox('请先确定出库日期!');
    exit;
  end;
  if not CheckINYJRQ(io_jyp, qryFHD.FieldByName('FHDH').AsString, v_s_yjr) then
  begin
    CHQMsgBox('该入库单不在月结范围(' + format('%s年%s月', [copy(v_s_yjr, 1, 4), copy(v_s_yjr, 5, 2)]) + ')内,不能复核!');
    exit;
  end;
  if CheckBill(qryFHD.FieldByName('FHDH').Asstring) then
    CHQMsgBox('复核记帐成功! ');
  qryFHDAfterScroll(nil);
end;

function Tfrm_JYPFHDCK.CheckBill(ID: string): Boolean;
begin
  Result := false;
  data.dm.StartTransaction;
  try
    with StoredProc1 do
    begin
      ParamByName('PC_FHDH').Asstring := id;
      ParamByName('PC_USERID').Asstring := VG_USERName;
      ExecProc;
      result := Params[0].asInteger = 0;
      if Params[0].asInteger = 0 then
      begin
        qryFHD.Edit;
        qryFHD.FieldByName('HDR').Asstring := VG_USERNAME;
        qryFHD.FieldByName('ZTZT').Asstring := '1';
        qryFHD.ApplyUpdates;
      end;
    end;
    data.dm.commit;
  except
    if data.dm.inTransaction then data.dm.rollback;
    raise;
  end;
  qryFHD.CommitUpdates;

  case StoredProc1.Params[0].asInteger of
    0: ;
    1: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票总帐表] 数据.');
    2: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票总分户帐表] 数据.');
    3: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票明细分类帐] 数据.');
    4: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票进发存明细帐表] 数据.');
    5: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票明细分类帐(库管员)] 数据.');
    10: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票待销存总帐表] 数据.');
    11: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票待销存明细分类帐] 数据.');
    12: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票待销存明细分类帐(库管员)] 数据] 数据.');
    - 1: CHQMsgBox('找不到相应的发货单!');
    - 2: CHQMsgBox('错误:此发货单已复核过!');
    - 3: CHQMsgBox('错误:此发货单的出库性质没找到或不需记帐!');
  else
    CHQMsgBox('复核记帐失败! ');
  end;

end;

procedure Tfrm_JYPFHDCK.BitBtn3Click(Sender: TObject);
begin
  inherited;
  qryBD.Append;
end;

procedure Tfrm_JYPFHDCK.qryFHDUpdateError(DataSet: TDataSet;
  E: EDatabaseError; UpdateKind: TUpdateKind;
  var UpdateAction: TUpdateAction);
begin
  inherited;
  case GetErrCode(DataSet, E, ErrMsg) of
    Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
    Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
    Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['']);
    Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['']);
  else
    errMsg := errMsg + '&_&' + OTHERERROR;
  end;
end;

procedure Tfrm_JYPFHDCK.qryFHDPPJJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  nDisplay.GetText(Sender, Text, DisplayText);
end;

procedure Tfrm_JYPFHDCK.qryFHDPPJJSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  nDisplay.SetText(Sender, Text);
end;

procedure Tfrm_JYPFHDCK.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  inherited;
  DrawCheckedGrid(not qryFHD.FieldByName('HDR').IsNull, Sender, Rect, DataCol, Column);

end;

procedure Tfrm_JYPFHDCK.BitBtn6Click(Sender: TObject);
var
  i: integer;
  v_b_skip: boolean;
  v_s_yjr: string;
begin
  inherited;
  if qryFHD.IsEmpty then
    exit;
  i := 0;
  with qryFHD do
  begin
    DisableControls;
    First;
    while not Eof do
    begin
      v_b_skip := false;
      if qryFHD.FieldByName('HDR').IsNull and (not qryFHD.FieldByName('CKRQ').IsNull) then
      begin
        if not CheckINYJRQ(io_jyp, qryFHD.FieldByName('FHDH').AsString, v_s_yjr) then
        begin
          v_b_skip := true;
//          CHQMsgBox('该入库单不在月结范围(' + format('%s年%s月', [copy(v_s_yjr, 1, 4), copy(v_s_yjr, 5, 2)]) + ')内,不能复核!');
        end;
        if not v_b_skip then
          if CheckBill(FieldByName('FHDH').Asstring) then
            i := i + 1;
      end;
      Next;
    end;
    EnableControls;
    if i > 0 then
      CHQMsgBox('共完成' + inttostr(i) + '笔发货复核!');
  end;
  qryFHDAfterScroll(nil);
end;

procedure Tfrm_JYPFHDCK.BitBtn7Click(Sender: TObject);
begin
  inherited;
  qryFHD.AfterScroll := nil;
  qryFHD.Close;
  qryFHD.MacroByName('CON').AsString := ' TO_CHAR(KDRQ, ''YYYYMMDD'') >= ''' + FormatDateTime('YYYYMMDD', DateEdit1.Date) + '''';
  qryFHD.MacroByName('YGDM').AsString := '''' + VG_USERID + '''';
  qryFHD.Open;
  qryFHD.AfterScroll := qryFHDAfterScroll;
  qryFHDAfterScroll(nil);

end;

procedure Tfrm_JYPFHDCK.qryFHDAfterScroll(DataSet: TDataSet);
begin
  inherited;
  if qryFHD.IsEmpty then
    exit;
  Qryban.Close;
  Qryban.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
  Qryban.Open;
  qryFHDPP.Close;
  qryFHDPP.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
  qryFHDPP.Open;
  qryBD.Close;
  qryBD.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
  qryBD.Open;
  qryBHBH.Close;
  qryBHBH.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
  qryBHBH.Open;
  BitBtn5.Enabled := qryFHD.FieldByName('HDR').IsNull;
  BBt_send.Enabled := not BitBtn5.Enabled;
end;

procedure Tfrm_JYPFHDCK.DBLB_banCloseUp(Sender: TObject);
begin
  inherited;
  if DBLB_ban.Text = '' then exit;
  Qrybao.Close;
  Qrybao.Params[0].Value := DBLB_ban.keyValue;
  Qrybao.Open;

end;

procedure Tfrm_JYPFHDCK.BitBtn8Click(Sender: TObject);
begin
  inherited;
  if (trim(Edt_qsban.Text) = '') or (trim(Edt_qsban.Text) = '') then
  begin
    CHQMsgBox('请确定起始版号和终止版号!');
    exit;
  end;
  qryBHBH.Append;
  Edt_qsbao.Text := '';
  Edt_zzbao.Text := '';
  Edt_qsban.Text := '';
  Edt_zzban.Text := '';
end;

procedure Tfrm_JYPFHDCK.Edt_zzbaoExit(Sender: TObject);
var
  v_s: pchar;
  v_i: double;
begin
  inherited;
  try
    if length(Edt_qsbao.Text) = 0 then
      exit;
    v_s := pchar(copy(Edt_zzbao.Text, 1, 1));
    if v_s > '9' then //字母开头
    begin
      v_i := strtoint(copy(Edt_zzbao.Text, 2, 7));
      Edt_zzban.Text := v_s + formatfloat('0000000', v_i * Qrybao.FieldByName('BS').AsInteger);
    end
    else
    begin
      v_i := strtoint(Edt_zzbao.Text);
      Edt_zzban.Text := formatfloat('00000000', v_i * Qrybao.FieldByName('BS').AsInteger);
    end;
  except
  end;
end;

procedure Tfrm_JYPFHDCK.Edt_qsbaoExit(Sender: TObject);
var
  v_s: pchar;
  v_i: double;
begin
  inherited;
  try
//    if length(Edt_qsban.Text) > 0 then
//      exit;
    v_s := pchar(copy(Edt_qsbao.Text, 1, 1));
    if v_s > '9' then //字母开头
    begin
      v_i := strtoint(copy(Edt_qsbao.Text, 2, 7));
      Edt_qsban.Text := v_s + formatfloat('0000000', (v_i - 1) * Qrybao.FieldByName('BS').AsInteger + 1);
      Edt_zzban.Text := v_s + formatfloat('0000000', v_i * Qrybao.FieldByName('BS').AsInteger);
    end
    else
    begin
      v_i := strtoint(Edt_qsbao.Text);
      Edt_qsban.Text := formatfloat('00000000', (v_i - 1) * Qrybao.FieldByName('BS').AsInteger + 1);
      Edt_zzban.Text := formatfloat('00000000', v_i * Qrybao.FieldByName('BS').AsInteger);
    end;
  except
  end;
end;

procedure Tfrm_JYPFHDCK.BBt_SendClick(Sender: TObject);
var
  vs_fhdh: string;
begin
  vs_fhdh := SelFHD(io_jyp, DBEdit6.Text);
  if vs_fhdh <> '' then
  begin
    data.dm.StartTransaction;
    try
      with data.qrytmp do
      begin
        Close;
        SQL.Clear;
        SQL.Add('update TKS_JYFHD set SDATE=sysdate where FHDH in (' + vs_fhdh + ')');
        ExecSQL;
        Close;
        SQL.Clear;
        SQL.Add('insert into TKS_JYFHD_CACO(FHDH, YJDH, CKXZ, FHDW, QXDW, KDRQ, ZTZT, GHRQ, JSZT, ZPRQ, FZDS, CKRQ, DJRQ, ZGR, KGY, HDR, ZBR, BZ, SDATE, COMM_DEPT) ');
        SQL.Add('select FHDH, YJDH, CKXZ, FHDW, QXDW, KDRQ, ZTZT, GHRQ, JSZT, ZPRQ, FZDS, CKRQ, DJRQ, ZGR, KGY, HDR, ZBR, BZ, SDATE, QXDW from TKS_JYFHD where FHDH in (' + vs_fhdh + ')');
        ExecSQL;
        Close;
        SQL.Clear;
        SQL.Add('insert into TKS_JYCKPP_CACO(FHDH, PPDM, JJ, KFDM, KWH, SL, YJ, XJ, JSJ, ZK, COMM_DEPT) ');
        SQL.Add('select a.FHDH, a.PPDM, a.JJ, a.KFDM, a.KWH, a.SL, a.YJ, a.XJ, a.JSJ, a.ZK, b.QXDW from TKS_JYCKPP a, TKS_JYFHD b where a.FHDH=b.FHDH and a.FHDH in (' + vs_fhdh + ')');
        ExecSQL;
      end;
      data.dm.Commit;
    except
      data.dm.Rollback;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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