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

📄 yddljs.cpp

📁 营业用电管理系统(网络版)是本公司推出的新一代软件产品
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    YDData->TBdbda->Edit();
    bsdl=YDData->TBdbda->FieldByName("bsdl")->AsFloat;
    bsdlf=YDData->TBdbda->FieldByName("bsdlf")->AsFloat;
    bsdlg=YDData->TBdbda->FieldByName("bsdlg")->AsFloat;
    jfdl=YDData->TBdbda->FieldByName("hjdl")->AsFloat;
    jfdlf=YDData->TBdbda->FieldByName("hjdlf")->AsFloat;
    jfdlg=YDData->TBdbda->FieldByName("hjdlg")->AsFloat;
    xs=YDData->TBdbda->FieldByName("xs")->AsInteger;
    if (xs>0)
     if (YDData->TBdbda->FieldByName("dblb")->AsString.SubString(5,2)!="复")
       {
       if (YDData->TBdbda->FieldByName("xshbs")->AsString=="Y")
         YDData->TBdbda->FieldByName("xsdl")->AsFloat=(bsdl+jfdl)*xs/1000;
        else
         YDData->TBdbda->FieldByName("xsdl")->AsFloat=jfdl*xs/1000;
       }
     else
       {
       if (YDData->TBdbda->FieldByName("xshbs")->AsString=="Y")
         {
          YDData->TBdbda->FieldByName("xsdl")->AsFloat=(bsdl+jfdl)*xs/1000;
          YDData->TBdbda->FieldByName("xsdlf")->AsFloat=(bsdlf+jfdlf)*xs/1000;
          YDData->TBdbda->FieldByName("xsdlg")->AsFloat=(bsdlg+jfdlg)*xs/1000;
         }
        else
         {
          YDData->TBdbda->FieldByName("xsdl")->AsFloat=jfdl*xs/1000;
          YDData->TBdbda->FieldByName("xsdlf")->AsFloat=jfdlf*xs/1000;
          YDData->TBdbda->FieldByName("xsdlg")->AsFloat=jfdlg*xs/1000;
         }
      }

    YDData->TBdbda->Post();
    YDData->TBdbda->Next();
   }


}

