From dbbcd506929afda0a85ae23bcb5f88c1dccef387 Mon Sep 17 00:00:00 2001
From: pzy <2829717936@qq.com>
Date: 星期一, 26 八月 2024 15:19:55 +0800
Subject: [PATCH] 11

---
 Pub_Class/CustomerCls/ClsPub.cs |  208 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 196 insertions(+), 12 deletions(-)

diff --git a/Pub_Class/CustomerCls/ClsPub.cs b/Pub_Class/CustomerCls/ClsPub.cs
index 3895337..f324392 100644
--- a/Pub_Class/CustomerCls/ClsPub.cs
+++ b/Pub_Class/CustomerCls/ClsPub.cs
@@ -478,6 +478,27 @@
                                 oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='0'  and whcode=''");
                             }
                             return sBillNo;
+                        case 4: //鏍规嵁 涔斾竴 宸ュ簭娴佽浆鍗″彿鏀规垚骞�+鏈�+鍥涗綅娴佹按鍙凤紙23050001锛�
+                            Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='0'  and whcode=''", "Gy_MaxNum");
+                            sKjYear = sKjYear.Substring(2, 2);
+                            sPeriod = "0" + sPeriod;
+                            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
+                            if (Ds.Tables[0].Rows.Count != 0)
+                            {
+                                sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
+                                sBillNo = sKjYear + sPeriod + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
+                            }
+                            else //鎻掑叆鏂拌褰�
+                            {
+                                sStr = new string(c, CodeLen - 1);
+                                oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber)  values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)");
+                                sBillNo = sKjYear + sPeriod + sStr + 1;
+                            }
+                            if (Add == true)
+                            {
+                                oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='0'  and whcode=''");
+                            }
+                            return sBillNo;
                         default:
                             return sBillNo;
 
@@ -876,6 +897,76 @@
         }
 
 
