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

📄 wrgcopy.cpp

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

TfrmWrgCopy *frmWrgCopy;
//---------------------------------------------------------------------------
__fastcall TfrmWrgCopy::TfrmWrgCopy(TComponent* Owner)
    : TStdBaseForm(Owner)
{
    sgWrg->RowCount=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::FillGridWithData(AnsiString pRouteFrom)
{
    AnsiString tempSQL,ItemStr;
    Rst=new  TComResultSet(Handle,g_ClientHandle);
    if(rbtRouted->Checked) //按工艺路线生成
    {
      tempSQL=AnsiString("Select RoutedSn,RoutedProcess,RoutedName,RoutedWc,RoutedLoc,")+
              AnsiString("RoutedType,RoutedState,RoutehEdate,RoutehIdate,RoutedChkFlg,")+
              AnsiString("RoutedWxFlg,RoutedWxAmt,RoutedQlt,RoutedSlt,RoutedRlt,RoutedWlt,")+
              AnsiString("RoutedMlt from sdRouted,sdRouteh ")+
              AnsiString("Where RoutehCode=RoutedCode and RoutedCode='"+pRouteFrom+"' Order By RoutedSn");
      Rst->Open(tempSQL,"RoutedSn");
      Rst->MoveFirst();
      while( Rst->Eof == 0 )
      {
          ItemStr=AnsiString("√")+
                  "\t"+ Rst->FieldByName("RoutedSn")+
                  "\t"+ Rst->FieldByName("RoutedProcess")+
                  "\t"+ Rst->FieldByName("RoutedName");
          sgWrg->AddItem(ItemStr);
          Rst->MoveNext();
      }
    }
    else
    {
      tempSQL=AnsiString("Select WrgNo,WrgProcess,WrgName,WrgWc,WrgLoc,")+
              AnsiString("WrgType,WrgState,WrgEdate,WrgIdate,WrgChkFlg,")+
              AnsiString("WrgWxFlg,WrgWxAmt,WrgQlt,WrgSlt,WrgRlt,WrgWlt,")+
              AnsiString("WrgMlt from sdWrg ")+
              AnsiString("Where WrgWo='"+pRouteFrom+"' Order By WrgNo");
      Rst->Open(tempSQL,"WrgNo");
      Rst->MoveFirst();
      while(Rst->Eof == 0 )
      {
          ItemStr=AnsiString("√")+
                  "\t"+ Rst->FieldByName("WrgNo")+
                  "\t"+ Rst->FieldByName("WrgProcess")+
                  "\t"+ Rst->FieldByName("WrgName");
          sgWrg->AddItem(ItemStr);
          Rst->MoveNext();
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::sgWrgSelectCell(TObject *Sender, int ACol,
      int ARow, bool &CanSelect)
{
    if(ARow==0)
       return;
    if(ARow>0 && ACol==0)
    {
       if(sgWrg->Cells[0][ARow]=="")
          sgWrg->Cells[0][ARow]="√";
       else
          sgWrg->Cells[0][ARow]="";
    }
    AnsiString m_Key;
    m_Key=sgWrg->Cells[1][ARow];
    Rst->LocateByKey(m_Key);
    SetValueToControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::SetValueToControl()
{
    if(rbtRouted->Checked)
    {
        scWrgWc->LocateKey(Rst->FieldByName("RoutedWc"));
        scWrgWc->Text = scWrgWc->ItemData[cbItem1];

        scWrgLoc->LocateKey(Rst->FieldByName("RoutedLoc"));
        scWrgLoc->Text=scWrgLoc->ItemData[cbItem1];

        deWrgEdate->Text=Rst->FieldByName("RoutehEdate");
        deWrgIdate->Text=Rst->FieldByName("RoutehIdate");

        scWrgState->ItemIndex=StrToInt(Rst->FieldByName("RoutedState"))-1;
        scWrgType->ItemIndex=StrToInt(Rst->FieldByName("RoutedType"))-1;

        cheChkFlg->Checked=Rst->FieldByName("RoutedChkFlg")=="1";
        cheWxFlg->Checked=Rst->FieldByName("RoutedWxFlg")=="1";
        seWrgWxAmt->Text=Rst->FieldByName("RoutedWxAmt");

        seWrgQlt->Text=Rst->FieldByName("RoutedQlt");
        seWrgSlt->Text=Rst->FieldByName("RoutedSlt");
        seWrgRlt->Text=Rst->FieldByName("RoutedRlt");
        seWrgWlt->Text=Rst->FieldByName("RoutedWlt");
        seWrgMlt->Text=Rst->FieldByName("RoutedMlt");
        seWrgPQty->Text=0;
    }
    else
    {
        scWrgWc->LocateKey(Rst->FieldByName("WrgWc"));
        scWrgWc->Text = scWrgWc->ItemData[cbItem1];

        scWrgLoc->LocateKey(Rst->FieldByName("WrgLoc"));
        scWrgLoc->Text=scWrgLoc->ItemData[cbItem1];

        deWrgEdate->Text=Rst->FieldByName("WrgEdate");
        deWrgIdate->Text=Rst->FieldByName("WrgIdate");

        scWrgState->ItemIndex=StrToInt(Rst->FieldByName("WrgState"))-1;
        scWrgType->ItemIndex=StrToInt(Rst->FieldByName("WrgType"))-1;

        cheChkFlg->Checked=Rst->FieldByName("WrgChkFlg")=="1";
        cheWxFlg->Checked=Rst->FieldByName("WrgWxFlg")=="1";
        seWrgWxAmt->Text=Rst->FieldByName("WrgWxAmt");

        seWrgQlt->Text=Rst->FieldByName("WrgQlt");
        seWrgSlt->Text=Rst->FieldByName("WrgSlt");
        seWrgRlt->Text=Rst->FieldByName("WrgRlt");
        seWrgWlt->Text=Rst->FieldByName("WrgWlt");
        seWrgMlt->Text=Rst->FieldByName("WrgMlt");
        seWrgPQty->Text=0;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::btnCancelClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::SetcomServer(TComServer *value)
{
    comServer=value;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::FormShow(TObject *Sender)
{
    seWrgWo->Text=WrgWoCode;
    seWrgWo->Enabled=false;
    Panel1->Enabled=false;
    rbtRouted->Checked=true;
    scWrgWoF->Visible =false;
    FillComboBox(Handle,scWrgRoute,"Select RoutehCode from sdRouteh where RoutehCancel=0 order by RoutehCode","RoutehCode");
    FillComboBox(Handle,scWrgWoF,"Select WoCode,memo=WoCode+space(1)+'('+WoGoods+')' from sdWo where WoCheck=1 and WoCancel=0 order by WoCode","memo","WoCode");
    FillComboBox(Handle,scWrgWc,"Select WcCode,WcName FROM sdWc order by WcCode","WcName","WcCode");
    FillComboBox(Handle,scWrgLoc,"Select LocCode,LocName from sdLoc where LocType=2 order by LocCode","LocName","LocCode");
    InitEditControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::InitEditControl()
{
    scWrgRoute->ItemIndex=-1;
    scWrgRoute->Text = "";
    scWrgWoF->ItemIndex=-1;
    scWrgWoF->Text="";
    scWrgWc->ItemIndex=-1;
    scWrgWc->Text = "";
    scWrgLoc->ItemIndex=-1;
    scWrgLoc->Text = "";
    deWrgEdate->Text="";
    deWrgIdate->Text="";
    scWrgType->ItemIndex=-1;
    scWrgType->Text="";
    scWrgState->ItemIndex=-1;
    scWrgState->Text="";
    seWrgQlt->Text ="";
    seWrgSlt->Text ="";
    seWrgRlt->Text ="";
    seWrgWlt->Text ="";
    seWrgMlt->Text ="";
    seWrgPQty->Text ="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::btnOKClick(TObject *Sender)
{
    AnsiString m_Keystr;
    if(sgWrg->RowCount>0){
      for(int i=1;i<sgWrg->RowCount;i++){
        int j;
        if(rbtRouted->Checked){
          if(sgWrg->Cells[0][i]=="√"){
            j=comServer->RecordCount-1;
            if(j>=0)
            {
               comServer->LocateByIndex(j);
               j=GetFieldValue("WrgNo").ToInt();
               j=j+1;
            }
            else
               j=1;
            m_Keystr=sgWrg->Cells[1][i];
            Rst->LocateByKey(m_Keystr);
            comServer->AddNew();
            SetFieldValue("WrgWo",WrgWoCode);
            SetFieldValue("WrgNo",AnsiString(j));
            SetFieldValue("WrgProcess",Rst->FieldByName("RoutedProcess"));
            SetFieldValue("WrgName",Rst->FieldByName("RoutedName"));
            SetFieldValue("WrgWc",Rst->FieldByName("RoutedWc"));
            SetFieldValue("WrgLoc",Rst->FieldByName("RoutedLoc"));
            SetFieldValue("WrgFrom","2");  //1-工艺路线表 2-工单路线表
            SetFieldValue("WrgType",Rst->FieldByName("RoutedType"));
            SetFieldValue("WrgState",Rst->FieldByName("RoutedState"));
            SetFieldValue("WrgEdate",Rst->FieldByName("RoutehEdate"));
            SetFieldValue("WrgIdate",Rst->FieldByName("RoutehIdate"));
            SetFieldValue("WrgChkFlg",Rst->FieldByName("RoutedChkFlg"));
            SetFieldValue("WrgWxFlg",Rst->FieldByName("RoutedWxFlg"));
            SetFieldValue("WrgWxAmt",Rst->FieldByName("RoutedWxAmt"));
            SetFieldValue("WrgQlt",Rst->FieldByName("RoutedQlt"));
            SetFieldValue("WrgSlt",Rst->FieldByName("RoutedSlt"));
            SetFieldValue("WrgRlt",Rst->FieldByName("RoutedRlt"));
            SetFieldValue("WrgWlt",Rst->FieldByName("RoutedWlt"));
            SetFieldValue("WrgMlt",Rst->FieldByName("RoutedMlt"));
            SetFieldValue("WrgPQty",0);

            SetFieldValue("WrgUser",g_sdUserCode);
            try
            {
               comServer->Post();
            }
            catch(Exception &e)
            {
               comServer->Cancel();
               this->ModalResult=0;
               throw Exception(e.Message);
            }
            j=j+1;
          }
        }
        else{
          if(sgWrg->Cells[0][i]=="√")
          {
            j=comServer->RecordCount-1;
            if(j>=0)
            {
               comServer->LocateByIndex(j);
               j=StrToInt(GetFieldValue("WrgNo"));
               j=j+1;
            }
            else
               j=1;
            m_Keystr=sgWrg->Cells[1][i];
            Rst->LocateByKey(WideString(m_Keystr));
            comServer->AddNew();
            SetFieldValue("WrgWo",WrgWoCode);
            SetFieldValue("WrgNo",AnsiString(j));
            SetFieldValue("WrgProcess",Rst->FieldByName("WrgProcess"));
            SetFieldValue("WrgName",Rst->FieldByName("WrgName"));

            SetFieldValue("WrgWc",Rst->FieldByName("WrgWc"));
            SetFieldValue("WrgLoc",Rst->FieldByName("WrgLoc"));
            SetFieldValue("WrgFrom","2");  //1-工艺路线表 2-工单路线表
            SetFieldValue("WrgType",Rst->FieldByName("WrgType"));
            SetFieldValue("WrgState",Rst->FieldByName("WrgState"));
            SetFieldValue("WrgEdate",Rst->FieldByName("WrgEdate"));
            SetFieldValue("WrgIdate",Rst->FieldByName("WrgIdate"));
            SetFieldValue("WrgChkFlg",Rst->FieldByName("WrgChkFlg"));
            SetFieldValue("WrgWxFlg",Rst->FieldByName("WrgWxFlg"));
            SetFieldValue("WrgWxAmt",Rst->FieldByName("WrgWxAmt"));
            SetFieldValue("WrgQlt",Rst->FieldByName("WrgQlt"));
            SetFieldValue("WrgSlt",Rst->FieldByName("WrgSlt"));
            SetFieldValue("WrgRlt",Rst->FieldByName("WrgRlt"));
            SetFieldValue("WrgWlt",Rst->FieldByName("WrgWlt"));
            SetFieldValue("WrgMlt",Rst->FieldByName("WrgMlt"));
            SetFieldValue("WrgPQty",0);
            SetFieldValue("WrgUser",g_sdUserCode);
            try
            {
               comServer->Post();
            }
            catch(Exception &e)
            {
               comServer->Cancel();
               this->ModalResult=0;
               throw Exception(e.Message);
            }
            j=j+1;
          }
        }
      }
    }
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    delete Rst;
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::scWrgRouteClick(TObject *Sender)
{
    AnsiString s_RouteF;
    s_RouteF=Trim(scWrgRoute->Text);
    if(s_RouteF.IsEmpty())
    {
       ::MessageBox(Handle,"复制时的来源工艺路线码不能为空!","错误",MB_OK|MB_ICONSTOP);
       return;
    }
    else
    {
       sgWrg->RowCount=1;
       FillGridWithData(s_RouteF);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::scWrgWoFClick(TObject *Sender)
{
    AnsiString s_WrgWoF;
    if(scWrgWoF->ItemIndex==-1)
    {
       ::MessageBox(Handle,"复制时的来源工单编号不能为空!","错误",MB_OK|MB_ICONSTOP);
       return;
    }
    else
    {
       sgWrg->RowCount=1;
       s_WrgWoF=Trim(scWrgWoF->ItemData[1]);
       FillGridWithData(s_WrgWoF);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::rbtWrgClick(TObject *Sender)
{
    if(rbtWrg->Checked)
    {
        scWrgRoute->Visible=false;
        scWrgWoF->Visible=true;
    }
    else
    {
        scWrgRoute->Visible=true;
        scWrgWoF->Visible=false;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrgCopy::rbtRoutedClick(TObject *Sender)
{
    if(rbtRouted->Checked)
    {
        scWrgRoute->Visible=true;
        scWrgWoF->Visible=false;
    }
    else
    {
        scWrgRoute->Visible=false;
        scWrgWoF->Visible=true;
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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