📄 retail.cs
字号:
TryAgain:
CEData lo;
lo=new CEData();
Len = new SubStr();
SqlCeConnection conn=lo.conn;
string SqlText;
//从词库中获取产品名称
try
{
SqlText = null;
SqlCeDataReader myReader=null;
SqlText = "SELECT TACAB,TACAC FROM TAC WHERE TACAC='"+ProductID+"'";
SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
myReader=cmd.ExecuteReader();
myReader.Read();
ProductName=myReader.GetString(0);
myReader.Close();
conn.Dispose();
ScanData="";
ScanSize=0;
return true;
}
catch
{
//MessageBOX.Text=" 产品信息错误,交易失败!";
//MsgBox(rm.GetString("10005"),MsgTitle,3);
conn.Dispose();
ScanData="";
ScanSize=0;
if(IsExit)
goto Exit;
GoNet(); //开始通讯上传下载配额
IsExit=true;
goto TryAgain;
Exit:
//MessageBOX.Text=" 暂时无交易配额,小心假冒!";
MsgBox(rm.GetString("10004"),MsgTitle,30);
return false;
}
}
//---------------------------------------------------------------END--------------------------------------------------------------------------------
//---------------------------------根据扫描的条码从数据库中获取信息数据 (ZJNET ADD 2005.8.1)----------------------------------
private bool Getparms()
{
CEData lo;
lo=new CEData();
Len = new SubStr();
SqlCeConnection conn=lo.conn;
string SqlText;
//从词库中获取产品包装名称
try
{
SqlText = null;
SqlCeDataReader myReader=null;
SqlText = "SELECT TAEAA,TAEAB,TAEAD FROM TAE WHERE TAEAA='"+ProductID+"' AND TAEAD='"+PackID+"'";
SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
myReader=cmd.ExecuteReader();
myReader.Read();
PackName=myReader.GetString(1);
TBox_ThName.Text=ProductName + "(" + PackName + ")";
myReader.Close();
conn.Dispose();
ScanData="";
ScanSize=0;
return true;
}
catch
{
//MessageBOX.Text=" 产品信息错误,交易失败!";
conn.Dispose();
ScanData="";
ScanSize=0;
return false;
}
}
//----------------------获取事物交易批次信息ZJNET EDIT (2005.8.5)----------------------
private void GetPath()
{
CEData lo;
lo=new CEData();
Len = new SubStr();
SqlCeConnection conn=lo.conn;
string SqlText;
try
{
SqlText=null;
SqlCeDataReader myReader=null;
SqlText = "SELECT TAFAA,TAFAD FROM TAF WHERE TAFAA='"+ProductID.ToString()+"'";
SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
myReader=cmd.ExecuteReader();
myReader.Read();
Path =myReader.GetValue(1).ToString();
myReader.Close();
conn.Dispose();
ScanData="";
ScanSize=0;
}
catch
{
conn.Dispose();
ScanData="";
ScanSize=0;
Path = "";
}
}
//-------------------------------------------------------END-------------------------------------------------------------------------------------------------------
//-------------------------------------------获取生产时间和剩余有效期时间----------------------------------------------------------------------------------------
private void time()
{
Len = new SubStr();
string TimeYY,TimeMM,TimeDD,TimeHH,TimeMI,TimeSS;
//----------------------------------获取生产时间并计算剩余有效期时间(ZJNET ADD 2005.8.1)----------------
try
{
TimeYY = Len.SubTimeYY(CharacterID).ToString();//年
TimeMM = Len.SubTimeMM(CharacterID).ToString();//月
TimeDD = Len.SubTimeDD(CharacterID).ToString();//日
TimeHH = Len.SubTimeHH(CharacterID).ToString();//时
TimeMI = Len.SubTimeMI(CharacterID).ToString();//分
TimeSS = Len.SubTimeSS(CharacterID).ToString();//秒
//TBox_StartTime.Text = TimeYY + "年" + TimeMM + "月" + TimeDD + "日" + TimeHH + "时" + TimeMI + "分" + TimeSS + "秒";//从事物特征码解析得到生产时间
stempTime= "生产日期:"+ TimeYY + "年" + TimeMM + "月" + TimeDD + "日" + TimeHH + "时" + TimeMI + "分" + TimeSS + "秒";
//------------------------计算有效期剩余时间(ZJNET ADD 2005.8.1)----------------------------------
DateTime time = DateTime.Now;
string AvaTimeYY,AvaTimeMM,AvaTimeDD,AvaTimeHH;
int AvaTime,YY,MM,DD,HH;
AvaTime = System.Convert.ToInt32(Len.SubAvaTime(CharacterID)); //获取有效期数值
AvaTimeYY = time.ToString().Substring(2,2);//当前年
AvaTimeMM = time.Month.ToString();//当前月
AvaTimeDD = time.Day.ToString();//当前天
AvaTimeHH = time.Hour.ToString();//当前时
YY = System.Convert.ToInt32(AvaTimeYY) - System.Convert.ToInt32(TimeYY);
MM = Math.Abs(System.Convert.ToInt32(AvaTimeMM) + (YY*12-System.Convert.ToInt32(TimeMM)));
DD = Math.Abs(System.Convert.ToInt32(AvaTimeDD) + (MM*30-System.Convert.ToInt32(TimeDD)));
HH = Math.Abs(System.Convert.ToInt32(AvaTimeHH) + (DD*24-System.Convert.ToInt32(TimeHH)));
switch (Len.SubAvaTimeType(CharacterID))
{
case "0"://如果效期单位是年
TBox_Validity.Text = "剩余"+ (AvaTime*365-YY*365+MM*30+DD).ToString()+"天";
TBox_StartTime.Text=TBox_Validity.Text ;
break;
case "1"://如果效期单位是月
TBox_Validity.Text = "剩余"+ (AvaTime*30-YY*365+MM*30+DD).ToString()+"天";
TBox_StartTime.Text=TBox_Validity.Text ;
break;
case "2"://如果效期单位是日
TBox_Validity.Text = "剩余"+ (AvaTime-YY*365+MM*30+DD).ToString()+"天";
TBox_StartTime.Text=TBox_Validity.Text ;
break;
case "3"://如果效期单位是时
TBox_Validity.Text = "剩余"+(AvaTime-(YY*365 + MM*30 + DD)*24 + HH).ToString()+"小时";
TBox_StartTime.Text=TBox_Validity.Text;
break;
}
}
catch
{
ScanData="";
ScanSize=0;
}
}
//---------------------------------------------------------------END--------------------------------------------------------------------------------
//-----------------------------------------------判断事物配额信息 ZJNET EDIT (2005.9.13)---------------------------------------------------------
private bool NOQuota()
{
bool IsExit=false;
TryAgain:
CEData lo;
lo=new CEData();
SqlCeConnection conn=lo.conn;
SqlCeDataReader myReader=null;
string SqlText;
//从配额中取出相应的配额数量
try
{
SqlText=null;
SqlText = "SELECT TAFAA,TAFAB FROM TAF WHERE TAFAA='"+ProductID.ToString()+"'";
SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
myReader=cmd.ExecuteReader();
myReader.Read();
NPE = System.Convert.ToDouble(myReader.GetValue(1).ToString());
myReader.Close();
conn.Dispose();
ScanData="";
ScanSize=0;
return true;
}
catch
{
NPE=0.0;
//MessageBOX.Text=" 无事物配额信息!";
//MsgBox(rm.GetString("10005"),MsgTitle,3);
conn.Dispose();
ScanData="";
ScanSize=0;
if(IsExit)
goto Exit;
GoNet(); //开始通讯上传下载配额
IsExit=true;
goto TryAgain;
Exit:
//MessageBOX.Text=" 暂时无交易配额,小心假冒!";
MsgBox(rm.GetString("10008"),MsgTitle,3);
return false;
}
}
//---------------------------------------------------------------END--------------------------------------------------------------------------------
//---------------------------------------------------------从词库中获取产品对应包装类别量纲数量 ZJNET EDIT (2005.9.13)----------------------------------
private bool Quota()
{
CEData lo;
lo=new CEData();
SqlCeConnection conn=lo.conn;
SqlCeDataReader myReader=null;
string SqlText;
try
{
SqlText=null;
SqlText = "SELECT TAEAA,TAEAD,TAEAF FROM TAE WHERE TAEAD='"+PackID+"' AND TAEAA ='"+ProductID+"'";
myReader=lo.ExeSQL(SqlText);
myReader.Read();
NLG = System.Convert.ToDouble(myReader.GetValue(2).ToString());
myReader.Close();
return true;
}
catch
{
NLG=0.0;
//MessageBOX.Text=" 交易失败,小心假冒!";
return false;
}
finally
{
conn.Dispose();
ScanData="";
ScanSize=0;
}
}
//---------------------------------------------------------------END--------------------------------------------------------------------------------
//-----------------------------------------------判断事物配额信息是否满足交易数量 ZJNET EDIT (2005.9.13)---------------------------------------------------------
private bool LackQuota()
{
if( NPE<NLG )
{
GoNet(); //开始通讯上传下载配额
CEData lo;
lo=new CEData();
SqlCeConnection conn=lo.conn;
SqlCeDataReader myReader=null;
string SqlText;
try
{
SqlText=null;
SqlText = "SELECT TAFAA,TAFAB FROM TAF WHERE TAFAA='"+ProductID.ToString()+"'";
SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
myReader=cmd.ExecuteReader();
myReader.Read();
NPE = System.Convert.ToDouble(myReader.GetValue(1).ToString());
myReader.Close();
conn.Dispose();
ScanData="";
ScanSize=0;
if (NPE<NLG)
{
//MessageBOX.Text=" 交易配额不足,交易失败!";
MsgBox(rm.GetString("10008"),MsgTitle,3);
return false;
}
else
{
return true;
}
}
catch
{
//MessageBOX.Text=" 交易失败,小心假冒!";
conn.Dispose();
ScanData="";
ScanSize=0;
//MsgBox(rm.GetString("10004"),MsgTitle,3);
return false;
}
}
else
{
return true;
}
}
//###################################################################### 主过程方法定义区 结束 ########################################################
//###################################################################### 判断扫描重复的128位事物特征码 ######################################################################
private bool Repeat()
{
CEData lo;
lo=new CEData();
SqlCeConnection conn=lo.conn;
DateTime Atime = DateTime.Now;
SqlCeDataReader myReader=null;
SqlCeTransaction myTrans;
myTrans=conn.BeginTransaction();
SqlCeCommand mycmd=conn.CreateCommand();
mycmd.Connection=conn;
mycmd.Transaction=myTrans;
string JYLJ,SqlText;//获取交易数量
double NUMTH;//更新退货数量
double RNLG=0;
double RNPE=0;
try
{
SqlText=null;
SqlText = "SELECT TAAAH FROM TAA WHERE TAAAH = '"+CharacterID+"'";
SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
myReader=cmd.ExecuteReader();
if (myReader.Read())
{
//从词库中获取产品对应包装类别量纲数量
try
{
SqlText=null;
SqlText = "SELECT TAEAA,TAEAD,TAEAF FROM TAE WHERE TAEAD='"+PackID+"' AND TAEAA ='"+ProductID+"'";
myReader=lo.ExeSQL(SqlText);
myReader.Read();
RNLG = System.Convert.ToDouble(myReader.GetValue(2).ToString());
myReader.Close();
}
catch
{
RNLG=0.0;
conn.Dispose();
ScanData="";
ScanSize=0;
return true;
}
//从配额中取出相应的配额数量
try
{
SqlText=null;
SqlText = "SELECT TAFAA,TAFAB FROM TAF WHERE TAFAA='"+ProductID.ToString()+"'";
myReader=lo.ExeSQL(SqlText);
myReader.Read();
RNPE = System.Convert.ToDouble(myReader.GetValue(1).ToString());
myReader.Close();
}
catch
{
RNPE=0.0;
conn.Dispose();
ScanData="";
ScanSize=0;
return true;
}
if(Path.ToString().Length==0)
{
JYLJ=HCuppID.ToString();
}
else
{
JYLJ = Path.ToString() + "^" + HCuppID.ToString();//获取交易路径
}
NUMTH = RNPE-RNLG;//更新配额数量
//更新异常事物特征码
try
{
mycmd.CommandText = "insert into TAA (TAAAA,TAAAB,TAAAD,TAAAE,TAAAF,TAAAG,TAAAH,TAAAI) values ('"+ProductID.ToString()+"','"+DeviceID+"',"+RNLG+",'"+Atime+"','"+JYLJ+"',0,'"+CharacterID+"','01XXX')";
mycmd.ExecuteNonQuery();
mycmd.CommandText = "UPDATE TAF SET TAFAB = "+NUMTH.ToString()+" WHERE TAFAA = '"+ProductID.ToString()+"'";
mycmd.ExecuteNonQuery();
//MessageBox.Show("小心假冒!");
MsgBox(rm.GetString("10004"),MsgTitle,3);
ScanData="";
ScanSize=0;
myTrans.Commit();
conn.Dispose();
Clear();
myReader.Close();
return true;
}
catch
{
myTrans.Rollback();
conn.Dispose();
return true;
}
}
else
{
myReader.Close();
conn.Dispose();
return false;
}
}
catch
{
// MessageBox.Show("交易异常!");
myReader.Close();
conn.Dispose();
ScanData="";
ScanSize=0;
return true;
}
}
//###################################################################### 判断扫描重复的128位事物特征码 结束 ######################################################################################################
//####################################################################### 交易过程(ZJNET ADD 2005.8.5) #######################################################################
private void Business()
{
if (GetProduct()==false)//获取事物名称 ZJNET EDIT (2005.9.13)
{
Singularity();//异常信息的处理
return;
}
if (Quota()==false) //获取事物基类包装数量 ZJNET EDIT (2005.9.13)
return;
if (NOQuota()==false)//获取事物配额数量 ZJNET EDIT (2005.9.13)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -