sueval.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 1,041 行 · 第 1/3 页

CPP
1,041
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma link "RecBaseForm"
#pragma hdrstop
#include "Sueval.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "TB97"
#pragma link "SDTreeView"
#pragma resource "*.dfm"
TfrmSueval *frmSueval;
//---------------------------------------------------------------------------
__fastcall TfrmSueval::TfrmSueval(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
       RsTemp1 = new  TComResultSet(Handle,g_ClientHandle);
       RsTemp2 = new  TComResultSet(Handle,g_ClientHandle);
       RsTemp3 = new  TComResultSet(Handle,g_ClientHandle);
       RsTemp4 = new  TComResultSet(Handle,g_ClientHandle);
       comServer1 = new TComServer(Handle,g_ClientHandle,"1040602");
       Bt_Save->Enabled=false ;
       BitBtn_Left ->Enabled = true;
       BitBtnRight ->Enabled = true;
       BitBtn_AllRight ->Enabled = true;
       BitBtn_AllLeft ->Enabled = true;
       BitBtn1_sup1 ->Enabled = true;
       BitBtn1_sup2 ->Enabled = true;
       BitBtn1_sup3 ->Enabled = true;
       BitBtn_clear ->Enabled = true;
       Grid_pf ->ReadOnly = false;
       Grid_supply2 ->ReadOnly = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSueval::ClearControl(bool BringToNext)
{
}
void __fastcall TfrmSueval::GetDataFromComObject()
{
}
void __fastcall TfrmSueval::SendDataToComObject()
{
}
void __fastcall TfrmSueval::WaitUserInput()
{
}
AnsiString __fastcall TfrmSueval::GetDataToGrid()
{
    AnsiString  s;
    return(s);
}
void __fastcall TfrmSueval::RefreshGridData(int mAction)
{
}
void __fastcall TfrmSueval::FillGridWithData()
{
    FillTreeWithPtype();
}
void __fastcall TfrmSueval::InitEditControl()	// User declarations
{
     //在此增加其他构建的控制语句...
}
void  __fastcall TfrmSueval::RefreshUpdateData(int MsgSrc,int MsgType)
{
//在这里添加相应消息的语句
}
void __fastcall TfrmSueval::FormShow(TObject *Sender)
{

    FillGridWithData();
    FillGridWithData_SupplyArea();
    ClearControl(false);
    comServer->MoveFirst();
}
void __fastcall TfrmSueval::tvTreeChange(TObject *Sender, TTreeNode *Node)
{
    if(Node == tvTree->Items->Item[0])
        return;
    if(tvTree->Selected->StateIndex == 0 )
        return;
      s_tvChoose=1;
      s_Tvcode = Node->Text;
      s_Tvcode = s_Tvcode.SubString(2,s_Tvcode.AnsiPos(")")-2);
      tv_Tabselect(s_tvChoose);// 判断 TAB 页 SetFocus
      GridStringTitle(s_tvChoose);
}
void __fastcall TfrmSueval::FillTreeWithPtype()
{
     TTreeNode *TempNode[7];   ////////////////////zhz
     int mLevel;
     tvTree->Items->Clear();
     TempNode[0]=tvTree->Items->Add(NULL,"所有的物料");
     TempNode[0]->StateIndex = 0;
     TempNode[0]->SelectedIndex = 0;
     l_Query->Close ();
     l_Query->Open("select PmpcCode,PmpcName,PmpcLevel,PmpcEnd from sdPmpc order by PmpcCode,PmPcLevel","");
     l_Query->MoveFirst();
     while( l_Query->Eof == false )
     {
        mLevel=l_Query->FieldByName("PmpcLevel").ToInt();
        TempNode[mLevel] = tvTree->Items->AddChild(TempNode[mLevel-1],"(" + l_Query->FieldByName("PmpcCode") + ")" +l_Query->FieldByName("PmpcName"));
        if(l_Query->FieldByName("PmpcEnd")=="1")
        {
         TempNode[mLevel]->StateIndex = 2;
         TempNode[mLevel]->SelectedIndex = 2;
        }
        else
        {
         TempNode[mLevel]->StateIndex = 0;
         TempNode[mLevel]->SelectedIndex = 0;
        }
        TempNode[mLevel]->Text= "(" + l_Query->FieldByName("PmpcCode") + ")"+l_Query->FieldByName("PmpcName");
        l_Query->MoveNext();
     }
     l_Query->Close();
     TempNode[0]->Expand(false);
//     if (tvGoods->Items->Count > 0)
//         tvGoods->FullExpand();
}
void __fastcall TfrmSueval::TreeViewLocation()
{

}
void __fastcall TfrmSueval::tvTreeDblClick(TObject *Sender)
{
  if(tvTree->Selected == NULL)
  return;
 if(tvTree->Selected->StateIndex != 2)
  return;
  FillGoods(tvTree->Selected);
}
//---------------------------------------------------------------------------
 void __fastcall TfrmSueval::FillGoods(TTreeNode *SelectedPmpcNode)
{
  AnsiString sSQL,sPmpcCode,ItemStr;
  TTreeNode *TempNode;
  if(SelectedPmpcNode==NULL)
   return;
  sPmpcCode = SelectedPmpcNode->Text;
  sPmpcCode = sPmpcCode.SubString(2,sPmpcCode.AnsiPos(")")-2);
  if(sPmpcCode=="")
   return;
  sSQL=" select goodscode,goodsname from sdgoods where goodspmpccode ='"
      +sPmpcCode+"'";
  try
  {
    StartWaitForm("正在执行查询...");
    l_Query->Close();
    l_Query->Open(sSQL,"");
    while( l_Query->Eof == 0)
    {
      ItemStr="("+l_Query->FieldByName("GoodsCode")+
              ")"+l_Query->FieldByName("GoodsName");
      TempNode= tvTree->Items->AddChild(SelectedPmpcNode,ItemStr);
      TempNode->StateIndex = 1;
      TempNode->SelectedIndex = 1;
      TempNode->Text=ItemStr;
      l_Query->MoveNext();
    }
  }
   __finally

  {
    EndWaitForm();
  }
  SelectedPmpcNode->Expand(false);
  SelectedPmpcNode->StateIndex=3;
  SelectedPmpcNode->SelectedIndex=3;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSueval::tv_Tabselect(int f_tv)
 {
        AnsiString   l_sqlselect,ItemStr;
        if(tvTree->Selected==NULL)
           return;
        if (PageControl1->ActivePage == TabSheet1)
            {
             SDEdit1->Text = tvTree->Selected->Text;
             tvTree->Height= 250;
             tvSupply->Visible = true;
               if (f_tv == 1 )
                 {
                  SDGrid_TvGoods();
                 }
               else if (f_tv == 2 )
                {
                  SDGrid_TvSupply();
                }
               ///////////////////////////////////////////////////////
             }
          else if (PageControl1->ActivePage == TabSheet2)
            {
               SDEdit2->Text=tvTree->Selected->Text;
               tvTree->Height = 250;
               tvSupply->Visible = true;
              if (f_tv == 1 )
                 GridKsSuval_TvGoods();
              else if (f_tv == 2 )
                GridKsSuval_TvSupply();
             }
          else if (PageControl1->ActivePage==TabSheet3)
             {
               AnsiString  l_sqlselect2;
               SDEdit3->Text = tvTree->Selected->Text;
               tvTree->Height = 510;
               tvSupply->Visible=false;
               l_sqlselect2 = f_TabSheetSuval(s_Tvcode) ;
               l_sqlselect = l_sqlselect2+ " and ksSuEval.SuEvalFlag =0 " ;
               TComResultSet *RsTemp5;
               RsTemp5 = new  TComResultSet(Handle,g_ClientHandle);
               Grid_pfxz1->RowCount=1;
               RsTemp5->Close();
               RsTemp5->Open(WideString(l_sqlselect+" order by ksSuEval.SuEvalSum DESC"),WideString(""));
              while( !RsTemp5->Eof )
                     {
                       {
                       ItemStr="\t"+AnsiString(RsTemp5->FieldByName("SuEvalSum"))+
                               "\t"+AnsiString(RsTemp5->FieldByName("Suevalsupply"))+
                               "\t"+AnsiString(RsTemp5->FieldByName("SupplyName"))+
                               "\t"+AnsiString(RsTemp5->FieldByName("SuEvalCode"));//
                               Grid_pfxz1->AddItem(ItemStr);
                       }
                       RsTemp5->MoveNext();
                       }
                    // Grid_pfxz1->Columns->Items[1]->SolSort = csAsc;
                     RsTemp5->Close();
                 ///////////////////////////////
                 l_sqlselect=l_sqlselect2+ " and ksSuEval.SuEvalFlag =1 " ;

                 RsTemp4->Open(WideString(l_sqlselect+" order by ksSuEval.SuEvalSum DESC"),WideString(""));
                 Grid_pfxz2->RowCount=1;
                 while( RsTemp4->Eof == 0)
                  {
                   {
                   ItemStr="\t"+AnsiString(RsTemp4->FieldByName("SuEvalSum"))+
                           "\t"+AnsiString(RsTemp4->FieldByName("Suevalsupply"))+
                           "\t"+AnsiString(RsTemp4->FieldByName("SupplyName"))+
                           "\t"+AnsiString(RsTemp4->FieldByName("SuEvalCode"));//

                           Grid_pfxz2->AddItem(ItemStr);
                   }
                   RsTemp4->MoveNext();
                 }
                 RsTemp4->Close();
              }
          else if (PageControl1->ActivePage==TabSheet4)
             {
              SDEdit4->Text=tvTree->Selected->Text;
              tvTree->Height= 510;
              tvSupply->Visible=false;
              l_sqlselect=f_TabSheetSuval(s_Tvcode)+ " and ksSuEval.SuEvalFlag =1 " ; //2,3 同
              RsTemp2->Open(WideString(l_sqlselect +"order by ksSuEval.SuEvalSum DESC "),WideString(""));
               Grid_supply1->RowCount=1;
              while( !RsTemp2->Eof )
                {
                  {
                  ItemStr="\t"+AnsiString(RsTemp2->FieldByName("SuEvalSum"))+
                          "\t"+AnsiString(RsTemp2->FieldByName("Suevalsupply"))+
                          "\t"+AnsiString(RsTemp2->FieldByName("SupplyName"));//
                          Grid_supply1->AddItem(ItemStr);
                  }
                  RsTemp2->MoveNext();
                }
                RsTemp2->Close();
              ////////////////////////////////
              sheet3Supply();

         }
 }
 //------------------------------------------------------------------------
 void __fastcall TfrmSueval::GridKsSuval_TvGoods()//Sheet2
    {
    AnsiString  ItemStr,l_sqlselect;
     l_sqlselect = f_TabSheetSuval(s_Tvcode); //物品选择
     RsTemp2->Open(WideString(l_sqlselect+" order by ksSuEval.SuEvalSum DESC"),WideString(""));
     Grid_pf->RowCount = 1 ;
     while( RsTemp2->Eof == 0)
        {
            {
            ItemStr =AnsiString(RsTemp2->FieldByName("SuEvalCode"))+
                "\t"+AnsiString(RsTemp2->FieldByName("Suevalsupply"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SupplyName"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalCapacity"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalPrice"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalCredit"))+
                 "\t"+AnsiString(RsTemp2->FieldByName("SuEvalQuality"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalSum"));
                Grid_pf->AddItem(ItemStr);
            }
            RsTemp2->MoveNext();
        }
        RsTemp2->Close();

    }
  //-----------------------------------------------------------------------
 void __fastcall TfrmSueval::GridKsSuval_TvSupply()
    {
     AnsiString  ItemStr,l_sqlselect;
     l_sqlselect = f_TabSheet2Supply(s_TvSupply); //供应商选择
     RsTemp2->Open(WideString(l_sqlselect),WideString(""));
     Grid_pf->RowCount=1;
     while( RsTemp2->Eof == 0)
        {
            {
            ItemStr ="\t"+AnsiString(RsTemp2->FieldByName("goodscode"))+
                "\t"+AnsiString(RsTemp2->FieldByName("goodsName"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalCapacity"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalPrice"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalCredit"))+
                "\t"+AnsiString(RsTemp2->FieldByName("SuEvalSum"));//+
                // "\t"+RsTemp1->FieldByName("PodReqDate")+
                // "\t"+RsTemp1->FieldByName("PodRecDate");
                Grid_pf->AddItem(ItemStr);
            }
            RsTemp2->MoveNext();
        }
        RsTemp2->Close();
    }
 //------------------------------------------------------------------------
 void __fastcall TfrmSueval::SDGrid_TvGoods()//Sheet1
    {
      AnsiString  ItemStr,l_sqlselect,TempStr;
      l_sqlselect = f_TabSheetPquote(s_Tvcode) ; //物品TV
      RsTemp1->Open(WideString(l_sqlselect),WideString(""));
      SDGrid_goods->RowCount=1;
      while( RsTemp1->Eof == 0)
        {
            {
            ItemStr= "\t"+AnsiString(RsTemp1->FieldByName("PquoteSupply"));
            ItemStr+="\t"+AnsiString(RsTemp1->FieldByName("SUPPLYName"));
            ItemStr+="\t"+AnsiString(RsTemp1->FieldByName("PQUOTEGOODS"));  //类型
            ItemStr+="\t"+AnsiString(RsTemp1->FieldByName("PQUOTECURRENCY"));
            ItemStr+="\t"+AnsiString(RsTemp1->FieldByName("PQUOTESDATE"));
            ItemStr+="\t"+AnsiString(RsTemp1->FieldByName("PQUOTEEDATE"));
            if(RsTemp1->FieldByName("PQUOTEQTY1")=="0") TempStr="";
            else TempStr=RsTemp1->FieldByName("PQUOTEQTY1");
            ItemStr+="\t"+AnsiString(TempStr);
            if(RsTemp1->FieldByName("PQUOTEPRICE1")=="0") TempStr="";
            else TempStr=RsTemp1->FieldByName("PQUOTEPRICE1");
            ItemStr+="\t"+AnsiString(TempStr);
            if(RsTemp1->FieldByName("PQUOTEREBATE1")=="0") TempStr="";
            else TempStr=RsTemp1->FieldByName("PQUOTEREBATE1");
            ItemStr+="\t"+AnsiString(TempStr);
            //first price

⌨️ 快捷键说明

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