yangle
2024-02-02 c0cee04d997030777bd85d198d82cc2567f4773f
DBUtility/ÒµÎñµ¥¾Ý/ClsXt_BaseBill.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
namespace DBUtility
{
@@ -23,6 +24,8 @@
        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        public SQLHelper.ClsCNK3 oK3Cn = new SQLHelper.ClsCNK3();
        public SQLHelper.ClsCNK3 oCnK3 = new SQLHelper.ClsCNK3();
        string ComputerName = SystemInformation.ComputerName;   //设备名称
        string IPAddress="";    //设备IP
        public ClsXt_BaseBill()
        {
@@ -71,6 +74,44 @@
                throw (e);
            }
        }
        //反作废单据(包含写入日志)    2024-01-31
        public bool AbandonCancelltion(Int64 lngBillKey, string HBillNo, string sUser, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                DataSet ds = oCn.RunProcReturn("select * from " + MvarItemKey + " where HInterID=" + lngBillKey.ToString(), MvarItemKey);
                if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                {
                    oCn.RunProc(" Update " + MvarItemKey + " set HDeleteMan='',HDeleteDate=null,HBillStatus=3 Where HInterID=" + lngBillKey.ToString());
                }
                else if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                {
                    oCn.RunProc(" Update " + MvarItemKey + " set HDeleteMan='',HDeleteDate=null,HBillStatus=2 Where HInterID=" + lngBillKey.ToString());
                }
                else
                {
                    oCn.RunProc(" Update " + MvarItemKey + " set HDeleteMan='',HDeleteDate=null,HBillStatus=1 Where HInterID=" + lngBillKey.ToString());
                }
                //写入日志
                string WorkList = "反作废单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','反作废')"
                    );
                sReturn = "反作废单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //反关闭
        public bool CancelClose(Int64 lngBillKey, ref string sReturn)
        {
@@ -96,6 +137,44 @@
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //反关闭单据(包含写入日志)    2024-01-31
        public bool CancelClose(Int64 lngBillKey, string HBillNo, string sUser, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                DataSet ds = oCn.RunProcReturn("select * from " + MvarItemKey + " where HInterID=" + lngBillKey.ToString(), MvarItemKey);
                if (ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                {
                    oCn.RunProc(" Update " + MvarItemKey + " set HCloseMan='',HCloseDate=null,HBillStatus=4 Where HInterID=" + lngBillKey.ToString());
                }
                else if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                {
                    oCn.RunProc(" Update " + MvarItemKey + " set HCloseMan='',HCloseDate=null,HBillStatus=2 Where HInterID=" + lngBillKey.ToString());
                }
                else
                {
                    oCn.RunProc(" Update " + MvarItemKey + " set HCloseMan='',HCloseDate=null,HBillStatus=1 Where HInterID=" + lngBillKey.ToString());
                }
                //写入日志
                string WorkList = "反关闭单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','反关闭')"
                    );
                sReturn = "反关闭单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
@@ -132,7 +211,7 @@
                throw (e);
            }
        }
        //反审核(包含反审核后控制)
        //反审核(包含反审核后控制、写入日志)    2024-01-31
        public bool AbandonCheck(Int64 lngBillKey, string HBillNo, string procName, string sUser, ref string sReturn)
        {
            string sql = "";
@@ -176,8 +255,14 @@
                    oCn.RollBack();
                    return false;
                }
                //写入日志
                string WorkList = "反审核单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','反审核')"
                    );
                sReturn = "";
                sReturn = "反审核单据成功!";
                oCn.Commit();
                return true;
            }
@@ -225,7 +310,7 @@
                throw (e);
            }
        }
        //审核(包含审核后控制)
        //审核(包含审核后控制、写入日志)    2024-01-31
        public bool CheckBill(Int64 lngBillKey, string HBillNo,string procName , string sUser, ref string sReturn)
        {
            string sql = "";
@@ -256,8 +341,14 @@
                    oCn.RollBack();
                    return false;
                }
                //写入日志
                string WorkList = "审核单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','"+SystemName+"','" + IPAddress + "','审核')"
                    );
                sReturn = "";
                sReturn = "审核单据成功!";
                oCn.Commit();
                return true;
            }
@@ -286,21 +377,31 @@
                throw (e);
            }
        }
        //关闭
        public bool CloseBill(Int64 lngBillKey, string sUser, ref string sReturn)
        //关闭单据(包含写入日志)    2024-01-31
        public bool CloseBill(Int64 lngBillKey, string HBillNo, string sUser, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                string HCloseMan = sUser;
                string HCloseDate = ClsPub.GetServerDate(-1);
                oCn.RunProc(" Update " + MvarItemKey + " set HCloseMan='" + HCloseMan + "',HCloseDate='" + HCloseDate + "' Where HInterID=" + lngBillKey.ToString());
                sReturn = "";
                oCn.RunProc(" Update " + MvarItemKey + " set HCloseMan='" + HCloseMan + "',HCloseDate='" + HCloseDate + "',HBillStatus=3 Where HInterID=" + lngBillKey.ToString());
                //写入日志
                string WorkList = "关闭单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','关闭')"
                    );
                sReturn = "关闭单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
@@ -322,20 +423,31 @@
            }
        }
        //作废
        public bool Cancelltion(Int64 lngBillKey,string sUser, ref string sReturn)
        //作废单据(包含写入日志)    2024-01-31
        public bool Cancelltion(Int64 lngBillKey, string HBillNo, string sUser, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                string HDeleteMan = sUser;
                string HDeleteDate = ClsPub.GetServerDate(-1);
                oCn.RunProc(" Update " + MvarItemKey + " set HDeleteMan='" + HDeleteMan + "',HDeleteDate='" + HDeleteDate + "' Where HInterID=" + lngBillKey.ToString());
                sReturn = "";
                oCn.RunProc(" Update " + MvarItemKey + " set HDeleteMan='" + HDeleteMan + "',HDeleteDate='" + HDeleteDate + "',HBillStatus=4 Where HInterID=" + lngBillKey.ToString());
                //写入日志
                string WorkList = "作废单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','作废')"
                    );
                sReturn = "作废单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
@@ -399,10 +511,11 @@
                throw (e);
            }
        }
        //删除单据
        public virtual bool DeleteBill(Int64 lngBillKey, string HBillNo, string procName, string user, ref string sReturn)
        //删除单据(包含删除后控制、写入日志)    2024-01-31
        public bool DeleteBill(Int64 lngBillKey, string HBillNo, string procName, string sUser, ref string sReturn)
        {
            string sql = "";
            DataSet ds;
            try
            {
                oCn.BeginTran();
@@ -416,24 +529,27 @@
                //删除主表
                DeleteBillMain(lngBillKey);
                //删除后控制==================================================================================
                string sql2 = "exec " + procName + " " + lngBillKey + ",'" + HBillNo + "','" + user + "'";
                DataSet ds = oCn.RunProcReturn(sql2, procName);
                //删除后控制
                sql = "exec " + procName + " " + lngBillKey + ",'" + HBillNo + "','" + sUser + "'";
                ds = oCn.RunProcReturn(sql, procName);
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "删除失败!原因:删除后判断失败,请与网络管理人员联系";
                    sReturn = "删除过程中出错,请与网络管理人员联系";
                    oCn.RollBack();
                    return false;
                }
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                {
                    sReturn = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString();
                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
                    oCn.RollBack();
                    return false;
                }
                //==============================================================================================
                //写入日志
                string WorkList = "删除单据,单据号:" + HBillNo;
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','删除')"
                    );
                sReturn = "删除单据成功!";
                oCn.Commit();