From 14fdd4d979f0306b79bb638576b341ed13f4780a Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期一, 25 十二月 2023 14:26:05 +0800
Subject: [PATCH] 单品过站优化 生产分析报表

---
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs |  397 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 346 insertions(+), 51 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index fbe4b72..6267b43 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -44,15 +44,30 @@
                 string OperationType = sArray[2].ToString();//绫诲瀷
                 string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
 
-                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_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_StationOutBill_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_StationOutBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曟棤缂栬緫鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
 
                 Stopwatch sw = new Stopwatch();
                 sw.Start();//寮�濮嬭鏃�
@@ -1409,12 +1424,12 @@
         //閫掑叆鐗╂枡淇℃伅 杩斿洖鏈畬鍏ㄦ眹鎶ョ殑娴佽浆鍗�
         [Route("LEMS/Sc_StationOutBill_Mul_RYQ")]
         [HttpGet]
-        public object Sc_StationOutBill_Mul_RYQ(String HMaterName, Int64 HOrgID)
+        public object Sc_StationOutBill_Mul_RYQ(String HMaterName,string HProcNumber, Int64 HOrgID)
         {
             try
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-                DataSet ds = oCN.RunProcReturn("exec h_p_CJGXPLHB_Query '" + HMaterName + "'," + HOrgID + "", "h_p_CJGXPLHB_Query");
+                DataSet ds = oCN.RunProcReturn("exec h_p_CJGXPLHB_Query '" + HMaterName + "'," + HOrgID + ",'"+ HProcNumber + "'", "h_p_CJGXPLHB_Query");
                
                 if (ds == null || ds.Tables[0].Rows.Count <= 0)
                 {
@@ -1500,20 +1515,35 @@
         #region 杩斿洖宸ュ簭鍑虹珯姹囨姤鍗曞垪琛�
         [Route("Cj_StationOutBill/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_StationOutBill_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_StationOutBill_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_StationOutBill_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曟棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
 
                 //鑾峰彇绯荤粺鍙傛暟
                 string Ret = "";
@@ -1576,6 +1606,63 @@
                 //objJsonResult.data = null;
                 //return objJsonResult;
                 //}
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍑虹珯姹囨姤鍗� 瀛愯〃鏌ヨ
+        [Route("Cj_StationOutBill/get_SubDisplay")]
+        [HttpGet]
+        public object get_SubDisplay(string sWhere, string TableName)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql = "";
+
+                switch (TableName)
+                {
+                    case "TechParam":
+                        sql = "select * from h_v_Sc_StationOutBillSubQuery_TechParam where 1 = 1 and HInterID=" + sWhere;
+                        break;
+                    case "Note":
+                        sql = "select * from h_v_Sc_StationOutBillSubQuery_Note where 1 = 1 and HInterID=" + sWhere;
+                        break;
+                    case "SN":
+                        sql = "select * from h_v_Sc_StationOutBillSubQuery_SN where 1 = 1 and HInterID=" + sWhere;
+                        break;
+                    case "Emp":
+                        sql = "select * from h_v_Sc_StationOutBillSubQuery_Emp where 1 = 1 and HInterID=" + sWhere;
+                        break;
+                  
+                }
+
+                ds = oCN.RunProcReturn(sql, TableName);
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+              
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
             }
             catch (Exception e)
             {
@@ -1942,20 +2029,35 @@
         #region 鏍规嵁id鍒犻櫎鍑虹珯鍗�
         [Route("Cj_StationOutBill/del_StationOutBill")]
         [HttpGet]
-        public object del_StationOutBill(long HInterID, string HDeleteMan)
+        public object del_StationOutBill(long HInterID, string HDeleteMan,string HBillSubType)
         {
             try
             {
                 string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_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_StationOutBill_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_StationOutBill_Drop", 1, false, HDeleteMan))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曟棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
                 DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
                 if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
@@ -2015,6 +2117,27 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
+                    //鍒犻櫎鍓嶅垽鏂湁娌℃湁鐢熸垚閲戣澏鍗曟嵁锛堢敓浜ф眹鎶ュ崟锛岀敓浜у叆搴撳崟锛�
+                    ds = oCn.RunProcReturn($"exec h_p_Cj_StationOutBill_BeforeDelCtrl {HInterID}", "h_p_Cj_StationOutBill_BeforeDelCtrl");
+                    if (ds == null || ds.Tables[0].Rows.Count <= 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎鍑虹珯姹囨姤鍗曞彂鐢熷紓甯革紝娌℃湁浠讳綍杩斿洖璁板綍锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        if (ds.Tables[0].Rows[0]["HBackCount"].ToString() == "1")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = ds.Tables[0].Rows[0]["HRemarkBack"].ToString();
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
 
                     if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
                     {
@@ -2036,6 +2159,133 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鏈壘鍒帮紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏍规嵁id鍒犻櫎鍑虹珯鍗� 瀛愪欢鏉$爜
+        [Route("Cj_StationOutBill/del_StationOutBill_SN")]
+        [HttpGet]
+        public object del_StationOutBill_SN(long HInterID,string HBardcode, string HDeleteMan, string HBillSubType)
+        {
+            try
+            {
+                string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+                if (HBillSubType == "SUB")
+                {
+                    //缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_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_StationOutBill_Drop", 1, false, HDeleteMan))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曟棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
+                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    string sReturn = "";
+                    if (oSystemParameter.ShowBill(ref sReturn))
+                    {
+                        if (oSystemParameter.omodel.MES_StationOutBill_DeleteCtl == "Y")
+                        {
+                            if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin"))
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+
+
+                    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    DataSet ds;
+                    //鍒ゆ柇鏄惁瀛樺湪 鐩稿悓鍗曟嵁鍙� 鐨勯鏂欏崟 鍒ゆ柇鐢熶骇璁㈠崟鏄惁宸茬粨妗堬紝瑕佹眰璁″垝鎵嬪伐鍙嶇粨妗�    
+                    ds = oCn.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl  '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒ゆ柇鍏宠仈澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    ds = oCn.RunProcReturn($"exec h_p_DelOutInBill {HInterID},'MES_StationOutBill_DeleteRelationCtl'", "h_p_DelOutInBill");
+
+                    if (ds.Tables[0].Rows[0][0].ToString() == "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绯荤粺鍙傛暟鎺у埗,宸叉湁涓嬮亾宸ュ簭,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oCn.BeginTran();
+
+                    oCn.RunProc("delete from Sc_StationOutBillSub_SN where HInterID="+ HInterID+ " and HBarCode='"+ HBardcode + "'");
+
+                    oCn.Commit();
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
                 }
                 else
                 {
@@ -2171,20 +2421,35 @@
         #region 瀹℃牳
         [Route("Cj_StationOutBill/set_CheckBill")]
         [HttpGet]
-        public object set_CheckBill(string HInterID, string CurUserName)
+        public object set_CheckBill(string HInterID, string CurUserName,string HBillSubType)
         {
             try
             {
-                string ModRightNameCheck = "Cj_StationOutBill_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_StationOutBill_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_StationOutBill_Check", 1, false, CurUserName))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曞鏍稿け璐ワ紒鏃犳潈闄愶紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+              
+            
                 var HBillNo = HInterID.Split(',');
                 DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
 
@@ -2299,20 +2564,35 @@
         #region 鍙嶅鏍�
         [Route("Cj_StationOutBill/set_AbandonCheck")]
         [HttpGet]
-        public object set_AbandonCheck(string HInterID, string CurUserName)
+        public object set_AbandonCheck(string HInterID, string CurUserName,string HBillSubType)
         {
             try
             {
-                string ModRightNameCheck = "Cj_StationOutBill_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_StationOutBill_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_StationOutBill_Check", 1, false, CurUserName))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曞弽瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+              
 
                 var HBillNo = HInterID.Split(',');
                 DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
@@ -2451,19 +2731,34 @@
         #region 宸ュ簭鍑虹珯鍏抽棴/鍙嶅叧闂姛鑳�
         [Route("Cj_StationOutBill/CloseCj_StationOutBill")]
         [HttpGet]
-        public object CloseCj_StationOutBill(string HInterID, int Type, string user)
+        public object CloseCj_StationOutBill(string HInterID, int Type, string user,string HBillSubType)
         {
             try
             {
-                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
-                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_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_StationOutBill_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_StationOutBill_Close", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍑虹珯鍗曟棤鏉冮檺鍏抽棴!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
 
                 if (string.IsNullOrWhiteSpace(HInterID))
                 {

--
Gitblit v1.9.1