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

📄 msrewh.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    case 2:
      ValidSrewdCode();
      break;
    case 3:
      ValidSrewdSretCode();
      break;
    case 4:
      ValidSrewdSretdLine();
      break;
    case 5:
      ValidSrewdGoods();
      break;
    case 6:
      ValidSrewdUnit();
      break;
    case 7:
      ValidSrewdConv();
      break;
    case 8:
      ValidSrewdQty();
      break;
    case 9:
      ValidSrewdPrice();
      break;
    case 10:
      ValidSrewdAmt();
      break;
    case 11:
      ValidSrewdDesc();
      break;
    case 12:
      ValidSrewdState();
      break;
    case 13:
      ValidSrewdBatch();
      break;
    case 14:
      ValidSrewdExes();
      break;
    case 15:
      ValidSrewdLoc();
      break;
  }
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdLine()
{
   int m_SrewdLine;
   m_SrewdLine=GetDetailValue("SrewdLine");
    if(m_SrewdLine<=0)
      throw Exception("行号不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdCode()
{
   AnsiString  m_SrewdCode;
   m_SrewdCode=GetDetailValue("SrewdCode");
    if(m_SrewdCode.IsEmpty())
       throw Exception("返修单号不能为空!!!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdSretCode()
{                          /*/
   AnsiString  m_SrewdSretCode;
   AnsiString  b_SrewdSretCode;
   m_SrewdSretCode=GetDetailValue("SrewdSretCode");
   b_SrewdSretCode=GetDetailOldValue("SrewdSretCode");
    if(m_SrewdSretCode.IsEmpty())
      throw Exception("退货单号不能为空");
    if(m_SrewdSretCode!=b_SrewdSretCode)
    {
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select * from sdSreth where SrethCode='"+m_SrewdSretCode+"'");
      Query->Open();
      if(Query->RecordCount<1)
      {
        Query->Close();
        throw Exception("该退货单"+m_SrewdSretCode+"找不到");
      }
      Query->Close();
    }                         /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdSretdLine()
{
   int m_SrewdSretdLine;
   int b_SrewdSretdLine;
   AnsiString m_SrewdSretCode=GetDetailValue("SrewdSretCode");
   m_SrewdSretdLine=GetDetailValue("SrewdSretdLine");
   b_SrewdSretdLine=GetDetailOldValue("SrewdSretdLine");
  if(m_SrewdSretdLine<0)
     throw Exception("退货单行号需大于零");
  if(m_SrewdSretCode.IsEmpty())
    throw Exception("退货单号不能为空");
  if(m_SrewdSretdLine!=b_SrewdSretdLine)
  {
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select SretdGoods,SretdUnit,SretdConv,SretdPrice,SretdLoc from sdSretd where SretdLine="+IntToStr(m_SrewdSretdLine)+" and SretdCode='"+GetDetailValue("SrewdSretCode")+"'");
      Query->Open();
      if(Query->RecordCount>0)
      {
//        m_SrewdGoods=Query->FieldValues["SretdGoods"];
//        m_SrewdUnit=Query->FieldValues["SretdUnit"];
//        m_SrewdConv=Query->FieldValues["SretdConv"];
//        m_SrewdPrice=Query->FieldValues["SretdPrice"];
//        m_SrewdLoc=Query->FieldValues["SretdLoc"];
     }
      else
        throw Exception("退货单"+GetDetailValue("SrewdSretCode")+"单行号"+IntToStr(m_SrewdSretdLine)+"不存在!");
   }
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdGoods()
{                            /*/
   AnsiString  m_SrewdGoods;
   AnsiString  b_SrewdGoods;
   m_SrewdGoods=GetDetailValue("SrewdGoods");
   b_SrewdGoods=GetDetailOldValue("SrewdGoods");
    if(m_SrewdGoods.IsEmpty())
       throw Exception("返修单的货物编码不能为空!!!");
    if(m_SrewdGoods!=b_SrewdGoods)
    {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select GoodsName,GoodsUnitCode from sdGoods where GoodsCode='"+m_SrewdGoods+"'");
        Query->Open();
        if(Query->RecordCount<1)
        {
           Query->Close();
           throw Exception("货物编码:'"+m_SrewdGoods+"' 不存在!!!");
        }                       
    }                           /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdUnit()
{                          /*/
   AnsiString  m_SrewdUnit;
   AnsiString  b_SrewdUnit;
   AnsiString  m_SrewdGoods=GetDetailValue("SrewdGoods");
   m_SrewdUnit=GetDetailValue("SrewdUnit");
   b_SrewdUnit=GetDetailOldValue("SrewdUnit");
    if(m_SrewdUnit.IsEmpty())
      throw Exception("计量单位不能为空!");
    if(m_SrewdGoods.IsEmpty())
      throw Exception("返修物料不能为空");
    if(m_SrewdUnit!=b_SrewdUnit)
    {
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select gmuunit,gmuconv from sdgmu where gmuunit='"+m_SrewdUnit+"' and gmugoods='"+GetDetailValue("SrewdGoods")+"'");
      Query->Open();
      if(Query->RecordCount<1)
      {
        Query->Close();
        throw Exception("物料:"+GetDetailValue("SrewdGoods")+" 未定义计量单位:"+m_SrewdUnit);
      }
//      SetDetailValue("SrewdConv",Query->FieldValues["gmuconv"]);
      Query->Close();
    }                         /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdConv()
{
  double m_SrewdConv;
   m_SrewdConv=GetDetailValue("SrewdConv");
   if(m_SrewdConv<0)
      throw Exception("换算系数非法!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdQty()
{
  double m_SrewdQty;
  double b_SrewdQty;
  AnsiString m_SrewdGoods=GetDetailValue("SrewdGoods");
  AnsiString m_SrewdSretCode=GetDetailValue("SrewdSretCode");
  int m_SrewdSretdLine=GetDetailValue("SrewdSretdLine");
   m_SrewdQty=GetDetailValue("SrewdQty");
   b_SrewdQty=GetDetailOldValue("SrewdQty");
    if(m_SrewdQty<=0)
      throw Exception("返修数量需大于零!");
    if(m_SrewdGoods.IsEmpty())
      throw Exception("返修物料不能为空!");
    if(m_SrewdSretCode.IsEmpty())
      throw Exception("退货单号不能为空!");
    if(m_SrewdSretdLine<1)
      throw Exception("退货单行号不存在");
    {
        Query->Close();
        Query->SQL->Clear();
        Query->SQL->Add("select SretdQty,SretdFQty from sdSretd where SretdCode='"+m_SrewdSretCode+"' and SretdLine="+IntToStr(m_SrewdSretdLine));
        Query->Open();
        if(Query->RecordCount>0)
        {                                                            //DONE: BUG 733 FIXED 9-8
          if(Query->FieldValues["SretdQty"]-Query->FieldValues["SretdFQty"]+b_SrewdQty<m_SrewdQty)
          {                                                                  //~~~~~~~~~~~
            Query->Close();
            throw Exception("返修数量不能大于退货数量!");
          }
        }
        else
        {
           Query->Close();
           throw Exception("该退货明细找不到");
        }
        Query->Close();
    }
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdPrice()
{
  double m_SrewdPrice;
   m_SrewdPrice=GetDetailValue("SrewdPrice");
   if(m_SrewdPrice<0)
     throw Exception("价格非法!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdAmt()
{
  double m_SrewdAmt;
   m_SrewdAmt=GetDetailValue("SrewdAmt");
    if(m_SrewdAmt<0)
      throw Exception("金额不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdDesc()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdState()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdBatch()
{
   AnsiString  m_SrewdBatch;
   AnsiString  b_SrewdBatch;
     AnsiString  m_SrewdGoods=GetDetailValue("SrewdGoods");
      m_SrewdBatch=GetDetailValue("SrewdBatch");
   b_SrewdBatch=GetDetailOldValue("SrewdBatch");
    if(m_SrewdBatch.Length()>18)
      throw Exception("批号长度不能大于18");
    if(m_SrewdGoods.IsEmpty())
      throw Exception("返修物料不能为空");
    if(m_SrewdBatch.IsEmpty()==false && m_SrewdBatch!=b_SrewdBatch)
    {
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select GoodsBatch from sdgoods where goodscode='"+m_SrewdGoods+"'");
      Query->Open();
      if(Query->RecordCount<1)
      {
        Query->Close();
        throw Exception("返修物料不存在");
      }
      else
      {
        if(Query->FieldValues["GoodsBatch"]!=1)
        {
          Query->Close();
          throw Exception("当前物料不能进行批号管理");
        }
      }
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select batchcode from sdbatch where batchcode='"+m_SrewdBatch+"'");
      Query->Open();
      if(Query->RecordCount<=0)
      {
        Query->Close();
        throw Exception("批号:"+m_SrewdBatch+"未定义");
      }
      Query->Close();
    }
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdExes()
{
  double m_SrewdExes;
   m_SrewdExes=GetDetailValue("SrewdExes");
    if(m_SrewdExes<0)
      throw Exception("返修费用不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdLoc()
{
   AnsiString  m_SrewdLoc;
   AnsiString  b_SrewdLoc;
   AnsiString  m_SrewdGoods=GetDetailValue("SrewdGoods");
   m_SrewdLoc=GetDetailValue("SrewdLoc");
   b_SrewdLoc=GetDetailOldValue("SrewdLoc");
    if(m_SrewdLoc.IsEmpty())
      throw Exception("返修货位不能为空!");
    if(m_SrewdGoods.IsEmpty())
      throw Exception("返修物料不能为空");
    if(m_SrewdLoc!=b_SrewdLoc)
    {
      Query->Close();
      Query->SQL->Clear();
      Query->SQL->Add("select loccode from sdLoc,sdLg where loccode=lgloccode and loccode='"+m_SrewdLoc+"' and lggoodscode='"+GetDetailValue("SrewdGoods")+"'");
      Query->Open();
      if(Query->RecordCount<1)
      {
        Query->Close();
        throw Exception("货位:"+m_SrewdLoc+"不能存储物料:"+GetDetailValue("SrewdGoods"));
      }
      Query->Close();
    }
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::CmdExec(AnsiString Param)
{

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

⌨️ 快捷键说明

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