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

📄 wmu.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Wmu.h"
#include "gvar.h"
#include "wnquery.h"
#include "commfunction.h"
#include "sdenumtype.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmWmu *frmWmu;
//---------------------------------------------------------------------------
__fastcall TfrmWmu::TfrmWmu(TComponent* Owner)
    : TStdBaseForm(Owner)
{
  
}
//---------------------------------------------------------------------------
__fastcall TfrmWmu::TfrmWmu(TComponent* Owner,int Checked,AnsiString PdrCode,int PdrdLine,AnsiString WmuWo,AnsiString WmuProcess)
    : TStdBaseForm(Owner)
{
  AnsiString SqlStr,ItemStr;
  FChecked=Checked;
  FWmuPdrCode=PdrCode;
  FWmuPdrdLine=PdrdLine;
  FWmuWoCode=WmuWo;
  FWmuProcess=WmuProcess;
  TComResultSet *RsWmu;
  SqlStr="select WmdGoods,GoodsName,WmdLoc,WmdQty,WmdUQty,WmdBQty,WmdLQty,WmuUQty=Coalesce(WmuUQty,0),WmuDQty=Coalesce(WmuDQty,0),WmuUdr=coalesce(WmuUdr,'') from sdWmd,sdGoods,sdWmu where WmdGoods=GoodsCode ";
  SqlStr+=" and WmdWoCode='"+WmuWo+"' and WmdProcess='"+WmuProcess+"'  and WmdWoCode*=WmuWo and WmdProcess*=WmuProcess and WmdGoods*=WmuGoods and WmuPdrCode='"+FWmuPdrCode+"'";
  SqlStr+=" and WmuPdrdLine="+IntToStr(FWmuPdrdLine)+" order by WmdGoods";
  seWmuPdrCode->Text=PdrCode;
  seWmuPdrdLine->Text=PdrdLine;
  seWmuWoCode->Text=WmuWo;
  seWmuProcess->Text=WmuProcess;
  GroupBox1->Enabled=false;
  RsWmu=NewResultSet();
  RsWmu->Open(SqlStr,"");
  RsWmu->MoveFirst();
  sgWmu->RowCount=1;
  while(RsWmu->Eof==0)
  {
    ItemStr =  RsWmu->FieldByName("WmdGoods")+
               "\t" +RsWmu->FieldByName("Goodsname")+
               "\t" +RsWmu->FieldByName("WmdLoc")+
               "\t" +RsWmu->FieldByName("WmdQty")+
               "\t" +RsWmu->FieldByName("WmdUQty")+
               "\t" +RsWmu->FieldByName("WmdBQty")+
               "\t" +RsWmu->FieldByName("WmdLQty")+
               "\t" +RsWmu->FieldByName("WmuUQty")+
               "\t" +RsWmu->FieldByName("WmuDQty")+
               "\t" +RsWmu->FieldByName("WmuUdr");
    sgWmu->AddItem(ItemStr);
    RsWmu->MoveNext();
  }
  RsWmu->Close();
  delete RsWmu;
  if(FChecked==1)
  {
    bbOK->Enabled=false;
    stWmuCheck->Visible=true;
    sgWmu->ReadOnly=true;
  }
  else
  {
    bbOK->Enabled=true;
    stWmuCheck->Visible=false;
    sgWmu->ReadOnly=false;
  }
  if(sgWmu->RowCount<2)
    bbOK->Enabled=false;
}
//---------------------------------------------------------------------------

void __fastcall TfrmWmu::sgWmuDblClick(TObject *Sender)
{
  AnsiString SqlStr;
  TfrmWnQuery *p;
  if(sgWmu->Col==9 && sgWmu->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)
      {
        sgWmu->Cells[9][sgWmu->Row]=p->ColData[1];
      }
      delete p;
    }
  }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWmu::bbOKClick(TObject *Sender)
{
  TComServer *comServer;
  int ErrNum;
  try
  {
    StartWaitForm("正在保存工序材料消耗数据,请稍候...");
    if(sgWmu->RowCount>1)
    {
      try
      {
        comServer=NewDcomAppSvr(euSdWmu);
        comServer->AddNew();
        for(int i=1;i<sgWmu->RowCount;i++)
        {
          WriteFieldValue(comServer,fiWmuPdrCode,FWmuPdrCode);
          WriteFieldValue(comServer,fiWmuPdrdLine,FWmuPdrdLine);
          WriteFieldValue(comServer,fiWmuWo,FWmuWoCode);
          WriteFieldValue(comServer,fiWmuProcess,FWmuProcess);
          WriteFieldValue(comServer,fiWmuGoods,sgWmu->Cells[0][i]);
          WriteFieldValue(comServer,fiWmuLoc,sgWmu->Cells[2][i]);
          if(sgWmu->Cells[7][i]!="")
            WriteFieldValue(comServer,fiWmuUQty,sgWmu->Cells[7][i]);
          else
            WriteFieldValue(comServer,fiWmuUQty,"0");
          if(sgWmu->Cells[8][i]!="")
            WriteFieldValue(comServer,fiWmuDQty,sgWmu->Cells[8][i]);
          else
            WriteFieldValue(comServer,fiWmuDQty,"0");
          WriteFieldValue(comServer,fiWmuUdr,sgWmu->Cells[9][i]);
          WriteFieldValue(comServer,fiWmuDate,g_sdCurDate);
          WriteFieldValue(comServer,fiWmuUser,g_sdUserCode);
          comServer->AddToObject();
        }
        comServer->Post();
      }
      catch(Exception &e)
      {
        this->ModalResult=0;
        delete comServer;
        throw Exception(e.Message);
      }
    }
  }
  __finally
  {
    EndWaitForm();
  }
  Close();
}
//---------------------------------------------------------------------------

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


    

⌨️ 快捷键说明

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