//---------------------------------------------------------------------------
void TFdljs::jlxss()
{
  AnsiString hhhh,hhhh1,sql,dblb,tbjs,bz;
  hhhh=YDData->TByhda->FieldByName("hhhh")->AsString;
  tbjs=YDData->TByhda->FieldByName("tbjs")->AsString;
  if (tbjs!="按用电量分摊"&&tbjs!="按用户数分摊") return;
//  if (YDData->TBdbda->FieldByName("bldl")->AsFloat==0) return;
  double jlxdl,jlxss,sydl,pdl,fdl,gdl;
  sydl=0;
  jlxdl=YDData->TBdbda->FieldByName("bldl")->AsFloat;
  int hs;
  TQuery *Query1=new TQuery(this);
  Query1->DatabaseName="YDDB";
  YDData->QUyh->SQL->Clear();
  YDData->QUyh->SQL->Add("select * from YHDA0000 where tbjs='"+hhhh+"'" );
  YDData->QUyh->ExecSQL();
  YDData->QUyh->Open();
  hs=YDData->QUyh->RecordCount;
  YDData->TBdb->Open();
  YDData->QUyh->First();
  while (!YDData->QUyh->Eof)
    {
     YDData->TBdb->First();
      while (!YDData->TBdb->Eof)
        {
         dblb=YDData->TBdb->FieldByName("dblb")->AsString;
         pdl=YDData->TBdb->FieldByName("hjdl")->AsFloat;
         fdl=YDData->TBdb->FieldByName("hjdlf")->AsFloat;
         gdl=YDData->TBdb->FieldByName("hjdlg")->AsFloat;
        if (dblb!="无功表"&&dblb!="无功复"&&dblb!="反向表")
            sydl=sydl+pdl+fdl+gdl;
         YDData->TBdb->Next();
        }
     YDData->QUyh->Next();
    }
  jlxss=jlxdl-sydl;
  YDData->QUyh->First();
  while (!YDData->QUyh->Eof)
    {
//     hhhh1=YDData->QUyh->FieldByName("hhhh")->AsString;
     YDData->TBdb->First();
      while (!YDData->TBdb->Eof)
        {
         dblb=YDData->TBdb->FieldByName("dblb")->AsString;
//         bz=YDData->TBdb->FieldByName("bz")->AsString;
         if (dblb!="无功表"&&dblb!="无功复"&&dblb!="反向表")
           {
            if (tbjs=="按用电量分摊"&&sydl>0)
              {
               YDData->TBdb->Edit();
               YDData->TBdb->FieldByName("tzdl")->AsFloat=
               (YDData->TBdb->FieldByName("hjdl")->AsFloat/sydl)*jlxss;
               YDData->TBdb->FieldByName("tzdlf")->AsFloat=
               (YDData->TBdb->FieldByName("hjdlf")->AsFloat/sydl)*jlxss;
               YDData->TBdb->FieldByName("tzdlg")->AsFloat=
               (YDData->TBdb->FieldByName("hjdlg")->AsFloat/sydl)*jlxss;
               YDData->TBdb->Post();
              }
            if (tbjs=="按用户数分摊"&&hs>0)
              {
               YDData->TBdb->Edit();
               YDData->TBdb->FieldByName("tzdl")->AsFloat=(1/hs)*jlxss;
               YDData->TBdb->Post();
               break;
              }

           }
         YDData->TBdb->Next();
        }
     YDData->QUyh->Next();
    }

 YDData->TBdb->Close();
 YDData->QUyh->Close();
 delete Query1;
}
// ------------------------------------------
void TFdljs::zfdljs()
{
TQuery *Query1=new TQuery(this);
Query1->DatabaseName="YDDB";
AnsiString hhhh,dbbh,bbzj,zjbx,jsql;
double pdl,fdl,gdl,p,f,g;
YDData->TBdbda->First();
while (!YDData->TBdbda->Eof)
 {
   if (YDData->TBdbda->FieldByName("dblb")->AsString.SubString(5,2)=="复"&&YDData->TBdbda->FieldByName("p_fg")->AsString=="Y")
     {
      YDData->TBdbda->Edit();
      YDData->TBdbda->FieldByName("fldl")->AsFloat=YDData->TBdbda->FieldByName("fldl")->AsFloat-(YDData->TBdbda->FieldByName("hjdlf")->AsFloat+YDData->TBdbda->FieldByName("hjdlg")->AsFloat);
      YDData->TBdbda->Post();
      }

 if (Trim(YDData->TBdbda->FieldByName("bz")->AsString)!="")
  {
   hhhh=YDData->TByhda->FieldByName("hhhh")->AsString;
   dbbh=YDData->TBdbda->FieldByName("dbbh")->AsString;
   bbzj=YDData->TBdbda->FieldByName("bbzj")->AsString;
   zjbx=YDData->TBdbda->FieldByName("zjbx")->AsString;
   if (YDData->TBdbda->FieldByName("fgp")->AsString=="")
    {
    if (YDData->TBdbda->FieldByName("bz")->AsString!="户间分表")
      {
        pdl=-(YDData->TBdbda->FieldByName("hjdl")->AsFloat+YDData->TBdbda->FieldByName("hjdlf")->AsFloat+YDData->TBdbda->FieldByName("hjdlg")->AsFloat);
        fdl=0;
        gdl=0;
       }
    else
      {
        pdl=YDData->TBdbda->FieldByName("hjdl")->AsFloat+YDData->TBdbda->FieldByName("hjdlf")->AsFloat+YDData->TBdbda->FieldByName("hjdlg")->AsFloat;
        fdl=0;
        gdl=0;
      }
   }
  else
   {
    double ff=StrToFloat(YDData->TBdbda->FieldByName("fgp")->AsString.SubString(4,2));
    double gg=StrToFloat(YDData->TBdbda->FieldByName("fgp")->AsString.SubString(7,2));
    double pp=StrToFloat(YDData->TBdbda->FieldByName("fgp")->AsString.SubString(1,2));
     p=YDData->TBdbda->FieldByName("hjdl")->AsFloat;
     f=YDData->TBdbda->FieldByName("hjdlf")->AsFloat;
     g=YDData->TBdbda->FieldByName("hjdlg")->AsFloat;
      if (YDData->TBdbda->FieldByName("bz")->AsString!="户间分表")
        {
          fdl=-(p+f+g)*(ff/100);
          gdl=-(p+f+g)*(gg/100);
          pdl=-(p+f+g)*(pp/100);
        }
        else
        {
          fdl=(p+f+g)*(ff/100);
          gdl=(p+f+g)*(gg/100);
          pdl=(p+f+g)*(pp/100);
        }
   }
   Query1->Close();
   Query1->SQL->Clear();
   jsql="update dbda0000 set fldl=fldl+"+FloatToStr(pdl)+",fldlf=fldlf+"+FloatToStr(fdl)+",fldlg=fldlg+"+FloatToStr(gdl)+" where hhhh='"+bbzj+"' and dbbh='"+zjbx+"'";
   jsql=jsql+" or hhhh='"+hhhh+"' and dbbh='"+zjbx+"'";
   Query1->SQL->Add(jsql);
   Query1->ExecSQL();
  }
  YDData->TBdbda->Next();
 }
 delete Query1;

}
//---------------------------------------
void TFdljs::jsjddl()
{
 AnsiString dblb;
 double jdygdl,tjbsdl,tjxsdl;
 double jdwgdl;
 YDData->TByhda->First();
 while (!YDData->TByhda->Eof)
   {
     jdygdl=0;jdwgdl=0;tjbsdl=0;tjxsdl=0;
     YDData->TByhda->Edit();
     YDData->TBdbda->First();
      while (!YDData->TBdbda->Eof)
       {
        dblb=YDData->TBdbda->FieldByName("dblb")->AsString;
         if (dblb!="无功表"&&dblb!="无功复"&&dblb!="反向表")
           {
           jdygdl=jdygdl+YDData->TBdbda->FieldByName("zdl")->AsFloat+
           YDData->TBdbda->FieldByName("zdlf")->AsFloat+
           YDData->TBdbda->FieldByName("zdlg")->AsFloat;
            tjbsdl=tjbsdl+YDData->TBdbda->FieldByName("bsdl")->AsFloat+
            YDData->TBdbda->FieldByName("bsdlf")->AsFloat+
            YDData->TBdbda->FieldByName("bsdlg")->AsFloat;
            tjxsdl=tjxsdl+YDData->TBdbda->FieldByName("xsdl")->AsFloat+
            YDData->TBdbda->FieldByName("xsdlf")->AsFloat+
            YDData->TBdbda->FieldByName("xsdlg")->AsFloat;
            }
         else
           jdwgdl=jdwgdl+YDData->TBdbda->FieldByName("zdl")->AsFloat+
           YDData->TBdbda->FieldByName("zdlf")->AsFloat+
           YDData->TBdbda->FieldByName("zdlg")->AsFloat;
         YDData->TBdbda->Next();
       }

    YDData->TByhda->FieldByName("zjygdl")->AsFloat=jdygdl;
    YDData->TByhda->FieldByName("zjwgdl")->AsFloat=jdwgdl;
    YDData->TByhda->FieldByName("tjbsdl")->AsFloat=tjbsdl;
    YDData->TByhda->FieldByName("tjxsdl")->AsFloat=tjxsdl;
    YDData->TByhda->FieldByName("sdl")->AsFloat=jdygdl;

    YDData->TByhda->Post();
   YDData->TByhda->Next();
   }
}

void __fastcall TFdljs::SpeedButton2Click(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------

void __fastcall TFdljs::FormClose(TObject *Sender, TCloseAction &Action)
{
 YDData->TBdbda->Close();
 YDData->TByhda->Close();
  Fmain->gnjs(Fmain->tcjc); 

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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