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

📄 jgbbsjlr.pas

📁 公积金监管系统客户端,是新疆公积金监管系统的客户端软件
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    end;
  end;
  ToolButton2.Enabled := true;
end;

procedure TFormJGBbSjLr.CboMLChange(Sender: TObject);
begin
  ToolButton2.Enabled := false;
  Indx := CboMl.ItemIndex + 1;
end;

procedure TFormJGBbSjLr.DTChange(Sender: TObject);
begin
  ToolButton2.Enabled := false;
end;

procedure TFormJGBbSjLr.ToolButton3Click(Sender: TObject);
var
  i, j: smallint;
  row, col: smallint;
  gs: olevariant;
begin
  {  if not DM.F_CWConnect() then
    begin
      Application.MessageBox('无法连接业务数据库,不能查询!', MsgCaption, 48);
      exit;
    end;      }

  bbfilename := ExtractFilePath(Paramstr(0)) + BbFileGS + copy(trim(CboML.Text),
    1, 2) + '.cll';
  if not fileexists(bbfilename) then
  begin
    showmessage('报表文件不存在,请确定报表位置!');
    CboML.ItemIndex := -1;
    exit;
  end;
  for i := 0 to cell1.Cols - 1 do
    for j := 0 to cell1.Rows - 1 do
      cell1.DoClearCell(i, j, 0);

  if cell1.DoOpenFile(bbfilename) > 0 then
    cell1.DoRedrawAll;

  DM.P_CwBbGsInfo(' ', copy(trim(CboML.Text), 1, 2), 1);
  with DM do
  begin
    cds_SD.First;
    while not cds_SD.Eof do
    begin
      row := cds_SD.Fields.fieldbyname('row').AsInteger;
      col := cds_SD.Fields.Fieldbyname('col').AsInteger;
      gs := cds_SD.Fields.Fieldbyname('gs').AsVariant;
      cell1.DoSetFormula(col, row, gs);
      cds_SD.Next;
    end;
  end;
  if copy(trim(CboML.Text), 1, 2) = '07' then
    Gjjtjb;

  cell1.DoSetShowFormulaState(0);
  ToolButton2.Enabled := true;
end;

procedure TFormJGBbSjLr.Cell1ExecuteUserFunc(Sender: TObject;
  const name: WideString; rettype, paranum: Smallint;
  var paratype: Integer; var funcResult: OleVariant);
var
  // para0,para1,para2,para3:OleVariant;
  dp0, dp1, dp2: Double;
  cp0, cp1, cp2, cdt: string;
  funcret: olevariant;
  d1, d2: TDate;
  bbdate, BbNumber, DptNumber: string;
