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 Cancelltion(string sBarCode) { try { oCn.BeginTran(); //作废条码 oCn.RunProc("update Gy_BarCodeBill set HStopflag=1 where HBarCode='" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo); oCn.Commit(); return true; } catch (Exception e) { oCn.RollBack(); throw (e); } } //反作废条码 public bool UnCancelltion(string sBarCode) { try { oCn.BeginTran(); //反作废条码 oCn.RunProc("update Gy_BarCodeBill set HStopflag=0 where HBarCode='" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo); oCn.Commit(); return true; } catch (Exception e) { oCn.RollBack(); 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); } } //删除条码 public bool DeleteBill(long sHItemID, string sHBarCode, string CurUserName, ref string sReturn) { //编辑权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, false, CurUserName)) { sReturn = "您没有删除权限!"; return true; } try { DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_Delete " + sHItemID + ",'" + sHBarCode + "','" + CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','" + DBUtility.ClsPub.IPAddress + "'", "h_p_Gy_BarCodeBill_Delete", ref DBUtility.ClsPub.sExeReturnInfo); if (DS == null || DS.Tables[0].Rows.Count <= 0) { oCn.CnClose(); oCn.CnDispose(); sReturn = "删除条码时发生错误!"; 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]["HRemark"]); return true; } else //删除成功 { oCn.CnClose(); oCn.CnDispose(); sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]); return false; } } } catch (Exception e) { oCn.RollBack(); throw (e); } } //批量删除条码 public bool MulDeleteBill(string sHItemID, string sHBarCode, string CurUserName, ref string sReturn) { //编辑权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, false, CurUserName)) { sReturn = "您没有删除权限!"; return true; } try { DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_MulDelete '" + sHItemID + "','" + sHBarCode + "','" + CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','" + DBUtility.ClsPub.IPAddress + "'", "h_p_Gy_BarCodeBill_MulDelete", ref DBUtility.ClsPub.sExeReturnInfo); if (DS == null || DS.Tables[0].Rows.Count <= 0) { oCn.CnClose(); oCn.CnDispose(); sReturn = "批量删除条码时发生错误!"; 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]["HRemark"]); return true; } else //批量删除成功 { oCn.CnClose(); oCn.CnDispose(); sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]); return false; } } } 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(); } } }