📄 mwmu.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "mWmu.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
TKSWmu *sdWmu;
//---------------------------------------------------------------------------
__fastcall TKSWmu::TKSWmu()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidHeadValues()
{
//工序日报单号
ValidWmuPdrCode();
//日报单行号
ValidWmuPdrdLine();
//加工单号
ValidWmuWo();
//工序号
ValidWmuProcess();
//物料编码
ValidWmuGoods();
//货位
ValidWmuLoc();
//消耗数量
ValidWmuUQty();
//损坏数量
ValidWmuDQty();
//报废数量
ValidWmuLQty();
//损坏原因
ValidWmuUdr();
//日期
ValidWmuDate();
//备注
ValidWmuDesc();
//操作员
ValidWmuUser();
//系统日期
ValidWmuSysDate();
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuPdrCode() //工序日报单号
{
AnsiString m_WmuPdrCode;
AnsiString b_WmuPdrCode;
m_WmuPdrCode=GetMasterValue("WmuPdrCode");
b_WmuPdrCode=GetMasterOldValue("WmuPdrCode");
if(m_WmuPdrCode!=b_WmuPdrCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select * from sdPdrh where PdrhCode='"+m_WmuPdrCode+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("日报单不存在!");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuPdrdLine() //日报单行号
{
int m_WmuPdrdLine;
int b_WmuPdrdLine;
AnsiString m_WmuPdrCode;
m_WmuPdrCode=GetMasterValue("WmuPdrCode");
m_WmuPdrdLine=GetMasterValue("WmuPdrdLine");
b_WmuPdrdLine=GetMasterOldValue("WmuPdrdLine");
if(m_WmuPdrdLine<1)
throw Exception("日报行号不能小于1");
if(m_WmuPdrdLine!=b_WmuPdrdLine)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select * from sdPdrd where PdrdCode='"+m_WmuPdrCode+"' and PdrdLine="+AnsiString(m_WmuPdrdLine));
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("日报行号不存在!");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuWo() //加工单号
{
AnsiString m_WmuWo;
AnsiString b_WmuWo;
m_WmuWo=GetMasterValue("WmuWo");
b_WmuWo=GetMasterOldValue("WmuWo");
if(m_WmuWo!=b_WmuWo)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select * from sdWo where WoCode='"+m_WmuWo+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("工单:"+m_WmuWo+"不存在!");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuProcess() //工序号
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuGoods() //物料编码
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuLoc() //货位
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuUQty() //消耗数量
{
double m_WmuUQty;
double b_WmuUQty;
AnsiString m_WmuWo,m_WmuGoods,m_WmuProcess;
m_WmuUQty=GetMasterValue("WmuUQty");
b_WmuUQty=GetMasterOldValue("WmuUQty");
m_WmuWo=GetMasterValue("WmuWo");
m_WmuGoods=GetMasterValue("WmuGoods");
m_WmuProcess=GetMasterValue("WmuProcess");
if(m_WmuUQty!=b_WmuUQty)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select WmdQty=WmdQty-WmdBQty-WmdUQty from sdWmd where WmdWoCode='"+m_WmuWo+"' and WmdProcess='"+m_WmuProcess+"' and WmdGoods='"+m_WmuGoods+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("工序物料不存在!");
}
if(Query->FieldValues["WmdQty"]<m_WmuUQty)
{
Query->Close();
throw Exception("耗用数量不能大于可耗用数量");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuDQty() //损坏数量
{
double m_WmuDQty;
double m_WmuUQty;
m_WmuUQty=GetMasterValue("WmuUQty");
m_WmuDQty=GetMasterValue("WmuDQty");
if(m_WmuDQty>m_WmuUQty)
throw Exception("损坏数量不能大于耗用量");
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuLQty() //报废数量
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuUdr() //损坏原因
{
AnsiString m_WmuUdr;
AnsiString b_WmuUdr;
double m_WmuDQty;
m_WmuDQty=GetMasterValue("WmuDQty");
m_WmuUdr=GetMasterValue("WmuUdr");
b_WmuUdr=GetMasterOldValue("WmuUdr");
if(m_WmuDQty>0)
{
if(m_WmuUdr!=b_WmuUdr)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select *from sdUdr where UdrCode='"+m_WmuUdr+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("损坏原因未定义");
}
Query->Close();
}
}
else
b_WmuUdr="";
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuDate() //日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuDesc() //备注
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuUser() //操作员
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::ValidWmuSysDate() //系统日期
{
}
//---------------------------------------------------------------------------
void __fastcall TKSWmu::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -