From 797e02f68d79c931233f25af1d39bc136ce6185d Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 21 四月 2025 15:47:05 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs |  806 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 671 insertions(+), 135 deletions(-)

diff --git a/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
index 9c07a28..30af7a7 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
@@ -1,4 +1,6 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -16,6 +18,7 @@
 
         ClsSb_EquipRepairSendWorkBillMain omodel = new ClsSb_EquipRepairSendWorkBillMain();
         List<ClsSb_EquipRepairSendWorkBillSub> DetailColl = new List<ClsSb_EquipRepairSendWorkBillSub>();
+        public DAL.ClsSb_EquipRepairSendWorkBill BillOld = new DAL.ClsSb_EquipRepairSendWorkBill();
         ClsSb_EquipRepairSendWorkBill oBill = new ClsSb_EquipRepairSendWorkBill();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -36,29 +39,32 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBillList where 1=1 ";
+                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBill_Edit where 1=1 ";
                 if (sWhere == "" || sWhere == null)
                 {
-                    ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
+                    ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBill_Edit");
                 }
                 else
                 {
-                    ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
+                    ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBill_Edit");
                 }
 
-                if (ds.Tables[0].Rows.Count == 0 || ds == null)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犺褰�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
                 objJsonResult.code = "1";
                 objJsonResult.count = ds.Tables[0].Rows.Count;
-                objJsonResult.Message = "Sucess";
+                objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
             }
             catch (Exception e)
             {
@@ -70,6 +76,60 @@
             }
         }
         #endregion
+
+        #region 璁惧娲惧伐鍗曞垎椤垫煡璇�
+        [Route("Sb_EquipRepairSendWorkBill/GetEquipRepairSendWorkBillListPage")]
+        [HttpGet]
+        public object GetEquipRepairSendWorkBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipRepairSendWorkBillList", 3, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                sWhere = sWhere.Replace("'", "''");
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipRepairSendWorkBillListPage " + page + "," + size + ",''", "h_p_Sb_EquipRepairSendWorkBillListPage");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipRepairSendWorkBillListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_Sb_EquipRepairSendWorkBillListPage");
+                }
+
+                //娣诲姞鍒楀悕
+                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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
 
         #region 璁惧缁翠慨娲惧伐鍗� 娣诲姞/淇敼
         [Route("Sb_EquipRepairSendWorkBill/AddEquipRepairSendWorkBill")]
@@ -120,6 +180,26 @@
 
                 omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSb_EquipRepairSendWorkBillMain>(msg2);
                 string BillType = "3909";
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                DataSet ds = oCN.RunProcReturn("Exec h_p_Sb_EquipRepairSendWorkBill_BeforeSaveCtrl " + omodel.HInterID + ",'" + omodel.HBillNo + "','',1", "h_p_Sb_EquipRepairSendWorkBill_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;
+                }
+                //=========================================================
 
 
                 if (OperationType == 1)//鏂板
@@ -214,6 +294,26 @@
                 i++;
             }
 
+            //淇濆瓨鍚庢帶鍒�=========================================
+            DataSet ds = oCN.RunProcReturn("Exec h_p_Sb_EquipRepairSendWorkBill_AfterSaveCtrl " + omodel.HInterID + ",'" + omodel.HBillNo + "','',1", "h_p_Sb_EquipRepairSendWorkBill_AfterSaveCtrl");
+            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;
+            }
+            //=========================================================
+
             objJsonResult.code = "1";
             objJsonResult.count = 1;
             objJsonResult.Message = null;
@@ -248,7 +348,32 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                if (oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
+
+                //鍒犻櫎鍓嶆帶鍒�=========================================      
+                string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeDelCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + User + "'";
+                ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeDelCtrl");
+                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;
+                }
+                //==================================================================================  
+
+                bool IsDete = oBill.DeleteBill(Convert.ToInt32(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterDelCtrl", User, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (IsDete)
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -263,7 +388,7 @@
                     objJsonResult.Message = "鍒犻櫎澶辫触";
                     objJsonResult.data = null;
                     return objJsonResult;
-                }
+                }              
             }
             catch (Exception e)
             {
@@ -276,83 +401,297 @@
         }
         #endregion
 
-        #region 璁惧缁翠慨娲惧伐鍗�  瀹℃牳/鍙嶅鏍�
-        [Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")]
+        //#region 璁惧缁翠慨娲惧伐鍗�  瀹℃牳/鍙嶅鏍�
+        //[Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")]
+        //[HttpGet]
+        //public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName)
+        //{
+        //    string ModRightNameCheck = "Sb_EquipRepairSendWorkBill_Check"; //璇ユā鍧楃殑瀹℃牳鍔熻兘
+        //    DBUtility.ClsPub.CurUserName = CurUserName;//瀛樺偍鐢ㄦ埛鍚�
+        //    try
+        //    {
+        //        ////鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+        //        if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        if (HInterID <= 0)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "ID灏忎簬0";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        Int64 lngBillKey = 0;
+        //        lngBillKey = DBUtility.ClsPub.isLong(HInterID);//鏁版嵁杞崲
+
+        //        //鏌ヨ瀹℃牳鐨勬暟鎹�
+        //        ds = oCN.RunProcReturn("select * from Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain");
+
+        //        if (ds.Tables[0].Rows.Count > 0)
+        //        {
+        //            var hcloseman = ds.Tables[0].Rows[0]["hcloseman"].ToString();//鍏抽棴浜�
+        //            var hdeleteman = ds.Tables[0].Rows[0]["hdeleteman"].ToString();//浣滃簾浜�
+        //            var hchecker = ds.Tables[0].Rows[0]["hchecker"].ToString();//瀹℃牳浜�
+
+        //            if (hcloseman != "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "褰撳墠鍗曟嵁宸插叧闂�,鏃犳硶瀹℃牳!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+
+        //            if (hdeleteman != "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "褰撳墠鍗曟嵁宸蹭綔搴�,鏃犳硶瀹℃牳!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            //IsAudit==0 瀹℃牳
+        //            if (IsAudit == 0)
+        //            {
+        //                if (hchecker != "")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "褰撳墠鍗曟嵁宸插鏍�,鏃犳硶鍐嶆瀹℃牳!";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //IsAudit==1 鍙嶅鏍�
+        //            if (IsAudit == 1)
+        //            {
+        //                if (hchecker == "")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "褰撳墠鍗曟嵁鏈鏍�,鏃犳硶鍙嶅鏍�!";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�;鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        //瀹℃牳鎻愪氦
+        //        if (IsAudit == 0)
+        //        {
+        //            if (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+        //            {
+        //                objJsonResult.code = "1";
+        //                objJsonResult.count = 1;
+        //                objJsonResult.Message = "瀹℃牳鎴愬姛!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            else
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "瀹℃牳澶辫触!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //        }
+        //        //鍙嶅鏍告彁浜�
+        //        if (IsAudit == 1)
+        //        {
+        //            if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+        //            {
+        //                objJsonResult.code = "1";
+        //                objJsonResult.count = 1;
+        //                objJsonResult.Message = "鍙嶅鏍告垚鍔�!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            else
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍙嶅鏍稿け璐�!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //        }
+        //        return objJsonResult;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "瀹℃牳澶辫触鎴栧弽瀹℃牳澶辫触" + e.ToString();
+        //        objJsonResult.data = null;
+        //        return objJsonResult;
+        //    }
+        //}
+        ////瀹℃牳
+        //public bool CheckBill(Int64 lngBillKey, ref string sReturn)
+        //{
+        //    try
+        //    {
+        //        string Hchecker = DBUtility.ClsPub.CurUserName;
+
+        //        oCN.BeginTran();//鎵撳紑浜嬪姟
+        //        oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' where HInterID='"+ lngBillKey + "'");
+        //        oCN.Commit();//鍏抽棴浜嬪姟
+        //        sReturn = "瀹℃牳鎴愬姛!";
+        //        return true;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        sReturn = e.Message;
+        //        throw (e);
+        //    }
+        //}
+        ////鍙嶅鏍�
+        //public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
+        //{
+        //    try
+        //    {
+        //        string Hchecker = DBUtility.ClsPub.CurUserName;
+
+        //        oCN.BeginTran();//鎵撳紑浜嬪姟
+        //        oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'");
+        //        oCN.Commit();//鍏抽棴浜嬪姟
+        //        sReturn = "鍙嶅鏍稿崟鎹垚鍔�!";
+        //        return true;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        sReturn = e.Message;
+        //        throw(e);
+        //    }
+        //}
+        //#endregion
+
+        #region 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Sb_EquipRepairSendWorkBill/AuditSb_EquipRepairSendWorkBill")]
         [HttpGet]
-        public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName)
+        public object AuditSb_EquipRepairSendWorkBill(string HInterID, int Type, string user)
         {
-            string ModRightNameCheck = "Sb_EquipRepairSendWorkBill_Check"; //璇ユā鍧楃殑瀹℃牳鍔熻兘
-            DBUtility.ClsPub.CurUserName = CurUserName;//瀛樺偍鐢ㄦ埛鍚�
             try
             {
-                ////鍒ゆ柇鏄惁鏈夊鏍告潈闄�
-                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Check", 1, false, user))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                if (HInterID <= 0)
+                if (string.IsNullOrWhiteSpace(HInterID))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "ID灏忎簬0";
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                Int64 lngBillKey = 0;
-                lngBillKey = DBUtility.ClsPub.isLong(HInterID);//鏁版嵁杞崲
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sb_EquipRepairSendWorkBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
 
-                //鏌ヨ瀹℃牳鐨勬暟鎹�
-                ds = oCN.RunProcReturn("select * from Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain");
-
-                if (ds.Tables[0].Rows.Count > 0)
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
                 {
-                    var hcloseman = ds.Tables[0].Rows[0]["hcloseman"].ToString();//鍏抽棴浜�
-                    var hdeleteman = ds.Tables[0].Rows[0]["hdeleteman"].ToString();//浣滃簾浜�
-                    var hchecker = ds.Tables[0].Rows[0]["hchecker"].ToString();//瀹℃牳浜�
-
-                    if (hcloseman != "")
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "褰撳墠鍗曟嵁宸插叧闂�,鏃犳硶瀹℃牳!";
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
-                    if (hdeleteman != "")
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "褰撳墠鍗曟嵁宸蹭綔搴�,鏃犳硶瀹℃牳!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    //IsAudit==0 瀹℃牳
-                    if (IsAudit == 0)
-                    {
-                        if (hchecker != "")
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "褰撳墠鍗曟嵁宸插鏍�,鏃犳硶鍐嶆瀹℃牳!";
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
-                    }
-                    //IsAudit==1 鍙嶅鏍�
-                    if (IsAudit == 1)
-                    {
-                        if (hchecker == "")
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "褰撳墠鍗曟嵁鏈鏍�,鏃犳硶鍙嶅鏍�!";
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+
+                        //瀹℃牳鍓嶆帶鍒�=========================================      
+                        string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                        ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_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;
+                            oCN.RollBack();
+                            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;
+                            oCN.RollBack();
+                            return objJsonResult;
+                        }
+                        //==================================================================================  
+
+                        if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -360,100 +699,297 @@
                 }
                 else
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�;鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鍙嶅鏍稿墠鎺у埗=========================================        
+                        string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeUnCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                        ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_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 (!BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
                 }
 
-                //瀹℃牳鎻愪氦
-                if (IsAudit == 0)
-                {
-                    if (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
-                    {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = "瀹℃牳鎴愬姛!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    else
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "瀹℃牳澶辫触!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                }
-                //鍙嶅鏍告彁浜�
-                if (IsAudit == 1)
-                {
-                    if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
-                    {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = "鍙嶅鏍告垚鍔�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    else
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鍙嶅鏍稿け璐�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                }
-                return objJsonResult;
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
             }
             catch (Exception e)
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "瀹℃牳澶辫触鎴栧弽瀹℃牳澶辫触" + e.ToString();
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
-        //瀹℃牳
-        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
-        {
-            try
-            {
-                string Hchecker = DBUtility.ClsPub.CurUserName;
-                
-                oCN.BeginTran();//鎵撳紑浜嬪姟
-                oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' where HInterID='"+ lngBillKey + "'");
-                oCN.Commit();//鍏抽棴浜嬪姟
-                sReturn = "瀹℃牳鎴愬姛!";
-                return true;
-            }
-            catch (Exception e)
-            {
-                sReturn = e.Message;
-                throw (e);
-            }
-        }
-        //鍙嶅鏍�
-        public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
-        {
-            try
-            {
-                string Hchecker = DBUtility.ClsPub.CurUserName;
+        #endregion
 
-                oCN.BeginTran();//鎵撳紑浜嬪姟
-                oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'");
-                oCN.Commit();//鍏抽棴浜嬪姟
-                sReturn = "鍙嶅鏍稿崟鎹垚鍔�!";
-                return true;
+        #region 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Sb_EquipRepairSendWorkBill/CloseSb_EquipRepairSendWorkBill")]
+        [HttpGet]
+        public object CloseSb_EquipRepairSendWorkBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sb_EquipRepairSendWorkBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        string sql2 = "";
+                        //鍏抽棴鍓嶆帶鍒�===============================================Begin===================================================================
+                        sql2 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                        ds = oCN.RunProcReturn(sql2, "h_p_Sb_EquipRepairSendWorkBill_BeforeCloseCtrl");
+                        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;
+                        }
+                        //鍏抽棴鍓嶆帶鍒�===============================================End===================================================================
+
+                        //鍏抽棴鎻愪氦
+                        if (BillOld.CloseBill(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴鎴愬姛";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        string sql2 = "";
+                        //鍙嶅叧闂墠鎺у埗===============================================Begin===================================================================
+                        sql2 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeUnCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                        ds = oCN.RunProcReturn(sql2, "h_p_Sb_EquipRepairSendWorkBill_BeforeUnCloseCtrl");
+                        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;
+                        }
+                        //鍙嶅叧闂墠鎺у埗===============================================End===================================================================
+
+                        //鍙嶅叧闂彁浜�
+                        if (BillOld.CancelClose(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterUnCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }                       
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
             }
             catch (Exception e)
             {
-                sReturn = e.Message;
-                throw(e);
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
             }
         }
         #endregion

--
Gitblit v1.9.1