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

📄 vw_wod.cpp

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

TfrmVW_Wod *frmVW_Wod;
//---------------------------------------------------------------------------
__fastcall TfrmVW_Wod::TfrmVW_Wod(TComponent* Owner)
    : TStdBaseForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TfrmVW_Wod::FormShow(TObject *Sender)
{
    InitEditControl();
    ClearControl();
    GetDetailQueryStr();
    FillControlWithData();
}
//---------------------------------------------------------------------------

void __fastcall TfrmVW_Wod::InitEditControl()
{
    PanelWo->Enabled=false;
    scWoStatus->ClearAll();
    scWoStatus->AddItems("1-预备",1);
    scWoStatus->AddItems("2-确认",2);
    scWoStatus->AddItems("3-待下达",3);
    scWoStatus->AddItems("4-已下达",4);
    scWoStatus->AddItems("5-已完工",5);

    scWoType->ClearAll();
    scWoType->AddItems("1-常规",1);
    scWoType->AddItems("2-返工",2);
    scWoType->AddItems("3-改装",3);
    scWoType->AddItems("4-委外",4);
    scWoType->AddItems("5-副产品",5);

    scWoConsume->ClearAll();
    scWoConsume->AddItems("1-据物料单",1);
    scWoConsume->AddItems("2-据配套表",2);

    scWoTrace->ClearAll();
    scWoTrace->AddItems("1-按工艺路线表",1);
    scWoTrace->AddItems("2-按工单路线表",2);

    scWoFrom->ClearAll();
    scWoFrom->AddItems("1-手工录入",1);
    scWoFrom->AddItems("2-计划生成",2);

    FillComboBox(scWoRoute,"select RoutehCode,RoutehName=RoutehCode+space(1)+'('+RoutehName+')' from sdRouteh where RoutehCancel=0 order by RoutehCode","RoutehName","RoutehCode");
    FillComboBox(scWoUnit,"select UnitCode,UnitName from sdUnit order by UnitCode","UnitName","UnitCode");
    FillComboBox(scWoProducter,"select ProducterCode,memo=ProducterCode+space(1)+'('+UserName+')' from sdProducter,sdUser where ProducterCode=UserCode Order by ProducterCode",
                 "memo","ProducterCode");
    FillComboBox(scWoBatch,"select BatchCode,BatchCode+space(1)+'('+BatchDesc+')' memo from sdBatch order by BatchCode","memo","BatchCode");
}
//---------------------------------------------------------------------------

