yusijie
2023-02-22 b51ed3cea777b1809afe07db7314b0e0a8c0e9b8
DAL/WMS/ClsGy_BarCodeBill_Ctl.cs
@@ -167,42 +167,6 @@
            }
        }
        //作废条码
        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
@@ -225,58 +189,28 @@
        }
        //删除条码(未完成)
        public bool DeleteBill(long sHItemID, string sHBarCode, string CurUserName, ref string sReturn)
        //---------------------------------------------------------
        //New
        //作废条码
        public bool Cancelltion(string sHItemID, string sHBarCode, string sHDeleteMan)
        {
            //编辑权限
            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 + "','" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','" + DBUtility.ClsPub.IPAddress + "'", "h_p_Gy_BarCodeBill_Delete", ref DBUtility.ClsPub.sExeReturnInfo);
                oCn.BeginTran();
                string[] NewBarCode;
                NewBarCode = sHBarCode.Split(Convert.ToChar("#"));
                if (DS == null || DS.Tables[0].Rows.Count <= 0)
                //作废条码
                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.CnClose();
                    oCn.CnDispose();
                    sReturn = "删除条码时发生错误!";
                    return true;
                    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);
                }
                else
                {
                    sReturn = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
                    return true;
                }
                //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 = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
                //    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;
                //    }
                //}
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
@@ -285,17 +219,231 @@
            }
        }
        //反作废条码
        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);
            }
        }