begin
  bbdate := dtoc(DT.Date);
  BbNumber := copy(trim(CboML.Text), 1, 2);
  DptNumber := ' ';
  funcret := 0;
  if uppercase(name) = 'CW_CALC' then
  begin
    cp0 := cell1.DoFetchFuncStringParameter(0);
    dp0 := cell1.DoFetchFuncDoubleParameter(1);
    cp1 := cell1.DoFetchFuncStringParameter(2);
    funcret := Cw_Calc(bbdate, cp0, dp0, cp1);
  end
  else if (uppercase(name) = 'GETDATA') then
  begin
    cp0 := cell1.DoFetchFuncStringParameter(0);
    dp0 := cell1.DoFetchFuncDoubleParameter(1);
    dp1 := cell1.DoFetchFuncDoubleParameter(2);
    cp1 := cell1.DoFetchFuncStringParameter(3);
    cp2 := cell1.DoFetchFuncStringParameter(4);
    if cp2 = '' then
      cp2 := '0001';
    cdt := dtos(DT.Date, 6);
    funcret := DM.F_GetData(cp1, cp0, cp2, cdt, trunc(dp0), trunc(dp1));
  end
  else if uppercase(name) = 'GETYHZH' then
  begin
    cp0 := cell1.DoFetchFuncStringParameter(0);
    funcret := getyhzh(cp0);
  end
  else if uppercase(name) = 'GETKHYH' then
  begin
    cp0 := cell1.DoFetchFuncStringParameter(0);
    funcret := getkhyh(cp0);
  end
  else if uppercase(name) = 'GJDATA' then
  begin
    dp0 := cell1.DoFetchFuncDoubleParameter(0);
    dp1 := cell1.DoFetchFuncDoubleParameter(1);
    cell1.DoGetCellData(trunc(dp0), trunc(dp1), funcret);
  end
  else if uppercase(name) = 'GJGET' then
  begin
    cdt := dtos(strtodate(bbdate), 6);
    dp0 := cell1.DoFetchFuncDoubleParameter(0);
    dp1 := cell1.DoFetchFuncDoubleParameter(1);
    cp0 := cell1.DoFetchFuncStringParameter(2);
    cp1 := cell1.DoFetchFuncStringParameter(3);
    if cp0 = '' then
      cp0 := BbNumber;
    if cp1 = '' then
      cp1 := DptNumber;
    funcret := DM.f_GjGet(trunc(dp0), trunc(dp1), cp0, cp1, cdt);
  end
  else if (uppercase(name) = 'GJGETD') then
  begin
    dp0 := cell1.DoFetchFuncDoubleParameter(0);
    dp1 := cell1.DoFetchFuncDoubleParameter(1);
    dp2 := cell1.DoFetchFuncDoubleParameter(2);
    cp0 := cell1.DoFetchFuncStringParameter(3);
    cp1 := cell1.DoFetchFuncStringParameter(4);
    if cp0 = '' then
      cp0 := BbNumber;
    if cp1 = '' then
      cp1 := DptNumber;
    case trunc(dp2) of
      0: d1 := StrtoDate(BbDate);
      1: d1 := IncDay(StrtoDate(BbDate), -1);
      2: d1 := IncMonth(StrtoDate(BbDate), -1);
      3: d1 := IncMonth(StartoftheYear(StrtoDate(BbDate)),
          trunc((MonthOf(StrToDate(BbDate)) - 1) / 3));
      4: d1 := IncYear(StrtoDate(BbDate), -1);
    else
      d1 := StrtoDate(BbDate);
    end;
    cdt := dtos(d1, 6);
    funcret := DM.f_GjGet(trunc(dp0), trunc(dp1), cp0, cp1, cdt);
  end
  else if uppercase(name) = 'GJSUMH' then
  begin
    cdt := dtos(strtodate(bbdate), 6);
    dp0 := cell1.DoFetchFuncDoubleParameter(0);
    dp1 := cell1.DoFetchFuncDoubleParameter(1);
    dp2 := cell1.DoFetchFuncDoubleParameter(2);
    cp0 := cell1.DoFetchFuncStringParameter(3);
    cp1 := cell1.DoFetchFuncStringParameter(4);
    if cp0 = '' then
      cp0 := BbNumber;
    if cp1 = '' then
      cp1 := DptNumber;
    funcret := DM.f_GjSumH(trunc(dp0), trunc(dp1), trunc(dp2), cp0, cp1, cdt);
  end
  else if uppercase(name) = 'GJSUMV' then
  begin
    cdt := dtos(strtodate(bbdate), 6);
    dp0 := cell1.DoFetchFuncDoubleParameter(0);
    dp1 := cell1.DoFetchFuncDoubleParameter(1);
    dp2 := cell1.DoFetchFuncDoubleParameter(2);
    cp0 := cell1.DoFetchFuncStringParameter(3);
    cp1 := cell1.DoFetchFuncStringParameter(4);
    if cp0 = '' then
      cp0 := BbNumber;
    if cp1 = '' then
      cp1 := DptNumber;
    funcret := DM.f_GjSumV(trunc(dp0), trunc(dp1), trunc(dp2), cp0, cp1, cdt);
  end;

  funcresult := funcret;
end;

procedure TFormJGBbSjLr.ApplicationEvents1Exception(Sender: TObject;
  E: Exception);
begin
  if E is ESOAPHTTPException then
    //showmessage('Something is wrong!')
  else
    Application.ShowException(E);
end;

procedure TFormJGBbSjLr.ToolButton5Click(Sender: TObject);
begin
  RichEdit1.Visible := True;
end;

procedure TFormJGBbSjLr.ToolButton6Click(Sender: TObject);
begin
  RichEdit1.Visible := False;
end;

procedure TFormJGBbSjLr.ToolButton4Click(Sender: TObject);
var
  v1, v2: OleVariant;
  iNo, ir: smallint;
  C1, C2, cRelL, cRel, cRelR, BbNumber: string;
  lRight: Boolean;
