using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Data;
|
|
namespace DAL
|
{
|
public class ClsGy_BarCodeBill_Ctl:DBUtility.ClsGy_Base_Ctl
|
{
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
//原代码 用于 替换子项目
|
public string HOldNumber;
|
public Model.ClsGy_BarCodeBill_WMS_Model oModel = new Model.ClsGy_BarCodeBill_WMS_Model();
|
public const string ModRightName = "Gy_BarCodeBillList";
|
public const string ModRightNameEdit = ModRightName + "_Edit"; //删除
|
public const string ModRightNameDelete = ModRightName + "_Delete"; //作废
|
public const string ModRightNamePrint = ModRightName + "_Print"; //打印
|
//新增
|
public override bool AddNew()
|
{
|
|
try
|
{
|
oCn.BeginTran();
|
//oCn.RunProc("Insert into " + MvarItemKey + " " +
|
// " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
|
// ",HLevel,HEndFlag,HStopflag,HRemark,HEnglishName) " +
|
// " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
|
// "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "','" + oModel.HEnglishName + "')", ref DBUtility.ClsPub.sExeReturnInfo);
|
//修改上级为非末级代码
|
//oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//修改
|
public override bool ModifyByID(Int64 sItemID)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//oCn.RunProc("Update " + MvarItemKey + " set " +
|
// " HNumber='" + oModel.HNumber + "'" +
|
// ",HName='" + oModel.HName + "'" +
|
// ",HShortNumber='" + oModel.HShortNumber + "'" +
|
// ",HHelpCode='" + oModel.HHelpCode + "'" +
|
// ",HLevel=" + oModel.HLevel.ToString() +
|
// ",HParentID=" + oModel.HParentID.ToString() +
|
// ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
|
// ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
|
// ",HEnglishName='" + oModel.HEnglishName + "'" +
|
// ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
|
//修改子项目代码
|
//oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
|
////将上级 为非末级
|
//oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
|
//
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
//根据代码判断信息
|
public override bool HavParentCode(string sCode, Int64 sItemID)
|
{
|
DataSet DS;
|
try
|
{
|
DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HStopflag=0 and HNumber='" + sCode + "' and HItemID<>" + sItemID, MvarItemKey, ref Pub_Class.ClsPub.sExeReturnInfo);
|
if (DS.Tables[0].Rows.Count == 0)
|
return false;
|
else
|
{
|
oModel.HItemID = Convert.ToInt64(DS.Tables[0].Rows[0]["HItemID"]);
|
return true;
|
}
|
}
|
catch (Exception e)
|
{
|
throw (e);
|
}
|
}
|
|
//更新打印次数
|
public bool Set_PrintQty(string sBarCode)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//更新 打印次数
|
oCn.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HBarCode='" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo);
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//批量更新打印次数
|
public bool Set_EPrintQty(string sBarCode)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//更新 打印次数
|
oCn.RunProc("exec h_p_Gy_BarCodePrintQty_Update '" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo);
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//打印前判断条码是否已打印过
|
public bool Set_BPrintQty(string sBarCode, ref string sReturn)
|
{
|
DataSet DS;
|
try
|
{
|
DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBPrintQty '" + sBarCode + "'", "h_p_Gy_BarCodeBPrintQty", ref DBUtility.ClsPub.sExeReturnInfo);
|
if (DS == null || DS.Tables[0].Rows.Count == 0)
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = "null未知错误";
|
return true;
|
}
|
else
|
{
|
//已打印过
|
if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][1]);
|
return true;
|
}
|
else
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = "正常!";
|
return false;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
throw (e);
|
}
|
}
|
|
public bool DeleteByMul(string[] sSQL, ref string sReturn)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//更新 打印次数
|
for (int i = 0; i < sSQL.Length; i++)
|
{
|
oCn.RunProc(sSQL[i], ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
sReturn = DBUtility.ClsPub.sExeReturnInfo;
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
|
|
//---------------------------------------------------------
|
//New
|
|
//作废条码
|
public bool Cancelltion(string sHItemID, string sHBarCode, string sHDeleteMan)
|
{
|
try
|
{
|
oCn.BeginTran();
|
string[] NewBarCode;
|
NewBarCode = sHBarCode.Split(Convert.ToChar("#"));
|
|
//作废条码
|
oCn.RunProc("update Gy_BarCodeBill set HStopflag=1,HDeleteMan='" + sHDeleteMan + "',HDeleteDate=getdate() where HItemID in (" + sHItemID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
|
//写入系统日志
|
for (int i = 0; i <= NewBarCode.Length - 1; i++)
|
{
|
oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','作废条码:" + NewBarCode[i] + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','作废'", ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//反作废条码
|
public bool UnCancelltion(string sHItemID, string sHBarCode, string sSourceQtyCtl, ref string sReturn)
|
{
|
try
|
{
|
oCn.BeginTran();
|
string[] NewBarCode;
|
NewBarCode = sHBarCode.Split(Convert.ToChar("#"));
|
//反作废条码前进行判断
|
DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_UnCancelltion '" + sHItemID + "','" + sSourceQtyCtl + "'", "h_p_Gy_BarCodeBill_UnCancelltion", ref DBUtility.ClsPub.sExeReturnInfo);
|
if (DS == null || DS.Tables[0].Rows.Count <= 0)
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = "反作废条码前判断发生错误!";
|
return false;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
|
return false;
|
}
|
else
|
{
|
//反作废条码
|
oCn.RunProc("update Gy_BarCodeBill set HStopflag=0,HDeleteMan='',HDeleteDate=null where HItemID in (" + sHItemID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
|
//写入系统日志
|
for (int i = 0; i <= NewBarCode.Length - 1; i++)
|
{
|
oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','反作废条码:" + NewBarCode[i] + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','反作废'", ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
oCn.Commit();
|
return true;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//单条删除条码
|
public bool DeleteBill(long sHItemID, string sHBarCode, ref string sReturn)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//删除条码前进行判断
|
DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_Delete_Before " + sHItemID + ",'" + sHBarCode + "'", "h_p_Gy_BarCodeBill_Delete_Before", ref DBUtility.ClsPub.sExeReturnInfo);
|
if (DS == null || DS.Tables[0].Rows.Count <= 0)
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = "删除条码前判断发生错误!";
|
return false;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
|
return false;
|
}
|
else
|
{
|
//删除条码
|
oCn.RunProc("Delete from Gy_BarCodeBill where HItemID = " + sHItemID, ref DBUtility.ClsPub.sExeReturnInfo);
|
//写入系统日志
|
oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','删除条码:" + sHBarCode + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','删除'", ref DBUtility.ClsPub.sExeReturnInfo);
|
oCn.Commit();
|
return true;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//批量删除条码
|
public bool MulDeleteBill(string sHItemID, string sHBarCode, ref string sReturn)
|
{
|
try
|
{
|
oCn.BeginTran();
|
string[] NewBarCode;
|
NewBarCode = sHBarCode.Split(Convert.ToChar("#"));
|
//批量删除条码前进行判断
|
DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_MulDelete_Before '" + sHItemID + "','" + sHBarCode + "'", "h_p_Gy_BarCodeBill_MulDelete_Before", ref DBUtility.ClsPub.sExeReturnInfo);
|
if (DS == null || DS.Tables[0].Rows.Count <= 0)
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = "批量删除条码前判断发生错误!";
|
return false;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
|
{
|
oCn.CnClose();
|
oCn.CnDispose();
|
sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
|
return false;
|
}
|
else
|
{
|
//批量删除条码
|
oCn.RunProc("Delete from Gy_BarCodeBill where HItemID in (" + sHItemID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
|
//写入系统日志
|
for (int i = 0; i <= NewBarCode.Length - 1; i++)
|
{
|
oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','批量删除条码:" + NewBarCode[i] + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','批量删除'", ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
oCn.Commit();
|
return true;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//条码生成模块调用 条码打印前,条码打印次数控制(是否超过允许可打印次数)
|
public bool Set_CheckPrintQty_SD(Int64 HInterID, long PrintQty, ref string sReturn)
|
{
|
DataSet DS;
|
string sBarCode = "";
|
DS = oCn.RunProcReturn("select stuff((select ','+HBarCode from Gy_BarCodeBill with(nolock) where HPrintQty >=" + PrintQty + " and HBarCodeType = '唯一条码' and HInterID = " + HInterID + " for xml path('')),1,1,'')", "Gy_BarCodeBill");
|
if (DS == null || DS.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "正常!";
|
return false;
|
}
|
else
|
{
|
sBarCode = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]);
|
if (sBarCode == "")
|
{
|
sReturn = "正常!";
|
return false;
|
}
|
else
|
{
|
sReturn = "条码编号:" + DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) + ",已打印" + PrintQty + " 次,不允许再次预览打印!";
|
return true;
|
}
|
}
|
}
|
|
//条码档案列表模块调用 条码打印前,条码打印次数控制(是否超过允许可打印次数)
|
public bool Set_CheckPrintQty(string sBarCodeItemID, long PrintQty, ref string sReturn)
|
{
|
DataSet DS;
|
string sBarCode = "";
|
DS = oCn.RunProcReturn("select stuff((select ','+HBarCode from Gy_BarCodeBill with(nolock) where HPrintQty >=" + PrintQty + " and HBarCodeType = '唯一条码' and HItemID in (" + sBarCodeItemID + ") for xml path('')),1,1,'')", "Gy_BarCodeBill");
|
if (DS == null || DS.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "正常!";
|
return false;
|
}
|
else
|
{
|
sBarCode = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]);
|
if (sBarCode == "")
|
{
|
sReturn = "正常!";
|
return false;
|
}
|
else
|
{
|
sReturn = "条码编号:" + DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) + ",已打印" + PrintQty + " 次,不允许再次预览打印!";
|
return true;
|
}
|
}
|
}
|
|
//条码生成模块调用 条码打印后,更新条码打印次数
|
public bool Set_UpdatePrintQty_SD(Int64 HInterID)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//更新 条码打印次数
|
oCn.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HInterID = " + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
//条码档案列表模块调用 条码打印后,更新条码打印次数
|
public bool Set_UpdatePrintQty(string sBarCodeItemID)
|
{
|
try
|
{
|
oCn.BeginTran();
|
//更新 条码打印次数
|
oCn.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HItemID in (" + sBarCodeItemID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
|
|
|
//构造函数
|
public ClsGy_BarCodeBill_Ctl()
|
{
|
MvarItemKey = "Gy_BarCodeBill";
|
MvarReportTitle = "条码档案设置";
|
oModel = new Model.ClsGy_BarCodeBill_WMS_Model();
|
}
|
}
|
}
|