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

📄 goodsppt.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "GoodsPpt.h"
#include "sdenumtype.h"
#include "sdappserver_tlb.h"


//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmGoodsPpt *frmGoodsPpt;
//---------------------------------------------------------------------------
__fastcall TfrmGoodsPpt::TfrmGoodsPpt(TComponent* Owner,AnsiString GoodsPpt,AnsiString Goods )
        : TStdBaseForm(Owner)
{
     sgGp1Row=sgGp2Row=1;
     sgPro1Row=sgPro2Row=1;
     m_PropertyPpt=GoodsPpt;
     TGoodsPpt1->Caption=g_sdProperty1Name;
     seGoodsPpt1Goods->Text=Goods;
     if(m_PropertyPpt==1)
     {
       PGoodsPpt->ActivePage=TGoodsPpt1;
       TGoodsPpt2->TabVisible=false;
     }
     seGoods1Name->Text=GetGoodsName();
     GetOldGoodsPpt();
     GetProperty();
     SureBtEnabled();
     sgGp1->Cells[0][0] = "状态编码";
     sgGp1->Cells[1][0] = "状态名称";
     if( m_PropertyPpt=="2")
     {
      TGoodsPpt2->Caption=g_sdProperty2Name;
      seGoodsPpt2Goods->Text=Goods;
      seGoods2Name->Text=GetGoodsName();
      sgGp2->Cells[0][0] = "状态编码";
      sgGp2->Cells[1][0] = "状态名称";
     }
}
//---------------------------------------------------------------------------
AnsiString   __fastcall TfrmGoodsPpt::GetGoodsName()
{
    TComResultSet *pResultSet=NewResultSet();
    AnsiString strSQL,result;
    strSQL="select GOODSNAME from sdgoods where GOODSCODE='"+seGoodsPpt1Goods->Text+"'" ;
    pResultSet->Close();
    pResultSet->Open(strSQL,"");
    result=pResultSet->FieldByName("GOODSNAME");
    delete pResultSet;
    return  result;
}
//---------------------------------------------------------------------------
void  __fastcall TfrmGoodsPpt::GetOldGoodsPpt()
{
    PptResultSet=NewResultSet();
    AnsiString strSQL,result;
    strSQL=" select goodsppt=1,GOODSPPTGOODS=GOODSPPT1GOODS,GOODSPPTID=GOODSPPT1ID,GOODSPPTNAME=GOODSPPT1NAME "
           " from sdgoodsppt1 where GOODSPPT1GOODS='"+seGoodsPpt1Goods->Text+"' union "+
           " select 2,GOODSPPT2GOODS,GOODSPPT2ID,GOODSPPT2NAME from sdgoodsppt2"+
           " where GOODSPPT2GOODS='"+seGoodsPpt1Goods->Text+"'" ;
    PptResultSet->Close();
    PptResultSet->Open(strSQL,"");
    PptResultSet->MoveFirst();
    while (PptResultSet->Eof   ==  0)
    {
         if(PptResultSet->FieldByName("goodsppt")=="1")
         {
          sgGp1->Cells[0][sgGp1Row]=PptResultSet->FieldByName("GOODSPPTID");
          sgGp1->Cells[1][sgGp1Row]=PptResultSet->FieldByName("GOODSPPTNAME");
          sgGp1Row++;

         }
         if(PptResultSet->FieldByName("goodsppt")=="2"&&m_PropertyPpt=="2")
         {
          sgGp2->Cells[0][sgGp2Row]=PptResultSet->FieldByName("GOODSPPTID");
          sgGp2->Cells[1][sgGp2Row]=PptResultSet->FieldByName("GOODSPPTNAME");
          sgGp2Row++;
         }
    PptResultSet->MoveNext();
    }
}
void  __fastcall TfrmGoodsPpt::GetProperty()
{
      sgPro1->Cells[0][0] = "状态编码";
     sgPro1->Cells[1][0] = "状态名称";
     if(m_PropertyPpt=="2")
     {
       sgPro2->Cells[0][0] = "状态编码";
       sgPro2->Cells[1][0] = "状态名称";
     }
     ProQuery=NewDcomAppSvr(euSdProperty);
     ProQuery->Query();
     ProQuery->MoveFirst();
     while (ProQuery->Eof   ==  0)
     {
       int i=1,j=1;
       PptResultSet->MoveFirst();
       while (PptResultSet->Eof   ==  0)
       {
         if(ReadFieldValue(ProQuery,fiPropertyPpt)=="1"&&PptResultSet->FieldByName("goodsppt")=="1")
         {
            j++;
            if(ReadFieldValue(ProQuery,fiPropertyID)!=PptResultSet->FieldByName("GOODSPPTID"))
               i++;
         }
         PptResultSet->MoveNext();
       }
      if(ReadFieldValue(ProQuery,fiPropertyPpt)=="1"&&i==j)
      {
          sgPro1->Cells[0][sgPro1Row]=ReadFieldValue(ProQuery,fiPropertyID);
          sgPro1->Cells[1][sgPro1Row]=ReadFieldValue(ProQuery,fiPropertyName);
          sgPro1Row++;
      }
      ProQuery->MoveNext();
     }
     ProQuery->MoveFirst();
     while (ProQuery->Eof   ==  0)
     {
        int ii=1,jj=1;
        PptResultSet->MoveFirst();
        while (PptResultSet->Eof   ==  0)
        {
          if(ReadFieldValue(ProQuery,fiPropertyPpt)=="2"&&PptResultSet->FieldByName("goodsppt")=="2")
          {
           jj++;
           if(ReadFieldValue(ProQuery,fiPropertyID)!=PptResultSet->FieldByName("GOODSPPTID"))
               ii++;
           }
         PptResultSet->MoveNext();
        }
        if(ReadFieldValue(ProQuery,fiPropertyPpt)=="2"&&ii==jj)
        {
          sgPro2->Cells[0][sgPro2Row]=ReadFieldValue(ProQuery,fiPropertyID);
          sgPro2->Cells[1][sgPro2Row]=ReadFieldValue(ProQuery,fiPropertyName);
          sgPro2Row++;
        }
      ProQuery->MoveNext();
     }

}
void __fastcall TfrmGoodsPpt::BAdd1Click(TObject *Sender)
{
      int i;
      if(sgPro1->Cells[0][sgPro1->Row].IsEmpty())
          throw Exception("状态不存在");
      sgGp1->Cells[0][sgGp1Row]=sgPro1->Cells[0][sgPro1->Row];
      sgGp1->Cells[1][sgGp1Row]=sgPro1->Cells[1][sgPro1->Row];
      sgGp1Row++;
      i=sgPro1->Row;
      if(sgPro1Row==1)
         return ;
      for(;i<sgPro1Row;i++)
      {
         sgPro1->Cells[0][i]=sgPro1->Cells[0][1+i];
         sgPro1->Cells[1][i]=sgPro1->Cells[1][1+i];

      }
      sgPro1Row--;
      SureBtEnabled();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BAdd2Click(TObject *Sender)
{
      int i;
      if(sgPro2->Cells[0][sgPro2->Row].IsEmpty())
          throw Exception("状态不存在");
      sgGp2->Cells[0][sgGp2Row]=sgPro2->Cells[0][sgPro2->Row];
      sgGp2->Cells[1][sgGp2Row]=sgPro2->Cells[1][sgPro2->Row];
      sgGp2Row++;
      i=sgPro2->Row;
      if(sgPro2Row==1)
         return ;
      for(;i<sgPro2Row;i++)
      {
         sgPro2->Cells[0][i]=sgPro2->Cells[0][1+i];
         sgPro2->Cells[1][i]=sgPro2->Cells[1][1+i];

      }
      sgPro2Row--;
      SureBtEnabled();

}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BReMove1Click(TObject *Sender)
{
      int i;
      i=sgGp1->Row;
      if(sgGp1Row==1)
         return ;
      sgPro1->Cells[0][sgPro1Row]=sgGp1->Cells[0][sgGp1->Row];
      sgPro1->Cells[1][sgPro1Row]=sgGp1->Cells[1][sgGp1->Row];
      sgPro1Row++;
      for(;i<sgGp1Row;i++)
      {
         sgGp1->Cells[0][i]=sgGp1->Cells[0][1+i];
         sgGp1->Cells[1][i]=sgGp1->Cells[1][1+i];

      }
      sgGp1Row--;
      SureBtEnabled();

}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BReMove2Click(TObject *Sender)
{
      int i;
      i=sgGp2->Row;
      if(sgGp2Row==1)
         return ;
      sgPro2->Cells[0][sgPro2Row]=sgGp2->Cells[0][sgGp2->Row];
      sgPro2->Cells[1][sgPro2Row]=sgGp2->Cells[1][sgGp2->Row];
      sgPro2Row++;
      for(;i<sgGp2Row;i++)
      {
         sgGp2->Cells[0][i]=sgGp2->Cells[0][1+i];
         sgGp2->Cells[1][i]=sgGp2->Cells[1][1+i];

      }
      sgGp2Row--;
      SureBtEnabled();

}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BClear1Click(TObject *Sender)
{
      for(int i=1;i<sgGp1Row;i++)
      {
         sgPro1->Cells[0][sgPro1Row]=sgGp1->Cells[0][i];
         sgPro1->Cells[1][sgPro1Row]=sgGp1->Cells[1][i];
         sgPro1Row++;
         sgGp1->Cells[0][i]="";
         sgGp1->Cells[1][i]="";

      }
      sgGp1Row=1;
      SureBtEnabled();

}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BClear2Click(TObject *Sender)
{
      for(int i=1;i<sgGp2Row;i++)
      {
         sgPro2->Cells[0][sgPro2Row]=sgGp2->Cells[0][i];
         sgPro2->Cells[1][sgPro2Row]=sgGp2->Cells[1][i];
         sgPro2Row++;
         sgGp2->Cells[0][i]="";
         sgGp2->Cells[1][i]="";

      }
      sgGp2Row=1;
      SureBtEnabled();

}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BAllTake1Click(TObject *Sender)
{
    for(int i=1;i<sgPro1Row;i++)
    {
      sgGp1->Cells[0][sgGp1Row]=sgPro1->Cells[0][i];
      sgGp1->Cells[1][sgGp1Row]=sgPro1->Cells[1][i];
      sgGp1Row++;
      sgPro1->Cells[0][i]="";
      sgPro1->Cells[1][i]="";
    }
      sgPro1Row=1;
      SureBtEnabled();
}
//---------------------------------------------------------------------------

void __fastcall TfrmGoodsPpt::BAllTake2Click(TObject *Sender)
{
    for(int i=1;i<sgPro2Row;i++)
    {
      sgGp2->Cells[0][sgGp2Row]=sgPro2->Cells[0][i];
      sgGp2->Cells[1][sgGp2Row]=sgPro2->Cells[1][i];
      sgGp2Row++;
      sgPro2->Cells[0][i]="";
      sgPro2->Cells[1][i]="";
    }
      sgPro2Row=1;
      SureBtEnabled();

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


void __fastcall TfrmGoodsPpt::BSave1Click(TObject *Sender)
{
    AnsiString m_Sql;
    TComResultSet *PptResultSet=NewResultSet();
    int i, j=sgGp1Row;
    PptResultSet->Close();
    PptResultSet->Execute("delete sdgoodsppt1 where GOODSPPT1GOODS='"+seGoodsPpt1Goods->Text+"'" );
    for(int i=1;i<j;i++)
    {
          if(sgGp1->Cells[0][i].IsEmpty()==false)
          {
           m_Sql="insert into sdgoodsppt1(GOODSPPT1GOODS,GOODSPPT1ID,GOODSPPT1NAME) values('"
           +seGoodsPpt1Goods->Text+"','"+
           sgGp1->Cells[0][i]+"','"+
           sgGp1->Cells[1][i]+"')";
           PptResultSet->Close();
           PptResultSet->Execute(m_Sql);
          }
    }

    PptResultSet->Close();
    PptResultSet->Execute(WideString("delete sdgoodsppt2 where GOODSPPT2GOODS='"+seGoodsPpt1Goods->Text+"'" ));
    j=sgGp2Row;
    for(i=1;i<j;i++)
    {
          if(sgGp2->Cells[0][i].IsEmpty()==false)
          {
           m_Sql="insert into sdgoodsppt2(GOODSPPT2GOODS,GOODSPPT2ID,GOODSPPT2NAME) values('"
           +seGoodsPpt1Goods->Text+"','"+
           sgGp2->Cells[0][i]+"','"+
           sgGp2->Cells[1][i]+"')";
           PptResultSet->Close();
           PptResultSet->Execute(m_Sql);
          }
    }
    delete PptResultSet;
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::BCa1Click(TObject *Sender)
{
      Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmGoodsPpt::SureBtEnabled()
{
      if(sgGp1->Cells[0][1].IsEmpty())
      {
        BReMove1->Enabled=false;
        BClear1->Enabled=false;
      }
      else
      {
        BReMove1->Enabled=true;
        BClear1->Enabled=true;
      }
      if(sgPro1->Cells[0][1].IsEmpty())
      {
        BAllTake1->Enabled=false;
        BAdd1->Enabled=false;
      }
      else
      {
        BAllTake1->Enabled=true;
        BAdd1->Enabled=true;
      }

      if(sgGp2->Cells[0][1].IsEmpty())
      {
        BReMove2->Enabled=false;
        BClear2->Enabled=false;
      }
      else
      {
        BReMove2->Enabled=true;
        BClear2->Enabled=true;
      }
      if(sgPro2->Cells[0][1].IsEmpty())
      {
        BAllTake2->Enabled=false;
        BAdd2->Enabled=false;
      }
      else
      {
        BAllTake2->Enabled=true;
        BAdd2->Enabled=true;
      }
}

void __fastcall TfrmGoodsPpt::FormClose(TObject *Sender,
      TCloseAction &Action)
{
  delete ProQuery;
  delete PptResultSet;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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