📄 mtsh.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mTsh.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSTsh *sdTsh;
//---------------------------------------------------------------------------
__fastcall TKSTsh::TKSTsh()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSTsh::ValidHeadValues()
{
AnsiString m_TshCode;
AnsiString b_TshCode;
m_TshCode=GetMasterValue("TshCode");
b_TshCode=GetMasterOldValue("TshCode");
if(m_TshCode.IsEmpty())
throw Exception("盘点单单头编码不能为空!");
if(m_TshCode.Length()>18)
throw Exception("盘点单号长度不能大于18");
if(m_TshCode.UpperCase() != b_TshCode.UpperCase())
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT TshCODE FROM SDTsh WHERE TshCODE='" +m_TshCode+"'");
Query->Open();
if(Query->RecordCount>0)
{
Query->Close();
throw Exception("盘点单单头编码'"+m_TshCode+"'已存在");
}
Query->Close();
}
b_TshCode = m_TshCode;
AnsiString m_TshDate;
m_TshDate=GetMasterValue("TshDate");
if(m_TshDate.IsEmpty())
throw Exception("盘点日期不能为空");
AnsiString m_TshFmonth;
AnsiString b_TshFmonth;
m_TshFmonth=GetMasterValue("TshFmonth");
b_TshFmonth=GetMasterOldValue("TshFmonth");
AnsiString s;
if(m_TshFmonth.IsEmpty())
throw Exception("财务月份不能为空");
/*
if(m_TshFmonth!=b_TshFmonth)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select fcmonth from sdfc where fcmonth='"+m_TshFmonth+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("财务月份:"+m_TshFmonth+"未定义");
}
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select fcmonth from sdfc where fccurrent=1");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("未定义当前财务月份");
}
s=Query->FieldValues["FcMonth"];
if(m_TshFmonth<s)
{
Query->Close();
throw Exception("财务月份不能小于当前月份");
}
Query->Close();
}
*/
AnsiString m_TshPosType;
AnsiString b_TshPosType;
m_TshPosType=GetMasterValue("TshPosType");
b_TshPosType=GetMasterOldValue("TshPosType");
if(m_TshPosType.IsEmpty())
throw Exception("收发存项目编码不能为空");
if(m_TshPosType.Length()>18)
throw Exception("项目编码长度不能大于18");
if(m_TshPosType!=b_TshPosType)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select postypecode from sdpostype where postypecode='"+m_TshPosType+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("收发存项目编码:"+m_TshPosType+"未定义");
}
Query->Close();
}
int m_TshType;
m_TshType=GetMasterValue("TshType");
if(m_TshType!=1 && m_TshType!=2)
throw Exception("盘点类型只能是1-一般盘点,2-循环盘点");
AnsiString m_TshDept;
AnsiString b_TshDept;
m_TshDept=GetMasterValue("TshDept");
b_TshDept=GetMasterOldValue("TshDept");
if(m_TshDept.IsEmpty())
throw Exception("部门编码不能为空");
if(m_TshDept.Length()>18)
throw Exception("部门编码长度不能大于18");
if(m_TshDept!=b_TshDept)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select deptcode from sddept where deptcode='"+m_TshDept+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("部门编码:"+m_TshDept+"未定义");
}
Query->Close();
}
AnsiString m_TshCDate;
m_TshCDate=GetMasterValue("TshCDate");
if(m_TshCDate.IsEmpty())
throw Exception("完成日期不能为空");
/*
AnsiString m_TshKeeper;
AnsiString b_TshKeeper;
m_TshKeeper=GetMasterValue("TshKeeper");
b_TshKeeper=GetMasterOldValue("TshKeeper");
if(m_TshKeeper.IsEmpty())
throw Exception("仓管员代码不能为空");
if(m_TshKeeper.Length()>18)
throw Exception("仓管员代码长度不能大于18");
if(m_TshKeeper!=b_TshKeeper)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select Keepercode from sdKeeper where Keepercode='"+m_TshKeeper+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("仓管员代码:"+m_TshKeeper+"未定义");
}
Query->Close();
}
*/
AnsiString m_TshDesc;
m_TshDesc=GetMasterValue("TshDesc");
if(m_TshDesc.Length()>40)
throw Exception("备注长度不能大于40");
int m_TshCheck;
m_TshCheck=GetMasterValue("TshCheck");
if(m_TshCheck!=0 && m_TshCheck!=1)
throw Exception("审核标志只能取值0-未审,1-已审");
/*
AnsiString m_TshChecker;
AnsiString b_TshChecker;
m_TshChecker=GetMasterValue("TshChecker");
b_TshChecker=GetMasterOldValue("TshChecker");
int m_TshCheck;
m_TshCheck=GetMasterValue("TshCheck");
if(m_TshCheck==1)
{
if(m_TshChecker.IsEmpty())
throw Exception("审核员代码不能为空");
if(m_TshChecker.Length()>18)
throw Exception("审核员代码长度不能大于18");
if(m_TshChecker!=b_TshChecker)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select keepercode from sdkeeper where keepercode='"+m_TshChecker+"' and Keepercheck=1");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("审核员代码未定义或没有审核权限");
}
Query->Close();
}
}
else
b_TshChecker="";
*/
AnsiString m_TshCheckDate;
m_TshCheckDate=GetMasterValue("TshCheckDate");
// int m_TshCheck;
m_TshCheck=GetMasterValue("TshCheck");
if(m_TshCheck==1)
{
if(m_TshCheckDate.IsEmpty())
throw Exception("审核日期不能为空");
}
int m_TshCancel;
m_TshCancel=GetMasterValue("TshCancel");
if(m_TshCancel!=0 && m_TshCancel!=1)
throw Exception("取消标志只能取值0-正常,1-取消");
AnsiString m_TshCancelDate;
m_TshCancelDate=GetMasterValue("TshCancelDate");
//int m_TshCancel;
m_TshCancel=GetMasterValue("TshCancel");
if(m_TshCancel==1)
{
if(m_TshCancelDate.IsEmpty())
throw Exception("取消日期不能为空");
}
/*
AnsiString m_TshUser;
AnsiString b_TshUser;
m_TshUser=GetMasterValue("TshUser");
b_TshUser=GetMasterOldValue("TshUser");
if(m_TshUser.IsEmpty())
throw Exception("操作员代码不能为空");
if(m_TshUser.Length()>18)
throw Exception("操作员代码长度不能大于18");
if(m_TshUser!=b_TshUser)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select usercode from sduser where usercode='"+m_TshUser+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("操作员代码:"+m_TshUser+"未定义");
}
Query->Close();
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TKSTsh::ValidItemValues()
{
AnsiString m_TKSCode;
m_TKSCode=GetDetailValue("TsdCode");
if(m_TKSCode.IsEmpty())
throw Exception("盘点单号不能为空!");
if(m_TKSCode.Length()>18)
throw Exception("盘点单号长度不能大于18");
int m_TKSLine;
int b_TKSLine;
m_TKSLine=GetDetailValue("TsdLine");
b_TKSLine=GetDetailOldValue("TsdLine");
// AnsiString m_TKSCode;
m_TKSCode=GetDetailValue("TsdCode");
if(m_TKSCode.IsEmpty())
throw Exception("盘点单号不能为空");
if(m_TKSLine<=0)
throw Exception("盘点单行号不能小于等于零");
if(m_TKSLine != b_TKSLine)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select TsdLine from sdTsd where TsdCode='"+m_TKSCode+"' and TsdLine='"+AnsiString(m_TKSLine)+"'");
Query->Open();
if(Query->RecordCount>0)
{
Query->Close();
throw Exception("盘点行号:"+AnsiString(m_TKSLine)+"已存在");
}
Query->Close();
}
AnsiString m_TKSLoc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -