finace.pas

来自「一个非常好的桑拿浴管理系统」· PAS 代码 · 共 2,024 行 · 第 1/5 页

PAS
2,024
字号
    SQL.Add(' FROM sny_reg ') ;
    SQL.Add(' where not (reg_out_op is null) ');
    SQL.Add(' And reg_time_out>=:StartDTxy');
    SQL.Add(' And reg_time_out<=:EndDTxy');
    SQL.Add(' and reg_arrearage = 0 ');
    SQL.Add(' group by reg_bathe_kind');
    SQL.Add(' union');
    SQL.Add(' SELECT ser_kind as a,sum(ser_total) b');//服务
    SQL.Add(' FROM sny_serve ') ;
    SQL.Add(' where not (ser_end_op is null) ');
    SQL.Add(' And ser_end_time>=:StartDTfw');
    SQL.Add(' And ser_end_time<=:EndDTfw');
    SQL.Add(' and ser_arrearage = 0 ');
    SQL.Add(' group by ser_kind');
    SQL.Add(' union');
    SQL.Add(' SELECT comm_kind as a,sum(commticket_price) b');//月票
    SQL.Add(' FROM sny_commticket ') ;
    //SQL.Add(' where not (ser_end_op is null) ');
    SQL.Add(' where comm_selltime>=:StartDTyp');
    SQL.Add(' And comm_selltime<=:EndDTyp');
    //SQL.Add(' and ser_arrearage = 0 ');
    SQL.Add(' group by comm_kind');
    Parameters.ParamByName('StartDT').Value := StartDT;
    Parameters.ParamByName('EndDT').Value := EndDT;

    Parameters.ParamByName('StartDTxy').Value := StartDT;
    Parameters.ParamByName('EndDTxy').Value := EndDT;

    Parameters.ParamByName('StartDTfw').Value := StartDT;
    Parameters.ParamByName('EndDTfw').Value := EndDT;

    Parameters.ParamByName('StartDTyp').Value := StartDT;
    Parameters.ParamByName('EndDTyp').Value := EndDT;
    open;
    if IsEmpty then
    begin
      Application.MessageBox('查询完毕!','提示',Mb_OK+Mb_IconInformation);
      Exit;
    end;
    While not Eof do
    begin
      Cells[0,RowCount - 1]:= FieldByName('a').AsString ;
      Cells[1,RowCount - 1]:= formatfloat('0.00',FieldByName('b').AsFloat);
      RowCount := RowCount + 1;
      next;
    end ;
    FLTJheji:=0;
    if not(recordCount = 0) then
    begin
      for i:=1 to RowCount-2 do
      begin
        FLTJheji:=FLTJheji+StrToFloat(Cells[1,i]);
      end;
      Cells[0,RowCount-1] := '合计' ;
      Cells[1,RowCount-1] := FormatFloat('0.00',FLTJheji);
    end;
  end ;

  with aqr_sys,SGGRSFNO do                 //师傅明细 (个人)未结算
        begin
          GRL_SGClear(SGGRSFNO,0,5,1,SGGRSFNO.RowCount-1);        //删除不加隐含列的数据  StingGrid

          Close;
          SQL.Clear;

                        //   师傅代号        服务名称  服务单价         数量                       总额
          SQL.Add(' Select craftsman_serial,ser_name,ser_price,Count(ser_kind) as amount,Sum(ser_total) as total');
          SQL.Add(' From sny_serve,sny_craftsman');
          //SQL.Add(' Where ser_craftsman_sym = '''+CoxID.Text+'''');
          SQL.Add(' Where ser_craftsman_sym = '''+CoxID.Text+'''');
          SQL.Add(' And ser_craftsman_sym = craftsman_serial');
          SQL.Add(' And ser_end_time>=:StartDT');
          SQL.Add(' And ser_end_time<=:EndDT');
          SQL.Add(' And not (ser_end_op is null) ');
          SQL.Add(' And ser_arrearage != 0 ');
          SQL.Add(' Or((ser_end_op is null) ');
          SQL.Add(' And ser_craftsman_sym = '''+CoxID.Text+'''');
          SQL.Add(' And ser_craftsman_sym = craftsman_serial');
          SQL.Add(' And ser_end_time>=:StartDT');
          SQL.Add(' And ser_end_time<=:EndDT');
          SQL.Add(' And ser_arrearage = 0) ');
          Sql.Add(' group by craftsman_serial,ser_name,ser_price,ser_kind');



          Parameters.ParamByName('StartDT').Value := StartDT;
          Parameters.ParamByName('EndDT').Value := EndDT;


          Open;
          if IsEmpty then
          begin
            Application.MessageBox('查询完毕!','提示',Mb_OK+Mb_IconInformation);
            Exit;
          end;
          While not Eof do
          begin
            Cells[0,RowCount - 1]:= FieldByName('craftsman_serial').AsString ;  //师傅代号
            Cells[1,RowCount - 1]:= FieldByName('ser_name').AsString ;  //服务名称
            Cells[2,RowCount - 1]:= formatfloat('0.00',FieldByName('ser_price').AsFloat) ;  //服务单价
            Cells[3,RowCount - 1]:= FieldByName('amount').AsString ;  //数量
            Cells[4,RowCount - 1]:= formatfloat('0.00',FieldByName('total').AsFloat) ;  //总额

            RowCount := RowCount + 1;
            Next;
          end ;
          //if not(recordCount = 0) then
          RowCount := RowCount - 1;
        //end;
        FRM_HEJIZG ;
    end;
  {with aqr_sys do
    begin
      Rt1 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(arre_ware_total) arre_ware_total');
      SQL.Add(' FROM sny_arrearage_consume');
      SQL.Add(' where arre_checkout_time>=:StartDT and arre_checkout_time<=:EndDT');


      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;

      Rt1 := FieldByName('arre_ware_total').AsFloat;


    end ;

    with aqr_sys do
    begin
      Rt2 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(arre_price) arre_price');
      SQL.Add(' FROM sny_arrearage_reg');
      SQL.Add(' where arre_reg_time_out>=:StartDT and arre_reg_time_out<=:EndDT');


      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt2 := FieldByName('arre_price').AsFloat;
    end ;

    with aqr_sys do
    begin
      Rt3 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(arre_ser_price) arre_ser_price');
      SQL.Add(' FROM sny_arrearage_service');
      SQL.Add(' where arre_end_time>=:StartDT and arre_end_time<=:EndDT');


      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then

      Exit;
      Rt3 := FieldByName('arre_ser_price').AsFloat;

    end ;

    with aqr_sys do
    begin
      Rt4 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(box_lprice) box_lprice');
      SQL.Add(' FROM sny_box_ldetail');
      SQL.Add(' where box_lend>=:StartDT and box_lend<=:EndDT');


      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt4 := FieldByName('box_lprice').AsFloat;
    end ;

    with aqr_sys do
    begin
      Rt5 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(commticket_price) commticket_price');
      SQL.Add(' FROM sny_commticket');
      SQL.Add(' where comm_selltime>=:StartDT and comm_selltime<=:EndDT');

      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt5 := FieldByName('commticket_price').AsFloat;

    end ;

    with aqr_sys do
    begin
      Rt6 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(cons_total) cons_total');
      SQL.Add(' FROM sny_consume');
      SQL.Add(' where cons_check_time>=:StartDT and cons_check_time<=:EndDT');

      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt6 := FieldByName('cons_total').AsFloat;

    end ;

    with aqr_sys do
    begin
      Rt7 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(det_total) det_total');
      SQL.Add(' FROM sny_detail');
      SQL.Add(' where det_sell_time>=:StartDT and det_sell_time<=:EndDT');

      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt7 := FieldByName('det_total').AsFloat;

    end ;

    with aqr_sys do
    begin
      Rt8 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(reg_real_price) reg_real_price');
      SQL.Add(' FROM sny_reg');
      SQL.Add(' where reg_time_out>=:StartDT and reg_time_out<=:EndDT');

      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt8 := FieldByName('reg_real_price').AsFloat;

    end;

    with aqr_sys do
    begin
      Rt9 := 0 ;
      Close ;
      SQL.Clear ;
                    //
      SQL.Add(' SELECT Sum(ser_total) ser_total');
      SQL.Add(' FROM sny_serve');
      SQL.Add(' where ser_end_time>=:StartDT and ser_end_time<=:EndDT');

      Parameters.ParamByName('StartDT').Value := StartDT;
      Parameters.ParamByName('EndDT').Value := EndDT;

      Open ;
      if IsEmpty then
      Exit;
      Rt9 := FieldByName('ser_total').AsFloat;

    end ;
    Result := Rt1 + Rt2 + Rt3 + Rt4 + Rt5 + Rt6 + Rt7 + Rt8 + Rt9 ;
    LabeledEdit5.Text := FormatFloat('0.00',Result); }

  //end;

end;
procedure Tfm_finace.BitBtn19Click(Sender: TObject);
begin
  try
    FrmWPMXR := TFrmWPMXR.Create(Application);

    FrmWPMXR.Prepare;
    FrmWPMXR.QRLabel21.Caption := '/'+intToStr(FrmWPMXR.QRPrinter.PageCount); //总页码数
    FrmWPMXR.QRLabel20.Caption := sny_title1; //公司名称
    FrmWPMXR.QRLabel17.Caption := formatDateTime('yyyy-mm-dd',date); //打印时间
    FrmWPMXR.QRLabel19.Caption := sny_user; //打印人

    FrmWPMXR.Preview ;
  finally
    FrmWPMXR.Free;
  end;
end;

procedure Tfm_finace.BitBtn3Click(Sender: TObject);
begin
  try
    FrmFWMXR := TFrmFWMXR.Create(Application);

    FrmFWMXR.Prepare;
    FrmFWMXR.QRLabel21.Caption := '/'+intToStr(FrmFWMXR.QRPrinter.PageCount); //总页码数
    FrmFWMXR.QRLabel20.Caption := sny_title1; //公司名称
    FrmFWMXR.QRLabel17.Caption := formatDateTime('yyyy-mm-dd',date); //打印时间
    FrmFWMXR.QRLabel19.Caption := sny_user; //打印人

    FrmFWMXR.Preview ;
  finally
    FrmFWMXR.Free;
  end;
end;

procedure Tfm_finace.BitBtn5Click(Sender: TObject);
begin
  try
    FrmSGLSPR := TFrmSGLSPR.Create(Application);

    FrmSGLSPR.Prepare;
    FrmSGLSPR.QRLabel21.Caption := '/'+intToStr(FrmSGLSPR.QRPrinter.PageCount); //总页码数
    FrmSGLSPR.QRLabel20.Caption := sny_title1; //公司名称
    FrmSGLSPR.QRLabel17.Caption := formatDateTime('yyyy-mm-dd',date); //打印时间
    FrmSGLSPR.QRLabel19.Caption := sny_user; //打印人

    FrmSGLSPR.Preview ;
  finally
    FrmSGLSPR.Free;
  end;
end;

procedure Tfm_finace.BitBtn6Click(Sender: TObject);
begin
  try
    FrmSGYPR := TFrmSGYPR.Create(Application);

    FrmSGYPR.Prepare;
    FrmSGYPR.QRLabel21.Caption := '/'+intToStr(FrmSGYPR.QRPrinter.PageCount); //总页码数
    FrmSGYPR.QRLabel20.Caption := sny_title1; //公司名称
    FrmSGYPR.QRLabel17.Caption := formatDateTime('yyyy-mm-dd',date); //打印时间
    FrmSGYPR.QRLabel19.Caption := sny_user; //打印人

    FrmSGYPR.Preview ;
  finally
    FrmSGYPR.Free;
  end;
end;

procedure Tfm_finace.BitBtn7Click(Sender: TObject);
begin
  try
    FrmCSXMXR := TFrmCSXMXR.Create(Application);

    FrmCSXMXR.Prepare;
    FrmCSXMXR.QRLabel21.Caption := '/'+intToStr(FrmCSXMXR.QRPrinter.PageCount); //总页码数
    FrmCSXMXR.QRLabel20.Caption := sny_title1; //公司名称
    FrmCSXMXR.QRLabel17.Caption := formatDateTime('yyyy-mm-dd',date); //打印时间
    FrmCSXMXR.QRLabel19.Caption := sny_user; //打印人

    FrmCSXMXR.Preview ;
  finally
    FrmCSXMXR.Free;
  end;
end;

procedure Tfm_finace.BitBtn8Click(Sender: TObject);
begin
  try
    FrmSGQTSFR := TFrmSGQTSFR.Create(Application);

    FrmSGQTSFR.Prepare;
    FrmSGQTSFR.QRLabel21.Caption := '/'+intToStr(FrmSGQTSFR.QRPrinter.PageCount); //总页码数
    FrmSGQTSFR.QRLabel20.Caption := sny_title1; //公司名称
    FrmSGQTSFR.QRLabel17.Caption := formatDateTime('yyyy-mm-dd',date); //打印时间
    FrmSGQTSFR.QRLabel19.Caption := sny_user; //打印人

    FrmSGQTSFR.Preview ;
  finally
    FrmSGQTSFR.Free;
  end;
end;   

procedure Tfm_finace.BitBtn9Click(Sender: TObject);
begin

⌨️ 快捷键说明

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