+        //寰楀埌鏈�澶у熀纭�璧勬枡鐨勬祦姘村彿 HNumber
+        public static string CreateHNumber(string BillCode,string HName,string TableName, ref string sReturn, bool Add)
+        {
+
+            Int64 Glida;
+            Int32 CodeLen;
+            string sBillNumber = "";
+            char c = Convert.ToChar("0");
+            string sKjYear = DateTime.Today.Year.ToString();
+            string sPeriod = DateTime.Today.Month.ToString();
+            string sDay = DateTime.Today.Day.ToString();
+            //寰楀埌鍗曟嵁鍙疯〃 淇℃伅
+            ClsSqlHelper oCn = new ClsSqlHelper();
+            DataSet Ds = new DataSet();
+            DataSet Dss = new DataSet();
+            //绗竴娆℃煡璇㈡暟鎹槸鍚﹀瓨鍦�  涓嶅瓨鍦ㄥ氨娣诲姞
+            Ds = oCn.RunProcReturn("Select * from Gy_MaxNumber where BillName='" + HName.Trim() + "'", "Gy_MaxNumber");
+            //鎻掑叆鏂拌褰�    琛ㄥ悕,琛ㄥ悕绉�,褰撳墠id
+            if (Ds.Tables[0].Rows.Count == 0)
+            {
+
+                oCn.RunProc("insert into Gy_MaxNumber(BillType,BillName,IDNow) values('" + TableName.Trim() + "','" + HName.Trim() + "',1)");
+            }
+          
+            //绗簩娆℃煡璇� 鏄煡璇㈡彃鍏ョ殑鏂版暟鎹�
+            Dss = oCn.RunProcReturn("Select * from Gy_MaxNumber where BillName='" + HName.Trim() + "'", "Gy_MaxNumber");
+            if (Dss.Tables[0].Rows.Count != 0)
+            {
+
+                Glida = ClsPub.isLong(Dss.Tables[0].Rows[0]["Glida"].ToString());
+                CodeLen = ClsPub.isInt(Dss.Tables[0].Rows[0]["CodeLen"].ToString());
+            }
+            else
+            {
+                return "";
+            }
+            string sStr;
+            switch (Glida)
+            {
+                case 0://绾祦姘村彿
+                    Ds = oCn.RunProcReturn("Select * from Gy_MaxNumber where BillName='" + HName.Trim() + "'", "Gy_MaxNumber");
+                    if (Ds.Tables[0].Rows.Count != 0)
+                    {
+                        sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["IDNow"].ToString()).Length);
+                        sBillNumber = BillCode.Trim() + sStr + Ds.Tables[0].Rows[0]["IDNow"].ToString().Trim();
+                    }
+                   
+                    if (Add == true)
+                    {
+                        oCn.RunProc("update Gy_MaxNumber set IDNow=IDNow+1 where BillName='" + HName.Trim() + "'");
+                    }
+                    return sBillNumber;
+
+                case 1://鏍规嵁 YY骞�+MM鏈� 鏃� + 娴佹按鍙�  鐢熸垚鍗曟嵁鍙� 锛堟棩 閲囩敤浜� 浠撳簱鐨勫瓧娈碉級
+                    return sBillNumber;
+                case 2:      //鏍规嵁骞�+鏈�+鏃�  鐢熸垚鍗曟嵁鍙�
+                    return sBillNumber;
+                case 3: //鏍规嵁 涔斾竴 锛圫 + 骞达紙23锛�+浜斾綅娴佹按鍙凤級瀹炰緥锛歋2300001
+                    return sBillNumber;
+                case 4: //鏍规嵁 涔斾竴 宸ュ簭娴佽浆鍗″彿鏀规垚骞�+鏈�+鍥涗綅娴佹按鍙凤紙23050001锛�
+                    return sBillNumber;
+                default:
+                    return sBillNumber;
+
+            }
+            oCn.CnClose();
+            oCn.CnDispose();
+            oCn = null;
+        }
+
         //鍒ゆ柇鏄惁瀛樺湪鏉冮檺,骞跺啓鍏ユ棩蹇�
         public static bool Security_Log(string gnsy, int LogTF, bool Msg,string CurUserName)
         {
@@ -898,7 +989,7 @@
                 {
                     if (Msg == true)
                     {
-                        MessageBox.Show("娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒", "鎻愮ず");
+                        MessageBox.Show("娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                     }
                     return false;
                 }
@@ -909,12 +1000,12 @@
                 if (LogTF == 1 || LogTF == 3)//闇�瑕佸垽鏂潈闄�
                 {
                     //鏍规嵁鐢ㄦ埛鍚嶇О鍒ゆ柇鏉冮檺
-                    DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl");
+                    DsUser = oCn.RunProcReturn("select ManagerFlag,isnull(AuthorityID,'') AuthorityID,Czybm from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl");
                     if (DsUser.Tables[0].Rows.Count == 0)
                     {
                         if (Msg == true)
                         {
-                            MessageBox.Show("娌℃湁鎵惧埌褰撳墠鎿嶄綔鍛橈紒", "鎻愮ず");
+                            MessageBox.Show("娌℃湁鎵惧埌褰撳墠鎿嶄綔鍛橈紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                         }
                         return false;
                     }
@@ -925,7 +1016,8 @@
                     }
                     else
                     {
-                        if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
+                        if (ClsPub.isStrNull(DsUser.Tables[0].Rows[0]["AuthorityID"]).Length >= ModID
+                            && DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
                         {
                             HavRight = true;
                         }
@@ -934,17 +1026,17 @@
                             //鑾峰彇鐢ㄦ埛缁�  骞跺惊鐜垽鏂潈闄�
                             //鍒ゆ柇瑙掕壊鏄惁鏈夋潈闄�
                             DsJS = oCn.RunProcReturn("select isnull(AuthorityID,'') AuthorityID from System_UserGroupinfo a inner join System_UserGroup b on a.GroupID=b.GroupID " + 
-                                " Where a.USERID='" + UserID.Trim() + "'", "gy_czygl");
+                                " Where a.USERID='" + DsUser.Tables[0].Rows[0]["Czybm"].ToString().Trim() + "'", "gy_czygl");
                             if (DsJS == null)
                             {
                                 HavRight = false;
                             }
                             else
                             {
-                                HavRight = false;
+                                //HavRight = false;
                                 for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++)
                                 {
-                                    if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID)
+                                    if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length >= ModID)
                                     {
                                         if (DsJS.Tables[0].Rows[i]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
                                         {
@@ -962,7 +1054,7 @@
                     {
                         if (Msg == true)
                         {
-                            MessageBox.Show("鎮ㄦ病鏈夋潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず");
+                            MessageBox.Show("鎮ㄦ病鏈夋潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                         }
                     }
                 }
@@ -977,7 +1069,7 @@
             {
                 if (Msg == true)
                 {
-                    MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず");
+                    MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                 }
                 return false;
             }
@@ -1033,7 +1125,7 @@
                     }
                     else
                     {
-                        if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
+                        if (ClsPub.isStrNull(DsUser.Tables[0].Rows[0]["AuthorityID"]).Length >= ModID && DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
                         {
                             HavRight = true;
                         }
@@ -1042,7 +1134,7 @@
                             //鑾峰彇鐢ㄦ埛缁�  骞跺惊鐜垽鏂潈闄�
                             //鍒ゆ柇瑙掕壊鏄惁鏈夋潈闄�
                             DsJS = oCn.RunProcReturn("select isnull(AuthorityID,'') AuthorityID from System_UserGroupinfo a inner join System_UserGroup b on a.GroupID=b.GroupID " +
-                                " Where a.USERID='" + UserID.Trim() + "'", "gy_czygl");
+                                " Where a.USERID='" + DsUser.Tables[0].Rows[0]["Czybm"].ToString().Trim() + "'", "gy_czygl");
                             if (DsJS == null)
                             {
                                 HavRight = false;
@@ -1052,7 +1144,7 @@
                                 HavRight = false;
                                 for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++)
                                 {
-                                    if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID)
+                                    if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length >= ModID)
                                     {
                                         if (DsJS.Tables[0].Rows[i]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
                                         {
@@ -2481,5 +2573,97 @@
             }
             return sb.ToString();
         }
+
+        //鎷兼帴sql锛屾寜杞﹂棿锛屽伐浣滀腑蹇冩煡璇�
+        public static string SpliceSQL(string czymc,string ListName)
+        {
+            DataSet ds;
+            ClsSqlHelper oCN = new ClsSqlHelper();
+            string sql = "";
+
+            //鍒ゆ柇鏄惁鏈夋煡璇㈠垪琛ㄦ墍鏈変俊鎭潈闄�
+            if (!Security_Log("Xt_List_All", 1, false, czymc))
+            {
+                //鏃�
+                switch (ListName)
+                {
+                    case "宸ヨ壓璺嚎鍒楄〃":
+                        sql = " and HCenterID in (select HWorkCenterID from Gy_UserWorkCenterRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+                        break;
+                    case "鐢熶骇璁㈠崟鍒楄〃":
+                        sql = " and HDeptID in (select HDeptID from Gy_UserDeptRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+                        break;
+                    case "宸ュ簭娲惧伐鍗曞垪琛�":
+                        sql = " and HDeptID in (select HDeptID from Gy_UserDeptRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+                        break;
+                    case "宸ュ簭娲惧伐鍗曟槑缁嗗垪琛�":
+                        sql = " and HDeptID in (select HDeptID from Gy_UserDeptRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+                        break;
+                    case "宸ュ簭姹囨姤鍗曞垪琛�":
+                        sql = " and HCenterID in (select HWorkCenterID from Gy_UserWorkCenterRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+                        break;
+                    case "鐢熶骇杞﹂棿宸ュ簭鎶ヨ〃":
+                        sql = ",'" + czymc +"'";
+                        break;
+                    case "宸ュ簭鍦ㄥ埗鍝佹姤琛�":
+                        sql = ",'" + czymc + "'";
+                        break;
+                    case "宸ュ簭姹囨姤鏃ユ姤琛�":
+                        sql = ",'" + czymc + "'";
+                        break;
+                    case "璁′欢宸ヨ祫鎶ヨ〃":
+                        sql = ",'" + czymc + "'";
+                        break;
+                    case "璁′欢宸ヨ祫姹囨�绘姤琛�":
+                        sql = ",'" + czymc + "'";
+                        break;
+                }
+                return sql;
+            }
+            else
+            {
+                //鏈�
+                return sql;
+            }
+
+            //ds = oCN.RunProcReturn("select * from gy_czygl where Czymc='" + czymc + "'", "gy_czygl");
+            ////鍒ゆ柇鏄惁鏌ヨ鍒扮浉鍏崇敤鎴蜂俊鎭�
+            //if (ds != null || ds.Tables[0].Rows.Count != 0)
+            //{
+            //    Int64 HManagerFlag = Convert.ToInt64(ds.Tables[0].Rows[0]["ManagerFlag"]);
+            //    if (HManagerFlag == 1)//鏈夌鐞嗗憳鏉冮檺
+            //    {
+            //        return sql;
+            //    }
+            //    else //娌℃湁绠$悊鍛樻潈闄�
+            //    {
+            //        switch (ListName)
+            //        {
+            //            case "宸ヨ壓璺嚎鍒楄〃":
+            //                sql = " and HCenterID in (select HWorkCenterID from Gy_UserWorkCenterRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+            //                break;
+            //            case "鐢熶骇璁㈠崟鍒楄〃":
+            //                sql = " and HDeptID in (select HDeptID from Gy_UserDeptRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+            //                break;
+            //            case "宸ュ簭娲惧伐鍗曞垪琛�":
+            //                sql = " and HDeptID in (select HDeptID from Gy_UserDeptRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+            //                break;
+            //            case "宸ュ簭娲惧伐鍗曟槑缁嗗垪琛�":
+            //                sql = " and HDeptID in (select HDeptID from Gy_UserDeptRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+            //                break;
+            //            case "宸ュ簭姹囨姤鍗曞垪琛�":
+            //                sql = " and HCenterID in (select HWorkCenterID from Gy_UserWorkCenterRelation where HUserID = (select Czybm from gy_czygl where czymc = '" + czymc + "'))";
+            //                break;
+            //        }                   
+            //        return sql;
+            //    }
+            //}
+            //else
+            //{
+            //    sql = "娌℃湁鏌ヨ鍒扮浉鍏崇敤鎴蜂俊鎭�";
+            //    return sql;
+            //}
+        }
+
     }
 }

--
Gitblit v1.9.1