begin
  RichEdit1.Clear;
  RichEdit1.Visible := True;
  BbNumber := copy(trim(CboML.Text), 1, 2);
  DM.pQryRelation(BbNumber);
  ir := Cell1.Rows;
  cell1.Rows := ir + 1;
  with DM.cds_SD do
  begin
    while not Eof do
    begin
      lRight := False;
      cRelL := trim(FieldByName('bbrelationl').AsString);
      cRel := trim(FieldByName('bbrelation').AsString);
      cRelR := trim(FieldByName('bbrelationr').AsString);
      iNo := FieldByName('relationno').AsInteger;
      next;
      Cell1.DoSetFormula(0, ir, cRelL);
      Cell1.DoSetFormula(1, ir, cRelR);
      Cell1.DoCalculateAll;
      Cell1.DoGetCellData(0, ir, v1);
      Cell1.DoGetCellData(1, ir, v2);
      //      Cell1.DoCalculateExpr(cRelL,iRet,v1);
      //      Cell1.DoCalculateExpr(cRelR,iRet,v2);
      C1 := FTOS(v1, 16, 3);
      C2 := FTOS(v2, 16, 3);
      if cRel = '=' then
      begin
        if C1 = C2 then
        begin
          lRight := True;
        end;
      end
      else if cRel = '>' then
      begin
        if C1 > C2 then
          lRight := True;
      end
      else if cRel = '>=' then
      begin
        if C1 >= C2 then
          lRight := True;
      end
      else if cRel = '<' then
      begin
        if C1 < C2 then
          lRight := True;
      end
      else if cRel = '<=' then
      begin
        if C1 <= C2 then
          lRight := True;
      end;
      if not lRight then
      begin
        RichEdit1.Lines.Add('不满足' + itos(iNo, 4) + ' 号勾稽公式:');
        RichEdit1.Lines.Add('         ' + cRelL + cRel + cRelR);
        RichEdit1.Lines.Add('         公式左=' + trim(FtoS(Double(v1), 16, 2)) +
          ';公式右=' + trim(FtoS(Double(v2), 16, 2)));
      end;
    end;
  end;
  cell1.Rows := ir;
end;

procedure TFormJGBbSjLr.ToolButton11Click(Sender: TObject);
begin
  cell1.DoPrint(false);
end;

procedure TFormJGBbSjLr.ToolButton12Click(Sender: TObject);
begin
  cell1.DoPrintPreview(true);
end;

procedure TFormJGBbSjLr.DoEnter(var Msg: TMsg; var Handled: Boolean);
begin
  if (Msg.Message = WM_KEYDOWN) then
  begin
    //if (Msg.wParam = VK_RETURN ) then
    //  Keybd_Event(VK_DOWN,0,0,0);
  end;

end;

procedure TFormJGBbSjLr.Gjjtjb;
var
  Ary: array of double;
  Ary0: array of integer;
  dt1, dt2: Tdatetime;
  i: smallint;
begin
  setlength(Ary, 18);
  setlength(Ary0, 3);
  dt1 := StartOfTheMonth(DT.Date);
  dt2 := EndOfTheMonth(DT.Date);

  DM.p_GetGjjtjb(datetostr(dt1), datetostr(dt2), Ary, Ary0);
  //showmessage(datetostr(dt1)+datetostr(dt2));
  for i := 0 to 5 do
    Ary[i] := trunc(Ary[i] / 100) / 100;
  cell1.DoSetCellData(7, 15, Ary[0]);
  cell1.DoSetCellData(7, 16, Ary[1]);
  cell1.DoSetCellData(7, 17, Ary[2]);
  cell1.DoSetCellData(7, 18, Ary[3]);
  cell1.DoSetCellData(7, 19, Ary[0] + Ary[1] - Ary[2]); //Ary[4]);
  cell1.DoSetCellData(7, 20, Ary[5]);

  cell1.DoSetCellData(3, 10, Ary[6]);
  cell1.DoSetCellData(3, 11, Ary[7]);
  cell1.DoSetCellData(3, 14, Ary[8]);
  cell1.DoSetCellData(3, 15, Ary[9]);
  cell1.DoSetCellData(3, 16, Ary[10]);
  cell1.DoSetCellData(3, 17, Ary[11]);
  cell1.DoSetCellData(3, 18, Ary[12]);
  cell1.DoSetCellData(3, 19, Ary[13]);
  cell1.DoSetCellData(3, 20, Ary[14]);
  cell1.DoSetCellData(3, 21, Ary[15]);

  cell1.DoSetCellData(7, 21, Ary0[0]);
  cell1.DoSetCellData(7, 22, Ary0[1]);
  cell1.DoSetCellData(7, 23, Ary0[2]);
  cell1.DoSetCellData(3, 12, Ary[16]);
  cell1.DoSetCellData(3, 13, Ary[17]);

  cell1.DoRedrawAll;
end;

function TFormJGBbSjLr.getyhzh(kmdm: string): string;
var
  yhzh, khyh: string;
begin
  DM.f_GetYhxx(kmdm, Khyh, Yhzh);
  result := yhzh;
end;

function TFormJGBbSjLr.getKhyh(kmdm: string): string;
var
  yhzh, khyh: string;
begin
  DM.f_GetYhxx(kmdm, Khyh, Yhzh);
  result := khyh;
end;

function TFormJGBbSjLr.Cw_Calc(cdate: string; Km, Func,
  ztbh: olevariant): Double;
var
  //  cRq,cn,czt,cdb,cqyny,cjsnf:string;
  cRq: string;
  lpz: smallint;
begin
  cRq := copy(cdate, 1, 4) + copy(cdate, 6, 2);
  lpz := 0;
  result := DM.f_Cwcalc(Km, cRq, ztbh, Func, lpz);
end;

end.

⌨️ 快捷键说明

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