void __fastcall TfrmVW_Wod::ClearControl()
{
    seWoCode->Text        =   "";
    scWoStatus->ItemIndex =   -1;
    scWoType->ItemIndex   =   -1;
    scWoConsume->ItemIndex=   -1;
    scWoTrace->ItemIndex  =   -1;
    seWoGoods->Text  ="";
    seWoGoodsName->Text   =   "";
    scWoUnit->ItemIndex   =   -1;
    seWoSoCode->ItemIndex =   -1;
    scWoSodLine-> Text    =   "";
    scWoRoute->ItemIndex  =   -1;
    scWoFrom->ItemIndex   =   -1;
    scWoProducter->ItemIndex= -1;
    scWoBatch->ItemIndex  =   -1;

    cheWoCheck->Checked   =   false;
    seWoChecker->Text     =   "";
    labCheckDate->Caption =   "";

    cheWoClose->Checked   =   false;
    labCloseDate->Caption =   "";

    seWoQty->Text         =   "0.00";
    seWoCqty->Text        =   "0.00";
    seWoEqty->Text        =   "0.00";
    seWoWqty->Text        =   "0.00";
    seWoRqty->Text        =   "0.00";
    seWoSqty->Text        =   "0.00";

    deWoDate->Text        =   "" ;
    deWoRdate->Text       =   "" ;
    deWoSdate->Text       =   "";
    deWoMdate->Text       =   "" ;
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmVW_Wod::GetDetailQueryStr()
{
    AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
    Selectstr="select "
          +AnsiString("WoCode, ")      //工单单号
          +AnsiString("WoStatus, ")    //工单状态
          +AnsiString("WoType, ")      //工单类型
          +AnsiString("WoFrom, ")      //工单来源
          +AnsiString("WoConsume, ")   //物耗方式
          +AnsiString("WoTrace, ")     //跟踪方式
          +AnsiString("WoRoute, ")     //工单来源
          +AnsiString("WoGoods, ")     //加工件码
          +AnsiString("WoGoodsName, ") //货物名称
          +AnsiString("WoUnit, ")      //计量单位
          +AnsiString("WoQty, ")       //要求数量
          +AnsiString("WoCQty, ")      //完工数量
          +AnsiString("WoEQty, ")      //合格数量
          +AnsiString("WoWQty, ")      //废品数量
          +AnsiString("WoRQty, ")      //返工数量
          +AnsiString("WoSQty, ")      //次品数量
          +AnsiString("WoSoCode, ")    //订单单号
          +AnsiString("WoSodLine, ")   //订单行号
          +AnsiString("WoBatch, ")     //批号
          +AnsiString("WoDate, ")      //录入日期
          +AnsiString("WoRDate, ")     //要求日期
          +AnsiString("WoSDate, ")     //开始日期
          +AnsiString("WoMDate, ")     //MRP日期
          +AnsiString("WoProducter, ") //生管员
          +AnsiString("WoCancel, ")    //作废标志
          +AnsiString("WoCancelDate, ")//作废日期
          +AnsiString("WoCheck, ")     //审核标志
          +AnsiString("WoChecker, ")   //审核人
          +AnsiString("WoCheckDate, ") //审核日期
          +AnsiString("WoClose, ")     //结清标志
          +AnsiString("WoCloseDate "); //结清日期

    Fromstr=" from SDVW_Wod ";
    Wherestr=" where WoCode='"+FWoCode+"'";
    Orderstr=" ";
    return(Selectstr+Fromstr+Wherestr+Orderstr);}
//---------------------------------------------------------------------------

void __fastcall TfrmVW_Wod::FillControlWithData()
{
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql;
    //获取查询语句
    sSql=GetDetailQueryStr();
    if(sSql=="")
       return;
    RsQuery=NewResultSet();
    RsQuery->Open(WideString(sSql),WideString(""));
    RsQuery->MoveFirst();
    while(RsQuery->Eof == 0)
    {
        seWoCode->Text = RsQuery->FieldByName("WoCode");
        scWoStatus->LocateKey(RsQuery->FieldByName("WoStatus"));
        scWoType->LocateKey(RsQuery->FieldByName("WoType"));
        scWoConsume->LocateKey(RsQuery->FieldByName("WoConsume"));
        scWoTrace->LocateKey(RsQuery->FieldByName("WoTrace"));
        seWoGoods->Text= RsQuery->FieldByName("WoGoods");
        seWoGoodsName->Text = RsQuery->FieldByName("WoGoodsName");
        scWoUnit->LocateKey(RsQuery->FieldByName("WoUnit"));
        seWoSoCode->Text = RsQuery->FieldByName("WoSoCode");
        scWoSodLine->Text=RsQuery->FieldByName("WoSodLine");
        scWoRoute->LocateKey(RsQuery->FieldByName("WoRoute"));
        scWoFrom->LocateKey(RsQuery->FieldByName("WoFrom"));
        scWoProducter->LocateKey(RsQuery->FieldByName("WoProducter"));
        scWoBatch->LocateKey(RsQuery->FieldByName("WoBatch"));

        cheWoCheck->Checked = RsQuery->FieldByName("WoCheck")=="1";
        seWoChecker->Text = RsQuery->FieldByName("WoChecker");
        labCheckDate->Caption  = RsQuery->FieldByName("WoCheckDate");

        cheWoClose->Checked    =  RsQuery->FieldByName("WoClose")=="1";
        labCloseDate->Caption  =  RsQuery->FieldByName("WoCloseDate");

        seWoQty->Text    =  RsQuery->FieldByName("WoQty");
        seWoCqty->Text   =  RsQuery->FieldByName("WoCqty");
        seWoEqty->Text   =  RsQuery->FieldByName("WoEqty");
        seWoWqty->Text   =  RsQuery->FieldByName("WoWqty");
        seWoRqty->Text   =  RsQuery->FieldByName("WoRqty");
        seWoSqty->Text   =  RsQuery->FieldByName("WoSqty");

        deWoDate->Text        =  RsQuery->FieldByName("WoDate");
        deWoRdate->Text       =  RsQuery->FieldByName("WoRdate");
        deWoSdate->Text       =  RsQuery->FieldByName("WoSdate");
        deWoMdate->Text       =  RsQuery->FieldByName("WoMdate");
        RsQuery->MoveNext();
    }
    RsQuery->Close();
    delete RsQuery;
}
//---------------------------------------------------------------------------

void __fastcall TfrmVW_Wod::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    this->Close();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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