From 86cb67be84a3edb328154c491d02b58e899f36ae Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期三, 13 三月 2024 16:07:53 +0800
Subject: [PATCH] 根据职员内码获取部门、主管

---
 WebAPI/Controllers/CJGL/Cj_StationInBillController.cs |  355 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 298 insertions(+), 57 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 5cbd86a..6dbe67c 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -42,15 +42,30 @@
                 string OperationType = sArray[2].ToString();
                 string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
 
-                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Edit", 1, false, user))
+                if (OperationType == "5")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "寮�宸ュ崟鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                else {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "杩涚珯鍗曟棤缂栬緫鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+              
 
                 List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2);
                 long HMainInterID = 0;
@@ -189,7 +204,28 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-             
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_BeforeSaveCtrl  " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_BeforeSaveCtrl ");
+                if (ds == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
 
@@ -323,6 +359,30 @@
                 {
 
                 }
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',1 ", "h_p_Sc_StationInBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                   
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //============================
+
                 oCN.Commit();
                
                 if (oSystemParameter.ShowBill(ref sReturn) == true)
@@ -470,7 +530,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏈煡璇㈠埌鍑虹珯鍗曟槑缁嗕俊鎭紒";
+                    objJsonResult.Message = "鏈煡璇㈠埌鑱屽憳淇℃伅锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -534,20 +594,36 @@
         #region 杩斿洖宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛�
         [Route("Cj_StationInBill/get_Display")]
         [HttpGet]
-        public object get_Display(string sWhere,string user)
+        public object get_Display(string sWhere,string user,string HBillSubType)
         {
             try
             {
                 List<object> columnNameList = new List<object>();
-                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user))
+
+                if (HBillSubType == "SUB")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "寮�宸ュ崟鏃犳煡璇㈡潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                else {
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "杩涚珯鍗曟棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+              
 
                 if (sWhere == null || sWhere.Equals(""))
                 {
@@ -680,20 +756,36 @@
         #region 瀹℃牳
         [Route("Cj_StationInBill/set_CheckBill")]
         [HttpGet]
-        public object set_CheckBill(int HInterID,string CurUserName)
+        public object set_CheckBill(int HInterID,string CurUserName,string HBillSubType)
         {
             try
             {
-                string ModRightNameCheck = "Cj_StationInBill_Check";
-                //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false,CurUserName))
+                string ModRightNameCheck = "";
+
+                if (HBillSubType == "SUB")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //瀹℃牳鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Check", 1, false, CurUserName))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "寮�宸ュ崟瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                else {
+                    //瀹℃牳鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Check", 1, false, CurUserName))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "杩涚珯鍗曞鏍稿け璐ワ紒鏃犳潈闄愶紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+              
                 if (HInterID == 0)
                 {
                     objJsonResult.code = "0";
@@ -723,8 +815,31 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //瀹℃牳鍓嶆帶鍒�
+                string HBillNo = oBill.omodel.HBillNo;
+                string sql = "exec h_p_Sc_StationInBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 //瀹℃牳
-                if (Cj_StationInBillCheckBill(HInterID,CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                if (Cj_StationInBillCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -753,7 +868,7 @@
         }
 
         //瀹℃牳
-        public bool Cj_StationInBillCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+        public bool Cj_StationInBillCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
         {
             try
             {
@@ -781,6 +896,23 @@
                 else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�")
                 {
                 }
+
+                //瀹℃牳鍚庢帶鍒�
+                string sql = "exec h_p_Sc_StationInBill_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "瀹℃牳杩囩▼涓嚭閿欙紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    oCN.RollBack();
+                    return false;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+
                 sReturn = sReturn + " 瀹℃牳鍔熻兘锛�";
                 oCN.Commit();
                 return true;
@@ -797,20 +929,36 @@
         #region 鍙嶅鏍�
         [Route("Cj_StationInBill/set_AbandonCheck")]
         [HttpGet]
-        public object set_AbandonCheck(int HInterID, string CurUserName)
+        public object set_AbandonCheck(int HInterID, string CurUserName, string HBillSubType)
         {
             try
             {
-                string ModRightNameCheck = "Cj_StationInBill_Check";
-                //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
+                if (HBillSubType == "SUB")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //瀹℃牳鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Check", 1, false, CurUserName))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "寮�宸ュ崟鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                else
+                {
+                    //瀹℃牳鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Check", 1, false, CurUserName))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "杩涚珯鍗曞弽瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+              
 
                 if (HInterID == 0)
                 {
@@ -841,8 +989,31 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //鍙嶅鏍稿墠鎺у埗
+                string HBillNo = oBill.omodel.HBillNo;
+                string sql = "exec h_p_Sc_StationInBill_BeforeUnCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeUnCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 //鍙嶅鏍�
-                if (Cj_StationInBillAbandonCheckBill(HInterID, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                if (Cj_StationInBillAbandonCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -870,7 +1041,7 @@
         }
 
         //鍙嶅鏍�
-        public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+        public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
         {
             if (Cj_StationInBillisUse(lngBillKey, ref sReturn))
             {
@@ -903,6 +1074,23 @@
                 else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�")
                 {
                 }
+
+                //鍙嶅鏍稿悗鎺у埗
+                string sql = "exec h_p_Sc_StationInBill_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterUnCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍙嶅鏍歌繃绋嬩腑鍑洪敊锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                    oCN.RollBack();
+                    return false;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+
                 sReturn = sReturn + "鍙嶅鏍稿姛鑳斤紒";
                 oCN.Commit();
                 return true;
@@ -942,19 +1130,34 @@
         #region 宸ュ簭杩涚珯鍏抽棴/鍙嶅叧闂姛鑳�
         [Route("Cj_StationInBill/CloseCj_StationInBill")]
         [HttpGet]
-        public object CloseSc_StationInBill(string HInterID, int Type, string user)
+        public object CloseSc_StationInBill(string HInterID, int Type, string user,string HBillSubType)
         {
             try
             {
-                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Close", 1, false, user))
+                if (HBillSubType == "SUB")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Close", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愬叧闂�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                else {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Close", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "杩涚珯鍗曟棤鏉冮檺鍏抽棴!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
 
                 if (string.IsNullOrWhiteSpace(HInterID))
                 {
@@ -1094,20 +1297,35 @@
         #region 鏍规嵁id鍒犻櫎杩涚珯鍗�
         [Route("Cj_StationInBill/del_StationInBill")]
         [HttpGet]
-        public object del_StationInBill(long HInterID,string HDeleteMan)
+        public object del_StationInBill(long HInterID,string HDeleteMan,string HBillSubType)
         {
             try
             {
                 string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Drop", 1, false, HDeleteMan))
+                if (HBillSubType == "SUB")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犳潈闄愶紒";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Drop", 1, false, HDeleteMan))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愶紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                else {
+                    //缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Drop", 1, false, HDeleteMan))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "杩涚珯鎺ユ敹鍗曟棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+              
                 DAL.ClsSc_StationInBill oBill = new DAL.ClsSc_StationInBill();
                 if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
@@ -1168,8 +1386,31 @@
                         return objJsonResult;
                     }
 
-                   
-                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
+                    //鍒犻櫎鍓嶆帶鍒�=========================================      
+                    string HBillNo = oBill.omodel.HBillNo;
+                    string sql1 = "exec h_p_Sc_StationInBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_BeforeDelCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+
+                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, HBillNo, "h_p_Sc_StationInBill_AfterDelCtrl", HDeleteMan, ref DBUtility.ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;

--
Gitblit v1.9.1