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

📄 pmu.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Pmu.h"
#include "wnquery.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmPmu *frmPmu;
//---------------------------------------------------------------------------
__fastcall TfrmPmu::TfrmPmu(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
  AnsiString SqlStr,ItemStr;
  int iPos;
  iPos=WhereStr.Pos("\t");
  FChecked=StrToInt(WhereStr.SubString(1,iPos-1));
  WhereStr=WhereStr.SubString(iPos+1,WhereStr.Length());

  iPos=WhereStr.Pos("\t");
  FPmuWepCode=WhereStr.SubString(1,iPos-1);
  WhereStr=WhereStr.SubString(iPos+1,WhereStr.Length());

  iPos=WhereStr.Pos("\t");
  FPmuWepdLine=StrToInt(WhereStr.SubString(1,iPos-1));
  FPmuWoCode=WhereStr.SubString(iPos+1,WhereStr.Length());
  //-----------------------
  TComResultSet *RsPmu;
  SqlStr="select WsgmGoods,GoodsName,WsgmLoc,WsgmGQty,WsgmUQty,WsgmRQty,WsgmLQty,PmuUQty=Coalesce(PmuUQty,0),PmuDQty=Coalesce(PmuDQty,0),PmuUdr=coalesce(PmuUdr,'') from sdWsgm,sdGoods,sdPmu where WsgmGoods=GoodsCode ";
  SqlStr+=" and WsgmWo='"+FPmuWoCode+"' and WsgmWo*=PmuWoCode and WsgmGoods*=PmuGoods and PmuWepCode='"+FPmuWepCode+"'";
  SqlStr+=" and PmuWepdLine="+IntToStr(FPmuWepdLine)+" order by WsgmGoods";
  sePmuWepCode->Text=FPmuWepCode;
  sePmuWepdLine->Text=FPmuWepdLine;
  sePmuWoCode->Text=FPmuWoCode;
  GroupBox1->Enabled=false;
  RsPmu=new  TComResultSet(Handle,g_ClientHandle);
  RsPmu->Open(SqlStr,"");
  RsPmu->MoveFirst();
  sgPmu->RowCount=1;
  while(RsPmu->Eof==0)
  {
    ItemStr =  RsPmu->FieldByName("WsgmGoods")+
               "\t" +RsPmu->FieldByName("Goodsname")+
               "\t" +RsPmu->FieldByName("WsgmLoc")+
               "\t" +RsPmu->FieldByName("WsgmGQty")+
               "\t" +RsPmu->FieldByName("WsgmUQty")+
               "\t" +RsPmu->FieldByName("WsgmRQty")+
               "\t" +RsPmu->FieldByName("WsgmLQty")+
               "\t" +RsPmu->FieldByName("PmuUQty")+
               "\t" +RsPmu->FieldByName("PmuDQty")+
               "\t" +RsPmu->FieldByName("PmuUdr");
    sgPmu->AddItem(ItemStr);
    RsPmu->MoveNext();
  }
  RsPmu->Close();
  delete RsPmu;
  if(FChecked==1)
  {
    bbOK->Enabled=false;
    stPmuCheck->Visible=true;
    sgPmu->ReadOnly=true;
  }
  else
  {
    bbOK->Enabled=true  /*true*/;
    stPmuCheck->Visible=false;
    sgPmu->ReadOnly=false /*false*/;
  }
  if(sgPmu->RowCount<2)
    bbOK->Enabled=false;
}
//---------------------------------------------------------------------------

void __fastcall TfrmPmu::sgPmuDblClick(TObject *Sender)
{
  AnsiString SqlStr;
  TfrmWnQuery *p;
  if(sgPmu->Col==9 && sgPmu->Row>0)
  {
    if(FChecked!=1)
    {
      SqlStr="002[原因代码][损坏原因]SELECT UdrCode,UdrDesc from sdUdr order by UdrCode";
      try
      {
        StartWaitForm("正在查询,请稍候...");
        p=new TfrmWnQuery(this,"损坏原因查询",SqlStr);
      }
      __finally
      {
        EndWaitForm();
      }
      if(p->ShowModal()==mrOk)
      {
        sgPmu->Cells[9][sgPmu->Row]=p->ColData[1];
      }
      delete p;
    }
  }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPmu::bbOKClick(TObject *Sender)
{
  int ErrNum;
  try
  {
    StartWaitForm("正在保存工序材料消耗数据,请稍候...");
    if(sgPmu->RowCount>1)
    {
      try
      {
        comServer=new TComServer(Handle,g_ClientHandle,"1061109");
        for(int i=1;i<sgPmu->RowCount;i++)
        {
          comServer->AddNew();
          SetFieldValue("PmuWepCode",FPmuWepCode);
          SetFieldValue("PmuWepdLine",FPmuWepdLine);
          SetFieldValue("PmuWoCode",FPmuWoCode);
          SetFieldValue("PmuGoods",sgPmu->Cells[0][i]);
          SetFieldValue("PmuLoc",sgPmu->Cells[2][i]);
          if(sgPmu->Cells[7][i]!="")
            SetFieldValue("PmuUQty",sgPmu->Cells[7][i]);
          else
            SetFieldValue("PmuUQty","0");
          if(sgPmu->Cells[8][i]!="")
            SetFieldValue("PmuDQty",sgPmu->Cells[8][i]);
          else
            SetFieldValue("PmuDQty","0");
          SetFieldValue("PmuUdr",sgPmu->Cells[9][i]);
          SetFieldValue("PmuDate",g_sdCurDate);
          SetFieldValue("PmuUser",g_sdUserCode);
          comServer->Post();
        }
      }
      catch(Exception &e)
      {
        this->ModalResult=0;
        throw Exception(e.Message);
      }
    }
  }
  __finally
  {
    EndWaitForm();
  }
  Close();
}
//---------------------------------------------------------------------------

void __fastcall TfrmPmu::bbCancelClick(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------



⌨️ 快捷键说明

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