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(); 
 | 
        }  
 | 
    } 
 | 
} 
 |